From dbe5a614b7c9eea901855dfce0614760e17507c0 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 13:37:16 +0200 Subject: [PATCH 01/26] Remove Travis CI testing --- .travis.yml | 19 ------------------- README.md | 2 -- 2 files changed, 21 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 08d51fb..0000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: python -python: - - '3.7' -before_script: -- pip install -r requirements.txt -- pip install coveralls -- pip install pytest-cov -install: -- pip install . -script: -- pytest -after_success: coveralls -deploy: - provider: pypi - user: thibdct - password: - secure: C8oVggIPJgI6OV35g+lP+cFfP7MMkJQYC1/a98I8wSjaW1GBzJdcZgqIGnyaWwWe4ihMtBhSCEF9mxk262o8cPvwwLhP/9Rve+X+dzJogBLSZ5x8Np7dbRcyMjlTqStNNGlIbijB8lX5HiZA+XA/Rs717DCQseilf1aJX3K9S9vq8+dfdgy9PGQDnWoOxV3DjCp/XtRaITpBr/K8g1bxdW2YB0Tp8NbtJbiSLAKZfXfCCDrdrtHt11SB+3BiczM2zS76Ir5zyr+PfJL3HRgNzuHq2K7afEFSca1ryLt4T+dQ3YSmj/Pxic9pmKbfcN1S4HdQK+IOZEpYIL94dqMie+92OlY5OIA+u1nlu8fGj1EZTD7nZ49EIVLRzqNCAC0iHAzJfNfFYsbwsbgXiYt2NeCRIRKwx71kvagJ2t3IjJnkBrHCwG+Atbzuo5MMOV8xicLItOBxTysDP2V9Wg2HJ85362wwFmLC4MxhRGa+YKtlKZFL3Z2vNor5wj+zLr/F9Ehd6AyObn9Fa6hJGc87+LTPLRmGOa/E4JvvaP55VUnWPaJu7/eyBROoWD+j+6aTlTpOSd7drPqlVwv69XgIfINU8wS5/Wh070IEGwrD9aSwxGnOdTZlTrQ9x2P7lEZYNK3TWfvmc4quFNd6zCkjm0GrfuHu32/QZmYm3F0V/mA= - on: - tags: true diff --git a/README.md b/README.md index 21565bb..b718c16 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ # Allociné -[![Travis](https://img.shields.io/travis/tducret/allocine-python.svg)](https://travis-ci.org/tducret/allocine-python) -[![Coveralls github](https://img.shields.io/coveralls/github/tducret/allocine-python.svg)](https://coveralls.io/github/tducret/allocine-python) [![PyPI](https://img.shields.io/pypi/v/allocine.svg)](https://pypi.org/project/allocine/) [![Docker Image size](https://img.shields.io/microbadger/image-size/thibdct/seances.svg)](https://hub.docker.com/r/thibdct/seances/) ![License](https://img.shields.io/github/license/tducret/allocine-python.svg) From 5d986823c6dd99552e92dfc6978291d28202a369 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 13:49:52 +0200 Subject: [PATCH 02/26] Modernize Python packaging and dependencies --- .flake8 | 2 - .gitignore | 6 +- .pre-commit-config.yaml | 19 + .vscode/extensions.json | 7 + .vscode/settings.json | 17 + Dockerfile | 12 +- Makefile | 6 + README.md | 39 +- allocine/__init__.py | 305 +++++++------ allocine/nationalities.py | 878 ++++++++++++++++++------------------ pyproject.toml | 62 +++ requirements.txt | 5 - seances.py | 55 +-- setup.cfg | 6 - setup.py | 55 --- tests/test_allocine.py | 5 +- tests/test_programoscope.py | 97 ++-- 17 files changed, 821 insertions(+), 755 deletions(-) delete mode 100644 .flake8 create mode 100644 .pre-commit-config.yaml create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 Makefile create mode 100644 pyproject.toml delete mode 100644 requirements.txt delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.flake8 b/.flake8 deleted file mode 100644 index 79a16af..0000000 --- a/.flake8 +++ /dev/null @@ -1,2 +0,0 @@ -[flake8] -max-line-length = 120 \ No newline at end of file diff --git a/.gitignore b/.gitignore index b5c32bb..0c9ac3c 100644 --- a/.gitignore +++ b/.gitignore @@ -103,5 +103,7 @@ venv.bak/ # mypy .mypy_cache/ -# VSCode -.vscode/ \ No newline at end of file +# VS Code workspace configuration +.vscode/* +!.vscode/extensions.json +!.vscode/settings.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..56f4141 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,19 @@ +repos: + - repo: local + hooks: + - id: ruff-check + name: ruff check + entry: .venv/bin/ruff check --fix + language: system + types_or: [python, pyi] + - id: ruff-format + name: ruff format + entry: .venv/bin/ruff format + language: system + types_or: [python, pyi] + - id: ty-check + name: ty check + entry: .venv/bin/ty check + language: system + pass_filenames: false + always_run: true diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..9056685 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "astral-sh.ty", + "charliermarsh.ruff", + "ms-python.python" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a1e8166 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python", + "python.languageServer": "None", + "ruff.configurationPreference": "filesystemFirst", + "ruff.interpreter": ["${workspaceFolder}/.venv/bin/python"], + "ruff.nativeServer": "on", + "ty.diagnosticMode": "workspace", + "ty.interpreter": ["${workspaceFolder}/.venv/bin/python"], + "[python]": { + "editor.codeActionsOnSave": { + "source.fixAll.ruff": "explicit", + "source.organizeImports.ruff": "explicit" + }, + "editor.defaultFormatter": "charliermarsh.ruff", + "editor.formatOnSave": true + } +} diff --git a/Dockerfile b/Dockerfile index 1245e7c..b975d33 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.7-slim AS build-env +FROM python:3.11-slim-bookworm AS build-env # You can build the docker image with the command : # docker build --no-cache -t seances . @@ -6,10 +6,14 @@ FROM python:3.7-slim AS build-env # You can create a container with : # docker run -it --rm seances [ID_CINEMA] -RUN pip install -U --no-cache-dir --target /app allocine \ +WORKDIR /src +COPY pyproject.toml README.md LICENSE MANIFEST.in seances.py ./ +COPY allocine ./allocine + +RUN pip install -U --no-cache-dir --target /app . \ && find /app | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf -FROM gcr.io/distroless/python3-debian10 +FROM gcr.io/distroless/python3-debian12 COPY --from=build-env /app /app @@ -17,4 +21,4 @@ ENV PYTHONPATH=/app ENV LC_ALL=C.UTF-8 ENV LANG=C.UTF-8 -ENTRYPOINT ["python", "/app/bin/seances.py"] \ No newline at end of file +ENTRYPOINT ["python", "/app/bin/seances.py"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3e506b1 --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +.PHONY: check + +check: + .venv/bin/ruff check --fix . + .venv/bin/ruff format . + .venv/bin/ty check diff --git a/README.md b/README.md index b718c16..a79fa18 100644 --- a/README.md +++ b/README.md @@ -12,13 +12,13 @@ ## Requirements -- Python 3.7 and above -- pip3 +- Python 3.10 and above +- pip ## Installation ```bash -pip3 install -U allocine +python -m pip install -U allocine ``` > You can also use it with Docker. Have a look at [this section](#docker) @@ -121,6 +121,39 @@ Example output : [...] ``` +## Development + +Create a virtual environment and install the package with its development dependencies: + +```bash +python -m venv .venv +.venv/bin/python -m pip install -e ".[dev]" +``` + +Install the pre-commit hooks once, then use `make check` to lint, format, and type-check the entire codebase: + +```bash +.venv/bin/pre-commit install +make check +``` + +Run individual checks without modifying files: + +```bash +.venv/bin/ruff check . +.venv/bin/ruff format --check . +.venv/bin/ty check +``` + +Run all pre-commit hooks manually with: + +```bash +.venv/bin/pre-commit run --all-files +``` + +VS Code users should accept the workspace extension recommendations to enable live Ruff and ty diagnostics and Ruff +formatting on save. + # Docker You can use the `seances` tool with the [Docker image](https://hub.docker.com/r/thibdct/seances/) diff --git a/allocine/__init__.py b/allocine/__init__.py index de3c686..328ea6f 100644 --- a/allocine/__init__.py +++ b/allocine/__init__.py @@ -2,27 +2,29 @@ """Top-level package for Allociné.""" -from collections import OrderedDict -from dataclasses import dataclass -from datetime import datetime, timedelta, date, time import logging import re -from typing import List, Optional import unicodedata +from collections import OrderedDict +from dataclasses import dataclass +from datetime import date as Date +from datetime import datetime, timedelta +from datetime import time as Time +from typing import List, Optional, Tuple import backoff +import httpx2 import jmespath -import requests from allocine import nationalities __author__ = """Thibault Ducret""" -__email__ = 'hello@tducret.com' -__version__ = '0.0.12' +__email__ = "hello@tducret.com" +__version__ = "0.0.12" -DEFAULT_DATE_FORMAT = '%Y-%m-%dT%H:%M:%S' -BASE_URL = 'http://api.allocine.fr/rest/v3' -PARTNER_KEY = '000042532791' +DEFAULT_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" +BASE_URL = "http://api.allocine.fr/rest/v3" +PARTNER_KEY = "000042532791" logger = logging.getLogger(__name__) @@ -45,25 +47,25 @@ class Movie: @property def duration_str(self): if self.duration is not None: - return _strfdelta(self.duration, '{hours:02d}h{minutes:02d}') + return _strfdelta(self.duration, "{hours:02d}h{minutes:02d}") else: - return 'HH:MM' + return "HH:MM" @property def duration_short_str(self) -> str: if self.duration is not None: - return _strfdelta(self.duration, '{hours:d}h{minutes:02d}') + return _strfdelta(self.duration, "{hours:d}h{minutes:02d}") else: - return 'NA' + return "NA" @property def rating_str(self): - return '{0:.1f}'.format(self.rating) if self.rating else '' + return "{0:.1f}".format(self.rating) if self.rating else "" @property def nationalities(self): - """ Return the nationality tuples, from the movie countries. - Example: if self.countries = ['France'] => [('français', 'française')] + """Return the nationality tuples, from the movie countries. + Example: if self.countries = ['France'] => [('français', 'française')] """ if self.countries: nationality_tuples = [] @@ -74,21 +76,21 @@ def nationalities(self): if country_code is not None: nationality_tuples.append(nationalities.nationalities[country_code]) else: - logger.warning(f'Country {country_name!r} not found in nationalities') - nationality_tuples.append((f'de {country_name}', f'de {country_name}')) + logger.warning(f"Country {country_name!r} not found in nationalities") + nationality_tuples.append((f"de {country_name}", f"de {country_name}")) return nationality_tuples else: return None def __str__(self): - return f'{self.title} [{self.movie_id}] ({self.duration_str})' + return f"{self.title} [{self.movie_id}] ({self.duration_str})" def __eq__(self, other): return (self.movie_id) == (other.movie_id) def __hash__(self): - """ This function allows us - to do a set(list_of_Movie_objects) """ + """This function allows us + to do a set(list_of_Movie_objects)""" return hash(self.movie_id) @@ -99,9 +101,9 @@ class MovieVersion(Movie): @property def version(self): - version = 'VF' if self.language == 'Français' else 'VOST' - if self.screen_format != 'Numérique': - version += f' {self.screen_format}' + version = "VF" if self.language == "Français" else "VOST" + if self.screen_format != "Numérique": + version += f" {self.screen_format}" return version def get_movie(self): @@ -121,14 +123,14 @@ def get_movie(self): def __str__(self): movie_str = super().__str__() - return f'{movie_str} ({self.version})' + return f"{movie_str} ({self.version})" def __eq__(self, other): return (self.movie_id, self.version) == (other.movie_id, other.version) def __hash__(self): - """ This function allows us - to do a set(list_of_MovieVersion_objects) """ + """This function allows us + to do a set(list_of_MovieVersion_objects)""" return hash((self.movie_id, self.version)) @@ -137,24 +139,24 @@ class Schedule: date_time: datetime @property - def date(self) -> date: + def date(self) -> Date: return self.date_time.date() @property - def hour(self) -> datetime.time: + def hour(self) -> Time: return self.date_time.time() @property def hour_str(self) -> str: - return self.date_time.strftime('%H:%M') + return self.date_time.strftime("%H:%M") @property def hour_short_str(self) -> str: return get_hour_short_str(self.hour) @property - def date_str(self) -> date: - return self.date_time.strftime('%d/%m/%Y %H:%M') + def date_str(self) -> str: + return self.date_time.strftime("%d/%m/%Y %H:%M") @property def day_str(self) -> str: @@ -165,10 +167,10 @@ def short_day_str(self) -> str: return short_day_str(self.date) -def get_hour_short_str(hour: datetime.time) -> str: +def get_hour_short_str(hour: Time) -> str: # Ex: 9h, 11h, 23h30 # Minus in '%-H' removes the leading 0 - return hour.strftime('%-Hh%M').replace('h00', 'h') + return hour.strftime("%-Hh%M").replace("h00", "h") @dataclass @@ -176,31 +178,41 @@ class Showtime(Schedule): movie: MovieVersion def __str__(self): - return f'{self.date_str} : {self.movie}' + return f"{self.date_str} : {self.movie}" -def day_str(date: date) -> str: +def day_str(date: Date) -> str: return to_french_weekday(date.weekday()) def to_french_weekday(weekday: int) -> str: - DAYS = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'] + DAYS = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"] return DAYS[weekday] def get_french_month(month_number: int) -> str: MONTHS = [ - 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', - 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre' + "Janvier", + "Février", + "Mars", + "Avril", + "Mai", + "Juin", + "Juillet", + "Août", + "Septembre", + "Octobre", + "Novembre", + "Décembre", ] - return MONTHS[month_number-1] + return MONTHS[month_number - 1] def to_french_short_weekday(weekday: int) -> str: return to_french_weekday(weekday)[:3] -def short_day_str(date: date) -> str: +def short_day_str(date: Date) -> str: return day_str(date)[:3] @@ -215,24 +227,22 @@ class Theater: @property def address_str(self): - address_str = f'{self.address}, ' if self.address else '' - address_str += f'{self.zipcode} {self.city}' + address_str = f"{self.address}, " if self.address else "" + address_str += f"{self.zipcode} {self.city}" return address_str - def get_showtimes_of_a_movie(self, movie_version: MovieVersion, date: date = None): - movie_showtimes = [showtime for showtime in self.showtimes - if showtime.movie == movie_version] + def get_showtimes_of_a_movie(self, movie_version: MovieVersion, date: Optional[Date] = None): + movie_showtimes = [showtime for showtime in self.showtimes if showtime.movie == movie_version] if date: - return [showtime for showtime in movie_showtimes - if showtime.date == date] + return [showtime for showtime in movie_showtimes if showtime.date == date] else: return movie_showtimes - def get_showtimes_of_a_day(self, date: date): + def get_showtimes_of_a_day(self, date: Date): return get_showtimes_of_a_day(showtimes=self.showtimes, date=date) - def get_movies_available_for_a_day(self, date: date): - """ Returns a list of movies available on a specified day """ + def get_movies_available_for_a_day(self, date: Date): + """Returns a list of movies available on a specified day""" movies = [showtime.movie for showtime in self.get_showtimes_of_a_day(date)] return list(set(movies)) @@ -259,7 +269,7 @@ def get_program_per_movie(self): program_per_movie[movie] = build_program_str(showtimes=showtimes) return program_per_movie - def filter_showtimes(self, date_min: date = None, date_max: date = None): + def filter_showtimes(self, date_min: Optional[Date] = None, date_max: Optional[Date] = None): if date_min: self.showtimes = [s for s in self.showtimes if s.date >= date_min] if date_max: @@ -269,7 +279,7 @@ def __eq__(self, other): return (self.theater_id) == (other.theater_id) def __hash__(self): - """ This function allows us to do a set(list_of_Theaters_objects) """ + """This function allows us to do a set(list_of_Theaters_objects)""" return hash(self.theater_id) @@ -288,7 +298,7 @@ def group_showtimes_per_schedule(showtimes: List[Showtime]): grouped_showtimes = {} for available_date in available_dates: hours = [s.hour_short_str for s in showtimes_per_date[available_date]] - hours_str = ', '.join(hours) + hours_str = ", ".join(hours) if grouped_showtimes.get(hours_str) is None: grouped_showtimes[hours_str] = [] grouped_showtimes[hours_str].append(available_date) @@ -304,10 +314,9 @@ def check_schedules_within_week(schedule_list: List[Schedule]) -> bool: schedule_dates = [s.date for s in schedule_list] min_date = min(schedule_dates) max_date = max(schedule_dates) - delta = (max_date - min_date) + delta = max_date - min_date if delta >= timedelta(days=7): - raise ValueError( - 'Schedule list contains more days than the typical movie week') + raise ValueError("Schedule list contains more days than the typical movie week") # Check that the week is not from Mon/Tue to Wed/Thu/Fri/Sat/Sun # because a typical week is from Wed to Tue # but we need to handle the case of a schedule_list with only a few day @@ -316,50 +325,48 @@ def check_schedules_within_week(schedule_list: List[Schedule]) -> bool: TUESDAY = 1 WEDNESDAY = 2 if delta > timedelta(days=0): - if (min_date.weekday() == MONDAY and max_date.weekday() >= WEDNESDAY) \ - or (min_date.weekday() == TUESDAY): - raise ValueError( - 'Schedule list should not start before wednesday or end after tuesday') + if (min_date.weekday() == MONDAY and max_date.weekday() >= WEDNESDAY) or (min_date.weekday() == TUESDAY): + raise ValueError("Schedule list should not start before wednesday or end after tuesday") return True -def create_weekdays_str(dates: List[date]) -> str: +def create_weekdays_str(dates: List[Date]) -> str: """ - Returns a compact string from a list of dates. - Examples: - - [0,1] -> 'Lun, Mar' - - [0,1,2,3,4] -> 'sf Sam, Dim' - - [0,1,2,3,4,5,6] -> '' # Everyday is empty string - - [0,2] -> 'Mer, Lun' # And not 'Lun, Mer' because we sort chrologically + Returns a compact string from a list of dates. + Examples: + - [0,1] -> 'Lun, Mar' + - [0,1,2,3,4] -> 'sf Sam, Dim' + - [0,1,2,3,4,5,6] -> '' # Everyday is empty string + - [0,2] -> 'Mer, Lun' # And not 'Lun, Mer' because we sort chrologically """ FULL_WEEK = range(0, 7) unique_dates = sorted(list(set(dates))) week_days = [d.weekday() for d in unique_dates] if len(unique_dates) == 7: - return '' + return "" elif len(unique_dates) <= 4: - return ', '.join([to_french_short_weekday(d) for d in week_days]) + return ", ".join([to_french_short_weekday(d) for d in week_days]) else: missing_days = list(set(week_days).symmetric_difference(FULL_WEEK)) - return 'sf {}'.format(', '.join([to_french_short_weekday(d) for d in missing_days])) + return "sf {}".format(", ".join([to_french_short_weekday(d) for d in missing_days])) -def __get_time_weight_in_list(d: dict) -> timedelta: - """ Returns the minimum time weight from the time list contained in the dict values - ex: {'key': [time(hour=12), time(hour=9)]} => timedelta(hour=9) +def __get_time_weight_in_list(item: Tuple[str, List[Time]]) -> timedelta: + """Returns the minimum time weight from the time list contained in the dict values + ex: {'key': [time(hour=12), time(hour=9)]} => timedelta(hour=9) """ - weights = [__get_time_weight(t) for t in d[1]] + weights = [__get_time_weight(t) for t in item[1]] return min(weights) -def __get_time_weight(t: time) -> timedelta: - """ Return a timedelta taking into account night time. - Basically, it allows to sort a list of times 18h>23h>0h30 - and not 0h30>18h>23h +def __get_time_weight(t: Time) -> timedelta: + """Return a timedelta taking into account night time. + Basically, it allows to sort a list of times 18h>23h>0h30 + and not 0h30>18h>23h """ - _NIGHT_TIME = [time(hour=0), time(hour=5)] + _NIGHT_TIME = [Time(hour=0), Time(hour=5)] delta = timedelta(hours=t.hour, minutes=t.minute) if t >= min(_NIGHT_TIME) and t <= max(_NIGHT_TIME): delta += timedelta(days=1) @@ -373,7 +380,6 @@ def build_weekly_schedule_str(schedule_list: List[Schedule]) -> str: _grouped_date_hashmap = {} # ex: {[Lun]: [16h, 17h30], [Lun, Mar]: [17h]} for s in schedule_list: - if _hours_hashmap.get(s.hour) is None: _hours_hashmap[s.hour] = [] _hours_hashmap[s.hour].append(s.date) @@ -402,37 +408,36 @@ def build_weekly_schedule_str(schedule_list: List[Schedule]) -> str: different_showtimes = len(grouped_date_hashmap) # True if at least one schedule is available everyday - some_schedules_available_everyday = grouped_date_hashmap.get('') is not None + some_schedules_available_everyday = grouped_date_hashmap.get("") is not None - weekly_schedule = '' + weekly_schedule = "" if some_schedules_available_everyday: for hour, grouped_dates in hours_hashmap.items(): hour_str = get_hour_short_str(hour) grouped_dates_str = create_weekdays_str(grouped_dates) if grouped_dates_str: - weekly_schedule += f'{hour_str} ({grouped_dates_str}), ' + weekly_schedule += f"{hour_str} ({grouped_dates_str}), " else: # Available everyday - weekly_schedule += f'{hour_str}, ' + weekly_schedule += f"{hour_str}, " else: for grouped_dates, hours in grouped_date_hashmap.items(): - hours_str = ', '.join([get_hour_short_str(h) for h in hours]) + hours_str = ", ".join([get_hour_short_str(h) for h in hours]) if different_showtimes == 1: - weekly_schedule += f'{grouped_dates} {hours_str}, ' + weekly_schedule += f"{grouped_dates} {hours_str}, " else: if some_schedules_available_everyday: - weekly_schedule += f'{hours_str} ({grouped_dates}), ' + weekly_schedule += f"{hours_str} ({grouped_dates}), " else: - weekly_schedule += f'{grouped_dates} {hours_str}; ' + weekly_schedule += f"{grouped_dates} {hours_str}; " if weekly_schedule: weekly_schedule = weekly_schedule[:-2] # Remove trailing comma return weekly_schedule -def get_showtimes_of_a_day(showtimes: List[Showtime], *, date: date): - return [showtime for showtime in showtimes - if showtime.date == date] +def get_showtimes_of_a_day(showtimes: List[Showtime], *, date: Date): + return [showtime for showtime in showtimes if showtime.date == date] # === Main class === @@ -443,35 +448,35 @@ def __init__(self, base_url=BASE_URL): def get_theater(self, theater_id: str): ret = self.__client.get_showtimelist_by_theater_id(theater_id=theater_id) - if jmespath.search('feed.totalResults', ret) == 0: - raise ValueError(f'Theater not found. Is theater id {theater_id!r} correct?') + if jmespath.search("feed.totalResults", ret) == 0: + raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") theaters = self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret) if len(theaters) != 1: - raise ValueError('Expecting 1 theater but received {}'.format(len(theaters))) + raise ValueError("Expecting 1 theater but received {}".format(len(theaters))) return theaters[0] def __get_theaters_from_raw_showtimelist(self, raw_showtimelist: dict, distance_max_inclusive: int = 0): theaters = [] - for theater_showtime in jmespath.search('feed.theaterShowtimes', raw_showtimelist): - raw_theater = jmespath.search('place.theater', theater_showtime) + for theater_showtime in jmespath.search("feed.theaterShowtimes", raw_showtimelist): + raw_theater = jmespath.search("place.theater", theater_showtime) - if raw_theater.get('distance') is not None: + if raw_theater.get("distance") is not None: # distance is not present when theater ids were used for search - if raw_theater.get('distance') > distance_max_inclusive: + if raw_theater.get("distance") > distance_max_inclusive: # Skip theaters that are above the max distance specified continue - raw_showtimes = jmespath.search('movieShowtimes', theater_showtime) + raw_showtimes = jmespath.search("movieShowtimes", theater_showtime) showtimes = self.__parse_showtimes(raw_showtimes=raw_showtimes) theater = Theater( - theater_id=raw_theater.get('code'), - name=raw_theater.get('name'), - address=raw_theater.get('address'), - zipcode=raw_theater.get('postalCode'), - city=raw_theater.get('city'), - showtimes=showtimes + theater_id=raw_theater.get("code"), + name=raw_theater.get("name"), + address=raw_theater.get("address"), + zipcode=raw_theater.get("postalCode"), + city=raw_theater.get("city"), + showtimes=showtimes, ) theaters.append(theater) return theaters @@ -481,16 +486,13 @@ def search_theaters(self, geocode: int): page = 1 while True: ret = self.__client.get_showtimelist_from_geocode(geocode=geocode, page=page) - total_results = jmespath.search('feed.totalResults', ret) + total_results = jmespath.search("feed.totalResults", ret) if total_results == 0: - raise ValueError(f'Theater not found. Is geocode {geocode!r} correct?') + raise ValueError(f"Theater not found. Is geocode {geocode!r} correct?") - theaters_to_parse = jmespath.search('feed.theaterShowtimes', ret) + theaters_to_parse = jmespath.search("feed.theaterShowtimes", ret) if theaters_to_parse: - theaters += self.__get_theaters_from_raw_showtimelist( - raw_showtimelist=ret, - distance_max_inclusive=0 - ) + theaters += self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret, distance_max_inclusive=0) page += 1 else: break @@ -500,42 +502,43 @@ def search_theaters(self, geocode: int): def __parse_showtimes(self, raw_showtimes: dict): showtimes = [] for s in raw_showtimes: - raw_movie = jmespath.search('onShow.movie', s) + raw_movie = jmespath.search("onShow.movie", s) language = jmespath.search('version."$"', s) screen_format = jmespath.search('screenFormat."$"', s) - duration = raw_movie.get('runtime') + duration = raw_movie.get("runtime") duration_obj = timedelta(seconds=duration) if duration else None - rating = jmespath.search('statistics.userRating', raw_movie) + rating = jmespath.search("statistics.userRating", raw_movie) try: rating = float(rating) except (ValueError, TypeError): rating = None - movie_id = raw_movie.get('code') + movie_id = raw_movie.get("code") movie_info = self.get_movie_info(movie_id) countries = jmespath.search('nationality[]."$"', movie_info) - year = movie_info.get('productionYear') + year = movie_info.get("productionYear") if year: year = int(year) movie = MovieVersion( movie_id=movie_id, - title=raw_movie.get('title'), + title=raw_movie.get("title"), rating=rating, language=language, screen_format=screen_format, - synopsis=_clean_synopsis(movie_info.get('synopsis')), - original_title=movie_info.get('originalTitle'), + synopsis=_clean_synopsis(movie_info.get("synopsis")), + original_title=movie_info.get("originalTitle"), year=year, countries=countries, - genres=', '.join(jmespath.search('genre[]."$"', movie_info)), - directors=jmespath.search('castingShort.directors', movie_info), - actors=jmespath.search('castingShort.actors', movie_info), - duration=duration_obj) - for showtimes_of_day in s.get('scr') or []: - day = showtimes_of_day.get('d') - for one_showtime in showtimes_of_day.get('t'): - datetime_str = '{}T{}:00'.format(day, one_showtime.get('$')) + genres=", ".join(jmespath.search('genre[]."$"', movie_info)), + directors=jmespath.search("castingShort.directors", movie_info), + actors=jmespath.search("castingShort.actors", movie_info), + duration=duration_obj, + ) + for showtimes_of_day in s.get("scr") or []: + day = showtimes_of_day.get("d") + for one_showtime in showtimes_of_day.get("t"): + datetime_str = "{}T{}:00".format(day, one_showtime.get("$")) datetime_obj = _str_datetime_to_datetime_obj(datetime_str) showtime = Showtime( date_time=datetime_obj, @@ -547,7 +550,7 @@ def __parse_showtimes(self, raw_showtimes: dict): def get_movie_info(self, movie_id: int): movie_info = self.__movie_store.get(movie_id) if movie_info is None: - movie_info = self.__client.get_movie_info_by_id(movie_id).get('movie') + movie_info = self.__client.get_movie_info_by_id(movie_id).get("movie") self.__movie_store[movie_id] = movie_info return movie_info @@ -567,18 +570,18 @@ class Error503(Exception): class Client(metaclass=SingletonMeta): - """ Client to process the requests with allocine APIs. + """Client to process the requests with allocine APIs. This is a singleton to avoid the creation of a new session for every theater. """ + def __init__(self, base_url): self.base_url = base_url headers = { - 'User-Agent': 'Mozilla/5.0 (Macintosh; \ + "User-Agent": "Mozilla/5.0 (Macintosh; \ Intel Mac OS X 10.14; rv:63.0) \ - Gecko/20100101 Firefox/63.0', - } - self.session = requests.session() - self.session.headers.update(headers) + Gecko/20100101 Firefox/63.0", + } + self.session = httpx2.Client(headers=headers, timeout=None) @backoff.on_exception(backoff.expo, Error503, max_tries=5, max_time=30) def _get(self, url: str, expected_status: int = 200, *args, **kwargs): @@ -586,37 +589,34 @@ def _get(self, url: str, expected_status: int = 200, *args, **kwargs): if ret.status_code != expected_status: if ret.status_code == 503: raise Error503 - raise ValueError('{!r} : expected status {}, received {}'.format( - url, expected_status, ret.status_code)) + raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) return ret.json() def get_showtimelist_by_theater_id(self, theater_id: str, page: int = 1, count: int = 10): url = ( - f'{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json' - f'&theaters={theater_id}&page={page}&count={count}' + f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" + f"&theaters={theater_id}&page={page}&count={count}" ) return self._get(url=url) def get_theater_info_by_id(self, theater_id: str): - url = f'{self.base_url}/theater?partner={PARTNER_KEY}&format=json&code={theater_id}' + url = f"{self.base_url}/theater?partner={PARTNER_KEY}&format=json&code={theater_id}" return self._get(url=url) def get_showtimelist_from_geocode(self, geocode: int, page: int = 1, count: int = 10): url = ( - f'{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json' - f'&geocode={geocode}&page={page}&count={count}' + f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" + f"&geocode={geocode}&page={page}&count={count}" ) return self._get(url=url) def get_movie_info_by_id(self, movie_id: int): - url = ( - f'{self.base_url}/movie?partner={PARTNER_KEY}&format=json&code={movie_id}' - ) + url = f"{self.base_url}/movie?partner={PARTNER_KEY}&format=json&code={movie_id}" return self._get(url=url) def _strfdelta(tdelta, fmt): - """ Format a timedelta object """ + """Format a timedelta object""" # Thanks to https://stackoverflow.com/questions/8906926 d = {"days": tdelta.days} d["hours"], rem = divmod(tdelta.seconds, 3600) @@ -629,8 +629,8 @@ def _str_datetime_to_datetime_obj(datetime_str, date_format=DEFAULT_DATE_FORMAT) def _cleanhtml(raw_html): - cleanr = re.compile('<.*?>') - cleantext = re.sub(cleanr, '', raw_html) + cleanr = re.compile("<.*?>") + cleantext = re.sub(cleanr, "", raw_html) return cleantext @@ -639,11 +639,10 @@ def _clean_synopsis(raw_synopsis): return None synopsis = _cleanhtml(raw_synopsis) # Remove HTML tags (ex: ) - synopsis = synopsis.replace('\xa0', ' ') + synopsis = synopsis.replace("\xa0", " ") return unicodedata.normalize("NFKD", synopsis) def _strip_accents(s): # https://stackoverflow.com/a/518232/8748757 - return ''.join(c for c in unicodedata.normalize('NFD', s) - if unicodedata.category(c) != 'Mn') + return "".join(c for c in unicodedata.normalize("NFD", s) if unicodedata.category(c) != "Mn") diff --git a/allocine/nationalities.py b/allocine/nationalities.py index f2b73a2..3f05a68 100644 --- a/allocine/nationalities.py +++ b/allocine/nationalities.py @@ -1,446 +1,446 @@ # Based on https://gist.github.com/Mathieu-Castets/e36488c518d1fc4a03fa (thank you!) nationalities = { - 'AD': ('andorran', 'andorrane'), - 'AE': ('émirien', 'émirienne'), - 'AF': ('afghan', 'afghane'), - 'AG': ('antiguayen', 'antiguayenne'), - 'AI': ('anguillais', 'anguillaise'), - 'AL': ('albanais', 'albanaise'), - 'AM': ('arménien', 'arménienne'), - 'AO': ('angolais', 'angolaise'), - 'AR': ('argentin', 'argentine'), - 'AS': ('samoan', 'samoane'), - 'AT': ('autrichien', 'autrichienne'), - 'AU': ('australien', 'australienne'), - 'AW': ('arubain', 'arubaine'), - 'AX': ('ålandais', 'ålandaise'), - 'AZ': ('azerbaïdjanais', 'azerbaïdjanaise'), - 'BA': ('bosnien', 'bosnienne'), - 'BB': ('barbadien', 'barbadienne'), - 'BD': ('bangladais', 'bangladaise'), - 'BE': ('belge', 'belge'), - 'BF': ('burkinabè', 'burkinabè'), - 'BG': ('bulgare', 'bulgare'), - 'BH': ('bahreïnien', 'bahreïnienne'), - 'BI': ('burundais', 'burundaise'), - 'BJ': ('béninois', 'béninoise'), - 'BM': ('bermudien', 'bermudienne'), - 'BN': ('brunéiens', 'brunéiennes'), - 'BO': ('bolivien', 'bolivienne'), - 'BR': ('brésilien', 'brésilienne'), - 'BS': ('bahamien', 'bahamienne'), - 'BT': ('bhoutanais', 'bhoutanaise'), - 'BW': ('botswanais', 'botswanaise'), - 'BY': ('biélorusse', 'biélorusse'), - 'BZ': ('bélizien', 'bélizienne'), - 'CA': ('canadien', 'canadienne'), - 'CD': ('congolais', 'congolaise'), - 'CF': ('centrafricain', 'centrafricaine'), - 'CG': ('congolais', 'congolaise'), - 'CH': ('suisse', 'suissesse'), - 'CI': ('ivoirien', 'ivoirienne'), - 'CK': ('cookien', 'cookienne'), - 'CL': ('chilien', 'chilienne'), - 'CM': ('camerounais', 'camerounaise'), - 'CN': ('chinois', 'chinoise'), - 'CO': ('colombien', 'colombienne'), - 'CR': ('costaricien', 'costaricienne'), - 'CU': ('cubain', 'cubaine'), - 'CV': ('cap-verdien', 'cap-verdienne'), - 'CY': ('chypriote', 'chypriote'), - 'CS': ('tchécoslovaque', 'tchécoslovaque'), - 'CZ': ('tchèque', 'tchèque'), - 'DE': ('allemand', 'allemande'), - 'DJ': ('djiboutien', 'djiboutienne'), - 'DK': ('danois', 'danoise'), - 'DM': ('dominiquais', 'dominiquaise'), - 'DO': ('dominicain', 'dominicaine'), - 'DZ': ('algérien', 'algérienne'), - 'EC': ('équatorien', 'équatorienne'), - 'EE': ('estonien', 'estonienne'), - 'EG': ('égyptien', 'égyptienne'), - 'EH': ('sahraoui', 'sahraouie'), - 'EL': ('grec', 'grecque'), - 'ER': ('érythréen', 'érythréenne'), - 'ES': ('espagnol', 'espagnole'), - 'ET': ('éthiopien', 'éthiopienne'), - 'FI': ('finlandais', 'finlandaise'), - 'FJ': ('fidjien', 'fidjienne'), - 'FK': ('malouin', 'malouine'), - 'FM': ('micronésien', 'micronésienne'), - 'FO': ('féroïen', 'féroïenne'), - 'FR': ('français', 'française'), - 'GA': ('gabonais', 'gabonaise'), - 'GB': ('britannique', 'britannique'), - 'GD': ('grenadin', 'grenadine'), - 'GE': ('géorgien', 'géorgienne'), - 'GH': ('ghanéen', 'ghanéenne'), - 'GI': ('gibraltarien', 'gibraltarienne'), - 'GL': ('groenlandais', 'groenlandaise'), - 'GM': ('gambien', 'gambienne'), - 'GN': ('guinéen', 'guinéenne'), - 'GQ': ('équatoguinéen', 'équatoguinéenne'), - 'GR': ('grec', 'grecque'), - 'GT': ('guatémaltèque', 'guatémaltèque'), - 'GU': ('guamien', 'guamienne'), - 'GW': ('bissaoguinéen', 'bissaoguinéenne'), - 'GY': ('guyanien', 'guyanienne'), - 'HK': ('hongkongais', 'hongkongaise'), - 'HN': ('hondurien', 'hondurienne'), - 'HR': ('croate', 'croate'), - 'HT': ('haïtien', 'haïtienne'), - 'HU': ('hongrois', 'hongroise'), - 'ID': ('indonésien', 'indonésienne'), - 'IE': ('irlandais', 'iirlandaise'), - 'IL': ('israélien', 'israélienne'), - 'IN': ('indien', 'indienne'), - 'IQ': ('iraquien', 'iraquienne'), - 'IR': ('iranien', 'iranienne'), - 'IS': ('islandais', 'islandaise'), - 'IT': ('italien', 'italienne'), - 'JM': ('jamaïcain', 'jamaïcaine'), - 'JO': ('jordanien', 'jordanienne'), - 'JP': ('japonais', 'japonaise'), - 'KE': ('kényan', 'kényane'), - 'KG': ('kirghize', 'kirghize'), - 'KH': ('cambodgien', 'cambodgienne'), - 'KI': ('kiribatien', 'kiribatienne'), - 'KM': ('comorien', 'comorienne'), - 'KN': ('christophien', 'christophienne'), - 'KP': ('nord-coréen', 'nord-coréenne'), - 'KR': ('sud-coréen', 'sud-coréenne'), - 'KW': ('koweïtien', 'koweïtienne'), - 'KY': ('caïmanais', 'caïmanaise'), - 'KZ': ('kazakh', 'kazakhe'), - 'LA': ('laotien', 'laotienne'), - 'LB': ('libanais', 'libanaise'), - 'LC': ('saint-lucien', 'saint-lucienne'), - 'LI': ('liechtensteinois', 'liechtensteinoise'), - 'LK': ('sri-lankais', 'sri-lankaise'), - 'LR': ('libérien', 'libérienne'), - 'LS': ('mosotho', 'mosotho'), - 'LT': ('lituanien', 'lituanienne'), - 'LU': ('luxembourgeois', 'luxembourgeoise'), - 'LV': ('letton', 'lettone'), - 'LY': ('libyen', 'libyenne'), - 'MA': ('marocain', 'marocaine'), - 'MC': ('monégasque', 'monégasque'), - 'MD': ('moldave', 'moldave'), - 'ME': ('monténégrin', 'monténégrine'), - 'MG': ('malgache', 'malgache'), - 'MH': ('marshallais', 'marshallaise'), - 'MK': ('macédonien', 'macédonienne'), - 'ML': ('malien', 'malienne'), - 'MM': ('birman', 'birmane'), - 'MN': ('mongol', 'mongole'), - 'MO': ('macanais', 'macanaise'), - 'MP': ('mariannais', 'mariannaise'), - 'MR': ('mauritanien', 'mauritanienne'), - 'MS': ('montserratien', 'montserratienne'), - 'MT': ('maltais', 'maltaise'), - 'MU': ('mauricien', 'mauricienne'), - 'MV': ('maldivien', 'maldivienne'), - 'MW': ('malawien', 'malawienne'), - 'MX': ('mexicain', 'mexicaine'), - 'MY': ('malaisien', 'malaisienne'), - 'MZ': ('mozambicain', 'mozambicaine'), - 'NA': ('namibien', 'namibienne'), - 'NE': ('nigérien', 'nigérienne'), - 'NG': ('nigérian', 'nigériane'), - 'NI': ('nicaraguayen', 'nicaraguayenne'), - 'NL': ('néerlandais', 'néerlandaise'), - 'NO': ('norvégien', 'norvégienne'), - 'NP': ('népalais', 'népalaise'), - 'NR': ('nauruan', 'nauruane'), - 'NU': ('niuéan', 'niuéane'), - 'NZ': ('néo-zélandais', 'néo-zélandaise'), - 'OM': ('omanais', 'omanaise'), - 'PA': ('panaméen', 'panaméenne'), - 'PE': ('péruvien', 'péruvienne'), - 'PG': ('papouasien', 'papouasienne'), - 'PH': ('philippin', 'philippine'), - 'PK': ('pakistanais', 'pakistanaise'), - 'PL': ('polonais', 'polonaise'), - 'PR': ('portoricain', 'portoricaine'), - 'PS': ('palestinien', 'palestinienne'), - 'PT': ('portugais', 'portugaise'), - 'PW': ('palaois', 'palaoise'), - 'PY': ('paraguayen', 'paraguayenne'), - 'QA': ('qatarien', 'qatarienne'), - 'RO': ('roumain', 'roumaine'), - 'RS': ('serbe', 'serbe'), - 'RU': ('russe', 'russe'), - 'RW': ('rwandais', 'rwandaise'), - 'SA': ('saoudien', 'saoudienne'), - 'SB': ('salomonais', 'salomonaise'), - 'SC': ('seychellois', 'seychelloise'), - 'SD': ('soudanais', 'soudanaise'), - 'SE': ('suédois', 'suédoise'), - 'SG': ('singapourien', 'singapourienne'), - 'SI': ('slovène', 'slovène'), - 'SK': ('slovaque', 'slovaque'), - 'SL': ('sierraléonais', 'sierraléonaise'), - 'SM': ('saint-marinais', 'saint-marinaise'), - 'SN': ('sénégalais', 'sénégalaise'), - 'SO': ('somalien', 'somalienne'), - 'SR': ('surinamais', 'surinamaise'), - 'SS': ('sud-soudanais', 'sud-soudanaise'), - 'ST': ('santoméen', 'santoméenne'), - 'SU': ('soviétique', 'soviétique'), - 'SV': ('salvadorien', 'salvadorienne'), - 'SY': ('syrien', 'syrienne'), - 'SZ': ('swazi', 'swazie'), - 'TC': ('émirats arabes unis', 'émirats arabes unis'), - 'TD': ('tchadien', 'tchadienne'), - 'TG': ('togolais', 'togolaise'), - 'TH': ('thaïlandais', 'thaïlandaise'), - 'TJ': ('tadjik', 'tadjike'), - 'TK': ('tokélaouen', 'tokélaouenne'), - 'TL': ('timorais', 'timoraise'), - 'TM': ('turkmène', 'turkmène'), - 'TN': ('tunisien', 'tunisienne'), - 'TO': ('tongan', 'tongane'), - 'TP': ('est-timorais', 'est-timoraise'), - 'TR': ('turc', 'turque'), - 'TT': ('trinidadien', 'trinidadienne'), - 'TV': ('tuvaluan', 'tuvaluane'), - 'TW': ('taïwanais', 'taïwanaise'), - 'TZ': ('tanzanien', 'tanzanienne'), - 'UA': ('ukrainien', 'ukrainienne'), - 'UG': ('ougandais', 'ougandaise'), - 'UK': ('britannique', 'britannique'), - 'US': ('américain', 'américaine'), - 'UY': ('uruguayen', 'uruguayenne'), - 'UZ': ('ouzbek', 'ouzbèke'), - 'VC': ('vincentais', 'vincentaise'), - 'VE': ('vénézuélien', 'vénézuélienne'), - 'VG': ('insulaires des îles vierges britanniques', 'insulaires des îles vierges britanniques'), - 'VI': ('insulaires des îles vierges', 'insulaires des îles vierges'), - 'VN': ('vietnamien', 'vietnamienne'), - 'VU': ('vanuatuan', 'vanuatuane'), - 'WS': ('samoan', 'samoane'), - 'XK': ('kosovar', 'kosovare'), - 'YE': ('yéménite', 'yéménite'), - 'YU': ('serbe', 'serbe'), - 'ZA': ('sud-africain', 'sud-africaine'), - 'ZM': ('zambien', 'zambienne'), - 'ZW': ('zimbabwéen', 'zimbabwéenne'), + "AD": ("andorran", "andorrane"), + "AE": ("émirien", "émirienne"), + "AF": ("afghan", "afghane"), + "AG": ("antiguayen", "antiguayenne"), + "AI": ("anguillais", "anguillaise"), + "AL": ("albanais", "albanaise"), + "AM": ("arménien", "arménienne"), + "AO": ("angolais", "angolaise"), + "AR": ("argentin", "argentine"), + "AS": ("samoan", "samoane"), + "AT": ("autrichien", "autrichienne"), + "AU": ("australien", "australienne"), + "AW": ("arubain", "arubaine"), + "AX": ("ålandais", "ålandaise"), + "AZ": ("azerbaïdjanais", "azerbaïdjanaise"), + "BA": ("bosnien", "bosnienne"), + "BB": ("barbadien", "barbadienne"), + "BD": ("bangladais", "bangladaise"), + "BE": ("belge", "belge"), + "BF": ("burkinabè", "burkinabè"), + "BG": ("bulgare", "bulgare"), + "BH": ("bahreïnien", "bahreïnienne"), + "BI": ("burundais", "burundaise"), + "BJ": ("béninois", "béninoise"), + "BM": ("bermudien", "bermudienne"), + "BN": ("brunéiens", "brunéiennes"), + "BO": ("bolivien", "bolivienne"), + "BR": ("brésilien", "brésilienne"), + "BS": ("bahamien", "bahamienne"), + "BT": ("bhoutanais", "bhoutanaise"), + "BW": ("botswanais", "botswanaise"), + "BY": ("biélorusse", "biélorusse"), + "BZ": ("bélizien", "bélizienne"), + "CA": ("canadien", "canadienne"), + "CD": ("congolais", "congolaise"), + "CF": ("centrafricain", "centrafricaine"), + "CG": ("congolais", "congolaise"), + "CH": ("suisse", "suissesse"), + "CI": ("ivoirien", "ivoirienne"), + "CK": ("cookien", "cookienne"), + "CL": ("chilien", "chilienne"), + "CM": ("camerounais", "camerounaise"), + "CN": ("chinois", "chinoise"), + "CO": ("colombien", "colombienne"), + "CR": ("costaricien", "costaricienne"), + "CU": ("cubain", "cubaine"), + "CV": ("cap-verdien", "cap-verdienne"), + "CY": ("chypriote", "chypriote"), + "CS": ("tchécoslovaque", "tchécoslovaque"), + "CZ": ("tchèque", "tchèque"), + "DE": ("allemand", "allemande"), + "DJ": ("djiboutien", "djiboutienne"), + "DK": ("danois", "danoise"), + "DM": ("dominiquais", "dominiquaise"), + "DO": ("dominicain", "dominicaine"), + "DZ": ("algérien", "algérienne"), + "EC": ("équatorien", "équatorienne"), + "EE": ("estonien", "estonienne"), + "EG": ("égyptien", "égyptienne"), + "EH": ("sahraoui", "sahraouie"), + "EL": ("grec", "grecque"), + "ER": ("érythréen", "érythréenne"), + "ES": ("espagnol", "espagnole"), + "ET": ("éthiopien", "éthiopienne"), + "FI": ("finlandais", "finlandaise"), + "FJ": ("fidjien", "fidjienne"), + "FK": ("malouin", "malouine"), + "FM": ("micronésien", "micronésienne"), + "FO": ("féroïen", "féroïenne"), + "FR": ("français", "française"), + "GA": ("gabonais", "gabonaise"), + "GB": ("britannique", "britannique"), + "GD": ("grenadin", "grenadine"), + "GE": ("géorgien", "géorgienne"), + "GH": ("ghanéen", "ghanéenne"), + "GI": ("gibraltarien", "gibraltarienne"), + "GL": ("groenlandais", "groenlandaise"), + "GM": ("gambien", "gambienne"), + "GN": ("guinéen", "guinéenne"), + "GQ": ("équatoguinéen", "équatoguinéenne"), + "GR": ("grec", "grecque"), + "GT": ("guatémaltèque", "guatémaltèque"), + "GU": ("guamien", "guamienne"), + "GW": ("bissaoguinéen", "bissaoguinéenne"), + "GY": ("guyanien", "guyanienne"), + "HK": ("hongkongais", "hongkongaise"), + "HN": ("hondurien", "hondurienne"), + "HR": ("croate", "croate"), + "HT": ("haïtien", "haïtienne"), + "HU": ("hongrois", "hongroise"), + "ID": ("indonésien", "indonésienne"), + "IE": ("irlandais", "iirlandaise"), + "IL": ("israélien", "israélienne"), + "IN": ("indien", "indienne"), + "IQ": ("iraquien", "iraquienne"), + "IR": ("iranien", "iranienne"), + "IS": ("islandais", "islandaise"), + "IT": ("italien", "italienne"), + "JM": ("jamaïcain", "jamaïcaine"), + "JO": ("jordanien", "jordanienne"), + "JP": ("japonais", "japonaise"), + "KE": ("kényan", "kényane"), + "KG": ("kirghize", "kirghize"), + "KH": ("cambodgien", "cambodgienne"), + "KI": ("kiribatien", "kiribatienne"), + "KM": ("comorien", "comorienne"), + "KN": ("christophien", "christophienne"), + "KP": ("nord-coréen", "nord-coréenne"), + "KR": ("sud-coréen", "sud-coréenne"), + "KW": ("koweïtien", "koweïtienne"), + "KY": ("caïmanais", "caïmanaise"), + "KZ": ("kazakh", "kazakhe"), + "LA": ("laotien", "laotienne"), + "LB": ("libanais", "libanaise"), + "LC": ("saint-lucien", "saint-lucienne"), + "LI": ("liechtensteinois", "liechtensteinoise"), + "LK": ("sri-lankais", "sri-lankaise"), + "LR": ("libérien", "libérienne"), + "LS": ("mosotho", "mosotho"), + "LT": ("lituanien", "lituanienne"), + "LU": ("luxembourgeois", "luxembourgeoise"), + "LV": ("letton", "lettone"), + "LY": ("libyen", "libyenne"), + "MA": ("marocain", "marocaine"), + "MC": ("monégasque", "monégasque"), + "MD": ("moldave", "moldave"), + "ME": ("monténégrin", "monténégrine"), + "MG": ("malgache", "malgache"), + "MH": ("marshallais", "marshallaise"), + "MK": ("macédonien", "macédonienne"), + "ML": ("malien", "malienne"), + "MM": ("birman", "birmane"), + "MN": ("mongol", "mongole"), + "MO": ("macanais", "macanaise"), + "MP": ("mariannais", "mariannaise"), + "MR": ("mauritanien", "mauritanienne"), + "MS": ("montserratien", "montserratienne"), + "MT": ("maltais", "maltaise"), + "MU": ("mauricien", "mauricienne"), + "MV": ("maldivien", "maldivienne"), + "MW": ("malawien", "malawienne"), + "MX": ("mexicain", "mexicaine"), + "MY": ("malaisien", "malaisienne"), + "MZ": ("mozambicain", "mozambicaine"), + "NA": ("namibien", "namibienne"), + "NE": ("nigérien", "nigérienne"), + "NG": ("nigérian", "nigériane"), + "NI": ("nicaraguayen", "nicaraguayenne"), + "NL": ("néerlandais", "néerlandaise"), + "NO": ("norvégien", "norvégienne"), + "NP": ("népalais", "népalaise"), + "NR": ("nauruan", "nauruane"), + "NU": ("niuéan", "niuéane"), + "NZ": ("néo-zélandais", "néo-zélandaise"), + "OM": ("omanais", "omanaise"), + "PA": ("panaméen", "panaméenne"), + "PE": ("péruvien", "péruvienne"), + "PG": ("papouasien", "papouasienne"), + "PH": ("philippin", "philippine"), + "PK": ("pakistanais", "pakistanaise"), + "PL": ("polonais", "polonaise"), + "PR": ("portoricain", "portoricaine"), + "PS": ("palestinien", "palestinienne"), + "PT": ("portugais", "portugaise"), + "PW": ("palaois", "palaoise"), + "PY": ("paraguayen", "paraguayenne"), + "QA": ("qatarien", "qatarienne"), + "RO": ("roumain", "roumaine"), + "RS": ("serbe", "serbe"), + "RU": ("russe", "russe"), + "RW": ("rwandais", "rwandaise"), + "SA": ("saoudien", "saoudienne"), + "SB": ("salomonais", "salomonaise"), + "SC": ("seychellois", "seychelloise"), + "SD": ("soudanais", "soudanaise"), + "SE": ("suédois", "suédoise"), + "SG": ("singapourien", "singapourienne"), + "SI": ("slovène", "slovène"), + "SK": ("slovaque", "slovaque"), + "SL": ("sierraléonais", "sierraléonaise"), + "SM": ("saint-marinais", "saint-marinaise"), + "SN": ("sénégalais", "sénégalaise"), + "SO": ("somalien", "somalienne"), + "SR": ("surinamais", "surinamaise"), + "SS": ("sud-soudanais", "sud-soudanaise"), + "ST": ("santoméen", "santoméenne"), + "SU": ("soviétique", "soviétique"), + "SV": ("salvadorien", "salvadorienne"), + "SY": ("syrien", "syrienne"), + "SZ": ("swazi", "swazie"), + "TC": ("émirats arabes unis", "émirats arabes unis"), + "TD": ("tchadien", "tchadienne"), + "TG": ("togolais", "togolaise"), + "TH": ("thaïlandais", "thaïlandaise"), + "TJ": ("tadjik", "tadjike"), + "TK": ("tokélaouen", "tokélaouenne"), + "TL": ("timorais", "timoraise"), + "TM": ("turkmène", "turkmène"), + "TN": ("tunisien", "tunisienne"), + "TO": ("tongan", "tongane"), + "TP": ("est-timorais", "est-timoraise"), + "TR": ("turc", "turque"), + "TT": ("trinidadien", "trinidadienne"), + "TV": ("tuvaluan", "tuvaluane"), + "TW": ("taïwanais", "taïwanaise"), + "TZ": ("tanzanien", "tanzanienne"), + "UA": ("ukrainien", "ukrainienne"), + "UG": ("ougandais", "ougandaise"), + "UK": ("britannique", "britannique"), + "US": ("américain", "américaine"), + "UY": ("uruguayen", "uruguayenne"), + "UZ": ("ouzbek", "ouzbèke"), + "VC": ("vincentais", "vincentaise"), + "VE": ("vénézuélien", "vénézuélienne"), + "VG": ("insulaires des îles vierges britanniques", "insulaires des îles vierges britanniques"), + "VI": ("insulaires des îles vierges", "insulaires des îles vierges"), + "VN": ("vietnamien", "vietnamienne"), + "VU": ("vanuatuan", "vanuatuane"), + "WS": ("samoan", "samoane"), + "XK": ("kosovar", "kosovare"), + "YE": ("yéménite", "yéménite"), + "YU": ("serbe", "serbe"), + "ZA": ("sud-africain", "sud-africaine"), + "ZM": ("zambien", "zambienne"), + "ZW": ("zimbabwéen", "zimbabwéenne"), } countries = { - 'andorre': 'AD', - 'emirats arabes unis': 'AE', - 'afghanistan': 'AF', - 'antigua et barbuda': 'AG', - 'anguilla': 'AI', - 'albanie': 'AL', - 'curacao': 'AN', - 'angola': 'AO', - 'argentine': 'AR', - 'samoa americaines': 'AS', - 'autriche': 'AT', - 'australie': 'AU', - 'aruba': 'AW', - 'azerbaidjan': 'AZ', - 'bosnie-herzegovine': 'BA', - 'barbade': 'BB', - 'bangladesh': 'BD', - 'belgique': 'BE', - 'burkina faso': 'BF', - 'bulgarie': 'BG', - 'bahrein': 'BH', - 'burundi': 'BI', - 'benin': 'BJ', - 'bermudes': 'BM', - 'brunei': 'BN', - 'bolivie': 'BO', - 'bresil': 'BR', - 'bahamas': 'BS', - 'bhoutan': 'BT', - 'botswana': 'BW', - 'bielorussie': 'BY', - 'belize': 'BZ', - 'canada': 'CA', - 'congo rdc': 'CD', - 'republique centrafricaine': 'CF', - 'congo (brazzaville)': 'CG', - 'suisse': 'CH', - 'cote d\'ivoire': 'CI', - 'iles cook': 'CK', - 'chili': 'CL', - 'cameroun': 'CM', - 'chine': 'CN', - 'colombie': 'CO', - 'costa rica': 'CR', - 'cuba': 'CU', - 'cap vert': 'CV', - 'chypre': 'CY', - 'republique tcheque': 'CZ', - 'tchecoslovaquie': 'CS', - 'allemagne': 'DE', - 'allemagne de l\'ouest': 'DE', - 'allemagne de l\'est': 'DE', - 'djibouti': 'DJ', - 'danemark': 'DK', - 'dominique': 'DM', - 'republique dominicaine': 'DO', - 'algerie': 'DZ', - 'equateur': 'EC', - 'estonie': 'EE', - 'egypte': 'EG', - 'erythree': 'ER', - 'espagne': 'ES', - 'ethiopie': 'ET', - 'finlande': 'FI', - 'fidji': 'FJ', - 'iles malouines': 'FK', - 'micronesie': 'FM', - 'france': 'FR', - 'gabon': 'GA', - 'grande-bretagne': 'GB', # modified based on allocine value, originally 'Royaume-Uni' - 'grenade': 'GD', - 'georgie': 'GE', - 'ghana': 'GH', - 'gibraltar': 'GI', - 'gambie': 'GM', - 'guinee': 'GN', - 'guinee equatoriale': 'GQ', - 'grece': 'GR', - 'guatemala': 'GT', - 'guam': 'GU', - 'guinee-bissau': 'GW', - 'guyana': 'GY', - 'hong kong': 'HK', - 'hong-kong': 'HK', - 'honduras': 'HN', - 'croatie': 'HR', - 'haiti': 'HT', - 'hongrie': 'HU', - 'indonesie': 'ID', - 'irlande': 'IE', - 'israel': 'IL', - 'inde': 'IN', - 'irak': 'IQ', - 'islande': 'IS', - 'italie': 'IT', - 'jamaique': 'JM', - 'jordanie': 'JO', - 'japon': 'JP', - 'kenya': 'KE', - 'kyrghyzstan': 'KG', - 'cambodge': 'KH', - 'kiribati': 'KI', - 'comores': 'KM', - 'saint-christophe-et-nieves': 'KN', - 'coree du sud': 'KR', # modified based on allocine value, originally 'Coree, Republique de' - 'koweit': 'KW', - 'iles caimans': 'KY', - 'kazakhstan': 'KZ', - 'laos': 'LA', - 'liban': 'LB', - 'sainte-lucie': 'LC', - 'liechtenstein': 'LI', - 'sri lanka': 'LK', - 'liberia': 'LR', - 'lesotho': 'LS', - 'lituanie': 'LT', - 'luxembourg': 'LU', - 'lettonie': 'LV', - 'libye': 'LY', - 'maroc': 'MA', - 'monaco': 'MC', - 'moldavie': 'MD', - 'montenegro': 'ME', - 'madagascar': 'MG', - 'iles marshall': 'MH', - 'macedoine': 'MK', - 'mali': 'ML', - 'birmanie': 'MM', - 'mongolie': 'MN', - 'macao': 'MO', - 'iles mariannes du nord': 'MP', - 'mauritanie': 'MR', - 'montserrat': 'MS', - 'malte': 'MT', - 'maurice': 'MU', - 'maldives': 'MV', - 'malawi': 'MW', - 'mexique': 'MX', - 'malaisie': 'MY', - 'mozambique': 'MZ', - 'namibie': 'NA', - 'niger': 'NE', - 'nigeria': 'NG', - 'nicaragua': 'NI', - 'pays-bas': 'NL', - 'norvege': 'NO', - 'nepal': 'NP', - 'nauru': 'NR', - 'nioue': 'NU', - 'nouvelle-zelande': 'NZ', - 'oman': 'OM', - 'panama': 'PA', - 'perou': 'PE', - 'papouasie-nouvelle-guinee': 'PG', - 'philippines': 'PH', - 'pakistan': 'PK', - 'pologne': 'PL', - 'porto rico': 'PR', - 'autorite palestinienne': 'PS', - 'portugal': 'PT', - 'palaos': 'PW', - 'paraguay': 'PY', - 'qatar': 'QA', - 'roumanie': 'RO', - 'russie': 'RU', - 'rwanda': 'RW', - 'arabie saoudite': 'SA', - 'iles salomon': 'SB', - 'soudan': 'SD', - 'suede': 'SE', - 'singapour': 'SG', - 'slovenie': 'SI', - 'slovaquie': 'SK', - 'sierra leone': 'SL', - 'senegal': 'SN', - 'somalie': 'SO', - 'suriname': 'SR', - 'sao tome-et-principe': 'ST', - 'el salvador': 'SV', - 'saint-martin': 'SX', - 'syrie': 'SY', - 'iles turques-et-caiques': 'TC', - 'tchad': 'TD', - 'togo': 'TG', - 'thailande': 'TH', - 'tadjikistan': 'TJ', - 'turkmenistan': 'TM', - 'tunisie': 'TN', - 'tonga': 'TO', - 'timor oriental': 'TP', - 'turquie': 'TR', - 'trinite-et-tobago': 'TT', - 'tuvalu': 'TV', - 'taiwan': 'TW', - 'tanzanie': 'TZ', - 'ukraine': 'UA', - 'ouganda': 'UG', - 'u.r.s.s.': 'SU', - 'u.s.a.': 'US', # modified based on allocine value, originally 'etats-unis' - 'uruguay': 'UY', - 'ouzbekistan': 'UZ', - 'saint-vincent-et-les grenadines': 'VC', - 'venezuela': 'VE', - 'iles vierges (britanniques)': 'VG', - 'iles vierges': 'VI', - 'vietnam': 'VN', - 'vanuatu': 'VU', - 'samoa occidentales': 'WS', - 'kosovo': 'XK', - 'yemen': 'YE', - 'serbie': 'YU', - 'afrique du sud': 'ZA', - 'zambie': 'ZM', - 'zimbabwe': 'ZW', + "andorre": "AD", + "emirats arabes unis": "AE", + "afghanistan": "AF", + "antigua et barbuda": "AG", + "anguilla": "AI", + "albanie": "AL", + "curacao": "AN", + "angola": "AO", + "argentine": "AR", + "samoa americaines": "AS", + "autriche": "AT", + "australie": "AU", + "aruba": "AW", + "azerbaidjan": "AZ", + "bosnie-herzegovine": "BA", + "barbade": "BB", + "bangladesh": "BD", + "belgique": "BE", + "burkina faso": "BF", + "bulgarie": "BG", + "bahrein": "BH", + "burundi": "BI", + "benin": "BJ", + "bermudes": "BM", + "brunei": "BN", + "bolivie": "BO", + "bresil": "BR", + "bahamas": "BS", + "bhoutan": "BT", + "botswana": "BW", + "bielorussie": "BY", + "belize": "BZ", + "canada": "CA", + "congo rdc": "CD", + "republique centrafricaine": "CF", + "congo (brazzaville)": "CG", + "suisse": "CH", + "cote d'ivoire": "CI", + "iles cook": "CK", + "chili": "CL", + "cameroun": "CM", + "chine": "CN", + "colombie": "CO", + "costa rica": "CR", + "cuba": "CU", + "cap vert": "CV", + "chypre": "CY", + "republique tcheque": "CZ", + "tchecoslovaquie": "CS", + "allemagne": "DE", + "allemagne de l'ouest": "DE", + "allemagne de l'est": "DE", + "djibouti": "DJ", + "danemark": "DK", + "dominique": "DM", + "republique dominicaine": "DO", + "algerie": "DZ", + "equateur": "EC", + "estonie": "EE", + "egypte": "EG", + "erythree": "ER", + "espagne": "ES", + "ethiopie": "ET", + "finlande": "FI", + "fidji": "FJ", + "iles malouines": "FK", + "micronesie": "FM", + "france": "FR", + "gabon": "GA", + "grande-bretagne": "GB", # modified based on allocine value, originally 'Royaume-Uni' + "grenade": "GD", + "georgie": "GE", + "ghana": "GH", + "gibraltar": "GI", + "gambie": "GM", + "guinee": "GN", + "guinee equatoriale": "GQ", + "grece": "GR", + "guatemala": "GT", + "guam": "GU", + "guinee-bissau": "GW", + "guyana": "GY", + "hong kong": "HK", + "hong-kong": "HK", + "honduras": "HN", + "croatie": "HR", + "haiti": "HT", + "hongrie": "HU", + "indonesie": "ID", + "irlande": "IE", + "israel": "IL", + "inde": "IN", + "irak": "IQ", + "islande": "IS", + "italie": "IT", + "jamaique": "JM", + "jordanie": "JO", + "japon": "JP", + "kenya": "KE", + "kyrghyzstan": "KG", + "cambodge": "KH", + "kiribati": "KI", + "comores": "KM", + "saint-christophe-et-nieves": "KN", + "coree du sud": "KR", # modified based on allocine value, originally 'Coree, Republique de' + "koweit": "KW", + "iles caimans": "KY", + "kazakhstan": "KZ", + "laos": "LA", + "liban": "LB", + "sainte-lucie": "LC", + "liechtenstein": "LI", + "sri lanka": "LK", + "liberia": "LR", + "lesotho": "LS", + "lituanie": "LT", + "luxembourg": "LU", + "lettonie": "LV", + "libye": "LY", + "maroc": "MA", + "monaco": "MC", + "moldavie": "MD", + "montenegro": "ME", + "madagascar": "MG", + "iles marshall": "MH", + "macedoine": "MK", + "mali": "ML", + "birmanie": "MM", + "mongolie": "MN", + "macao": "MO", + "iles mariannes du nord": "MP", + "mauritanie": "MR", + "montserrat": "MS", + "malte": "MT", + "maurice": "MU", + "maldives": "MV", + "malawi": "MW", + "mexique": "MX", + "malaisie": "MY", + "mozambique": "MZ", + "namibie": "NA", + "niger": "NE", + "nigeria": "NG", + "nicaragua": "NI", + "pays-bas": "NL", + "norvege": "NO", + "nepal": "NP", + "nauru": "NR", + "nioue": "NU", + "nouvelle-zelande": "NZ", + "oman": "OM", + "panama": "PA", + "perou": "PE", + "papouasie-nouvelle-guinee": "PG", + "philippines": "PH", + "pakistan": "PK", + "pologne": "PL", + "porto rico": "PR", + "autorite palestinienne": "PS", + "portugal": "PT", + "palaos": "PW", + "paraguay": "PY", + "qatar": "QA", + "roumanie": "RO", + "russie": "RU", + "rwanda": "RW", + "arabie saoudite": "SA", + "iles salomon": "SB", + "soudan": "SD", + "suede": "SE", + "singapour": "SG", + "slovenie": "SI", + "slovaquie": "SK", + "sierra leone": "SL", + "senegal": "SN", + "somalie": "SO", + "suriname": "SR", + "sao tome-et-principe": "ST", + "el salvador": "SV", + "saint-martin": "SX", + "syrie": "SY", + "iles turques-et-caiques": "TC", + "tchad": "TD", + "togo": "TG", + "thailande": "TH", + "tadjikistan": "TJ", + "turkmenistan": "TM", + "tunisie": "TN", + "tonga": "TO", + "timor oriental": "TP", + "turquie": "TR", + "trinite-et-tobago": "TT", + "tuvalu": "TV", + "taiwan": "TW", + "tanzanie": "TZ", + "ukraine": "UA", + "ouganda": "UG", + "u.r.s.s.": "SU", + "u.s.a.": "US", # modified based on allocine value, originally 'etats-unis' + "uruguay": "UY", + "ouzbekistan": "UZ", + "saint-vincent-et-les grenadines": "VC", + "venezuela": "VE", + "iles vierges (britanniques)": "VG", + "iles vierges": "VI", + "vietnam": "VN", + "vanuatu": "VU", + "samoa occidentales": "WS", + "kosovo": "XK", + "yemen": "YE", + "serbie": "YU", + "afrique du sud": "ZA", + "zambie": "ZM", + "zimbabwe": "ZW", } diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..6fc1375 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,62 @@ +[build-system] +requires = ["setuptools>=61"] +build-backend = "setuptools.build_meta" + +[project] +name = "allocine" +version = "0.0.12" +description = "Non official Python wrapper for allocine.fr" +readme = "README.md" +requires-python = ">=3.10" +license = { text = "MIT" } +authors = [ + { name = "Thibault Ducret", email = "hello@tducret.com" }, +] +keywords = [ + "allocine", + "api", + "parser", + "parsing", + "python-wrapper", + "scraper", + "scraping", +] +classifiers = [ + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", +] +dependencies = [ + "backoff>=2.2.1", + "click>=8.5.0", + "httpx2>=2.13.1", + "jmespath>=1.1.0", + "ptableunicode>=0.9.3", +] + +[project.optional-dependencies] +dev = [ + "pre-commit>=4.6.2", + "pytest>=9.1.1", + "pytest-cov>=7.1.0", + "ruff>=0.16.9", + "ty>=0.0.84", +] + +[project.urls] +Homepage = "https://github.com/tducret/allocine-python" +Download = "https://github.com/tducret/allocine-python/tarball/0.0.12" + +[tool.setuptools] +script-files = ["seances.py"] + +[tool.setuptools.packages.find] +include = ["allocine*"] + +[tool.ruff] +line-length = 120 +target-version = "py310" + +[tool.ruff.lint] +select = ["E4", "E7", "E9", "F", "I"] + +[tool.ty] diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index b5a0058..0000000 --- a/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -backoff==1.10.0 -Click==7.0 -jmespath==0.9.5 -PTableUnicode==0.9.3 -requests==2.21.0 \ No newline at end of file diff --git a/seances.py b/seances.py index cfc99ca..6870d2a 100644 --- a/seances.py +++ b/seances.py @@ -2,16 +2,19 @@ # -*- coding: utf-8 -*- """CLI tool for allocine""" + +from datetime import date, datetime, timedelta + import click +from prettytable import ALL, FRAME, UNICODE, PrettyTable + from allocine import Allocine -from prettytable import PrettyTable, UNICODE, FRAME, ALL -from datetime import date, timedelta, datetime # Usage : seances.py --help def extract_field_names(dict_list): - """ Returns a sorted list of field names from a dictionary list + """Returns a sorted list of field names from a dictionary list > extract_field_names([{'a': 1, 'b': 2}, {'a': 3, 'c': 4}]) ['a', 'b', 'c'] """ @@ -23,26 +26,25 @@ def extract_field_names(dict_list): @click.command() -@click.argument( - 'id_cinema', - type=str, - required=True -) +@click.argument("id_cinema", type=str, required=True) @click.option( - '--jour', '-j', + "--jour", + "-j", type=str, help="jour des séances souhaitées \ (au format DD/MM/YYYY ou +1 pour demain), par défaut : aujourd’hui", ) @click.option( - '--semaine', '-s', + "--semaine", + "-s", is_flag=True, - help='affiche les séance pour les 7 prochains jours', + help="affiche les séance pour les 7 prochains jours", ) @click.option( - '--entrelignes', '-e', + "--entrelignes", + "-e", is_flag=True, - help='ajoute une ligne entre chaque film pour améliorer la lisibilité', + help="ajoute une ligne entre chaque film pour améliorer la lisibilité", ) def main(id_cinema, entrelignes, jour=None, semaine=None): """ @@ -58,7 +60,7 @@ def main(id_cinema, entrelignes, jour=None, semaine=None): if semaine is False: if jour is None: jours.append(today.strftime("%d/%m/%Y")) - elif jour[0] == '+': + elif jour[0] == "+": delta_jours = int(jour[1:]) jour_obj = today + timedelta(days=delta_jours) jours.append(jour_obj.strftime("%d/%m/%Y")) @@ -71,41 +73,32 @@ def main(id_cinema, entrelignes, jour=None, semaine=None): theater = allocine.get_theater(theater_id=id_cinema) - print('{}, le '.format(theater.name), end='') + print("{}, le ".format(theater.name), end="") for jour in jours: - print(get_showtime_table( - theater=theater, - entrelignes=entrelignes, - jour=jour) - ) + print(get_showtime_table(theater=theater, entrelignes=entrelignes, jour=jour)) print() def get_showtime_table(theater, entrelignes, jour): showtime_table = [] - date_obj = datetime.strptime(jour, '%d/%m/%Y').date() + date_obj = datetime.strptime(jour, "%d/%m/%Y").date() movies_available_today = theater.get_movies_available_for_a_day(date=date_obj) for movie_version in movies_available_today: - title = movie_version.title if len(title) >= 31: # On tronque les titres trop longs - title = title[:31] + '...' + title = title[:31] + "..." # '*1_film' pour être sûr que cela soit la 1ère colonne - movie_row = {'*1_film': "{} ({}) - {}".format( - title, - movie_version.version, - movie_version.duration_str)} + movie_row = {"*1_film": "{} ({}) - {}".format(title, movie_version.version, movie_version.duration_str)} - movie_row['*2_note'] = "{}*".format(movie_version.rating_str) + movie_row["*2_note"] = "{}*".format(movie_version.rating_str) - showtimes = theater.get_showtimes_of_a_movie( - movie_version=movie_version, date=date_obj) + showtimes = theater.get_showtimes_of_a_movie(movie_version=movie_version, date=date_obj) for showtime in showtimes: - hour = showtime.hour_str.split(':')[0] # 11:15 => 11 + hour = showtime.hour_str.split(":")[0] # 11:15 => 11 movie_row[hour] = showtime.hour_str showtime_table.append(movie_row) diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index bb896e7..0000000 --- a/setup.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[metadata] -description-file = README.md - -[aliases] -# Define setup.py command aliases here -test = pytest \ No newline at end of file diff --git a/setup.py b/setup.py deleted file mode 100644 index 5348084..0000000 --- a/setup.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -"""The setup script.""" - -from pathlib import Path -from setuptools import setup, find_packages - -HERE = Path(__file__).parent -reqs_path = HERE / 'requirements.txt' -with open(reqs_path) as reqs_file: - requirements = reqs_file.read().splitlines() - -__version__ = '0.0.12' # Should match with __init.py__ -_GITHUB_URL = 'https://github.com/tducret/allocine-python' -_KEYWORDS = ['api', 'allocine', 'parsing', - 'python-wrapper', 'scraping', 'scraper', 'parser'] -_SCRIPTS = ['seances.py'] - -setup( - name='allocine', - packages=find_packages(), - package_data={}, - scripts=_SCRIPTS, - version=__version__, - license="MIT license", - platforms='Posix; MacOS X', - description="Non official Python wrapper for allocine.fr", - long_description="Non official Python wrapper for allocine.fr", - author="Thibault Ducret", - author_email='hello@tducret.com', - url=_GITHUB_URL, - download_url='{github_url}/tarball/{version}'.format( - github_url=_GITHUB_URL, - version=__version__), - keywords=_KEYWORDS, - setup_requires=requirements, - install_requires=requirements, - classifiers=[ - 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python :: 3', - ], - python_requires='>=3.7', - tests_require=['pytest'], -) - -# ------------------------------------------ -# To upload a new version on pypi -# ------------------------------------------ -# Make sure everything was pushed (with a git status) -# (or git commit --am "Comment" and git push) -# export VERSION=0.0.12; git tag $VERSION -m "Normalisation des nationalités + fallback et warning si introuvable"; git push --tags - -# If you need to delete a tag -# git push --delete origin $VERSION; git tag -d $VERSION diff --git a/tests/test_allocine.py b/tests/test_allocine.py index 98bc321..a8875e6 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -6,12 +6,14 @@ # To be tested with : python3 -m pytest -vs tests/test_allocine.py import pytest + from allocine import Allocine +@pytest.mark.skip(reason="Allocine API client logic needs to be fixed") def test_class_Theater(): allocine = Allocine() - theater = allocine.get_theater(theater_id='P0645') + theater = allocine.get_theater(theater_id="P0645") assert len(theater.showtimes) > 0 date = theater.showtimes[0].date @@ -19,6 +21,7 @@ def test_class_Theater(): assert len(movies) > 0 +@pytest.mark.skip(reason="Allocine API client logic needs to be fixed") def test_class_Allocine_errors(): allocine = Allocine() with pytest.raises(ValueError): diff --git a/tests/test_programoscope.py b/tests/test_programoscope.py index d1cdab7..529ae66 100644 --- a/tests/test_programoscope.py +++ b/tests/test_programoscope.py @@ -5,14 +5,15 @@ # To be tested with : python3 -m pytest -vs tests/test_programoscope.py -from datetime import datetime, date +from datetime import date, datetime import pytest + from allocine import ( + Schedule, build_weekly_schedule_str, check_schedules_within_week, create_weekdays_str, - Schedule, ) @@ -23,7 +24,7 @@ def test_check_schedules_within_typical_week(): ), Schedule( date_time=datetime(year=2020, month=3, day=10, hour=14, minute=0), - ) + ), ] assert check_schedules_within_week(schedules) @@ -35,7 +36,7 @@ def test_check_schedules_within_too_long_week(): ), Schedule( # one day after typical week date_time=datetime(year=2020, month=3, day=11, hour=14, minute=0), - ) + ), ] with pytest.raises(ValueError): check_schedules_within_week(schedules) @@ -48,7 +49,7 @@ def test_check_schedules_not_typical_week(): ), Schedule( # Monday the week after date_time=datetime(year=2020, month=3, day=9, hour=14, minute=0), - ) + ), ] with pytest.raises(ValueError): check_schedules_within_week(schedules) @@ -70,7 +71,7 @@ def test_check_schedules_not_typical_week2(): ), Schedule( # Wednesday date_time=datetime(year=2020, month=3, day=4, hour=14, minute=0), - ) + ), ] with pytest.raises(ValueError): check_schedules_within_week(schedules) @@ -83,7 +84,7 @@ def test_check_schedules_not_typical_week3(): ), Schedule( # Wednesday date_time=datetime(year=2020, month=3, day=4, hour=14, minute=0), - ) + ), ] with pytest.raises(ValueError): check_schedules_within_week(schedules) @@ -94,7 +95,7 @@ def test_one_day(): Schedule(date_time=datetime(year=2020, month=3, day=4, hour=14, minute=0)), ] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == 'Mer 14h' + assert schedule_str == "Mer 14h" def test_two_days_with_same_hour(): @@ -103,7 +104,7 @@ def test_two_days_with_same_hour(): Schedule(date_time=datetime(year=2020, month=3, day=5, hour=14, minute=0)), ] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == 'Mer, Jeu 14h' + assert schedule_str == "Mer, Jeu 14h" def test_two_days_with_same_hour_unsorted(): @@ -112,7 +113,7 @@ def test_two_days_with_same_hour_unsorted(): Schedule(date_time=datetime(year=2020, month=3, day=4, hour=14, minute=0)), ] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == 'Mer, Jeu 14h' + assert schedule_str == "Mer, Jeu 14h" def test_one_day_with_two_showtimes(): @@ -121,7 +122,7 @@ def test_one_day_with_two_showtimes(): Schedule(date_time=datetime(year=2020, month=3, day=4, hour=14, minute=0)), ] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == 'Mer 10h15, 14h' + assert schedule_str == "Mer 10h15, 14h" def test_one_day_with_two_showtimes_unsorted(): @@ -130,99 +131,87 @@ def test_one_day_with_two_showtimes_unsorted(): Schedule(date_time=datetime(year=2020, month=3, day=4, hour=10, minute=15)), ] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == 'Mer 10h15, 14h' + assert schedule_str == "Mer 10h15, 14h" def test_same_day_two_showtimes(): schedules = [] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=14, minute=0)) - for day in range(5, 11)] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=16, minute=0)) - for day in range(5, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=14, minute=0)) for day in range(5, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=16, minute=0)) for day in range(5, 11)] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == 'sf Mer 14h, 16h' + assert schedule_str == "sf Mer 14h, 16h" def test_real_case_1(): schedules = [] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=14, minute=10)) - for day in range(4, 11)] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=17, minute=0)) - for day in range(4, 11)] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=20, minute=30)) - for day in (4, 5, 8, 9, 10)] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=21, minute=0)) - for day in (6, 7)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=14, minute=10)) for day in range(4, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=17, minute=0)) for day in range(4, 11)] + schedules += [ + Schedule(date_time=datetime(year=2020, month=3, day=day, hour=20, minute=30)) for day in (4, 5, 8, 9, 10) + ] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=21, minute=0)) for day in (6, 7)] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == '14h10, 17h, 20h30 (sf Ven, Sam), 21h (Ven, Sam)' + assert schedule_str == "14h10, 17h, 20h30 (sf Ven, Sam), 21h (Ven, Sam)" def test_real_case_2(): schedules = [] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=13, minute=50)) - for day in range(4, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=13, minute=50)) for day in range(4, 11)] schedules += [Schedule(date_time=datetime(year=2020, month=3, day=8, hour=10, minute=40))] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == '10h40 (Dim), 13h50' + assert schedule_str == "10h40 (Dim), 13h50" def test_real_case_3(): schedules = [] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=18, minute=15)) - for day in (4, 7)] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=21, minute=0)) - for day in (6, 9, 10)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=18, minute=15)) for day in (4, 7)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=21, minute=0)) for day in (6, 9, 10)] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == 'Mer, Sam 18h15; Ven, Lun, Mar 21h' + assert schedule_str == "Mer, Sam 18h15; Ven, Lun, Mar 21h" def test_real_case_4(): schedules = [] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=11, minute=15)) - for day in range(4, 11)] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=20, minute=0)) - for day in range(4, 10)] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=22, minute=0)) - for day in range(4, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=11, minute=15)) for day in range(4, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=20, minute=0)) for day in range(4, 10)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=22, minute=0)) for day in range(4, 11)] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == '11h15, 20h (sf Mar), 22h' + assert schedule_str == "11h15, 20h (sf Mar), 22h" def test_real_case_5(): schedules = [] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=22, minute=00)) - for day in range(4, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=22, minute=00)) for day in range(4, 11)] schedules += [Schedule(date_time=datetime(year=2020, month=3, day=7, hour=0, minute=30))] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == '22h, 0h30 (Sam)' + assert schedule_str == "22h, 0h30 (Sam)" def test_real_case_6(): schedules = [] - schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=9, minute=30)) - for day in range(4, 11)] + schedules += [Schedule(date_time=datetime(year=2020, month=3, day=day, hour=9, minute=30)) for day in range(4, 11)] schedule_str = build_weekly_schedule_str(schedules) - assert schedule_str == '9h30' + assert schedule_str == "9h30" def test_create_weekdays_str(): dates = [date(year=2020, month=3, day=4)] - assert create_weekdays_str(dates) == 'Mer' + assert create_weekdays_str(dates) == "Mer" dates.append(date(year=2020, month=3, day=5)) - assert create_weekdays_str(dates) == 'Mer, Jeu' + assert create_weekdays_str(dates) == "Mer, Jeu" dates.append(date(year=2020, month=3, day=7)) - assert create_weekdays_str(dates) == 'Mer, Jeu, Sam' + assert create_weekdays_str(dates) == "Mer, Jeu, Sam" dates.append(date(year=2020, month=3, day=9)) - assert create_weekdays_str(dates) == 'Mer, Jeu, Sam, Lun' + assert create_weekdays_str(dates) == "Mer, Jeu, Sam, Lun" dates.append(date(year=2020, month=3, day=10)) - assert create_weekdays_str(dates) == 'sf Ven, Dim' + assert create_weekdays_str(dates) == "sf Ven, Dim" dates.append(date(year=2020, month=3, day=6)) - assert create_weekdays_str(dates) == 'sf Dim' + assert create_weekdays_str(dates) == "sf Dim" dates.append(date(year=2020, month=3, day=8)) - assert create_weekdays_str(dates) == '' + assert create_weekdays_str(dates) == "" From 29970d322ee920a1919bcb3f4c98adccd8ccdb3b Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 13:51:36 +0200 Subject: [PATCH 03/26] Remove Docker support --- .dockerignore | 107 -------------------------------------------------- Dockerfile | 24 ----------- README.md | 46 ---------------------- seances | 45 --------------------- 4 files changed, 222 deletions(-) delete mode 100644 .dockerignore delete mode 100644 Dockerfile delete mode 100644 seances diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index b5c32bb..0000000 --- a/.dockerignore +++ /dev/null @@ -1,107 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ - -# VSCode -.vscode/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index b975d33..0000000 --- a/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM python:3.11-slim-bookworm AS build-env - -# You can build the docker image with the command : -# docker build --no-cache -t seances . - -# You can create a container with : -# docker run -it --rm seances [ID_CINEMA] - -WORKDIR /src -COPY pyproject.toml README.md LICENSE MANIFEST.in seances.py ./ -COPY allocine ./allocine - -RUN pip install -U --no-cache-dir --target /app . \ -&& find /app | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf - -FROM gcr.io/distroless/python3-debian12 - -COPY --from=build-env /app /app - -ENV PYTHONPATH=/app -ENV LC_ALL=C.UTF-8 -ENV LANG=C.UTF-8 - -ENTRYPOINT ["python", "/app/bin/seances.py"] diff --git a/README.md b/README.md index a79fa18..02a57ca 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # Allociné [![PyPI](https://img.shields.io/pypi/v/allocine.svg)](https://pypi.org/project/allocine/) -[![Docker Image size](https://img.shields.io/microbadger/image-size/thibdct/seances.svg)](https://hub.docker.com/r/thibdct/seances/) ![License](https://img.shields.io/github/license/tducret/allocine-python.svg) ![Cinéma](cinema.jpg) @@ -21,8 +20,6 @@ python -m pip install -U allocine ``` -> You can also use it with Docker. Have a look at [this section](#docker) - ## CLI tool usage You just need to look for your theater identifier on [allocine.fr](allocine.fr). @@ -153,46 +150,3 @@ Run all pre-commit hooks manually with: VS Code users should accept the workspace extension recommendations to enable live Ruff and ty diagnostics and Ruff formatting on save. - -# Docker - -You can use the `seances` tool with the [Docker image](https://hub.docker.com/r/thibdct/seances/) - -You may execute : - -`docker run -it --rm thibdct/seances P2235` - -> The Docker image is built on top of [Google Distroless image](https://github.com/GoogleContainerTools/distroless), so it is tiny :) - -## 🤘 The easy way 🤘 - -I also built a bash wrapper to execute the Docker container easily. - -Install it with : - -```bash -curl -s https://raw.githubusercontent.com/tducret/allocine-python/master/seances \ -> /usr/local/bin/seances && chmod +x /usr/local/bin/seances -``` -*You may replace `/usr/local/bin` with another folder that is in your $PATH* - -Check that it works : - -*On the first execution, the script will download the Docker image, so please be patient* - -```bash -seances --help -seances P2235 -j+1 --entrelignes -``` - -You can upgrade the app with : - -```bash -seances --upgrade -``` - -and even uninstall with : - -```bash -seances --uninstall -``` diff --git a/seances b/seances deleted file mode 100644 index a443b7c..0000000 --- a/seances +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -# A wrapper script for invoking a docker container -# Based on https://spin.atomicobject.com/2015/11/30/command-line-tools-docker/ - -DOCKER_IMAGE="thibdct/seances" - -error(){ - error_code=$1 - echo "ERROR: $2" >&2 - exit $1 -} -check_cmd_in_path(){ - cmd=$1 - which $cmd > /dev/null 2>&1 || error 1 "$cmd not found!" -} -upgrade(){ - docker pull $DOCKER_IMAGE - exit 1 -} -uninstall(){ - read -p "Are you sure to uninstall (y/n)? " -n 1 -r - echo - if [[ $REPLY =~ ^[Yy]$ ]] - then - docker rmi $DOCKER_IMAGE - rm $0 - fi - exit 1 -} - -# Checks for dependencies -check_cmd_in_path docker - -case $1 in - --uninstall) - uninstall - ;; - --upgrade) - upgrade - ;; -esac - -# Run our containerized command -exec docker run -it --rm $DOCKER_IMAGE "$@" \ No newline at end of file From 68863515172d482c42094b614dd5a9d6b0eecfcd Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 13:53:08 +0200 Subject: [PATCH 04/26] Document uv workflow --- README.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 02a57ca..b2b6b01 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,12 @@ ## Requirements - Python 3.10 and above -- pip +- [uv](https://docs.astral.sh/uv/) ## Installation ```bash -python -m pip install -U allocine +uv tool install --upgrade allocine ``` ## CLI tool usage @@ -120,32 +120,31 @@ Example output : ## Development -Create a virtual environment and install the package with its development dependencies: +Create the virtual environment and install the package with its development dependencies: ```bash -python -m venv .venv -.venv/bin/python -m pip install -e ".[dev]" +uv sync --extra dev ``` Install the pre-commit hooks once, then use `make check` to lint, format, and type-check the entire codebase: ```bash -.venv/bin/pre-commit install +uv run pre-commit install make check ``` Run individual checks without modifying files: ```bash -.venv/bin/ruff check . -.venv/bin/ruff format --check . -.venv/bin/ty check +uv run ruff check . +uv run ruff format --check . +uv run ty check ``` Run all pre-commit hooks manually with: ```bash -.venv/bin/pre-commit run --all-files +uv run pre-commit run --all-files ``` VS Code users should accept the workspace extension recommendations to enable live Ruff and ty diagnostics and Ruff From c228c2c5648292c5f3f16bccabf4429afbb60201 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 13:55:38 +0200 Subject: [PATCH 05/26] Add uv lockfile --- .gitignore | 3 + uv.lock | 653 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 656 insertions(+) create mode 100644 uv.lock diff --git a/.gitignore b/.gitignore index 0c9ac3c..21eceb0 100644 --- a/.gitignore +++ b/.gitignore @@ -103,6 +103,9 @@ venv.bak/ # mypy .mypy_cache/ +# Ruff +.ruff_cache/ + # VS Code workspace configuration .vscode/* !.vscode/extensions.json diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..e74bd7f --- /dev/null +++ b/uv.lock @@ -0,0 +1,653 @@ +version = 1 +revision = 3 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' or sys_platform != 'emscripten'", +] + +[[package]] +name = "allocine" +version = "0.0.12" +source = { editable = "." } +dependencies = [ + { name = "backoff" }, + { name = "click" }, + { name = "httpx2" }, + { name = "jmespath" }, + { name = "ptableunicode" }, +] + +[package.optional-dependencies] +dev = [ + { name = "pre-commit" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "ruff" }, + { name = "ty" }, +] + +[package.metadata] +requires-dist = [ + { name = "backoff", specifier = ">=2.2.1" }, + { name = "click", specifier = ">=8.5.0" }, + { name = "httpx2", specifier = ">=2.13.1" }, + { name = "jmespath", specifier = ">=1.1.0" }, + { name = "pre-commit", marker = "extra == 'dev'", specifier = ">=4.6.2" }, + { name = "ptableunicode", specifier = ">=0.9.3" }, + { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.1.1" }, + { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=7.1.0" }, + { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.16.9" }, + { name = "ty", marker = "extra == 'dev'", specifier = ">=0.0.84" }, +] +provides-extras = ["dev"] + +[[package]] +name = "anyio" +version = "4.15.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "typing-extensions", marker = "python_full_version < '3.15'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28306018cbd6d329e64a36d58256edff76dd996fe423bc957326e578b82a94", size = 276966, upload-time = "2026-09-05T10:42:39.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/b8/4bd346e22b28902df4d651910f5242c28d84e4a5c2435ca5c3f797ed7e2e/anyio-4.15.1-py3-none-any.whl", hash = "sha256:6152fdbbf9a77fdec97731721bebf7c4c44f7c29b424b0065826173efc7ed101", size = 132079, upload-time = "2026-09-05T10:42:37.923Z" }, +] + +[[package]] +name = "backoff" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba", size = 17001, upload-time = "2022-10-05T19:19:32.061Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148, upload-time = "2022-10-05T19:19:30.546Z" }, +] + +[[package]] +name = "cfgv" +version = "3.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132", size = 7334, upload-time = "2025-11-19T20:55:51.612Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl", hash = "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0", size = 7445, upload-time = "2025-11-19T20:55:50.744Z" }, +] + +[[package]] +name = "click" +version = "8.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/0e/7fa0ef50764b67090eca4114772a2abf8b6148198475e54c660b97caeee6/click-8.5.0.tar.gz", hash = "sha256:ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34", size = 382235, upload-time = "2026-08-26T13:33:14.56Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl", hash = "sha256:255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360", size = 125251, upload-time = "2026-08-26T13:33:12.928Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.16.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/65/2d/c738872f477f5687152acae68635790387425d407ae37dd3d3a8a6692307/coverage-7.16.1.tar.gz", hash = "sha256:f83981779bcf9dfa06fa0a8d4cb43e0faec1706328ce07aa3e7b665b4ac0f210", size = 969651, upload-time = "2026-09-13T19:12:21.422Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/62/a8b4dd53308a4b1571e6bdd77ee562c9b1c1742db9886c0aef2f69463067/coverage-7.16.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f12a9e27ca7b65e40a8475d27899b2d45064d9020e6a89148939e01987b5853", size = 223178, upload-time = "2026-09-13T19:08:21.805Z" }, + { url = "https://files.pythonhosted.org/packages/5e/7a/b9325b8d486a5c05fd4a9eb1cd9c9f697c361ddeda0e73567d5c2d8959f6/coverage-7.16.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f590d46c30d9e4c1fda3efefe5443f4c2f6a4192c5ca2ba403653e9ebadf097", size = 223701, upload-time = "2026-09-13T19:08:23.391Z" }, + { url = "https://files.pythonhosted.org/packages/ef/ee/3ab3ac6e9e7165a623695b73a83d1bfbdf5069681a68a012cb5abb096060/coverage-7.16.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3df82f0a3cef4e1bcfc799436056f0b978dda319d0bfd4460c6e479b2802d98a", size = 250434, upload-time = "2026-09-13T19:08:24.948Z" }, + { url = "https://files.pythonhosted.org/packages/b6/a9/31ffc231e9879876f611cf1ac7622cf092d76762c07ca64dce47b29a200b/coverage-7.16.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb462d59146656e278d1e8ed913ce374d0ba68a4e081acde1867f6d3377fc881", size = 252264, upload-time = "2026-09-13T19:08:26.734Z" }, + { url = "https://files.pythonhosted.org/packages/c9/f4/4fb4f6b16de07dbae3d3a111ae28d32ad657ce6ff4d364c49c10962daad5/coverage-7.16.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d7db888dd0a1df1a653cae7f99d4047430d2187a3626eda51bc847b0fd6b9b43", size = 254127, upload-time = "2026-09-13T19:08:28.254Z" }, + { url = "https://files.pythonhosted.org/packages/9b/3d/048e88eb610f44b7542dac10fa45bb2ffad5fbfcdab0f03289a843da934b/coverage-7.16.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:38a7e16f061504ac2b45370bf5bf97e8250d8d3f25e37385bae884978166554b", size = 256043, upload-time = "2026-09-13T19:08:30.019Z" }, + { url = "https://files.pythonhosted.org/packages/97/59/d27b113c80b04c7fc64c69457132648e1d287b83a1de41189a504b50b52b/coverage-7.16.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2b26b55b18e1a53e1a159dd743728c4ddbbef28ba19000a91aaff5ce023197ec", size = 251092, upload-time = "2026-09-13T19:08:31.57Z" }, + { url = "https://files.pythonhosted.org/packages/45/42/b7eafaceff08dc1dcbfc924fa9233031fd00c8b8287cc4a1a0dcdedcb0f9/coverage-7.16.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fdb2f528b50953e29d22033b3256c396a700193c6e45b2490222ef9c333cbbf9", size = 252170, upload-time = "2026-09-13T19:08:33.191Z" }, + { url = "https://files.pythonhosted.org/packages/7c/8f/57dcc5360aa6d8d24370c12fe855f6ebf5fbf2718c154fb9fdec7161de07/coverage-7.16.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3284754371dc78592aa3ae4d661d30ee20e02b2b6b0de3590a181a936d0d3b38", size = 250173, upload-time = "2026-09-13T19:08:34.75Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/379a8c7ac0f3063769dc43fd2475e9fc9b2722cb88eabe71f4d862660c93/coverage-7.16.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:802d1246c540e07486d4ee1adfa19a797e4b33529ffc371dc140644e8f27da0a", size = 253986, upload-time = "2026-09-13T19:08:36.737Z" }, + { url = "https://files.pythonhosted.org/packages/45/25/70218d2a6077730843b75ee2525fa64a750283d71cc4c063dc0b75ba6979/coverage-7.16.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:6fc735d6fe6d57f803e7ba021be4dde48e43e6aff94e6954350555d5332b0594", size = 250444, upload-time = "2026-09-13T19:08:38.434Z" }, + { url = "https://files.pythonhosted.org/packages/58/ac/6c41c441baa6c8a1fed5615e4e1e7d0ca649b33b472ee28591a92d70a1ff/coverage-7.16.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ed5ade1bb18f62edace1bd198c66f9d4c75a8385d5fd24e87d917ea1a5958773", size = 251046, upload-time = "2026-09-13T19:08:40.133Z" }, + { url = "https://files.pythonhosted.org/packages/fa/f9/01166d6f8aa42acd148b4c2c88173d60eefdd0270ea2bcbba79be35bc193/coverage-7.16.1-cp310-cp310-win32.whl", hash = "sha256:0c309096926b119543dc16438a11ef4c80783d2f4e59ff94f7f462651a944cdc", size = 225242, upload-time = "2026-09-13T19:08:41.672Z" }, + { url = "https://files.pythonhosted.org/packages/d2/28/a76060478919becf0fbea2df2053a6e1a7195f11edf8dfd51c58c1636b43/coverage-7.16.1-cp310-cp310-win_amd64.whl", hash = "sha256:7562f8067ed9360e8b9739e5703403a7686dd1b36bf0f89fc538047c54cdea90", size = 225868, upload-time = "2026-09-13T19:08:43.22Z" }, + { url = "https://files.pythonhosted.org/packages/af/3a/d09495dfd5191b5593852bbe2f037afae768157443378d066d9ecea69a49/coverage-7.16.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72e013665e25cf9d44779f01f340af26319756f9a76822b7c94ce6b1d93813da", size = 223307, upload-time = "2026-09-13T19:08:44.914Z" }, + { url = "https://files.pythonhosted.org/packages/a3/34/310196a80258e28ebf6e5aa814a5a6ffbb18c03cf3c0c0c04191ed893e88/coverage-7.16.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cb05c0ff98b56ba6969adf35556bc43bcb8d094df8bc9cb403acff53460c4e07", size = 223817, upload-time = "2026-09-13T19:08:46.738Z" }, + { url = "https://files.pythonhosted.org/packages/73/29/ed0fda1fcd440cdfc07e72a07f3c9c3b43f65a6b3d53bff2cba9b9de50e8/coverage-7.16.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0d0ececb32090e3fbb03e0d352b973a0485879b4de6c58daf47227b9988b99e5", size = 254222, upload-time = "2026-09-13T19:08:48.358Z" }, + { url = "https://files.pythonhosted.org/packages/ac/4e/5e2507fbd71ec1047620978f39568b0d2ed6c4468d08495a0c24f5677f65/coverage-7.16.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f0ba3892d81aacf36996c52f16bca04e39af31a6c5de930b7688ab617f4a6475", size = 256134, upload-time = "2026-09-13T19:08:49.926Z" }, + { url = "https://files.pythonhosted.org/packages/7e/b1/a9f97846554bc240473656f9c3874591105f29c08eccf4282daadc6bc281/coverage-7.16.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6410b75fe07d5271eaa95fc24bd0a9177ed588d9d1c10c0cf67829adb8f0567", size = 258240, upload-time = "2026-09-13T19:08:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/a0/c3/2b1ab208d06719394851cdd7dc322157870a93b178410b1bda6cac7755f9/coverage-7.16.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d1039cb2de093225d597109342ce1675626bd127565e80b3044f4eca07c15b2e", size = 260202, upload-time = "2026-09-13T19:08:53.204Z" }, + { url = "https://files.pythonhosted.org/packages/af/14/ff4db31d6e3126d5b72aab1e868d35ec94e1b71dee46f5c3b54cb1b2438e/coverage-7.16.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cf047bc39fde5425be2628666d0f435ed8817859111c3aacc84b32d858069f5d", size = 254305, upload-time = "2026-09-13T19:08:54.833Z" }, + { url = "https://files.pythonhosted.org/packages/ce/27/c28faa4818f61c49ca3bfb4a77e1c191e79a40447504b89af0bd859cd6fc/coverage-7.16.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2c05913d0d5badf7ac83200f35dcf9514cce5df16a7cc89e7d1d7fff0461813b", size = 255935, upload-time = "2026-09-13T19:08:56.453Z" }, + { url = "https://files.pythonhosted.org/packages/46/5a/42e64e5b716048cae33e2e15f8c6fe04a927467056c533b8e88900da895e/coverage-7.16.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4027bf6d7bc0a16df058ce913b69f10c5687f8e1ca668f08caa659ce101744bf", size = 253995, upload-time = "2026-09-13T19:08:58.159Z" }, + { url = "https://files.pythonhosted.org/packages/84/e5/860287acd5a1e29acd337f302b476b54148203590091b1a1555b2e914b50/coverage-7.16.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4f48b345f831eaf4402ab6333c2dc3e2e2b5bc7b9c1b8fe12680dee3f0538f01", size = 257767, upload-time = "2026-09-13T19:08:59.958Z" }, + { url = "https://files.pythonhosted.org/packages/a5/c5/4b68006da567b4b413352f891776c35776b3557a0479a28187ab57c21659/coverage-7.16.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8643baeb590726c558b2faed6cd59b0917480f9367fcc692026f1a86d824fd08", size = 253715, upload-time = "2026-09-13T19:09:01.778Z" }, + { url = "https://files.pythonhosted.org/packages/a1/0e/b2d0c47cfbf11770e197f1d0f11a92864eb29fd7eaca45bc9915573d9725/coverage-7.16.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d06dcc420b570bf683cdb647cc8fe62b672d9e429ef711c3cbbb7a6880ca1572", size = 254624, upload-time = "2026-09-13T19:09:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/2e/14/3bab8821b2b942155578fc34e88e21b0670d922f039ab23651f6035ba7f7/coverage-7.16.1-cp311-cp311-win32.whl", hash = "sha256:946f58aa59b08bcd6afcc6a7bd0ff54ed5eee844f32ad69fe6814836d15856a2", size = 225404, upload-time = "2026-09-13T19:09:05.174Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ce/4f4ce667a97d1c538b46a79b89161395ad2beffc248b6c782afc9f521927/coverage-7.16.1-cp311-cp311-win_amd64.whl", hash = "sha256:684c7ee9b4c04358fe6ac8b517ab51ec35fcd79d08ff0f105dd8bcd96885bbb7", size = 225879, upload-time = "2026-09-13T19:09:06.81Z" }, + { url = "https://files.pythonhosted.org/packages/26/17/f3dce5e47351ab34522dd037fd64b111742958e24861bdd2820971bc1a26/coverage-7.16.1-cp311-cp311-win_arm64.whl", hash = "sha256:1b24f79e25bcf6c73931aeca7a3dfc7595c0cb5e9364aba3fdf387a3de4b1c22", size = 225428, upload-time = "2026-09-13T19:09:08.502Z" }, + { url = "https://files.pythonhosted.org/packages/1a/f7/7cd4c9f2a3b7574414222ec425d5eee21cc690d867a013315e3be8ba185c/coverage-7.16.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b7f2c26ce6ce0b1e0ca0d5fae96ea510e3a2e78b7207f06e76b7f2c87fa3d0af", size = 223475, upload-time = "2026-09-13T19:09:10.145Z" }, + { url = "https://files.pythonhosted.org/packages/3e/f2/9ac65f9cedd43f91e2d3657c11f13aef82aebae89b2243dc9e44fe58a740/coverage-7.16.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070acb9da788dff743a4d36fc015feee12d68f0349959017542017c79f59c21c", size = 223845, upload-time = "2026-09-13T19:09:11.988Z" }, + { url = "https://files.pythonhosted.org/packages/62/4d/f13db452d4367fe1122abfd98ae330596f65a3b40498f8e1a5811f68f123/coverage-7.16.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e366587b370bc9b8b51b7b7272c610c56db5d5b4795b9e4a29d28ff2f440f809", size = 255341, upload-time = "2026-09-13T19:09:13.708Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6b/85ed86e82835a96ddfbe7705c387c28ce1cbbecd1b6d606f5ddfeeb712df/coverage-7.16.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e82e10b9d290f60b63459cfb245a841aec347603997206296b93881463a93dcf", size = 258078, upload-time = "2026-09-13T19:09:15.368Z" }, + { url = "https://files.pythonhosted.org/packages/cd/d2/f66945853d850b9c05f4e012e37396f1f31d0cd40d062394b229c22e7b56/coverage-7.16.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d73bb1f85c4150ac208fb0755beb04b2e44897bad81414de9380f98dd74729f", size = 259191, upload-time = "2026-09-13T19:09:17.046Z" }, + { url = "https://files.pythonhosted.org/packages/77/a1/7b907abe62461f289035c7ac60ab3e6334efb8c425151aac4abfa0c97820/coverage-7.16.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3397b9032553d281ad6a9253b12675b65e0cc8cd7a3b0633cf48872c9eb13360", size = 261452, upload-time = "2026-09-13T19:09:18.756Z" }, + { url = "https://files.pythonhosted.org/packages/51/e6/e26f4d6b1069a2a2fee3238a132f85c5b4c1dc25aebd88e015451ff0bd68/coverage-7.16.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:77890395cf37026a5907d3ad32376aa51f41c0f163b7477fdbd4f94966cc1d08", size = 255698, upload-time = "2026-09-13T19:09:20.786Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ec/99db7450e813050ebce300e31bbd4f997c76a8c6e3a6d168c5dffc104109/coverage-7.16.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b0944dc3bee3091039bf970d73caaf930c906013128a421bdc132e797494d941", size = 257111, upload-time = "2026-09-13T19:09:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9d/500df9d3cd8c541ac84b5e0bcab00646be75654e05aa34e8410ec851282d/coverage-7.16.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b89d22a89d5bc05dd95b64e08295b8394aa96dc88e08f8ba210c9ebfebbe0489", size = 255258, upload-time = "2026-09-13T19:09:24.429Z" }, + { url = "https://files.pythonhosted.org/packages/c0/24/53318d96da332bb4946f8ac646fa19fd37fecbd0c49144735c716ac69bf0/coverage-7.16.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:550a2a1faf7559f13d5344f12d1eb886ad87955155d7dfab2a3fe5c8ec8fe776", size = 259326, upload-time = "2026-09-13T19:09:26.32Z" }, + { url = "https://files.pythonhosted.org/packages/c5/ce/abc0462b2e6ae96ae22197d2bc30fe33b6b4e52937e782745436ceb2a761/coverage-7.16.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:55eb268e5b81aefac759766c9162625b06c1bedb7b77d936225bafc4f038a6f6", size = 254827, upload-time = "2026-09-13T19:09:28.191Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e1/0a04eedaaf19196b51f0180968134228c7646e469ed29914e48690a7cf3e/coverage-7.16.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:65a8fc80898c9ce59f04349fe8b4849b1f9787f14e52ead990e5f849ff4727a0", size = 256698, upload-time = "2026-09-13T19:09:29.922Z" }, + { url = "https://files.pythonhosted.org/packages/de/1d/d441a55cf22ce9d8e9e34814806c47441ab844bd534e0f4b64e1c6ae8bd1/coverage-7.16.1-cp312-cp312-win32.whl", hash = "sha256:528a61be40977c340cf201d23b69bd6a6bab507da60e9dbda85f8b30e935d70d", size = 225541, upload-time = "2026-09-13T19:09:31.752Z" }, + { url = "https://files.pythonhosted.org/packages/73/27/ec3d032375735dd331477caa051419678079ff90fcb53d0284a6c2bfb757/coverage-7.16.1-cp312-cp312-win_amd64.whl", hash = "sha256:d0f02c633630e2b74522108ee95a84ad6e1204a8016a6cca5297f335ea27147e", size = 226075, upload-time = "2026-09-13T19:09:33.556Z" }, + { url = "https://files.pythonhosted.org/packages/94/00/90e9f5c4434878494306b9c0ee8068ebbd829483737d8cefccc58884d728/coverage-7.16.1-cp312-cp312-win_arm64.whl", hash = "sha256:2959978f9d1d20a2c0c15d0a68baaeccf615ac1aa214cf4a05a10d6f568926c8", size = 225461, upload-time = "2026-09-13T19:09:35.48Z" }, + { url = "https://files.pythonhosted.org/packages/aa/74/c08c0c4dc9fa6bcd1d90728a63660aa1b17b488a806948598456c48f75d1/coverage-7.16.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ee5465db6e9152a7d09f3215309326878c6aa3ac509195a369f9d264ff4bfbd9", size = 223501, upload-time = "2026-09-13T19:09:37.276Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c8/784986d326663285258a8e39835c46fb730cc85284f0dbcd82078586dd22/coverage-7.16.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2b8256f8b525ba233d2e4cdcdce0d6673c66fc9bf70df1fd5e67c54a74e2d245", size = 223876, upload-time = "2026-09-13T19:09:39.385Z" }, + { url = "https://files.pythonhosted.org/packages/15/76/73fb792928872bbb07e553f920ff55c65ee962c469265feb5d1d4ae5f97a/coverage-7.16.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d57cc400275b9a2892e905fc893f732b21ddb95271bf96406c88e2f6367848b5", size = 254863, upload-time = "2026-09-13T19:09:41.326Z" }, + { url = "https://files.pythonhosted.org/packages/ca/8d/1fd78899513244b065ccecdd1cfc6aa8b8f1bdee796d8c4f2aa8e8e5397d/coverage-7.16.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6b3fd0f3435ebb7a7183b32a6062a8b755f08242ced1f3f22761d30b56b3c2a5", size = 257460, upload-time = "2026-09-13T19:09:43.086Z" }, + { url = "https://files.pythonhosted.org/packages/47/1c/b23ddfcb7ef9bd7b3fdb7be9a5dccf9925ae88e556df7aa5b655283c78f2/coverage-7.16.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e5eb1762e7eb5fad34ef913e8107c7788a66f19d328e598ce95bf7217f9e5c8f", size = 258697, upload-time = "2026-09-13T19:09:45.161Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c9/19d0c6ca35778a7e9415c30c46a0c64c9d4374219d004a35563132296896/coverage-7.16.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:46cd3a73e9140410de62cceb66214bce0e08fb3922b9176fbfc1522fec151b41", size = 260827, upload-time = "2026-09-13T19:09:47.061Z" }, + { url = "https://files.pythonhosted.org/packages/97/fc/5862f7344382c62b85df43d483e579168cc062e007f54d895dfa51fe3e7d/coverage-7.16.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d1ba5142d68dd2cb775cbd0ac8601819298152047803c8efe4eec6d7d7aa7878", size = 255038, upload-time = "2026-09-13T19:09:48.945Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9f/5c26583199a68df8d15124b4590520903f8eb7cef17db293fea712bb0783/coverage-7.16.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c389c6f9d1d518e1249ddcb8a7f158135644ce2c508fa6cc17b680777dad5bf2", size = 256827, upload-time = "2026-09-13T19:09:50.738Z" }, + { url = "https://files.pythonhosted.org/packages/95/13/605198bff079b107336710f28a797312ab132587168600d70a290e7ecd2e/coverage-7.16.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cdc57746c7ac0ea063351b4d651c3bb4dd4fd35e64dbb8e90c10e14eb03c4080", size = 254794, upload-time = "2026-09-13T19:09:52.577Z" }, + { url = "https://files.pythonhosted.org/packages/43/b7/0bbb32dc5ccdac766a13763fdfbffd7d73fc80349a69230c46c6b71e7508/coverage-7.16.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5597180ed7670cc94c04c65347418a467d3a43d5f0cf52fcac647f5425f42037", size = 258947, upload-time = "2026-09-13T19:09:54.372Z" }, + { url = "https://files.pythonhosted.org/packages/13/bd/65c31ddd43ff4e61b63721b3dad17cca412dba6e2ce89f92abdf75734339/coverage-7.16.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:a9647a0ac46255b8fef59a433a2161f03e5483f3a35e1cbd9dfe4600baff0c6b", size = 254613, upload-time = "2026-09-13T19:09:56.198Z" }, + { url = "https://files.pythonhosted.org/packages/25/20/d278115f2ba522b3e3128c6852be265f4e0df7202b2effca4db96cf0217d/coverage-7.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e306e98186b9cd109121f3583aeb7978797ad21d948f22944c5c08845cd554d0", size = 256388, upload-time = "2026-09-13T19:09:58.095Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ca/d43aa396fb3a2f71c9411b99d926475f5acaf5c124f605c592865c80c8d5/coverage-7.16.1-cp313-cp313-win32.whl", hash = "sha256:48a78a66fcce49d7f6156524bf979c0ac633d584199717c68c6ffa949fc14e6a", size = 225550, upload-time = "2026-09-13T19:09:59.998Z" }, + { url = "https://files.pythonhosted.org/packages/0e/30/df2f6114f6a17cffe94721bd1d298f77f86aad493717fa5bc03cb291a1a6/coverage-7.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:7af03247d598a353bbbbe1b925deb735276e4d845e7197c4073dc89352b236fa", size = 226091, upload-time = "2026-09-13T19:10:02.331Z" }, + { url = "https://files.pythonhosted.org/packages/ee/31/6f90d8aab72a112492bd50e3b5485b53b772b1f5fa70da0a620e723caae6/coverage-7.16.1-cp313-cp313-win_arm64.whl", hash = "sha256:166adae25b05b04c9a84135912066d9c97482115af38df1a419a38aacc6b6f5d", size = 225481, upload-time = "2026-09-13T19:10:04.151Z" }, + { url = "https://files.pythonhosted.org/packages/8e/b4/2a7c793965bae9f067aabab793a44d7a2f3ee7fb16b01ce1976bbd4a0218/coverage-7.16.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:cc0b37fe6f5ce5f1ccc62ad4fa9b1ad201d8e9b6027fd5e0170877beee4b2d15", size = 223546, upload-time = "2026-09-13T19:10:06.019Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e2/633469076a2dbbea036cc15a268a3a5d6b2c7dd5d9a9567b2553dfc5ad61/coverage-7.16.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6618f481053b63fc6121faf8fc676bd9b7163c2a19d9e984a2e850002c28ab57", size = 223881, upload-time = "2026-09-13T19:10:08.246Z" }, + { url = "https://files.pythonhosted.org/packages/de/c3/f06150c13284569d53273b909f31222874276a595637b7852571dfeb2c18/coverage-7.16.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:fa02d561eb1d8d2f8ba43ba6e3cef4c6c402a3b632a9460fa329fcadcd5df6a3", size = 254919, upload-time = "2026-09-13T19:10:10.254Z" }, + { url = "https://files.pythonhosted.org/packages/d5/40/47e25b215ae18a29010c8e29be8782a6e04d18ba6224be2bf6cebfce6427/coverage-7.16.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bc5354a124799f1f87b7637bbe6f18cd4bc66a1f37f6aa2b5db40f9adad531dc", size = 257428, upload-time = "2026-09-13T19:10:12.124Z" }, + { url = "https://files.pythonhosted.org/packages/27/4b/1e2a4267d14cbd12a8489364a9d40020233e6be836d929b363f0e77209e2/coverage-7.16.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34bafe9f4094315248573e6223e11af0ec1b25f9cbca43bf0e9a26a189ba2751", size = 258771, upload-time = "2026-09-13T19:10:14.031Z" }, + { url = "https://files.pythonhosted.org/packages/be/2e/9aa6146cea929fab9185bb2642ffef7f47520a6e5efe407f75f9b12f4cf0/coverage-7.16.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:29c4d3e32a3b5efa420a3dc627c7e570deb80ef997def52c7686a474f5edc7ab", size = 261086, upload-time = "2026-09-13T19:10:16.213Z" }, + { url = "https://files.pythonhosted.org/packages/13/3c/f9ad8bcd4fb3d21c9d20a16d6d6c6f999eee8f4498ed7659a3dbd2f4b74a/coverage-7.16.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f2066c447fdd0bca39a9633a082d8ce67bf9a539a203b85059a364a405dc9fe9", size = 254895, upload-time = "2026-09-13T19:10:18.602Z" }, + { url = "https://files.pythonhosted.org/packages/b7/d1/47eda9fd1eaeea39fa7b5b13a63b2bed92ab901841fb120b3f9f5e1dc30c/coverage-7.16.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fd8ac10cd2458b3c6343aac082fb9bd0e3fa806cb2c4975f2280153474b88412", size = 256783, upload-time = "2026-09-13T19:10:20.778Z" }, + { url = "https://files.pythonhosted.org/packages/38/c3/565edf044877cb8cd3373c56885347ffc38f0edfd1f1679a487b208c19a8/coverage-7.16.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:9d8c54ec32e5c102b9241f75d88ae26538b53662868ca491736611db448d9c7a", size = 254742, upload-time = "2026-09-13T19:10:22.733Z" }, + { url = "https://files.pythonhosted.org/packages/fd/88/87d2b2aeaba719192b2089ff1c2cf89a06cf73a6d2e9f1f145626617700c/coverage-7.16.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:6dd8dda3402a01a1a8fe8b753a282466f615128574a5590a9108acd07b1f8540", size = 259016, upload-time = "2026-09-13T19:10:24.769Z" }, + { url = "https://files.pythonhosted.org/packages/fc/1b/70813185b125768abdcf7899fec4d37edc2e5fc9b60c7045c8f4271ec757/coverage-7.16.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:79afa9726438912e5cddd1fe541815cea9763c92935f594835e4c432565b68a9", size = 254559, upload-time = "2026-09-13T19:10:26.781Z" }, + { url = "https://files.pythonhosted.org/packages/d8/fa/e7aa5af279aafda633a1ede8bfd7d6916b0c8b2082be86759e0b52e73a61/coverage-7.16.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3db3978211c3cead5437a80136ca0556bab8bc7828de15a762884b0598c41361", size = 256215, upload-time = "2026-09-13T19:10:28.714Z" }, + { url = "https://files.pythonhosted.org/packages/38/87/7a894fa4f8c6662d2b6a87a3436950e15b1fa56e01765c9d6634fb2cbeb8/coverage-7.16.1-cp314-cp314-win32.whl", hash = "sha256:49c39c7068a494f8eb427155f5682f44feee43f9b3107fd54b1e52465379c54b", size = 225719, upload-time = "2026-09-13T19:10:30.743Z" }, + { url = "https://files.pythonhosted.org/packages/8b/01/fa7193c8005fb85488f02b0e1cc3c05a233cf2640206dd978af447aeecbf/coverage-7.16.1-cp314-cp314-win_amd64.whl", hash = "sha256:c510dad19552d912058e4c3e3cbec3fb155dbe8d0ce0ceb7e7dbf5c5822bae0b", size = 226208, upload-time = "2026-09-13T19:10:32.698Z" }, + { url = "https://files.pythonhosted.org/packages/da/5c/a08634c714924c3eaef811bb3576c044128aa5e7dfa86c75e52f0761849e/coverage-7.16.1-cp314-cp314-win_arm64.whl", hash = "sha256:b7d4d7e6dcaf33e85f1919f03346403bdcc27437c420a78835f3805bca0ab71f", size = 225633, upload-time = "2026-09-13T19:10:34.79Z" }, + { url = "https://files.pythonhosted.org/packages/43/df/ddb8a4c664046b1a0ee29c9c2d25b993e5dbc8fbde715df3694a64532781/coverage-7.16.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:3d0a3681c12d3e0bcdea3d9414b04087828d6c1a482802d6f7f42c37ed530152", size = 224281, upload-time = "2026-09-13T19:10:36.853Z" }, + { url = "https://files.pythonhosted.org/packages/e2/d0/9076e0c762d8afd91182e60a520fa5c92c4a334785eeb9fd6b8ef8fe7e3c/coverage-7.16.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3f3b4469d3da3ecced775d1a8c9c5d9fc80f259e30b7b89f9fed0700d6035ecb", size = 224547, upload-time = "2026-09-13T19:10:39.359Z" }, + { url = "https://files.pythonhosted.org/packages/03/e5/9c59e64b6161704f35fe91549bb19b2bb355e95caf596c26a2065564807c/coverage-7.16.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c08ae35c1be2fe1ce4b4c628df5c6fc0dc9a87f8e5fe8e20238d249678984741", size = 265906, upload-time = "2026-09-13T19:10:41.434Z" }, + { url = "https://files.pythonhosted.org/packages/57/5a/13ccaffb77f766101bf6f38be9dba9e468b02cc92da4552a57877dbf1c1f/coverage-7.16.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8ee71a38c54bb2676bbe762b8b0943a79ccb1c2fd6a52054f66e63eda392f8c1", size = 268023, upload-time = "2026-09-13T19:10:43.533Z" }, + { url = "https://files.pythonhosted.org/packages/ad/a1/05cfcf01d3c7c922832698ad46e51d3441d820ce87a943014bb5cf5710dd/coverage-7.16.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76491917771f179f9772efe218c5ccc65950dbdb35f4439298d8a8dfc6ec1f72", size = 270442, upload-time = "2026-09-13T19:10:45.895Z" }, + { url = "https://files.pythonhosted.org/packages/72/15/a2f1544b8e3835d7b769f7dabcc9ac0283e0b646ef3344703ff8f18d83e6/coverage-7.16.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f4aa0b0a6f81fa3deb211e643f6954e78b4376b62b9c218271236cfa757664e8", size = 271565, upload-time = "2026-09-13T19:10:48.123Z" }, + { url = "https://files.pythonhosted.org/packages/df/5b/963c2993a82bd313f298d663afe03e164b96ace4d9d4c7561740a559e13d/coverage-7.16.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:756ba2d96d073c5a2a55d67fa22784763710fadbe22c41adde2d9cfa4dd78a8c", size = 264959, upload-time = "2026-09-13T19:10:50.195Z" }, + { url = "https://files.pythonhosted.org/packages/12/59/5eba06d1943735d7cd61d46d8c8a20ffe8ddd2da06b3c94366078dadeb9b/coverage-7.16.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:99bf9ea435cefcefd220f8687c3ddbbf78dc2de0bd11b57c3ae9fbbdf8d5561a", size = 267897, upload-time = "2026-09-13T19:10:52.252Z" }, + { url = "https://files.pythonhosted.org/packages/bd/48/af6c30f6ea431bb9b83f9070d268a9cc4fc97490abd32080164177ea999f/coverage-7.16.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:35cbc81f937fc402971df45c897d2df2bfb2014efcd990360032aa0a651635da", size = 265504, upload-time = "2026-09-13T19:10:54.432Z" }, + { url = "https://files.pythonhosted.org/packages/80/f2/6e13852a8656d05fa83284567dd5a5b1e6d89bef79fe3effca2787159eab/coverage-7.16.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:8fae08e85b334ac6ac886002b5041396a31bcf805225bbe19847627203da99e2", size = 269235, upload-time = "2026-09-13T19:10:56.563Z" }, + { url = "https://files.pythonhosted.org/packages/c2/32/b4fe465daa64ece674f83a750dfa4ba0fa3c5c74d6ef5dbb8dfce892cf0d/coverage-7.16.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:83362b64e215ef00b0ba33fcf13655ace6c9fdd144d5ad2ab59ac86c2daf166e", size = 264347, upload-time = "2026-09-13T19:10:58.634Z" }, + { url = "https://files.pythonhosted.org/packages/54/f3/88b5c0e4ca3994c6d5feb7b1bf4c9a62cee205553159184968426930a7b1/coverage-7.16.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:33300f2e140ccf26af3d8152e62bff71993f9310cfc63ba7a20940b0d246a0ae", size = 266660, upload-time = "2026-09-13T19:11:00.746Z" }, + { url = "https://files.pythonhosted.org/packages/97/72/6eff5456d7ba7f1c4678af531c33f9d957cae3201bd229b056fd13a204a3/coverage-7.16.1-cp314-cp314t-win32.whl", hash = "sha256:5539304fdbb2cc144df684d35a33b81145334d23e1c2367b5a923d25107f70b2", size = 226026, upload-time = "2026-09-13T19:11:02.846Z" }, + { url = "https://files.pythonhosted.org/packages/8e/c8/6e5ae3d8d4d0f2c0078985bf4db55fafd90e8107b1bf91ee3547a13f5694/coverage-7.16.1-cp314-cp314t-win_amd64.whl", hash = "sha256:715dcb72c3280c428c3a20134b87e42c29acec9669136e899ab2de69ca86218d", size = 226862, upload-time = "2026-09-13T19:11:04.921Z" }, + { url = "https://files.pythonhosted.org/packages/be/c7/68f9f0734afc904a92b974b489545b6a15700f3b1c4bd36eae764561e661/coverage-7.16.1-cp314-cp314t-win_arm64.whl", hash = "sha256:dac8b84c03e6029d272b8249c77018db83de59ca009a9adef7c144b4a62ee5e6", size = 226171, upload-time = "2026-09-13T19:11:06.969Z" }, + { url = "https://files.pythonhosted.org/packages/ae/16/e11addf5322d98e86307da9e00c94644b97cb72c534c74cda89705bebeef/coverage-7.16.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:a337dc2d54c74430cd2febb8ee04f7c508ba8b3b412bf0463f077a66cfc73743", size = 223544, upload-time = "2026-09-13T19:11:09.108Z" }, + { url = "https://files.pythonhosted.org/packages/92/d9/7ccd6484f615961d94b09c75904f87d86375109596069ae3a495a205dbbe/coverage-7.16.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:3acd1d78397dead78dd1b011b5fc19cc823c190349acd549e63856dff649c80e", size = 223882, upload-time = "2026-09-13T19:11:11.132Z" }, + { url = "https://files.pythonhosted.org/packages/59/37/2fd78152a557df4a7e4ad78d6851ede90c211838d526e4916c6016f45144/coverage-7.16.1-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:73a32694603a34ad01d7e51a481a4023410d8099e1d0757e067945695c10f0ae", size = 254987, upload-time = "2026-09-13T19:11:13.735Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4a/58e2f9b8b13cc422aa7f474a498945ec7f446ef473b5b6bae18d2981f2a9/coverage-7.16.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fbbe8265736659a6be2e6042b6a35be13545d14b243cc1d7ecf65f90d788a370", size = 257902, upload-time = "2026-09-13T19:11:16.025Z" }, + { url = "https://files.pythonhosted.org/packages/3c/74/63f8f6a67c03b86455c726be273b2aa5b57fd1122f22350d141bbb142e91/coverage-7.16.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4b0359eb4c62f9993e176bc8f50450fc736a6b90dbcc05bb8584e948812699ae", size = 259522, upload-time = "2026-09-13T19:11:18.206Z" }, + { url = "https://files.pythonhosted.org/packages/e2/3b/1f2261da7483e345fe55de11e41ffc16a543511e37c0912134c0dccc4f6c/coverage-7.16.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:da506e669a8a851b59e122b4b219ea70996a6296f44f3a9348a852526ff961de", size = 261723, upload-time = "2026-09-13T19:11:20.628Z" }, + { url = "https://files.pythonhosted.org/packages/a7/8a/7eb1a361e044b7293f49c921a974b532627ed37f3bef5e7e9f58bcd0d5a2/coverage-7.16.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:64a2a5985d81810ed605ff0dc4ccd6555efcb5700353825532a9a0aea65826e1", size = 255462, upload-time = "2026-09-13T19:11:22.733Z" }, + { url = "https://files.pythonhosted.org/packages/67/66/6d94f7ea87e99c519def5cfa5d4a1ab20247d6b403eb6e6b5b63d6aa5985/coverage-7.16.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:66d70132b69b861805dc1ca46cdd733e54c416890e8f1371d2fd103f70b59c9c", size = 257617, upload-time = "2026-09-13T19:11:24.933Z" }, + { url = "https://files.pythonhosted.org/packages/3d/52/c3de0a3868589a1463a4f1cb0222eca0e5fa9f91da865ccf20d2e19ec19c/coverage-7.16.1-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:db651a9cf325a542bc2b7b8cc8f1b2bdc6492739bae3103731b2f1c85b96cff6", size = 255495, upload-time = "2026-09-13T19:11:27.158Z" }, + { url = "https://files.pythonhosted.org/packages/9e/a3/ea10e75f20fc1e7be10b166a494826a965d19b1dc9c8a81c511a01153311/coverage-7.16.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:4184e78a4465dcda359fb403172b8951dd220929cb0984c02fabca1742fff06f", size = 259728, upload-time = "2026-09-13T19:11:29.33Z" }, + { url = "https://files.pythonhosted.org/packages/0e/96/9d8020d97de46f0390739beda196322586cdd87e1fc357223e6a28bc4135/coverage-7.16.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:bc53c3f3adaa939b7a063533ffe0ae1259e7073393c618043a99a6970a87e3df", size = 254904, upload-time = "2026-09-13T19:11:31.86Z" }, + { url = "https://files.pythonhosted.org/packages/5b/21/2ff8867d4560f4f639a82d8fcf13c27eea88a96193daba096027c48bb929/coverage-7.16.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:b44308854ef210b9b78df9cdfd4e159513382a859f5ef8464306d14a54c2a040", size = 256828, upload-time = "2026-09-13T19:11:34.078Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4b/feacad51cb5163e3baa13281f8a3098f15d7934cc1f28cfe656557eb4e46/coverage-7.16.1-cp315-cp315-win32.whl", hash = "sha256:dccc142614d3419ed71857deb43f1d757829a4c7fce9994464b71e7e38309827", size = 225722, upload-time = "2026-09-13T19:11:36.314Z" }, + { url = "https://files.pythonhosted.org/packages/39/34/66bbc6ffd3c51fa67604c566920e772c5e3baa57f88dcf7b109c7f18b2cb/coverage-7.16.1-cp315-cp315-win_amd64.whl", hash = "sha256:961fc424e9d5229a99f8f1189942d8e7f4e1519147c3af64842f944aca03914d", size = 226195, upload-time = "2026-09-13T19:11:38.493Z" }, + { url = "https://files.pythonhosted.org/packages/f7/96/4bad920d4caed127c37c136a64b0730fa495517d2eb58809e0d81e6e7dff/coverage-7.16.1-cp315-cp315-win_arm64.whl", hash = "sha256:681a9488c5a234397c4f013da065aa9e53eb7af4c78f1f80c6f15e7208acb855", size = 225625, upload-time = "2026-09-13T19:11:40.664Z" }, + { url = "https://files.pythonhosted.org/packages/f5/2b/a88c7906eeb7da4394e932060d7008e153b3a2cd8d11782d82faa03bb7a3/coverage-7.16.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:8bb09a2d19b04db1fa0e087a7ca4f12458f7e0e7364cfcd838441d86fb1c61f6", size = 224271, upload-time = "2026-09-13T19:11:42.876Z" }, + { url = "https://files.pythonhosted.org/packages/1f/1f/98db59c595680d16f553890deac6d72610e04f192c1964ec9b69cbe790ab/coverage-7.16.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:2270a794600b635ca9452ce4c32e2fe81a35f9caa17ffac0eba99f14f275bd4d", size = 224564, upload-time = "2026-09-13T19:11:45.071Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/699e236d4cb97ec282b0655afc85acf12349e71a02fff0f1a7d0fb643079/coverage-7.16.1-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a4eff405b545dfcf79cf0d9d3ff750e5c5a887aa066114175193a81d249c5ee6", size = 265423, upload-time = "2026-09-13T19:11:47.666Z" }, + { url = "https://files.pythonhosted.org/packages/96/1b/6eaa21912863b3e3bf23cfe605fb62929bb1a41dc33d2bfa8e92000232bd/coverage-7.16.1-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ee1d5fc9e3bd6a217906929cc97880239a91d20dae7746f538eb0eefee705ab1", size = 268503, upload-time = "2026-09-13T19:11:50.12Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ac/4eb46bffa98c28a80559a58c12f17e19308d52b31174af1bd49decf76606/coverage-7.16.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4ec944947de098ad5a1738413f9364689a57067ecbc328e9de37218aa1e5cc1", size = 271059, upload-time = "2026-09-13T19:11:52.363Z" }, + { url = "https://files.pythonhosted.org/packages/ed/d4/17a51ef1f6a084c9abbead522cfbee0fe9d29a593128781e724b7a0795b3/coverage-7.16.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3f73ee3956fde2d461c9e2955dd48166e4821fc8587d135e8780fb84da2a098b", size = 272039, upload-time = "2026-09-13T19:11:54.935Z" }, + { url = "https://files.pythonhosted.org/packages/4a/ff/9fdeba8b8aa0848030f45f869ddedc306795a8c6e53e901b8553afbf5415/coverage-7.16.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ec9a4ee989c0d06ad95add0dbfdbb72b00ef53f43431ca0b612384e7878e5de", size = 265869, upload-time = "2026-09-13T19:11:57.423Z" }, + { url = "https://files.pythonhosted.org/packages/95/eb/ab3eb506b2e4dd278440fbbbc7ed18424a86d8a981db0b90fdba66f5d34d/coverage-7.16.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:7e5727b2508f817f3126d6c33327dda32fe69d15514badfcd61db8bc4209ecef", size = 268883, upload-time = "2026-09-13T19:11:59.71Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0c/f4edefdce33f01954a74237df5ee83ccef5dcd1165e04abf0adf47543fca/coverage-7.16.1-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:19a3ea2f364012ef06678118fffdc92442a16bef4a5c8ad4f4019dd8f9ac8876", size = 265359, upload-time = "2026-09-13T19:12:01.953Z" }, + { url = "https://files.pythonhosted.org/packages/df/86/ce5ed885fc7ce2adc9a5971134ace257d0f84f19c3d117da89c179b9662e/coverage-7.16.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:996c2b891b441ec2b39725ee3e8386e2f11b4894b92be225fdfd54a3eeada2c8", size = 270056, upload-time = "2026-09-13T19:12:04.46Z" }, + { url = "https://files.pythonhosted.org/packages/48/a1/5dbd5f95070cece25c6df9e6ea4ded2a87dc695ce82a49bcb2116452b342/coverage-7.16.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:a125fac1f6b1e88488d208a86b578e1790e3c4937f2e1568d23356141d236220", size = 265498, upload-time = "2026-09-13T19:12:06.811Z" }, + { url = "https://files.pythonhosted.org/packages/8e/ff/254b26f3300f87c7c53ac97da41ae75f0e2ac066aa964bc073c0f3750b38/coverage-7.16.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:b10095528b866d322d33d6bf1709b7f8cbf959f12e8cb2ba22fc59c8717866b0", size = 267459, upload-time = "2026-09-13T19:12:09.479Z" }, + { url = "https://files.pythonhosted.org/packages/61/20/bf9958f8ddbbf6a2d39da3d4009f33e0fcf19c2d2fd99715c6494cdc8e8c/coverage-7.16.1-cp315-cp315t-win32.whl", hash = "sha256:531d9be377fdcc05593b974656872eb82e808ebeb42a72515e3aaeb8bb7166f5", size = 226021, upload-time = "2026-09-13T19:12:11.933Z" }, + { url = "https://files.pythonhosted.org/packages/35/8f/12d46948704d9e437c8dca2718e5d54ecc2f85396b64b500c29d8dbe10db/coverage-7.16.1-cp315-cp315t-win_amd64.whl", hash = "sha256:46a88f51770df7c9bc376bd57d3f86cdc7624b8e16ac4b585a655c22b7a1b4db", size = 226853, upload-time = "2026-09-13T19:12:14.254Z" }, + { url = "https://files.pythonhosted.org/packages/a5/7f/1ca5fd0601054fce5a3539375b997e67683646e2bf62f60c41e70b529fcc/coverage-7.16.1-cp315-cp315t-win_arm64.whl", hash = "sha256:7580432cbe1e8b762660ae5806f04f869e1c02e519836a43f8094437e561e9f0", size = 226163, upload-time = "2026-09-13T19:12:16.589Z" }, + { url = "https://files.pythonhosted.org/packages/96/1a/d6d16babd0a5fe4c3fae40702158c570351694e74516d8d81b86c5637448/coverage-7.16.1-py3-none-any.whl", hash = "sha256:3d8bd4e58b6a5c2018d808f297905393c6c61da466a48c3f0596a76a4900ebe4", size = 215264, upload-time = "2026-09-13T19:12:18.895Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version <= '3.11'" }, +] + +[[package]] +name = "distlib" +version = "0.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/02/bd72be9134d25ed783ecbbc38a539ffaefbf90c78418c7fb7229600dbac7/distlib-0.4.3.tar.gz", hash = "sha256:f152097224a0ae24be5a0f6bae1b9359af82133bce63f98a95f86cae1aede9ed", size = 615141, upload-time = "2026-06-12T08:04:52.847Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/08/9c41fb51ab5b43eb21674aff13df270e8ba6c4b29c8624e328dc7a9482af/distlib-0.4.3-py2.py3-none-any.whl", hash = "sha256:4b0ce306c966eb73bc3a7b6abad017c556dadd92c44701562cd528ac7fde4d5b", size = 470628, upload-time = "2026-06-12T08:04:50.506Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" }, +] + +[[package]] +name = "filelock" +version = "4.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4f/b8/9ba8f569df649beb7058db5eb392a5f779bdbc3b82cf3942f0be439fb99e/filelock-4.0.3.tar.gz", hash = "sha256:87296d60478e14204fd9406e79831400fef76693bae2895deec236c98e87a8aa", size = 244309, upload-time = "2026-09-23T23:40:22.569Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/6d/db8b86e168fef0cf904737e275bccb683558088ef971e92d3b41ce980699/filelock-4.0.3-py3-none-any.whl", hash = "sha256:30cd166e2aee2c7534ce2c33c6367c4cd051b8368e20e2c4eb0c34f699bacfab", size = 108444, upload-time = "2026-09-23T23:40:20.819Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore2" +version = "2.13.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "h11" }, + { name = "truststore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cb/f3/1db7aa2bc2524062192bb0e0323969492d1883152a232fe36eea65f4e35c/httpcore2-2.13.1.tar.gz", hash = "sha256:e0aa977abe17e69a3b820a24542a6fa88702676d83880b8d194dcd18408e5103", size = 68071, upload-time = "2026-09-23T07:47:22.372Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/ba/a4568248771ce81957bfb7cc600264a40fbcda092391ee1c415c50be4bea/httpcore2-2.13.1-py3-none-any.whl", hash = "sha256:e1e05d4f25f7d7d496bfb96748f6f4b67657b03da069b3a68c36069f3db73d0a", size = 83423, upload-time = "2026-09-23T07:47:19.365Z" }, +] + +[[package]] +name = "httpx2" +version = "2.13.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio", marker = "sys_platform != 'emscripten'" }, + { name = "httpcore2", marker = "sys_platform != 'emscripten'" }, + { name = "httpx2-jsfetch", marker = "python_full_version >= '3.12' and sys_platform == 'emscripten'" }, + { name = "idna" }, + { name = "truststore", marker = "sys_platform != 'emscripten'" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d5/44/474bef2a0e9d90f1715d32cb98b0738695ca17ba324095fb2497ed7fbd59/httpx2-2.13.1.tar.gz", hash = "sha256:e48744a19e3af5ee48313d0ce5fe941d5422fae5705ea922a4aabf94d7800dfa", size = 100405, upload-time = "2026-09-23T07:47:23.052Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d8/9c/6fe8931fd9f381042a9e4c7d5a7b4cbf7016b252bec0c99a49fce42c3326/httpx2-2.13.1-py3-none-any.whl", hash = "sha256:6dff50fabc270ee5fd25d845d0b078ed20564579744d6d962850975996d2f9a4", size = 95597, upload-time = "2026-09-23T07:47:20.995Z" }, +] + +[[package]] +name = "httpx2-jsfetch" +version = "1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/c4/0e5636363151a2a1795e0a77617168b9ca438e1748ec05fc9b5687f93d64/httpx2_jsfetch-1.0.tar.gz", hash = "sha256:70a0e3eabfef7cce5ad9c629f7d01ca05e418f586646f4ddf14782e4c1454c60", size = 6872, upload-time = "2026-08-07T00:13:07.492Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/43/832f631d32e4f1211caa2ba368317739fe71f0b8530e4c9d15dc454bac2a/httpx2_jsfetch-1.0-py3-none-any.whl", hash = "sha256:cb916b707601e69a07721aabc8f3f6659be3a6893bc1ff5c6f9e02241df2da32", size = 6382, upload-time = "2026-08-07T00:13:06.567Z" }, +] + +[[package]] +name = "identify" +version = "2.6.19" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/63/51723b5f116cc04b061cb6f5a561790abf249d25931d515cd375e063e0f4/identify-2.6.19.tar.gz", hash = "sha256:6be5020c38fcb07da56c53733538a3081ea5aa70d36a156f83044bfbf9173842", size = 99567, upload-time = "2026-04-17T18:39:50.265Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/84/d9273cd09688070a6523c4aee4663a8538721b2b755c4962aafae0011e72/identify-2.6.19-py2.py3-none-any.whl", hash = "sha256:20e6a87f786f768c092a721ad107fc9df0eb89347be9396cadf3f4abbd1fb78a", size = 99397, upload-time = "2026-04-17T18:39:49.221Z" }, +] + +[[package]] +name = "idna" +version = "3.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz", hash = "sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44", size = 216463, upload-time = "2026-09-17T14:11:04.752Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c", size = 69583, upload-time = "2026-09-17T14:11:03.168Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "jmespath" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/59/322338183ecda247fb5d1763a6cbe46eff7222eaeebafd9fa65d4bf5cb11/jmespath-1.1.0.tar.gz", hash = "sha256:472c87d80f36026ae83c6ddd0f1d05d4e510134ed462851fd5f754c8c3cbb88d", size = 27377, upload-time = "2026-01-22T16:35:26.279Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" }, +] + +[[package]] +name = "nodeenv" +version = "1.11.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/105de02c1322cfada6d9710d9146ef8026419d433c9d08359a2d35805811/nodeenv-1.11.0.tar.gz", hash = "sha256:3ce8fe5b71d16e8af7039ca65257354100bc772965d6bc549070649e53b1b146", size = 99301, upload-time = "2026-09-26T11:29:21.367Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/c8/12811c9b48fde162bb72b6f2e78fada9a247a09d7bb5be2050a5d099c77b/nodeenv-1.11.0-py2.py3-none-any.whl", hash = "sha256:edaa16e6c14d7cf395d75d4bbd5a26390f4dc06501a33b4e76282b02cc688a25", size = 34277, upload-time = "2026-09-26T11:29:19.933Z" }, +] + +[[package]] +name = "packaging" +version = "26.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313412, upload-time = "2026-08-04T18:15:28.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.11.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5f/e0/7c20b5d0e0f147c40a934e8f9e9f717bd6e3e372c4d58ca5c2fcce2b1652/platformdirs-4.11.15.tar.gz", hash = "sha256:d7419e973b2b740d428200130f80c0e79304d1c71081001db911e15b26a3a6d4", size = 46059, upload-time = "2026-09-26T02:04:58.142Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/83/246d3052d043683cc5f400ab5748bd07a99fbdf311dc771cfad7e3f9e7e0/platformdirs-4.11.15-py3-none-any.whl", hash = "sha256:84508421c77d3c6462e71dd8c0d2776c2ace0e94eb006dc4fd383bc1dcf5a176", size = 26689, upload-time = "2026-09-26T02:04:56.71Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.6.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cfgv" }, + { name = "identify" }, + { name = "nodeenv" }, + { name = "pyyaml" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/89/1f3e8e1fc3e97de0fa963495832f581f025f29471602a309e48808244292/pre_commit-4.6.2.tar.gz", hash = "sha256:8f5d7bfb021ecdbcd9d49d89847082dd24172ccde534390081a679ad046e2441", size = 198670, upload-time = "2026-08-10T22:07:18.421Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/e2/bbb7129c9e7999a6b8ee9cca3b66486c25c423ab5a75f34071798b74ce94/pre_commit-4.6.2-py2.py3-none-any.whl", hash = "sha256:e2dde9a75d3bce11bd3831c26d134df00a2803c1d818be6a0383c3dcda25dc4e", size = 226202, upload-time = "2026-08-10T22:07:16.942Z" }, +] + +[[package]] +name = "ptableunicode" +version = "0.9.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/66/7e414989a61b250877bbf1bc3f3480700b699ab0efebf70e6530496c1f66/PTableUnicode-0.9.3.tar.gz", hash = "sha256:2ee4e3551e981344e562e08a96e5f057569ae574eda32dc821477b37daf7391b", size = 22037, upload-time = "2018-12-27T21:07:00.188Z" } + +[[package]] +name = "pygments" +version = "2.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz", hash = "sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c", size = 5005329, upload-time = "2026-08-17T08:02:48.824Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 1250147, upload-time = "2026-08-17T08:02:44.912Z" }, +] + +[[package]] +name = "pytest" +version = "9.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 1636369, upload-time = "2026-06-19T10:58:32.857Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386536, upload-time = "2026-06-19T10:58:31.347Z" }, +] + +[[package]] +name = "pytest-cov" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "pluggy" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/51/a849f96e117386044471c8ec2bd6cfebacda285da9525c9106aeb28da671/pytest_cov-7.1.0.tar.gz", hash = "sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2", size = 55592, upload-time = "2026-03-21T20:11:16.284Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" }, +] + +[[package]] +name = "python-discovery" +version = "1.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0c/57/250bd238b966cece44328235eb85290045d059265fdaf7527a3a958123db/python_discovery-1.6.1.tar.gz", hash = "sha256:cf87d3627dfb4412437fdd5b13eae402607722998d21567993aedbc59b23c15e", size = 84338, upload-time = "2026-09-18T01:31:53.971Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/7d/e9ffbadfbf89c93848412d04594135c4ae8c1d37d9e053b9c3ed718fabc4/python_discovery-1.6.1-py3-none-any.whl", hash = "sha256:d43fcdef879fe795352bd13ccf8d185ba5a9f86f36cfcd00529f596e737442b3", size = 38664, upload-time = "2026-09-18T01:31:52.448Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" }, + { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" }, + { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" }, + { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" }, + { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" }, + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "ruff" +version = "0.16.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/bf/c935ca98e73fe8ce65b87ef08a280c0c1e85295d569228c15e87d8fdfaf1/ruff-0.16.9.tar.gz", hash = "sha256:12b625c6cfba78d285d9f48eda5f053374f1e53cb10ef17342a383750db99161", size = 4948764, upload-time = "2026-09-24T20:37:49.416Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/26/df51322b52ee1ada7eff2d071ea09d11d5c2d1dcc9f02594f5785c4d1635/ruff-0.16.9-py3-none-linux_armv6l.whl", hash = "sha256:95e6f022090368ab3b824c36276839c53b2adf1a3f4c09fefc33dfc400f6da96", size = 10082922, upload-time = "2026-09-24T20:37:13.045Z" }, + { url = "https://files.pythonhosted.org/packages/a5/27/7bf51f5a7aa375e9f339280a303aab44ca75dc1525f1cdc5991761685b0f/ruff-0.16.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:a5f27be168556594a86d2f415db0cf43f5291917849318f873c7e2791f7a8c67", size = 10236360, upload-time = "2026-09-24T20:37:16.049Z" }, + { url = "https://files.pythonhosted.org/packages/b6/63/09659283f92f02dff45809da194a70da2f688d87c55d8875c4fae3536072/ruff-0.16.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:1632eb1d6197f33bd00b1acbc5b71009e89a8895c158e2d2b03a834fac964ab6", size = 9892940, upload-time = "2026-09-24T20:37:17.957Z" }, + { url = "https://files.pythonhosted.org/packages/24/58/98de1b72ec172f5f8f1731236fe21585b3998bf7dfe9fcc44ae9ba626012/ruff-0.16.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3f951b14d865d5952c89d40a5ca07e87abe24fa5453299878411e127748fb1c", size = 10032114, upload-time = "2026-09-24T20:37:19.942Z" }, + { url = "https://files.pythonhosted.org/packages/c8/7d/f1e17c54ab59d4bad1dce8ee3e22a7a1d0ef4745240decacdcf3832b5bb2/ruff-0.16.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:447fc07e1573afff7cb02803462b12b6c8ece7cf10e2cd78565fa6d7a1c0bf8d", size = 9910227, upload-time = "2026-09-24T20:37:21.872Z" }, + { url = "https://files.pythonhosted.org/packages/34/19/436f647a65075bbd3bab2668b3bdaa5120559b294694018cdcefabbbf30b/ruff-0.16.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a3e039a6a40ed976c491722b60e0ae4a4aa1a86057f540ee7a37a5d19ae9120", size = 10547484, upload-time = "2026-09-24T20:37:24.229Z" }, + { url = "https://files.pythonhosted.org/packages/03/59/38430a6bc2f6d8095447ac39625cf8b6e9344a47e6c26225c8ba1bff3ffb/ruff-0.16.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4684dded7db60aa57cb118fa158630f5feade4af5782903b6053484bdf9bd129", size = 11412367, upload-time = "2026-09-24T20:37:26.307Z" }, + { url = "https://files.pythonhosted.org/packages/c8/bd/bbb6d7fc7f208c8b8c50dd5dc8206e4cfdb1e7a8fb852606a3adf370c880/ruff-0.16.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d29c934357e45642fda2f34c0b1f4025b4a6c01e15e4bf0016879d60078a142c", size = 10869787, upload-time = "2026-09-24T20:37:28.35Z" }, + { url = "https://files.pythonhosted.org/packages/bc/b8/9c543074918061abbefc3bd139bee22de35abedb00dde0f2d27288838962/ruff-0.16.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a21713e629d3e5bdb2f5c2def1cc7f04f47fa8e1a7eb0571b4a28e1da64bc728", size = 10406494, upload-time = "2026-09-24T20:37:30.624Z" }, + { url = "https://files.pythonhosted.org/packages/35/7a/5a8851bd146e7ccf8fd4b003f6c75c11f8fbdb0e60673b45097986b6bf41/ruff-0.16.9-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:7baa24ef5fc8e77aa93879e1d3f43754a01ae488e869f1ae30cf431afd4d2452", size = 10590083, upload-time = "2026-09-24T20:37:32.439Z" }, + { url = "https://files.pythonhosted.org/packages/87/f0/4c3467188f23f806960b46fa76575a7cd0514c9ba90562650b71efc96980/ruff-0.16.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a41aac6230aadfaa133bdfa1614488531ffa3e0837567ae04c0da2058a9c0f9e", size = 10119151, upload-time = "2026-09-24T20:37:34.581Z" }, + { url = "https://files.pythonhosted.org/packages/15/34/5a4def5adea572ce6aea0bb64f21f928ee317b80e0db747d7979b01d7261/ruff-0.16.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:c2529fb5896d49115b0e9aa8f887490b34bbe76baf879ec2264ac59406869ce7", size = 9911544, upload-time = "2026-09-24T20:37:36.796Z" }, + { url = "https://files.pythonhosted.org/packages/62/5d/d15ebea7499eef9373318c0ee6ca127832927c6529731f6d48e18dce7ca9/ruff-0.16.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:41e3870277694177429b56406d65dfbdb2c2802c52b715edaf6a0b829c69d4ee", size = 10269884, upload-time = "2026-09-24T20:37:38.857Z" }, + { url = "https://files.pythonhosted.org/packages/d1/56/c5d3cd119ded7a3c7aba0e961b69cb3df701c91662c98ad694467d060ce1/ruff-0.16.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:8adbe4e58af167f767d7b2ba5e83c42e878350796cf78c2f5e14ab9903a92588", size = 10749366, upload-time = "2026-09-24T20:37:41.042Z" }, + { url = "https://files.pythonhosted.org/packages/ac/fe/734ec7527029ac757ecf821f143c9f3fcf69149c21f53a044a899b430f5a/ruff-0.16.9-py3-none-win32.whl", hash = "sha256:0e1dbc2073624dee6618d41d0098690a7244654af746704b64759e12b6b6b385", size = 10152355, upload-time = "2026-09-24T20:37:43.025Z" }, + { url = "https://files.pythonhosted.org/packages/14/21/26e4643629b3ebb44f0a06f9c9a53058d63d989415f63a9a3c28e2ee7f22/ruff-0.16.9-py3-none-win_amd64.whl", hash = "sha256:6bd40fec8cd4c8a3d4dd589bd8ad4e6320c13c29234159bfd959a40d529d597b", size = 10592965, upload-time = "2026-09-24T20:37:44.944Z" }, + { url = "https://files.pythonhosted.org/packages/51/60/5fb1a39dbb5ae314d5f59bc7348a63c1d5c20f3cd83914c4b5cb0be31d2d/ruff-0.16.9-py3-none-win_arm64.whl", hash = "sha256:ed1a252039200f57a59eebc063b54beabea67bfbaaca0eeaa7f54b5fbcda2284", size = 10458649, upload-time = "2026-09-24T20:37:46.882Z" }, +] + +[[package]] +name = "tomli" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/22/de/48c59722572767841493b26183a0d1cc411d54fd759c5607c4590b6563a6/tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f", size = 17543, upload-time = "2026-03-25T20:22:03.828Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/11/db3d5885d8528263d8adc260bb2d28ebf1270b96e98f0e0268d32b8d9900/tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30", size = 154704, upload-time = "2026-03-25T20:21:10.473Z" }, + { url = "https://files.pythonhosted.org/packages/6d/f7/675db52c7e46064a9aa928885a9b20f4124ecb9bc2e1ce74c9106648d202/tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a", size = 149454, upload-time = "2026-03-25T20:21:12.036Z" }, + { url = "https://files.pythonhosted.org/packages/61/71/81c50943cf953efa35bce7646caab3cf457a7d8c030b27cfb40d7235f9ee/tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076", size = 237561, upload-time = "2026-03-25T20:21:13.098Z" }, + { url = "https://files.pythonhosted.org/packages/48/c1/f41d9cb618acccca7df82aaf682f9b49013c9397212cb9f53219e3abac37/tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9", size = 243824, upload-time = "2026-03-25T20:21:14.569Z" }, + { url = "https://files.pythonhosted.org/packages/22/e4/5a816ecdd1f8ca51fb756ef684b90f2780afc52fc67f987e3c61d800a46d/tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c", size = 242227, upload-time = "2026-03-25T20:21:15.712Z" }, + { url = "https://files.pythonhosted.org/packages/6b/49/2b2a0ef529aa6eec245d25f0c703e020a73955ad7edf73e7f54ddc608aa5/tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc", size = 247859, upload-time = "2026-03-25T20:21:17.001Z" }, + { url = "https://files.pythonhosted.org/packages/83/bd/6c1a630eaca337e1e78c5903104f831bda934c426f9231429396ce3c3467/tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049", size = 97204, upload-time = "2026-03-25T20:21:18.079Z" }, + { url = "https://files.pythonhosted.org/packages/42/59/71461df1a885647e10b6bb7802d0b8e66480c61f3f43079e0dcd315b3954/tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e", size = 108084, upload-time = "2026-03-25T20:21:18.978Z" }, + { url = "https://files.pythonhosted.org/packages/b8/83/dceca96142499c069475b790e7913b1044c1a4337e700751f48ed723f883/tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece", size = 95285, upload-time = "2026-03-25T20:21:20.309Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ba/42f134a3fe2b370f555f44b1d72feebb94debcab01676bf918d0cb70e9aa/tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a", size = 155924, upload-time = "2026-03-25T20:21:21.626Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c7/62d7a17c26487ade21c5422b646110f2162f1fcc95980ef7f63e73c68f14/tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085", size = 150018, upload-time = "2026-03-25T20:21:23.002Z" }, + { url = "https://files.pythonhosted.org/packages/5c/05/79d13d7c15f13bdef410bdd49a6485b1c37d28968314eabee452c22a7fda/tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9", size = 244948, upload-time = "2026-03-25T20:21:24.04Z" }, + { url = "https://files.pythonhosted.org/packages/10/90/d62ce007a1c80d0b2c93e02cab211224756240884751b94ca72df8a875ca/tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5", size = 253341, upload-time = "2026-03-25T20:21:25.177Z" }, + { url = "https://files.pythonhosted.org/packages/1a/7e/caf6496d60152ad4ed09282c1885cca4eea150bfd007da84aea07bcc0a3e/tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585", size = 248159, upload-time = "2026-03-25T20:21:26.364Z" }, + { url = "https://files.pythonhosted.org/packages/99/e7/c6f69c3120de34bbd882c6fba7975f3d7a746e9218e56ab46a1bc4b42552/tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1", size = 253290, upload-time = "2026-03-25T20:21:27.46Z" }, + { url = "https://files.pythonhosted.org/packages/d6/2f/4a3c322f22c5c66c4b836ec58211641a4067364f5dcdd7b974b4c5da300c/tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917", size = 98141, upload-time = "2026-03-25T20:21:28.492Z" }, + { url = "https://files.pythonhosted.org/packages/24/22/4daacd05391b92c55759d55eaee21e1dfaea86ce5c571f10083360adf534/tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9", size = 108847, upload-time = "2026-03-25T20:21:29.386Z" }, + { url = "https://files.pythonhosted.org/packages/68/fd/70e768887666ddd9e9f5d85129e84910f2db2796f9096aa02b721a53098d/tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257", size = 95088, upload-time = "2026-03-25T20:21:30.677Z" }, + { url = "https://files.pythonhosted.org/packages/07/06/b823a7e818c756d9a7123ba2cda7d07bc2dd32835648d1a7b7b7a05d848d/tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54", size = 155866, upload-time = "2026-03-25T20:21:31.65Z" }, + { url = "https://files.pythonhosted.org/packages/14/6f/12645cf7f08e1a20c7eb8c297c6f11d31c1b50f316a7e7e1e1de6e2e7b7e/tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a", size = 149887, upload-time = "2026-03-25T20:21:33.028Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e0/90637574e5e7212c09099c67ad349b04ec4d6020324539297b634a0192b0/tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897", size = 243704, upload-time = "2026-03-25T20:21:34.51Z" }, + { url = "https://files.pythonhosted.org/packages/10/8f/d3ddb16c5a4befdf31a23307f72828686ab2096f068eaf56631e136c1fdd/tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f", size = 251628, upload-time = "2026-03-25T20:21:36.012Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f1/dbeeb9116715abee2485bf0a12d07a8f31af94d71608c171c45f64c0469d/tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d", size = 247180, upload-time = "2026-03-25T20:21:37.136Z" }, + { url = "https://files.pythonhosted.org/packages/d3/74/16336ffd19ed4da28a70959f92f506233bd7cfc2332b20bdb01591e8b1d1/tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5", size = 251674, upload-time = "2026-03-25T20:21:38.298Z" }, + { url = "https://files.pythonhosted.org/packages/16/f9/229fa3434c590ddf6c0aa9af64d3af4b752540686cace29e6281e3458469/tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd", size = 97976, upload-time = "2026-03-25T20:21:39.316Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1e/71dfd96bcc1c775420cb8befe7a9d35f2e5b1309798f009dca17b7708c1e/tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36", size = 108755, upload-time = "2026-03-25T20:21:40.248Z" }, + { url = "https://files.pythonhosted.org/packages/83/7a/d34f422a021d62420b78f5c538e5b102f62bea616d1d75a13f0a88acb04a/tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd", size = 95265, upload-time = "2026-03-25T20:21:41.219Z" }, + { url = "https://files.pythonhosted.org/packages/3c/fb/9a5c8d27dbab540869f7c1f8eb0abb3244189ce780ba9cd73f3770662072/tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf", size = 155726, upload-time = "2026-03-25T20:21:42.23Z" }, + { url = "https://files.pythonhosted.org/packages/62/05/d2f816630cc771ad836af54f5001f47a6f611d2d39535364f148b6a92d6b/tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac", size = 149859, upload-time = "2026-03-25T20:21:43.386Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/66341bdb858ad9bd0ceab5a86f90eddab127cf8b046418009f2125630ecb/tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662", size = 244713, upload-time = "2026-03-25T20:21:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/df/6d/c5fad00d82b3c7a3ab6189bd4b10e60466f22cfe8a08a9394185c8a8111c/tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853", size = 252084, upload-time = "2026-03-25T20:21:45.62Z" }, + { url = "https://files.pythonhosted.org/packages/00/71/3a69e86f3eafe8c7a59d008d245888051005bd657760e96d5fbfb0b740c2/tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15", size = 247973, upload-time = "2026-03-25T20:21:46.937Z" }, + { url = "https://files.pythonhosted.org/packages/67/50/361e986652847fec4bd5e4a0208752fbe64689c603c7ae5ea7cb16b1c0ca/tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba", size = 256223, upload-time = "2026-03-25T20:21:48.467Z" }, + { url = "https://files.pythonhosted.org/packages/8c/9a/b4173689a9203472e5467217e0154b00e260621caa227b6fa01feab16998/tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6", size = 98973, upload-time = "2026-03-25T20:21:49.526Z" }, + { url = "https://files.pythonhosted.org/packages/14/58/640ac93bf230cd27d002462c9af0d837779f8773bc03dee06b5835208214/tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7", size = 109082, upload-time = "2026-03-25T20:21:50.506Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2f/702d5e05b227401c1068f0d386d79a589bb12bf64c3d2c72ce0631e3bc49/tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232", size = 96490, upload-time = "2026-03-25T20:21:51.474Z" }, + { url = "https://files.pythonhosted.org/packages/45/4b/b877b05c8ba62927d9865dd980e34a755de541eb65fffba52b4cc495d4d2/tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4", size = 164263, upload-time = "2026-03-25T20:21:52.543Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/6ab420d37a270b89f7195dec5448f79400d9e9c1826df982f3f8e97b24fd/tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c", size = 160736, upload-time = "2026-03-25T20:21:53.674Z" }, + { url = "https://files.pythonhosted.org/packages/02/e0/3630057d8eb170310785723ed5adcdfb7d50cb7e6455f85ba8a3deed642b/tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d", size = 270717, upload-time = "2026-03-25T20:21:55.129Z" }, + { url = "https://files.pythonhosted.org/packages/7a/b4/1613716072e544d1a7891f548d8f9ec6ce2faf42ca65acae01d76ea06bb0/tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41", size = 278461, upload-time = "2026-03-25T20:21:56.228Z" }, + { url = "https://files.pythonhosted.org/packages/05/38/30f541baf6a3f6df77b3df16b01ba319221389e2da59427e221ef417ac0c/tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c", size = 274855, upload-time = "2026-03-25T20:21:57.653Z" }, + { url = "https://files.pythonhosted.org/packages/77/a3/ec9dd4fd2c38e98de34223b995a3b34813e6bdadf86c75314c928350ed14/tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f", size = 283144, upload-time = "2026-03-25T20:21:59.089Z" }, + { url = "https://files.pythonhosted.org/packages/ef/be/605a6261cac79fba2ec0c9827e986e00323a1945700969b8ee0b30d85453/tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8", size = 108683, upload-time = "2026-03-25T20:22:00.214Z" }, + { url = "https://files.pythonhosted.org/packages/12/64/da524626d3b9cc40c168a13da8335fe1c51be12c0a63685cc6db7308daae/tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26", size = 121196, upload-time = "2026-03-25T20:22:01.169Z" }, + { url = "https://files.pythonhosted.org/packages/5a/cd/e80b62269fc78fc36c9af5a6b89c835baa8af28ff5ad28c7028d60860320/tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396", size = 100393, upload-time = "2026-03-25T20:22:02.137Z" }, + { url = "https://files.pythonhosted.org/packages/7b/61/cceae43728b7de99d9b847560c262873a1f6c98202171fd5ed62640b494b/tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe", size = 14583, upload-time = "2026-03-25T20:22:03.012Z" }, +] + +[[package]] +name = "truststore" +version = "0.10.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/a3/1585216310e344e8102c22482f6060c7a6ea0322b63e026372e6dcefcfd6/truststore-0.10.4.tar.gz", hash = "sha256:9d91bd436463ad5e4ee4aba766628dd6cd7010cf3e2461756b3303710eebc301", size = 26169, upload-time = "2025-08-12T18:49:02.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/97/56608b2249fe206a67cd573bc93cd9896e1efb9e98bce9c163bcdc704b88/truststore-0.10.4-py3-none-any.whl", hash = "sha256:adaeaecf1cbb5f4de3b1959b42d41f6fab57b2b1666adb59e89cb0b53361d981", size = 18660, upload-time = "2025-08-12T18:49:01.46Z" }, +] + +[[package]] +name = "ty" +version = "0.0.84" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/f6/34f8869c45ea87fe6a931ffa824b1fe4428167173543d92988d631add355/ty-0.0.84.tar.gz", hash = "sha256:0cefdb0cd5d399418dbe83c349ba605047b7dff815ae6f460c80e8522b40be67", size = 7409537, upload-time = "2026-09-24T13:16:24.367Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/0c/600648778e1c79133ce6b6a5c4c2531ae16b90c9b30f5041b38b574f61b8/ty-0.0.84-py3-none-linux_armv6l.whl", hash = "sha256:868438e2b9abfc835dd5b5b07ed693db95d8348ac40e3228252511d63ae87695", size = 13935333, upload-time = "2026-09-24T13:15:31.167Z" }, + { url = "https://files.pythonhosted.org/packages/c5/3b/27f06f49945c36170765fad82076898039ae3873338e9865f876dd62f12c/ty-0.0.84-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b00f39b521f0b559cde0f6abf8dd47213b513b04f33d58efeb9b98486a16bb17", size = 13511328, upload-time = "2026-09-24T13:15:34.446Z" }, + { url = "https://files.pythonhosted.org/packages/fc/b6/b12dd130e7f30141f0645614f454c925991cd389b1cc6c8284fd6bf32326/ty-0.0.84-py3-none-macosx_11_0_arm64.whl", hash = "sha256:8f78c2915567f2ee62ce0c24d86091bc76f81577677755e242d09951db588b9a", size = 13445445, upload-time = "2026-09-24T13:15:37.476Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/f012de4b3c1d9a4773326621380d768b4d48c47e620dc012775c5e01c7d7/ty-0.0.84-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61155cad0921e890d86d1d911a40b3a0e924ef4bdc3b4f3865a6c89c7e3012dc", size = 13471235, upload-time = "2026-09-24T13:15:40.64Z" }, + { url = "https://files.pythonhosted.org/packages/05/32/dca630f5f5353fa7bf67eebccf1549df99b16656d21071d0df6677c826a5/ty-0.0.84-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:417c3bf14947ed16b0b92976ab333c27915590354e96d4f581709068d3811355", size = 13680704, upload-time = "2026-09-24T13:15:43.817Z" }, + { url = "https://files.pythonhosted.org/packages/44/8d/33702c8f62f05ad45b33644fb914d483de6a0a7bc8e51884e9b8773e6d69/ty-0.0.84-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e06ef117759f654f5379efe9ae79bda8a186016c016f1023d05c34f8e15c1546", size = 14518923, upload-time = "2026-09-24T13:15:46.802Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a1/da3246e6ef2ae0e842bca4058b25c54bee55ab058ffff4ee54e72517ec01/ty-0.0.84-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a05d1d53db8b64410ab38c6e32c5898510584869d1d5dd9c0605db81c9aef7df", size = 15027731, upload-time = "2026-09-24T13:15:49.755Z" }, + { url = "https://files.pythonhosted.org/packages/20/17/b0099098a560aeb4f9fde6c912f9a81622c3e44e6555e1fbe322b368ec31/ty-0.0.84-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b92400494ab855cfb1204ac1101e3f53b2d09a8e21d171758b2cf9acdab1809e", size = 14748260, upload-time = "2026-09-24T13:15:52.713Z" }, + { url = "https://files.pythonhosted.org/packages/60/d5/32cd67aedb271f006e716ad093806c96c5d7e2af86be8255469dbd3d76c8/ty-0.0.84-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af17eb391ae3027fed9be1780bea555c2b8a25ba68e184c627b4981b2c9eaab7", size = 14205858, upload-time = "2026-09-24T13:15:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/43/c4/638ac62ca2e8eca1b92e3e16273085744fada728b993500819b5c258ca15/ty-0.0.84-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:44cf06af0e7ec78ea6d8ff33a3450fc19627756a4fba681f7410d4e3ef63047a", size = 14573196, upload-time = "2026-09-24T13:15:59.165Z" }, + { url = "https://files.pythonhosted.org/packages/a6/f6/9ee81c5d8921e5fd5f10889ae563c95cd3272b31df2ada528919ca1cef6b/ty-0.0.84-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c6e56b443ff9ba462e34bfbc1e582004c2719ed35f8f93a433744b0ba0afb2d9", size = 13480760, upload-time = "2026-09-24T13:16:02.313Z" }, + { url = "https://files.pythonhosted.org/packages/f6/83/fbe5d1177667ae16d84c3242846b143809c9cc09568b333e5a9b4d5908f6/ty-0.0.84-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8b6562fcc48820c1030e2a4509ef2c14ef93043ca4860280074314ac3a825b95", size = 13696346, upload-time = "2026-09-24T13:16:05.391Z" }, + { url = "https://files.pythonhosted.org/packages/86/9a/1b4ac9ddc34cc0ab4624bc219825d66af52f1ad87f4778ad08ad03fa06d5/ty-0.0.84-py3-none-musllinux_1_2_i686.whl", hash = "sha256:dee7421451efcbd70f03e95a8f2c8d9e5ec3d35edcd27b4095ee00ee062abfc4", size = 13959410, upload-time = "2026-09-24T13:16:08.661Z" }, + { url = "https://files.pythonhosted.org/packages/c9/04/70e289437a67dfd686056ab4fd91880261a8233033a6a95d29393741fb97/ty-0.0.84-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:31e96307cf621babe969307dd657783d672e2d8bdbd06493710da635bf63fa07", size = 14350294, upload-time = "2026-09-24T13:16:11.865Z" }, + { url = "https://files.pythonhosted.org/packages/9c/f4/ae7dbd118425c850981d23efb850f0d9d7f6b8d2b852bde2767434f668b4/ty-0.0.84-py3-none-win32.whl", hash = "sha256:4bdc85f91cbaae35825f2b17bb4ac5de0563367875cb0f42b2bf07a1bf7ff2ba", size = 13176439, upload-time = "2026-09-24T13:16:15.049Z" }, + { url = "https://files.pythonhosted.org/packages/29/ec/994d87252f065dda5a500bc8afc726d18f6582d81d6f4ff1feb8a267c800/ty-0.0.84-py3-none-win_amd64.whl", hash = "sha256:71cc9aa7a7c89d4e12c6a814e9c0c3310ad5bee44efedbd6f5a42d91e9ac0f0d", size = 13962879, upload-time = "2026-09-24T13:16:18.191Z" }, + { url = "https://files.pythonhosted.org/packages/6d/1c/e6e91852b72566b1ab9aca504712857dfb89324c12092a5bd61d42d34427/ty-0.0.84-py3-none-win_arm64.whl", hash = "sha256:6c9d3718c4a0d318bc9c92af9b2aa85c3294e7dff54cf1d69ad79568f56516da", size = 13656453, upload-time = "2026-09-24T13:16:21.51Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", size = 113555, upload-time = "2026-07-02T08:40:05.92Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" }, +] + +[[package]] +name = "virtualenv" +version = "21.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, + { name = "python-discovery" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/3b/02608bb39c6b6f7d59ca62b04d704cf61e85361a7123b6394bca275661e1/virtualenv-21.12.1.tar.gz", hash = "sha256:be5a0a62cb2d1529ff6999652e2e7826f95bf7faa9b96b88cc39847c023d90a0", size = 5397187, upload-time = "2026-09-24T19:03:48.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/8c/692cf235722ee45c612630d2b49b3d1765892f7e440055365ea1b59c659e/virtualenv-21.12.1-py3-none-any.whl", hash = "sha256:878db9e963d0ef0b38561a344a4f9b12dc5c7741b6245d7ed10e9291cfea28bc", size = 5486096, upload-time = "2026-09-24T19:03:45.985Z" }, +] From 0ed64ff73aa5e3356ce6e463af3b59136807f0a2 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 14:11:12 +0200 Subject: [PATCH 06/26] Refactor allocine into focused modules --- allocine/__init__.py | 695 +++------------------------------- allocine/api.py | 204 ++++++++++ seances.py => allocine/cli.py | 18 +- allocine/models.py | 282 ++++++++++++++ allocine/schedules.py | 162 ++++++++ pyproject.toml | 4 +- 6 files changed, 707 insertions(+), 658 deletions(-) create mode 100644 allocine/api.py rename seances.py => allocine/cli.py (89%) create mode 100644 allocine/models.py create mode 100644 allocine/schedules.py diff --git a/allocine/__init__.py b/allocine/__init__.py index 328ea6f..04b18a3 100644 --- a/allocine/__init__.py +++ b/allocine/__init__.py @@ -1,648 +1,57 @@ -# -*- coding: utf-8 -*- - """Top-level package for Allociné.""" -import logging -import re -import unicodedata -from collections import OrderedDict -from dataclasses import dataclass -from datetime import date as Date -from datetime import datetime, timedelta -from datetime import time as Time -from typing import List, Optional, Tuple - -import backoff -import httpx2 -import jmespath - -from allocine import nationalities - -__author__ = """Thibault Ducret""" +from allocine.api import BASE_URL, DEFAULT_DATE_FORMAT, PARTNER_KEY, Allocine, Client, Error503, SingletonMeta +from allocine.models import ( + Movie, + MovieVersion, + Schedule, + Showtime, + Theater, + day_str, + get_french_month, + get_hour_short_str, + short_day_str, + to_french_short_weekday, + to_french_weekday, +) +from allocine.schedules import ( + build_program_str, + build_weekly_schedule_str, + check_schedules_within_week, + create_weekdays_str, + get_available_dates, + get_showtimes_of_a_day, + group_showtimes_per_schedule, +) + +__author__ = "Thibault Ducret" __email__ = "hello@tducret.com" __version__ = "0.0.12" -DEFAULT_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" -BASE_URL = "http://api.allocine.fr/rest/v3" -PARTNER_KEY = "000042532791" - -logger = logging.getLogger(__name__) - - -# === Models === -@dataclass -class Movie: - movie_id: int - title: str - original_title: str - rating: Optional[float] - duration: Optional[timedelta] - genres: str - countries: List[str] - directors: str - actors: str - synopsis: str - year: int - - @property - def duration_str(self): - if self.duration is not None: - return _strfdelta(self.duration, "{hours:02d}h{minutes:02d}") - else: - return "HH:MM" - - @property - def duration_short_str(self) -> str: - if self.duration is not None: - return _strfdelta(self.duration, "{hours:d}h{minutes:02d}") - else: - return "NA" - - @property - def rating_str(self): - return "{0:.1f}".format(self.rating) if self.rating else "" - - @property - def nationalities(self): - """Return the nationality tuples, from the movie countries. - Example: if self.countries = ['France'] => [('français', 'française')] - """ - if self.countries: - nationality_tuples = [] - for country_name in self.countries: - normalized_country_name = _strip_accents(country_name).lower() - country_code = nationalities.countries.get(normalized_country_name) - - if country_code is not None: - nationality_tuples.append(nationalities.nationalities[country_code]) - else: - logger.warning(f"Country {country_name!r} not found in nationalities") - nationality_tuples.append((f"de {country_name}", f"de {country_name}")) - return nationality_tuples - else: - return None - - def __str__(self): - return f"{self.title} [{self.movie_id}] ({self.duration_str})" - - def __eq__(self, other): - return (self.movie_id) == (other.movie_id) - - def __hash__(self): - """This function allows us - to do a set(list_of_Movie_objects)""" - return hash(self.movie_id) - - -@dataclass -class MovieVersion(Movie): - language: str - screen_format: str - - @property - def version(self): - version = "VF" if self.language == "Français" else "VOST" - if self.screen_format != "Numérique": - version += f" {self.screen_format}" - return version - - def get_movie(self): - return Movie( - movie_id=self.movie_id, - title=self.title, - rating=self.rating, - duration=self.duration, - original_title=self.original_title, - year=self.year, - genres=self.genres, - countries=self.countries, - directors=self.directors, - actors=self.actors, - synopsis=self.synopsis, - ) - - def __str__(self): - movie_str = super().__str__() - return f"{movie_str} ({self.version})" - - def __eq__(self, other): - return (self.movie_id, self.version) == (other.movie_id, other.version) - - def __hash__(self): - """This function allows us - to do a set(list_of_MovieVersion_objects)""" - return hash((self.movie_id, self.version)) - - -@dataclass -class Schedule: - date_time: datetime - - @property - def date(self) -> Date: - return self.date_time.date() - - @property - def hour(self) -> Time: - return self.date_time.time() - - @property - def hour_str(self) -> str: - return self.date_time.strftime("%H:%M") - - @property - def hour_short_str(self) -> str: - return get_hour_short_str(self.hour) - - @property - def date_str(self) -> str: - return self.date_time.strftime("%d/%m/%Y %H:%M") - - @property - def day_str(self) -> str: - return day_str(self.date) - - @property - def short_day_str(self) -> str: - return short_day_str(self.date) - - -def get_hour_short_str(hour: Time) -> str: - # Ex: 9h, 11h, 23h30 - # Minus in '%-H' removes the leading 0 - return hour.strftime("%-Hh%M").replace("h00", "h") - - -@dataclass -class Showtime(Schedule): - movie: MovieVersion - - def __str__(self): - return f"{self.date_str} : {self.movie}" - - -def day_str(date: Date) -> str: - return to_french_weekday(date.weekday()) - - -def to_french_weekday(weekday: int) -> str: - DAYS = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"] - return DAYS[weekday] - - -def get_french_month(month_number: int) -> str: - MONTHS = [ - "Janvier", - "Février", - "Mars", - "Avril", - "Mai", - "Juin", - "Juillet", - "Août", - "Septembre", - "Octobre", - "Novembre", - "Décembre", - ] - return MONTHS[month_number - 1] - - -def to_french_short_weekday(weekday: int) -> str: - return to_french_weekday(weekday)[:3] - - -def short_day_str(date: Date) -> str: - return day_str(date)[:3] - - -@dataclass -class Theater: - theater_id: str - name: str - showtimes: List[Showtime] - address: str - zipcode: str - city: str - - @property - def address_str(self): - address_str = f"{self.address}, " if self.address else "" - address_str += f"{self.zipcode} {self.city}" - return address_str - - def get_showtimes_of_a_movie(self, movie_version: MovieVersion, date: Optional[Date] = None): - movie_showtimes = [showtime for showtime in self.showtimes if showtime.movie == movie_version] - if date: - return [showtime for showtime in movie_showtimes if showtime.date == date] - else: - return movie_showtimes - - def get_showtimes_of_a_day(self, date: Date): - return get_showtimes_of_a_day(showtimes=self.showtimes, date=date) - - def get_movies_available_for_a_day(self, date: Date): - """Returns a list of movies available on a specified day""" - movies = [showtime.movie for showtime in self.get_showtimes_of_a_day(date)] - return list(set(movies)) - - def get_showtimes_per_movie_version(self): - movies = {} - for showtime in self.showtimes: - if movies.get(showtime.movie) is None: - movies[showtime.movie] = [] - movies[showtime.movie].append(showtime) - return movies - - def get_showtimes_per_movie(self): - movies = {} - for showtime in self.showtimes: - movie = showtime.movie.get_movie() # Without language nor screen_format - if movies.get(movie) is None: - movies[movie] = [] - movies[movie].append(showtime) - return movies - - def get_program_per_movie(self): - program_per_movie = {} - for movie, showtimes in self.get_showtimes_per_movie().items(): - program_per_movie[movie] = build_program_str(showtimes=showtimes) - return program_per_movie - - def filter_showtimes(self, date_min: Optional[Date] = None, date_max: Optional[Date] = None): - if date_min: - self.showtimes = [s for s in self.showtimes if s.date >= date_min] - if date_max: - self.showtimes = [s for s in self.showtimes if s.date <= date_max] - - def __eq__(self, other): - return (self.theater_id) == (other.theater_id) - - def __hash__(self): - """This function allows us to do a set(list_of_Theaters_objects)""" - return hash(self.theater_id) - - -# == Utils == -def get_available_dates(showtimes: List[Showtime]): - dates = [s.date for s in showtimes] - return sorted(list(set(dates))) - - -def group_showtimes_per_schedule(showtimes: List[Showtime]): - showtimes_per_date = {} - available_dates = get_available_dates(showtimes=showtimes) - for available_date in available_dates: - showtimes_per_date[available_date] = get_showtimes_of_a_day(showtimes=showtimes, date=available_date) - - grouped_showtimes = {} - for available_date in available_dates: - hours = [s.hour_short_str for s in showtimes_per_date[available_date]] - hours_str = ", ".join(hours) - if grouped_showtimes.get(hours_str) is None: - grouped_showtimes[hours_str] = [] - grouped_showtimes[hours_str].append(available_date) - return grouped_showtimes - - -def build_program_str(showtimes: List[Showtime]): - schedules = [Schedule(s.date_time) for s in showtimes] - return build_weekly_schedule_str(schedules) - - -def check_schedules_within_week(schedule_list: List[Schedule]) -> bool: - schedule_dates = [s.date for s in schedule_list] - min_date = min(schedule_dates) - max_date = max(schedule_dates) - delta = max_date - min_date - if delta >= timedelta(days=7): - raise ValueError("Schedule list contains more days than the typical movie week") - # Check that the week is not from Mon/Tue to Wed/Thu/Fri/Sat/Sun - # because a typical week is from Wed to Tue - # but we need to handle the case of a schedule_list with only a few day - # ex: Wed, Mon = OK ; Tue = OK ; Mon, Wed : NOK - MONDAY = 0 - TUESDAY = 1 - WEDNESDAY = 2 - if delta > timedelta(days=0): - if (min_date.weekday() == MONDAY and max_date.weekday() >= WEDNESDAY) or (min_date.weekday() == TUESDAY): - raise ValueError("Schedule list should not start before wednesday or end after tuesday") - - return True - - -def create_weekdays_str(dates: List[Date]) -> str: - """ - Returns a compact string from a list of dates. - Examples: - - [0,1] -> 'Lun, Mar' - - [0,1,2,3,4] -> 'sf Sam, Dim' - - [0,1,2,3,4,5,6] -> '' # Everyday is empty string - - [0,2] -> 'Mer, Lun' # And not 'Lun, Mer' because we sort chrologically - """ - FULL_WEEK = range(0, 7) - unique_dates = sorted(list(set(dates))) - week_days = [d.weekday() for d in unique_dates] - - if len(unique_dates) == 7: - return "" - elif len(unique_dates) <= 4: - return ", ".join([to_french_short_weekday(d) for d in week_days]) - else: - missing_days = list(set(week_days).symmetric_difference(FULL_WEEK)) - return "sf {}".format(", ".join([to_french_short_weekday(d) for d in missing_days])) - - -def __get_time_weight_in_list(item: Tuple[str, List[Time]]) -> timedelta: - """Returns the minimum time weight from the time list contained in the dict values - ex: {'key': [time(hour=12), time(hour=9)]} => timedelta(hour=9) - """ - weights = [__get_time_weight(t) for t in item[1]] - return min(weights) - - -def __get_time_weight(t: Time) -> timedelta: - """Return a timedelta taking into account night time. - Basically, it allows to sort a list of times 18h>23h>0h30 - and not 0h30>18h>23h - """ - _NIGHT_TIME = [Time(hour=0), Time(hour=5)] - delta = timedelta(hours=t.hour, minutes=t.minute) - if t >= min(_NIGHT_TIME) and t <= max(_NIGHT_TIME): - delta += timedelta(days=1) - return delta - - -def build_weekly_schedule_str(schedule_list: List[Schedule]) -> str: - check_schedules_within_week(schedule_list) - - _hours_hashmap = {} # ex: {16h: [Lun, Mar], 17h: [Lun], 17h30: [Lun]} - _grouped_date_hashmap = {} # ex: {[Lun]: [16h, 17h30], [Lun, Mar]: [17h]} - - for s in schedule_list: - if _hours_hashmap.get(s.hour) is None: - _hours_hashmap[s.hour] = [] - _hours_hashmap[s.hour].append(s.date) - - for hour, grouped_dates in _hours_hashmap.items(): - grouped_dates_str = create_weekdays_str(grouped_dates) - if _grouped_date_hashmap.get(grouped_dates_str) is None: - _grouped_date_hashmap[grouped_dates_str] = [] - _grouped_date_hashmap[grouped_dates_str].append(hour) - - # Then sort it chronologically - for grouped_dates_str, hours in _grouped_date_hashmap.items(): - # Sort the hours inside - hours = list(set(hours)) - hours.sort() - _grouped_date_hashmap[grouped_dates_str] = hours - - grouped_date_hashmap = OrderedDict() - _grouped_date_hashmap = sorted(_grouped_date_hashmap.items(), key=__get_time_weight_in_list) - grouped_date_hashmap = OrderedDict(_grouped_date_hashmap) - - hours_hashmap = OrderedDict() - for t in sorted(_hours_hashmap.keys(), key=__get_time_weight): - hours_hashmap[t] = _hours_hashmap.get(t) - - different_showtimes = len(grouped_date_hashmap) - - # True if at least one schedule is available everyday - some_schedules_available_everyday = grouped_date_hashmap.get("") is not None - - weekly_schedule = "" - - if some_schedules_available_everyday: - for hour, grouped_dates in hours_hashmap.items(): - hour_str = get_hour_short_str(hour) - grouped_dates_str = create_weekdays_str(grouped_dates) - if grouped_dates_str: - weekly_schedule += f"{hour_str} ({grouped_dates_str}), " - else: # Available everyday - weekly_schedule += f"{hour_str}, " - else: - for grouped_dates, hours in grouped_date_hashmap.items(): - hours_str = ", ".join([get_hour_short_str(h) for h in hours]) - if different_showtimes == 1: - weekly_schedule += f"{grouped_dates} {hours_str}, " - else: - if some_schedules_available_everyday: - weekly_schedule += f"{hours_str} ({grouped_dates}), " - else: - weekly_schedule += f"{grouped_dates} {hours_str}; " - - if weekly_schedule: - weekly_schedule = weekly_schedule[:-2] # Remove trailing comma - return weekly_schedule - - -def get_showtimes_of_a_day(showtimes: List[Showtime], *, date: Date): - return [showtime for showtime in showtimes if showtime.date == date] - - -# === Main class === -class Allocine: - def __init__(self, base_url=BASE_URL): - self.__client = Client(base_url=base_url) - self.__movie_store = {} # Dict to store the movie info (and avoid useless requests) - - def get_theater(self, theater_id: str): - ret = self.__client.get_showtimelist_by_theater_id(theater_id=theater_id) - if jmespath.search("feed.totalResults", ret) == 0: - raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") - - theaters = self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret) - if len(theaters) != 1: - raise ValueError("Expecting 1 theater but received {}".format(len(theaters))) - - return theaters[0] - - def __get_theaters_from_raw_showtimelist(self, raw_showtimelist: dict, distance_max_inclusive: int = 0): - theaters = [] - for theater_showtime in jmespath.search("feed.theaterShowtimes", raw_showtimelist): - raw_theater = jmespath.search("place.theater", theater_showtime) - - if raw_theater.get("distance") is not None: - # distance is not present when theater ids were used for search - if raw_theater.get("distance") > distance_max_inclusive: - # Skip theaters that are above the max distance specified - continue - - raw_showtimes = jmespath.search("movieShowtimes", theater_showtime) - showtimes = self.__parse_showtimes(raw_showtimes=raw_showtimes) - theater = Theater( - theater_id=raw_theater.get("code"), - name=raw_theater.get("name"), - address=raw_theater.get("address"), - zipcode=raw_theater.get("postalCode"), - city=raw_theater.get("city"), - showtimes=showtimes, - ) - theaters.append(theater) - return theaters - - def search_theaters(self, geocode: int): - theaters = [] - page = 1 - while True: - ret = self.__client.get_showtimelist_from_geocode(geocode=geocode, page=page) - total_results = jmespath.search("feed.totalResults", ret) - if total_results == 0: - raise ValueError(f"Theater not found. Is geocode {geocode!r} correct?") - - theaters_to_parse = jmespath.search("feed.theaterShowtimes", ret) - if theaters_to_parse: - theaters += self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret, distance_max_inclusive=0) - page += 1 - else: - break - - return theaters - - def __parse_showtimes(self, raw_showtimes: dict): - showtimes = [] - for s in raw_showtimes: - raw_movie = jmespath.search("onShow.movie", s) - language = jmespath.search('version."$"', s) - screen_format = jmespath.search('screenFormat."$"', s) - duration = raw_movie.get("runtime") - duration_obj = timedelta(seconds=duration) if duration else None - - rating = jmespath.search("statistics.userRating", raw_movie) - try: - rating = float(rating) - except (ValueError, TypeError): - rating = None - - movie_id = raw_movie.get("code") - movie_info = self.get_movie_info(movie_id) - countries = jmespath.search('nationality[]."$"', movie_info) - year = movie_info.get("productionYear") - if year: - year = int(year) - movie = MovieVersion( - movie_id=movie_id, - title=raw_movie.get("title"), - rating=rating, - language=language, - screen_format=screen_format, - synopsis=_clean_synopsis(movie_info.get("synopsis")), - original_title=movie_info.get("originalTitle"), - year=year, - countries=countries, - genres=", ".join(jmespath.search('genre[]."$"', movie_info)), - directors=jmespath.search("castingShort.directors", movie_info), - actors=jmespath.search("castingShort.actors", movie_info), - duration=duration_obj, - ) - for showtimes_of_day in s.get("scr") or []: - day = showtimes_of_day.get("d") - for one_showtime in showtimes_of_day.get("t"): - datetime_str = "{}T{}:00".format(day, one_showtime.get("$")) - datetime_obj = _str_datetime_to_datetime_obj(datetime_str) - showtime = Showtime( - date_time=datetime_obj, - movie=movie, - ) - showtimes.append(showtime) - return showtimes - - def get_movie_info(self, movie_id: int): - movie_info = self.__movie_store.get(movie_id) - if movie_info is None: - movie_info = self.__client.get_movie_info_by_id(movie_id).get("movie") - self.__movie_store[movie_id] = movie_info - return movie_info - - -# === Client to execute requests with Allociné APIs === -class SingletonMeta(type): - _instance = None - - def __call__(self, *args, **kwargs): - if self._instance is None: - self._instance = super().__call__(*args, **kwargs) - return self._instance - - -class Error503(Exception): - pass - - -class Client(metaclass=SingletonMeta): - """Client to process the requests with allocine APIs. - This is a singleton to avoid the creation of a new session for every theater. - """ - - def __init__(self, base_url): - self.base_url = base_url - headers = { - "User-Agent": "Mozilla/5.0 (Macintosh; \ - Intel Mac OS X 10.14; rv:63.0) \ - Gecko/20100101 Firefox/63.0", - } - self.session = httpx2.Client(headers=headers, timeout=None) - - @backoff.on_exception(backoff.expo, Error503, max_tries=5, max_time=30) - def _get(self, url: str, expected_status: int = 200, *args, **kwargs): - ret = self.session.get(url, *args, **kwargs) - if ret.status_code != expected_status: - if ret.status_code == 503: - raise Error503 - raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) - return ret.json() - - def get_showtimelist_by_theater_id(self, theater_id: str, page: int = 1, count: int = 10): - url = ( - f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" - f"&theaters={theater_id}&page={page}&count={count}" - ) - return self._get(url=url) - - def get_theater_info_by_id(self, theater_id: str): - url = f"{self.base_url}/theater?partner={PARTNER_KEY}&format=json&code={theater_id}" - return self._get(url=url) - - def get_showtimelist_from_geocode(self, geocode: int, page: int = 1, count: int = 10): - url = ( - f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" - f"&geocode={geocode}&page={page}&count={count}" - ) - return self._get(url=url) - - def get_movie_info_by_id(self, movie_id: int): - url = f"{self.base_url}/movie?partner={PARTNER_KEY}&format=json&code={movie_id}" - return self._get(url=url) - - -def _strfdelta(tdelta, fmt): - """Format a timedelta object""" - # Thanks to https://stackoverflow.com/questions/8906926 - d = {"days": tdelta.days} - d["hours"], rem = divmod(tdelta.seconds, 3600) - d["minutes"], d["seconds"] = divmod(rem, 60) - return fmt.format(**d) - - -def _str_datetime_to_datetime_obj(datetime_str, date_format=DEFAULT_DATE_FORMAT): - return datetime.strptime(datetime_str, date_format) - - -def _cleanhtml(raw_html): - cleanr = re.compile("<.*?>") - cleantext = re.sub(cleanr, "", raw_html) - return cleantext - - -def _clean_synopsis(raw_synopsis): - if raw_synopsis is None: - return None - - synopsis = _cleanhtml(raw_synopsis) # Remove HTML tags (ex: ) - synopsis = synopsis.replace("\xa0", " ") - return unicodedata.normalize("NFKD", synopsis) - - -def _strip_accents(s): - # https://stackoverflow.com/a/518232/8748757 - return "".join(c for c in unicodedata.normalize("NFD", s) if unicodedata.category(c) != "Mn") +__all__ = [ + "Allocine", + "BASE_URL", + "Client", + "DEFAULT_DATE_FORMAT", + "Error503", + "Movie", + "MovieVersion", + "PARTNER_KEY", + "Schedule", + "SingletonMeta", + "Showtime", + "Theater", + "build_program_str", + "build_weekly_schedule_str", + "check_schedules_within_week", + "create_weekdays_str", + "day_str", + "get_available_dates", + "get_french_month", + "get_hour_short_str", + "get_showtimes_of_a_day", + "group_showtimes_per_schedule", + "short_day_str", + "to_french_short_weekday", + "to_french_weekday", +] diff --git a/allocine/api.py b/allocine/api.py new file mode 100644 index 0000000..bcde7a4 --- /dev/null +++ b/allocine/api.py @@ -0,0 +1,204 @@ +import re +import unicodedata +from datetime import datetime, timedelta + +import backoff +import httpx2 +import jmespath + +from allocine.models import MovieVersion, Showtime, Theater + +DEFAULT_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" +BASE_URL = "http://api.allocine.fr/rest/v3" +PARTNER_KEY = "000042532791" + + +class Allocine: + def __init__(self, base_url=BASE_URL): + self.__client = Client(base_url=base_url) + self.__movie_store = {} # Dict to store the movie info (and avoid useless requests) + + def get_theater(self, theater_id: str): + ret = self.__client.get_showtimelist_by_theater_id(theater_id=theater_id) + if jmespath.search("feed.totalResults", ret) == 0: + raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") + + theaters = self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret) + if len(theaters) != 1: + raise ValueError("Expecting 1 theater but received {}".format(len(theaters))) + + return theaters[0] + + def __get_theaters_from_raw_showtimelist(self, raw_showtimelist: dict, distance_max_inclusive: int = 0): + theaters = [] + for theater_showtime in jmespath.search("feed.theaterShowtimes", raw_showtimelist): + raw_theater = jmespath.search("place.theater", theater_showtime) + + if raw_theater.get("distance") is not None: + # distance is not present when theater ids were used for search + if raw_theater.get("distance") > distance_max_inclusive: + # Skip theaters that are above the max distance specified + continue + + raw_showtimes = jmespath.search("movieShowtimes", theater_showtime) + showtimes = self.__parse_showtimes(raw_showtimes=raw_showtimes) + theater = Theater( + theater_id=raw_theater.get("code"), + name=raw_theater.get("name"), + address=raw_theater.get("address"), + zipcode=raw_theater.get("postalCode"), + city=raw_theater.get("city"), + showtimes=showtimes, + ) + theaters.append(theater) + return theaters + + def search_theaters(self, geocode: int): + theaters = [] + page = 1 + while True: + ret = self.__client.get_showtimelist_from_geocode(geocode=geocode, page=page) + total_results = jmespath.search("feed.totalResults", ret) + if total_results == 0: + raise ValueError(f"Theater not found. Is geocode {geocode!r} correct?") + + theaters_to_parse = jmespath.search("feed.theaterShowtimes", ret) + if theaters_to_parse: + theaters += self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret, distance_max_inclusive=0) + page += 1 + else: + break + return theaters + + def __parse_showtimes(self, raw_showtimes: dict): + showtimes = [] + for showtime_data in raw_showtimes: + raw_movie = jmespath.search("onShow.movie", showtime_data) + language = jmespath.search('version."$"', showtime_data) + screen_format = jmespath.search('screenFormat."$"', showtime_data) + duration = raw_movie.get("runtime") + duration_obj = timedelta(seconds=duration) if duration else None + + rating = jmespath.search("statistics.userRating", raw_movie) + try: + rating = float(rating) + except (ValueError, TypeError): + rating = None + + movie_id = raw_movie.get("code") + movie_info = self.get_movie_info(movie_id) + countries = jmespath.search('nationality[]."$"', movie_info) + year = movie_info.get("productionYear") + if year: + year = int(year) + movie = MovieVersion( + movie_id=movie_id, + title=raw_movie.get("title"), + rating=rating, + language=language, + screen_format=screen_format, + synopsis=_clean_synopsis(movie_info.get("synopsis")), + original_title=movie_info.get("originalTitle"), + year=year, + countries=countries, + genres=", ".join(jmespath.search('genre[]."$"', movie_info)), + directors=jmespath.search("castingShort.directors", movie_info), + actors=jmespath.search("castingShort.actors", movie_info), + duration=duration_obj, + ) + for showtimes_of_day in showtime_data.get("scr") or []: + day = showtimes_of_day.get("d") + for one_showtime in showtimes_of_day.get("t"): + datetime_str = "{}T{}:00".format(day, one_showtime.get("$")) + datetime_obj = _str_datetime_to_datetime_obj(datetime_str) + showtime = Showtime( + date_time=datetime_obj, + movie=movie, + ) + showtimes.append(showtime) + return showtimes + + def get_movie_info(self, movie_id: int): + movie_info = self.__movie_store.get(movie_id) + if movie_info is None: + movie_info = self.__client.get_movie_info_by_id(movie_id).get("movie") + self.__movie_store[movie_id] = movie_info + return movie_info + + +class SingletonMeta(type): + _instance = None + + def __call__(self, *args, **kwargs): + if self._instance is None: + self._instance = super().__call__(*args, **kwargs) + return self._instance + + +class Error503(Exception): + pass + + +class Client(metaclass=SingletonMeta): + """Client to process the requests with allocine APIs. + This is a singleton to avoid the creation of a new session for every theater. + """ + + def __init__(self, base_url): + self.base_url = base_url + headers = { + "User-Agent": "Mozilla/5.0 (Macintosh; \ + Intel Mac OS X 10.14; rv:63.0) \ + Gecko/20100101 Firefox/63.0", + } + self.session = httpx2.Client(headers=headers, timeout=None) + + @backoff.on_exception(backoff.expo, Error503, max_tries=5, max_time=30) + def _get(self, url: str, expected_status: int = 200, *args, **kwargs): + ret = self.session.get(url, *args, **kwargs) + if ret.status_code != expected_status: + if ret.status_code == 503: + raise Error503 + raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) + return ret.json() + + def get_showtimelist_by_theater_id(self, theater_id: str, page: int = 1, count: int = 10): + url = ( + f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" + f"&theaters={theater_id}&page={page}&count={count}" + ) + return self._get(url=url) + + def get_theater_info_by_id(self, theater_id: str): + url = f"{self.base_url}/theater?partner={PARTNER_KEY}&format=json&code={theater_id}" + return self._get(url=url) + + def get_showtimelist_from_geocode(self, geocode: int, page: int = 1, count: int = 10): + url = ( + f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" + f"&geocode={geocode}&page={page}&count={count}" + ) + return self._get(url=url) + + def get_movie_info_by_id(self, movie_id: int): + url = f"{self.base_url}/movie?partner={PARTNER_KEY}&format=json&code={movie_id}" + return self._get(url=url) + + +def _str_datetime_to_datetime_obj(datetime_str, date_format=DEFAULT_DATE_FORMAT): + return datetime.strptime(datetime_str, date_format) + + +def _cleanhtml(raw_html): + cleanr = re.compile("<.*?>") + cleantext = re.sub(cleanr, "", raw_html) + return cleantext + + +def _clean_synopsis(raw_synopsis): + if raw_synopsis is None: + return None + + synopsis = _cleanhtml(raw_synopsis) # Remove HTML tags (ex: ) + synopsis = synopsis.replace("\xa0", " ") + return unicodedata.normalize("NFKD", synopsis) diff --git a/seances.py b/allocine/cli.py similarity index 89% rename from seances.py rename to allocine/cli.py index 6870d2a..76ee03d 100644 --- a/seances.py +++ b/allocine/cli.py @@ -1,28 +1,20 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -"""CLI tool for allocine""" +"""Command-line interface for Allociné showtimes.""" from datetime import date, datetime, timedelta import click from prettytable import ALL, FRAME, UNICODE, PrettyTable -from allocine import Allocine - -# Usage : seances.py --help +from allocine.api import Allocine def extract_field_names(dict_list): - """Returns a sorted list of field names from a dictionary list - > extract_field_names([{'a': 1, 'b': 2}, {'a': 3, 'c': 4}]) - ['a', 'b', 'c'] - """ + """Return a sorted list of field names from a dictionary list.""" field_names = [] for row_dict in dict_list: field_names += row_dict.keys() - field_names = list(set(field_names)) # Removes duplicates - return sorted(field_names) # sort it in ascending order + field_names = list(set(field_names)) + return sorted(field_names) @click.command() diff --git a/allocine/models.py b/allocine/models.py new file mode 100644 index 0000000..e5a8bc9 --- /dev/null +++ b/allocine/models.py @@ -0,0 +1,282 @@ +import logging +import unicodedata +from dataclasses import dataclass +from datetime import date as Date +from datetime import datetime, timedelta +from datetime import time as Time +from typing import List, Optional + +from allocine import nationalities + +logger = logging.getLogger(__name__) + + +@dataclass +class Movie: + movie_id: int + title: str + original_title: str + rating: Optional[float] + duration: Optional[timedelta] + genres: str + countries: List[str] + directors: str + actors: str + synopsis: str + year: int + + @property + def duration_str(self): + if self.duration is not None: + return _strfdelta(self.duration, "{hours:02d}h{minutes:02d}") + else: + return "HH:MM" + + @property + def duration_short_str(self) -> str: + if self.duration is not None: + return _strfdelta(self.duration, "{hours:d}h{minutes:02d}") + else: + return "NA" + + @property + def rating_str(self): + return "{0:.1f}".format(self.rating) if self.rating else "" + + @property + def nationalities(self): + """Return the nationality tuples, from the movie countries. + Example: if self.countries = ['France'] => [('français', 'française')] + """ + if self.countries: + nationality_tuples = [] + for country_name in self.countries: + normalized_country_name = _strip_accents(country_name).lower() + country_code = nationalities.countries.get(normalized_country_name) + + if country_code is not None: + nationality_tuples.append(nationalities.nationalities[country_code]) + else: + logger.warning(f"Country {country_name!r} not found in nationalities") + nationality_tuples.append((f"de {country_name}", f"de {country_name}")) + return nationality_tuples + else: + return None + + def __str__(self): + return f"{self.title} [{self.movie_id}] ({self.duration_str})" + + def __eq__(self, other): + return (self.movie_id) == (other.movie_id) + + def __hash__(self): + """This function allows us + to do a set(list_of_Movie_objects)""" + return hash(self.movie_id) + + +@dataclass +class MovieVersion(Movie): + language: str + screen_format: str + + @property + def version(self): + version = "VF" if self.language == "Français" else "VOST" + if self.screen_format != "Numérique": + version += f" {self.screen_format}" + return version + + def get_movie(self): + return Movie( + movie_id=self.movie_id, + title=self.title, + rating=self.rating, + duration=self.duration, + original_title=self.original_title, + year=self.year, + genres=self.genres, + countries=self.countries, + directors=self.directors, + actors=self.actors, + synopsis=self.synopsis, + ) + + def __str__(self): + movie_str = super().__str__() + return f"{movie_str} ({self.version})" + + def __eq__(self, other): + return (self.movie_id, self.version) == (other.movie_id, other.version) + + def __hash__(self): + """This function allows us + to do a set(list_of_MovieVersion_objects)""" + return hash((self.movie_id, self.version)) + + +@dataclass +class Schedule: + date_time: datetime + + @property + def date(self) -> Date: + return self.date_time.date() + + @property + def hour(self) -> Time: + return self.date_time.time() + + @property + def hour_str(self) -> str: + return self.date_time.strftime("%H:%M") + + @property + def hour_short_str(self) -> str: + return get_hour_short_str(self.hour) + + @property + def date_str(self) -> str: + return self.date_time.strftime("%d/%m/%Y %H:%M") + + @property + def day_str(self) -> str: + return day_str(self.date) + + @property + def short_day_str(self) -> str: + return short_day_str(self.date) + + +def get_hour_short_str(hour: Time) -> str: + # Ex: 9h, 11h, 23h30 + # Minus in '%-H' removes the leading 0 + return hour.strftime("%-Hh%M").replace("h00", "h") + + +@dataclass +class Showtime(Schedule): + movie: MovieVersion + + def __str__(self): + return f"{self.date_str} : {self.movie}" + + +def day_str(date: Date) -> str: + return to_french_weekday(date.weekday()) + + +def to_french_weekday(weekday: int) -> str: + days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"] + return days[weekday] + + +def get_french_month(month_number: int) -> str: + months = [ + "Janvier", + "Février", + "Mars", + "Avril", + "Mai", + "Juin", + "Juillet", + "Août", + "Septembre", + "Octobre", + "Novembre", + "Décembre", + ] + return months[month_number - 1] + + +def to_french_short_weekday(weekday: int) -> str: + return to_french_weekday(weekday)[:3] + + +def short_day_str(date: Date) -> str: + return day_str(date)[:3] + + +@dataclass +class Theater: + theater_id: str + name: str + showtimes: List[Showtime] + address: str + zipcode: str + city: str + + @property + def address_str(self): + address_str = f"{self.address}, " if self.address else "" + address_str += f"{self.zipcode} {self.city}" + return address_str + + def get_showtimes_of_a_movie(self, movie_version: MovieVersion, date: Optional[Date] = None): + movie_showtimes = [showtime for showtime in self.showtimes if showtime.movie == movie_version] + if date: + return [showtime for showtime in movie_showtimes if showtime.date == date] + else: + return movie_showtimes + + def get_showtimes_of_a_day(self, date: Date): + from allocine.schedules import get_showtimes_of_a_day + + return get_showtimes_of_a_day(showtimes=self.showtimes, date=date) + + def get_movies_available_for_a_day(self, date: Date): + """Returns a list of movies available on a specified day""" + movies = [showtime.movie for showtime in self.get_showtimes_of_a_day(date)] + return list(set(movies)) + + def get_showtimes_per_movie_version(self): + movies = {} + for showtime in self.showtimes: + if movies.get(showtime.movie) is None: + movies[showtime.movie] = [] + movies[showtime.movie].append(showtime) + return movies + + def get_showtimes_per_movie(self): + movies = {} + for showtime in self.showtimes: + movie = showtime.movie.get_movie() # Without language nor screen_format + if movies.get(movie) is None: + movies[movie] = [] + movies[movie].append(showtime) + return movies + + def get_program_per_movie(self): + from allocine.schedules import build_program_str + + program_per_movie = {} + for movie, showtimes in self.get_showtimes_per_movie().items(): + program_per_movie[movie] = build_program_str(showtimes=showtimes) + return program_per_movie + + def filter_showtimes(self, date_min: Optional[Date] = None, date_max: Optional[Date] = None): + if date_min: + self.showtimes = [s for s in self.showtimes if s.date >= date_min] + if date_max: + self.showtimes = [s for s in self.showtimes if s.date <= date_max] + + def __eq__(self, other): + return (self.theater_id) == (other.theater_id) + + def __hash__(self): + """This function allows us to do a set(list_of_Theaters_objects)""" + return hash(self.theater_id) + + +def _strfdelta(tdelta, fmt): + """Format a timedelta object""" + # Thanks to https://stackoverflow.com/questions/8906926 + d = {"days": tdelta.days} + d["hours"], rem = divmod(tdelta.seconds, 3600) + d["minutes"], d["seconds"] = divmod(rem, 60) + return fmt.format(**d) + + +def _strip_accents(s): + # https://stackoverflow.com/a/518232/8748757 + return "".join(c for c in unicodedata.normalize("NFD", s) if unicodedata.category(c) != "Mn") diff --git a/allocine/schedules.py b/allocine/schedules.py new file mode 100644 index 0000000..66cd9d2 --- /dev/null +++ b/allocine/schedules.py @@ -0,0 +1,162 @@ +from collections import OrderedDict +from datetime import date as Date +from datetime import time as Time +from datetime import timedelta +from typing import List, Tuple + +from allocine.models import Schedule, Showtime, get_hour_short_str, to_french_short_weekday + + +def get_available_dates(showtimes: List[Showtime]): + dates = [s.date for s in showtimes] + return sorted(list(set(dates))) + + +def group_showtimes_per_schedule(showtimes: List[Showtime]): + showtimes_per_date = {} + available_dates = get_available_dates(showtimes=showtimes) + for available_date in available_dates: + showtimes_per_date[available_date] = get_showtimes_of_a_day(showtimes=showtimes, date=available_date) + + grouped_showtimes = {} + for available_date in available_dates: + hours = [s.hour_short_str for s in showtimes_per_date[available_date]] + hours_str = ", ".join(hours) + if grouped_showtimes.get(hours_str) is None: + grouped_showtimes[hours_str] = [] + grouped_showtimes[hours_str].append(available_date) + return grouped_showtimes + + +def build_program_str(showtimes: List[Showtime]): + schedules = [Schedule(s.date_time) for s in showtimes] + return build_weekly_schedule_str(schedules) + + +def check_schedules_within_week(schedule_list: List[Schedule]) -> bool: + schedule_dates = [s.date for s in schedule_list] + min_date = min(schedule_dates) + max_date = max(schedule_dates) + delta = max_date - min_date + if delta >= timedelta(days=7): + raise ValueError("Schedule list contains more days than the typical movie week") + # Check that the week is not from Mon/Tue to Wed/Thu/Fri/Sat/Sun + # because a typical week is from Wed to Tue + # but we need to handle the case of a schedule_list with only a few day + # ex: Wed, Mon = OK ; Tue = OK ; Mon, Wed : NOK + monday = 0 + tuesday = 1 + wednesday = 2 + if delta > timedelta(days=0): + if (min_date.weekday() == monday and max_date.weekday() >= wednesday) or (min_date.weekday() == tuesday): + raise ValueError("Schedule list should not start before wednesday or end after tuesday") + + return True + + +def create_weekdays_str(dates: List[Date]) -> str: + """ + Returns a compact string from a list of dates. + Examples: + - [0,1] -> 'Lun, Mar' + - [0,1,2,3,4] -> 'sf Sam, Dim' + - [0,1,2,3,4,5,6] -> '' # Everyday is empty string + - [0,2] -> 'Mer, Lun' # And not 'Lun, Mer' because we sort chrologically + """ + full_week = range(0, 7) + unique_dates = sorted(list(set(dates))) + week_days = [d.weekday() for d in unique_dates] + + if len(unique_dates) == 7: + return "" + elif len(unique_dates) <= 4: + return ", ".join([to_french_short_weekday(d) for d in week_days]) + else: + missing_days = list(set(week_days).symmetric_difference(full_week)) + return "sf {}".format(", ".join([to_french_short_weekday(d) for d in missing_days])) + + +def __get_time_weight_in_list(item: Tuple[str, List[Time]]) -> timedelta: + """Returns the minimum time weight from the time list contained in the dict values + ex: {'key': [time(hour=12), time(hour=9)]} => timedelta(hour=9) + """ + weights = [__get_time_weight(t) for t in item[1]] + return min(weights) + + +def __get_time_weight(t: Time) -> timedelta: + """Return a timedelta taking into account night time. + Basically, it allows to sort a list of times 18h>23h>0h30 + and not 0h30>18h>23h + """ + night_time = [Time(hour=0), Time(hour=5)] + delta = timedelta(hours=t.hour, minutes=t.minute) + if t >= min(night_time) and t <= max(night_time): + delta += timedelta(days=1) + return delta + + +def build_weekly_schedule_str(schedule_list: List[Schedule]) -> str: + check_schedules_within_week(schedule_list) + + hours_hashmap_raw = {} # ex: {16h: [Lun, Mar], 17h: [Lun], 17h30: [Lun]} + grouped_date_hashmap_raw = {} # ex: {[Lun]: [16h, 17h30], [Lun, Mar]: [17h]} + + for schedule in schedule_list: + if hours_hashmap_raw.get(schedule.hour) is None: + hours_hashmap_raw[schedule.hour] = [] + hours_hashmap_raw[schedule.hour].append(schedule.date) + + for hour, grouped_dates in hours_hashmap_raw.items(): + grouped_dates_str = create_weekdays_str(grouped_dates) + if grouped_date_hashmap_raw.get(grouped_dates_str) is None: + grouped_date_hashmap_raw[grouped_dates_str] = [] + grouped_date_hashmap_raw[grouped_dates_str].append(hour) + + # Then sort it chronologically + for grouped_dates_str, hours in grouped_date_hashmap_raw.items(): + # Sort the hours inside + hours = list(set(hours)) + hours.sort() + grouped_date_hashmap_raw[grouped_dates_str] = hours + + grouped_date_hashmap_raw = sorted(grouped_date_hashmap_raw.items(), key=__get_time_weight_in_list) + grouped_date_hashmap = OrderedDict(grouped_date_hashmap_raw) + + hours_hashmap = OrderedDict() + for hour in sorted(hours_hashmap_raw.keys(), key=__get_time_weight): + hours_hashmap[hour] = hours_hashmap_raw.get(hour) + + different_showtimes = len(grouped_date_hashmap) + + # True if at least one schedule is available everyday + some_schedules_available_everyday = grouped_date_hashmap.get("") is not None + + weekly_schedule = "" + + if some_schedules_available_everyday: + for hour, grouped_dates in hours_hashmap.items(): + hour_str = get_hour_short_str(hour) + grouped_dates_str = create_weekdays_str(grouped_dates) + if grouped_dates_str: + weekly_schedule += f"{hour_str} ({grouped_dates_str}), " + else: # Available everyday + weekly_schedule += f"{hour_str}, " + else: + for grouped_dates, hours in grouped_date_hashmap.items(): + hours_str = ", ".join([get_hour_short_str(h) for h in hours]) + if different_showtimes == 1: + weekly_schedule += f"{grouped_dates} {hours_str}, " + else: + if some_schedules_available_everyday: + weekly_schedule += f"{hours_str} ({grouped_dates}), " + else: + weekly_schedule += f"{grouped_dates} {hours_str}; " + + if weekly_schedule: + weekly_schedule = weekly_schedule[:-2] # Remove trailing comma + return weekly_schedule + + +def get_showtimes_of_a_day(showtimes: List[Showtime], *, date: Date): + return [showtime for showtime in showtimes if showtime.date == date] diff --git a/pyproject.toml b/pyproject.toml index 6fc1375..fd2db6c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,8 +46,8 @@ dev = [ Homepage = "https://github.com/tducret/allocine-python" Download = "https://github.com/tducret/allocine-python/tarball/0.0.12" -[tool.setuptools] -script-files = ["seances.py"] +[project.scripts] +"seances.py" = "allocine.cli:main" [tool.setuptools.packages.find] include = ["allocine*"] From 1c746e145de90c49fc72ed5e18258cf44aad5298 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 15:16:37 +0200 Subject: [PATCH 07/26] Add recorded Allocine API test --- allocine/__init__.py | 5 +- allocine/api.py | 262 +- pyproject.toml | 2 + .../test_allocine/test_get_theater.json | 1299 + tests/cassettes/get_theater.json | 27178 ++++++++++++++++ tests/conftest.py | 54 + tests/test_allocine.py | 28 +- uv.lock | 126 + 8 files changed, 28800 insertions(+), 154 deletions(-) create mode 100644 tests/__snapshots__/test_allocine/test_get_theater.json create mode 100644 tests/cassettes/get_theater.json create mode 100644 tests/conftest.py diff --git a/allocine/__init__.py b/allocine/__init__.py index 04b18a3..a46759a 100644 --- a/allocine/__init__.py +++ b/allocine/__init__.py @@ -1,6 +1,6 @@ """Top-level package for Allociné.""" -from allocine.api import BASE_URL, DEFAULT_DATE_FORMAT, PARTNER_KEY, Allocine, Client, Error503, SingletonMeta +from allocine.api import DEFAULT_DATE_FORMAT, Allocine, Client, Error503 from allocine.models import ( Movie, MovieVersion, @@ -30,15 +30,12 @@ __all__ = [ "Allocine", - "BASE_URL", "Client", "DEFAULT_DATE_FORMAT", "Error503", "Movie", "MovieVersion", - "PARTNER_KEY", "Schedule", - "SingletonMeta", "Showtime", "Theater", "build_program_str", diff --git a/allocine/api.py b/allocine/api.py index bcde7a4..ae31de4 100644 --- a/allocine/api.py +++ b/allocine/api.py @@ -1,5 +1,6 @@ import re import unicodedata +from datetime import date as Date from datetime import datetime, timedelta import backoff @@ -9,143 +10,137 @@ from allocine.models import MovieVersion, Showtime, Theater DEFAULT_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" -BASE_URL = "http://api.allocine.fr/rest/v3" -PARTNER_KEY = "000042532791" +SHOWTIMES_BASE_URL = "https://www.allocine.fr/_/showtimes" class Allocine: - def __init__(self, base_url=BASE_URL): - self.__client = Client(base_url=base_url) - self.__movie_store = {} # Dict to store the movie info (and avoid useless requests) + def __init__(self): + self.__client = Client() - def get_theater(self, theater_id: str): - ret = self.__client.get_showtimelist_by_theater_id(theater_id=theater_id) - if jmespath.search("feed.totalResults", ret) == 0: + def get_theater(self, theater_id: str, date: Date | None = None): + ret = self.__client.get_showtimelist_by_theater_id(theater_id=theater_id, date=date) + if not ret.get("results"): raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") - theaters = self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret) + theaters = self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret, theater_id=theater_id) if len(theaters) != 1: raise ValueError("Expecting 1 theater but received {}".format(len(theaters))) return theaters[0] - def __get_theaters_from_raw_showtimelist(self, raw_showtimelist: dict, distance_max_inclusive: int = 0): - theaters = [] - for theater_showtime in jmespath.search("feed.theaterShowtimes", raw_showtimelist): - raw_theater = jmespath.search("place.theater", theater_showtime) - - if raw_theater.get("distance") is not None: - # distance is not present when theater ids were used for search - if raw_theater.get("distance") > distance_max_inclusive: - # Skip theaters that are above the max distance specified - continue - - raw_showtimes = jmespath.search("movieShowtimes", theater_showtime) - showtimes = self.__parse_showtimes(raw_showtimes=raw_showtimes) - theater = Theater( - theater_id=raw_theater.get("code"), - name=raw_theater.get("name"), - address=raw_theater.get("address"), - zipcode=raw_theater.get("postalCode"), - city=raw_theater.get("city"), - showtimes=showtimes, + def __get_theaters_from_raw_showtimelist(self, raw_showtimelist: dict, theater_id: str): + raw_showtimes = raw_showtimelist.get("results") or [] + if not raw_showtimes: + return [] + + movie_id = raw_showtimes[0]["movie"]["internalId"] + operation = self.__client.get_showtimes_by_movie_and_theater_id( + movie_id=movie_id, + theater_id=theater_id, + ) + raw_theater = operation["results"]["theater"] + location = raw_theater["location"] + return [ + Theater( + theater_id=raw_theater["internalId"], + name=raw_theater["name"], + address=location["address"], + zipcode=location["zip"], + city=location["city"], + showtimes=self.__parse_showtimes(raw_showtimes=raw_showtimes), ) - theaters.append(theater) - return theaters - - def search_theaters(self, geocode: int): - theaters = [] - page = 1 - while True: - ret = self.__client.get_showtimelist_from_geocode(geocode=geocode, page=page) - total_results = jmespath.search("feed.totalResults", ret) - if total_results == 0: - raise ValueError(f"Theater not found. Is geocode {geocode!r} correct?") - - theaters_to_parse = jmespath.search("feed.theaterShowtimes", ret) - if theaters_to_parse: - theaters += self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret, distance_max_inclusive=0) - page += 1 - else: - break - return theaters - - def __parse_showtimes(self, raw_showtimes: dict): + ] + + def __parse_showtimes(self, raw_showtimes: list[dict]): showtimes = [] for showtime_data in raw_showtimes: - raw_movie = jmespath.search("onShow.movie", showtime_data) - language = jmespath.search('version."$"', showtime_data) - screen_format = jmespath.search('screenFormat."$"', showtime_data) - duration = raw_movie.get("runtime") - duration_obj = timedelta(seconds=duration) if duration else None - - rating = jmespath.search("statistics.userRating", raw_movie) + raw_movie = showtime_data["movie"] + duration_match = re.fullmatch(r"(?:(\d+)h)?\s*(?:(\d+)min)?", raw_movie.get("runtime") or "") + duration_obj = None + if duration_match and any(duration_match.groups()): + hours, minutes = duration_match.groups(default="0") + duration_obj = timedelta(hours=int(hours), minutes=int(minutes)) + + rating = jmespath.search("stats.userRating.score", raw_movie) try: rating = float(rating) except (ValueError, TypeError): rating = None - movie_id = raw_movie.get("code") - movie_info = self.get_movie_info(movie_id) - countries = jmespath.search('nationality[]."$"', movie_info) - year = movie_info.get("productionYear") + countries = [country.get("localizedName") for country in raw_movie.get("countries") or []] + countries = [country for country in countries if country] + year = jmespath.search("data.productionYear", raw_movie) if year: year = int(year) - movie = MovieVersion( - movie_id=movie_id, - title=raw_movie.get("title"), - rating=rating, - language=language, - screen_format=screen_format, - synopsis=_clean_synopsis(movie_info.get("synopsis")), - original_title=movie_info.get("originalTitle"), - year=year, - countries=countries, - genres=", ".join(jmespath.search('genre[]."$"', movie_info)), - directors=jmespath.search("castingShort.directors", movie_info), - actors=jmespath.search("castingShort.actors", movie_info), - duration=duration_obj, - ) - for showtimes_of_day in showtime_data.get("scr") or []: - day = showtimes_of_day.get("d") - for one_showtime in showtimes_of_day.get("t"): - datetime_str = "{}T{}:00".format(day, one_showtime.get("$")) - datetime_obj = _str_datetime_to_datetime_obj(datetime_str) - showtime = Showtime( - date_time=datetime_obj, - movie=movie, + + directors = [] + for credit in sorted(raw_movie.get("credits") or [], key=lambda item: item.get("rank") or 0): + if jmespath.search("position.name", credit) == "DIRECTOR": + name = _person_name(credit.get("person")) + if name: + directors.append(name) + + actors = [] + cast = jmespath.search("cast.nodes", raw_movie) or [] + for cast_member in sorted(cast, key=lambda item: item.get("rank") or 0): + person = ( + cast_member.get("actor") or cast_member.get("originalVoiceActor") or cast_member.get("voiceActor") + ) + name = _person_name(person) + if name: + actors.append(name) + + genres = ", ".join(genre["translate"] for genre in raw_movie.get("genres") or [] if genre.get("translate")) + for showtime_group in (showtime_data.get("showtimes") or {}).values(): + for raw_showtime in showtime_group: + tags = raw_showtime.get("tags") or [] + language = ( + "Français" + if "Localization.Language.French" in tags + or raw_showtime.get("diffusionVersion") in {"DUBBED", "LOCAL"} + else "Version originale" + ) + screen_formats = [ + {"E_4DX": "4DX", "PLF": "PLF"}.get(value, value) + for value in raw_showtime.get("experience") or [] + ] + screen_formats.extend( + {"DIGITAL": "Numérique", "IMAX": "IMAX", "F_3D": "3D"}.get(value, value) + for value in raw_showtime.get("projection") or [] + if value != "DIGITAL" or not screen_formats + ) + movie = MovieVersion( + movie_id=raw_movie["internalId"], + title=raw_movie.get("title"), + rating=rating, + language=language, + screen_format=" ".join(screen_formats) or "Numérique", + synopsis=_clean_synopsis(raw_movie.get("synopsis")), + original_title=raw_movie.get("originalTitle"), + year=year, + countries=countries, + genres=genres, + directors=", ".join(directors), + actors=", ".join(actors), + duration=duration_obj, + ) + showtimes.append( + Showtime( + date_time=_str_datetime_to_datetime_obj(raw_showtime["startsAt"]), + movie=movie, + ) ) - showtimes.append(showtime) return showtimes - def get_movie_info(self, movie_id: int): - movie_info = self.__movie_store.get(movie_id) - if movie_info is None: - movie_info = self.__client.get_movie_info_by_id(movie_id).get("movie") - self.__movie_store[movie_id] = movie_info - return movie_info - - -class SingletonMeta(type): - _instance = None - - def __call__(self, *args, **kwargs): - if self._instance is None: - self._instance = super().__call__(*args, **kwargs) - return self._instance - class Error503(Exception): pass -class Client(metaclass=SingletonMeta): - """Client to process the requests with allocine APIs. - This is a singleton to avoid the creation of a new session for every theater. - """ +class Client: + """Client to process requests with the Allocine APIs.""" - def __init__(self, base_url): - self.base_url = base_url + def __init__(self): headers = { "User-Agent": "Mozilla/5.0 (Macintosh; \ Intel Mac OS X 10.14; rv:63.0) \ @@ -154,7 +149,7 @@ def __init__(self, base_url): self.session = httpx2.Client(headers=headers, timeout=None) @backoff.on_exception(backoff.expo, Error503, max_tries=5, max_time=30) - def _get(self, url: str, expected_status: int = 200, *args, **kwargs): + def _get(self, url: str, expected_status: int = 200, *args, **kwargs) -> dict: ret = self.session.get(url, *args, **kwargs) if ret.status_code != expected_status: if ret.status_code == 503: @@ -162,26 +157,31 @@ def _get(self, url: str, expected_status: int = 200, *args, **kwargs): raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) return ret.json() - def get_showtimelist_by_theater_id(self, theater_id: str, page: int = 1, count: int = 10): - url = ( - f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" - f"&theaters={theater_id}&page={page}&count={count}" - ) - return self._get(url=url) - - def get_theater_info_by_id(self, theater_id: str): - url = f"{self.base_url}/theater?partner={PARTNER_KEY}&format=json&code={theater_id}" - return self._get(url=url) - - def get_showtimelist_from_geocode(self, geocode: int, page: int = 1, count: int = 10): - url = ( - f"{self.base_url}/showtimelist?partner={PARTNER_KEY}&format=json" - f"&geocode={geocode}&page={page}&count={count}" - ) - return self._get(url=url) - - def get_movie_info_by_id(self, movie_id: int): - url = f"{self.base_url}/movie?partner={PARTNER_KEY}&format=json&code={movie_id}" + def get_showtimelist_by_theater_id( + self, + theater_id: str, + page: int | None = None, + date: Date | None = None, + ): + date = date or datetime.now().date() + first_page = page or 1 + url = f"{SHOWTIMES_BASE_URL}/theater-{theater_id}/d-{date.isoformat()}/p-{first_page}/" + response = self._get(url=url) + + if page is not None: + return response + + response = {**response, "results": list(response.get("results") or [])} + pagination = response.get("pagination") + total_pages = int(pagination.get("totalPages", 1)) if isinstance(pagination, dict) else 1 + for next_page in range(2, total_pages + 1): + url = f"{SHOWTIMES_BASE_URL}/theater-{theater_id}/d-{date.isoformat()}/p-{next_page}/" + next_response = self._get(url=url) + response["results"].extend(next_response.get("results") or []) + return response + + def get_showtimes_by_movie_and_theater_id(self, movie_id: int, theater_id: str): + url = f"{SHOWTIMES_BASE_URL}/ope/movie-{movie_id}/theater-{theater_id}/" return self._get(url=url) @@ -202,3 +202,9 @@ def _clean_synopsis(raw_synopsis): synopsis = _cleanhtml(raw_synopsis) # Remove HTML tags (ex: ) synopsis = synopsis.replace("\xa0", " ") return unicodedata.normalize("NFKD", synopsis) + + +def _person_name(person): + if not person: + return None + return " ".join(part for part in (person.get("firstName"), person.get("lastName")) if part) diff --git a/pyproject.toml b/pyproject.toml index fd2db6c..96ad6b3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,9 @@ dev = [ "pytest>=9.1.1", "pytest-cov>=7.1.0", "ruff>=0.16.9", + "syrupy>=6.1.1", "ty>=0.0.84", + "vcrpy>=8.3.0", ] [project.urls] diff --git a/tests/__snapshots__/test_allocine/test_get_theater.json b/tests/__snapshots__/test_allocine/test_get_theater.json new file mode 100644 index 0000000..91b7457 --- /dev/null +++ b/tests/__snapshots__/test_allocine/test_get_theater.json @@ -0,0 +1,1299 @@ +{ + "address": "105 La Méridienne", + "city": "Labège", + "name": "Pathé Toulouse Labège - IMAX", + "showtimes": [ + { + "date_time": "2026-09-26T15:50:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Version originale", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.77, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:30:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.77, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T18:15:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.77, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:30:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.77, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T20:10:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.77, + "screen_format": "4DX PLF", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T21:45:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.77, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:45:00.000000", + "movie": { + "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", + "countries": [ + "Grande-Bretagne", + "U.S.A." + ], + "directors": "Georgia Oakley", + "duration": "datetime.timedelta(seconds=7920)", + "genres": "Drame, Romance, Historique", + "language": "Version originale", + "movie_id": 1000026622, + "original_title": "Sense and Sensibility", + "rating": 3.34, + "screen_format": "Numérique", + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "title": "Raison et sentiments", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:30:00.000000", + "movie": { + "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", + "countries": [ + "Grande-Bretagne", + "U.S.A." + ], + "directors": "Georgia Oakley", + "duration": "datetime.timedelta(seconds=7920)", + "genres": "Drame, Romance, Historique", + "language": "Français", + "movie_id": 1000026622, + "original_title": "Sense and Sensibility", + "rating": 3.34, + "screen_format": "Numérique", + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "title": "Raison et sentiments", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:30:00.000000", + "movie": { + "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", + "countries": [ + "Grande-Bretagne", + "U.S.A." + ], + "directors": "Georgia Oakley", + "duration": "datetime.timedelta(seconds=7920)", + "genres": "Drame, Romance, Historique", + "language": "Français", + "movie_id": 1000026622, + "original_title": "Sense and Sensibility", + "rating": 3.34, + "screen_format": "Numérique", + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "title": "Raison et sentiments", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:10:00.000000", + "movie": { + "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", + "countries": [ + "Grande-Bretagne", + "U.S.A." + ], + "directors": "Georgia Oakley", + "duration": "datetime.timedelta(seconds=7920)", + "genres": "Drame, Romance, Historique", + "language": "Français", + "movie_id": 1000026622, + "original_title": "Sense and Sensibility", + "rating": 3.34, + "screen_format": "Numérique", + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "title": "Raison et sentiments", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T14:00:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:45:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:30:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:00:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T14:15:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.9, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:40:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.9, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:20:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.9, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T21:45:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.9, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T20:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Version originale", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.32, + "screen_format": "IMAX", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T15:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.32, + "screen_format": "Numérique", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:30:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.32, + "screen_format": "4DX PLF 3D", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T20:45:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.32, + "screen_format": "Numérique", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T17:15:00.000000", + "movie": { + "actors": "Minami Takayama, Wakana Yamazaki, Rikiya Koyama", + "countries": [ + "Japon" + ], + "directors": "Takahiro Hasui", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Animation, Policier, Aventure, Action", + "language": "Version originale", + "movie_id": 1000037846, + "original_title": "Meitantei Conan: Highway no Datenshi", + "rating": 3.0, + "screen_format": "Numérique", + "synopsis": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. ", + "title": "Détective Conan : L'Ange déchu de l'asphalte", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T17:50:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Version originale", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:30:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T14:00:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "IMAX", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T15:40:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T20:00:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T21:30:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:15:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:30:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "4DX PLF", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "4DX PLF 3D", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:45:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:15:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:20:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T21:45:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:40:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:45:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:10:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T17:15:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Version originale", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:45:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:15:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "IMAX", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T20:45:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:30:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Version originale", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T13:50:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:45:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T14:00:00.000000", + "movie": { + "actors": "Oscar Barberán, Michelle Jenner, Luis Posada", + "countries": [ + "Espagne" + ], + "directors": "Enrique Gato", + "duration": "datetime.timedelta(seconds=5700)", + "genres": "Animation, Aventure, Famille, Comédie", + "language": "Français", + "movie_id": 257425, + "original_title": "Tadeo Jones y la lámpara maravillosa", + "rating": 3.37, + "screen_format": "Numérique", + "synopsis": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié... Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.", + "title": "Tad l'explorateur et la lampe magique", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T14:00:00.000000", + "movie": { + "actors": "Rain Janjua, Carter Young, Mckenna Grace", + "countries": [ + "U.S.A." + ], + "directors": "Cal Brunker", + "duration": "datetime.timedelta(seconds=5280)", + "genres": "Animation, Aventure, Famille, Comédie", + "language": "Français", + "movie_id": 320681, + "original_title": "PAW Patrol: The Dino Movie", + "rating": 3.12, + "screen_format": "Numérique", + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", + "title": "La Pat' Patrouille : Le film mission Dino", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T14:15:00.000000", + "movie": { + "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", + "countries": [ + "France", + "Belgique" + ], + "directors": "Léa Mysius", + "duration": "datetime.timedelta(seconds=6840)", + "genres": "Thriller, Drame", + "language": "Français", + "movie_id": 324014, + "original_title": "Histoires De La Nuit", + "rating": 3.4, + "screen_format": "Numérique", + "synopsis": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés...", + "title": "Histoires De La Nuit", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:15:00.000000", + "movie": { + "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", + "countries": [ + "France", + "Belgique" + ], + "directors": "Léa Mysius", + "duration": "datetime.timedelta(seconds=6840)", + "genres": "Thriller, Drame", + "language": "Français", + "movie_id": 324014, + "original_title": "Histoires De La Nuit", + "rating": 3.4, + "screen_format": "Numérique", + "synopsis": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés...", + "title": "Histoires De La Nuit", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T14:30:00.000000", + "movie": { + "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", + "countries": [ + "U.S.A." + ], + "directors": "Susanne Bier", + "duration": "datetime.timedelta(seconds=7800)", + "genres": "Romance, Fantastique", + "language": "Français", + "movie_id": 1000004679, + "original_title": "Practical Magic 2", + "rating": 2.4, + "screen_format": "Numérique", + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "title": "Les Ensorceleuses 2", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T21:15:00.000000", + "movie": { + "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", + "countries": [ + "U.S.A." + ], + "directors": "Susanne Bier", + "duration": "datetime.timedelta(seconds=7800)", + "genres": "Romance, Fantastique", + "language": "Français", + "movie_id": 1000004679, + "original_title": "Practical Magic 2", + "rating": 2.4, + "screen_format": "Numérique", + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "title": "Les Ensorceleuses 2", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:00:00.000000", + "movie": { + "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294280, + "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "rating": 4.42, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:15:00.000000", + "movie": { + "actors": "Diana Rigg, Sally Hawkins, Rob Brydon", + "countries": [ + "Grande-Bretagne", + "République tchèque", + "Suisse" + ], + "directors": "Max Lang, Daniel Snaddon", + "duration": "datetime.timedelta(seconds=2400)", + "genres": "Animation, Famille", + "language": "Français", + "movie_id": 283811, + "original_title": "The Snail and The Whale", + "rating": 3.78, + "screen_format": "Numérique", + "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", + "title": "La Baleine et l'escargote", + "year": 2020 + } + }, + { + "date_time": "2026-09-26T16:45:00.000000", + "movie": { + "actors": "Léa Drucker, Mélanie Thierry, Charles Berling", + "countries": [ + "France", + "Belgique" + ], + "directors": "Charline Bourgeois-Tacquet", + "duration": "datetime.timedelta(seconds=5880)", + "genres": "Comédie dramatique", + "language": "Français", + "movie_id": 327941, + "original_title": "La Vie d'une femme", + "rating": 3.67, + "screen_format": "Numérique", + "synopsis": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?", + "title": "La Vie d'une femme", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T17:30:00.000000", + "movie": { + "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "countries": [ + "Grande-Bretagne", + "France" + ], + "directors": "Anthony Maras", + "duration": "datetime.timedelta(seconds=6000)", + "genres": "Thriller, Historique, Guerre", + "language": "Français", + "movie_id": 1000004458, + "original_title": "Pressure", + "rating": 4.06, + "screen_format": "Numérique", + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "title": "Pressure", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:45:00.000000", + "movie": { + "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "countries": [ + "Grande-Bretagne", + "France" + ], + "directors": "Anthony Maras", + "duration": "datetime.timedelta(seconds=6000)", + "genres": "Thriller, Historique, Guerre", + "language": "Français", + "movie_id": 1000004458, + "original_title": "Pressure", + "rating": 4.06, + "screen_format": "Numérique", + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "title": "Pressure", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:30:00.000000", + "movie": { + "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "countries": [ + "Grande-Bretagne", + "France" + ], + "directors": "Anthony Maras", + "duration": "datetime.timedelta(seconds=6000)", + "genres": "Thriller, Historique, Guerre", + "language": "Français", + "movie_id": 1000004458, + "original_title": "Pressure", + "rating": 4.06, + "screen_format": "Numérique", + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "title": "Pressure", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:00:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.51, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-26T19:10:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:10:00.000000", + "movie": { + "actors": "Jacob Elordi, Margaret Qualley, Josh Brolin", + "countries": [ + "U.S.A." + ], + "directors": "Ridley Scott", + "duration": "datetime.timedelta(seconds=7140)", + "genres": "Aventure, Thriller, Drame", + "language": "Français", + "movie_id": 1000014969, + "original_title": "The Dog Stars", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...", + "title": "The Dog Stars", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:15:00.000000", + "movie": { + "actors": "Amelia Eve, Island Austin, Lin Shaye", + "countries": [ + "U.S.A." + ], + "directors": "Jacob Chase", + "duration": "datetime.timedelta(seconds=6360)", + "genres": "Epouvante-horreur", + "language": "Français", + "movie_id": 1000016503, + "original_title": "Insidious: Out of the Further", + "rating": 2.64, + "screen_format": "Numérique", + "synopsis": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.", + "title": "Insidious : l'invasion du lointain", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:20:00.000000", + "movie": { + "actors": "Michael Johnston (II), Inde Navarrette, Cooper Tomlinson", + "countries": [ + "U.S.A." + ], + "directors": "Curry Barker", + "duration": "datetime.timedelta(seconds=6540)", + "genres": "Epouvante-horreur", + "language": "Français", + "movie_id": 1000028234, + "original_title": "Obsession", + "rating": 3.92, + "screen_format": "Numérique", + "synopsis": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui... jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !", + "title": "Obsession", + "year": 2026 + } + } + ], + "theater_id": "P0645", + "zipcode": "31670" +} diff --git a/tests/cassettes/get_theater.json b/tests/cassettes/get_theater.json new file mode 100644 index 0000000..27ca86a --- /dev/null +++ b/tests/cassettes/get_theater.json @@ -0,0 +1,27178 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-P0645/d-2026-09-26/p-1/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Sat, 26 Sep 2026 13:10:02 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "3583" + ], + "last-modified": [ + "Sat, 26 Sep 2026 12:10:18 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=lj%2F4I08tmFTbeT%2Bz10GiT4UoyJJ0JOzI6BPw56UeQ66hIM77ggl2bhu8rJVmMIEC2Pbr9uSjhwnhOv0u08tKmpjpVB9yCoj4q17bOSiLZb7vA1ShSXeqkswNGItkOO567Q%3D%3D\"}]}" + ], + "cf-ray": [ + "a41281a6efbd6f63-CDG" + ], + "content-length": [ + "242160" + ] + }, + "body": { + "error": false, + "message": null, + "messageParam": null, + "nextDate": null, + "results": [ + { + "movie": { + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000000085, + "id": "TW92aWU6MTAwMDAwMDA4NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNTQ3Nw==", + "internalId": 9002115477, + "url": "https://fr.web.img2.acsta.net/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg", + "path": "/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg" + }, + "title": "Heart Of The Beast", + "originalTitle": "Heart Of The Beast", + "type": "FEATURE_FILM", + "runtime": "1h 41min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.77, + "count": 508 + }, + "userReview": { + "count": 130 + }, + "pressReview": { + "score": 2.9, + "count": 31 + }, + "metric": { + "hits": 506944, + "sessions": 311135 + }, + "wantToSeeCount": 2554 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168216" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 41198, + "lastName": "Ayer", + "firstName": "David", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 982, + "name": "Alaska / Pôle Nord", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4999, + "name": "Crash d'avion", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 692, + "name": "Survivants / Rescapés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1012, + "name": "Traumatisme de guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1042, + "name": "Relation homme / animal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1061, + "name": "Flashback", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615950, + "startsAt": "2026-09-26T15:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:50&code=vost; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615800, + "startsAt": "2026-09-26T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190845/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190845/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615781, + "startsAt": "2026-09-26T18:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=18:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615689, + "startsAt": "2026-09-26T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615983, + "startsAt": "2026-09-26T20:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190889/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:10&code=vf; 4dx; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190889/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615842, + "startsAt": "2026-09-26T21:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190895/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190895/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après la mort de son mari, Mme Dashwood et ses trois filles, toujours célibataires, se retrouvent dans une situation précaire. En effet, elles sont privées d’héritage puisque le domaine familial, Norland Park, revient de droit à John, fils de M. Dashwood issu d’un précédent mariage. La veuve et ses trois filles, Elinor, Marianne et Margaret n’ont d’autre choix que de quitter la région et de s’installer dans le modeste Barton Cottage. Un changement particulièrement douloureux pour Elinor, l’aînée, qui, bien malgré elle, s’est éprise du fringant et stoïque Edward Ferrars, beau-frère de John, venu récemment leur rendre visite à Norland." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Marianne tente de consoler sa sœur du mieux qu’elle peut, mais elle fait à son tour une rencontre des plus inattendues avec le séduisant – et célibataire – John Willoughby. Et bien que les deux jeunes gens tombent follement amoureux l’un de l’autre, Elinor redoute que Marianne soit trop impulsive et néglige ainsi le très droit colonel Brandon qui ne cache pas ses sentiments pour sa sœur. Face aux tumultes de l’amour, aux épreuves de la vie et aux injonctions de la société, Elinor, prudente et rationnelle, et Marianne, fougueuse et passionnée, s’affrontent souvent, comme seules deux sœurs peuvent le faire. Et pourtant, leurs liens inébranlables leur permettent de braver toutes les tempêtes et, surtout, d’espérer un avenir heureux…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000026622, + "id": "TW92aWU6MTAwMDAyNjYyMg==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA4ODAzNQ==", + "internalId": 9002088035, + "url": "https://fr.web.img5.acsta.net/img/25/06/25065d844cf983b62abba5f0ca2c1a64.jpg", + "path": "/img/25/06/25065d844cf983b62abba5f0ca2c1a64.jpg" + }, + "title": "Raison et sentiments", + "originalTitle": "Sense and Sensibility", + "type": "FEATURE_FILM", + "runtime": "2h 12min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + }, + { + "id": 13024, + "translate": "Romance", + "tag": "ROMANCE" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.34, + "count": 74 + }, + "userReview": { + "count": 11 + }, + "pressReview": { + "score": 3.38, + "count": 13 + }, + "metric": { + "hits": 210256, + "sessions": 125394 + }, + "wantToSeeCount": 848 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 970540, + "lastName": "Oakley", + "firstName": "Georgia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 864250, + "lastName": "Edgar-Jones", + "firstName": "Daisy", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 214164, + "lastName": "Creed-Miles", + "firstName": "Esmé", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 488862, + "lastName": "Balfe", + "firstName": "Caitriona", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 864250, + "lastName": "Edgar-Jones", + "firstName": "Daisy", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 214164, + "lastName": "Creed-Miles", + "firstName": "Esmé", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 488862, + "lastName": "Balfe", + "firstName": "Caitriona", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5004, + "name": "United Kingdom", + "localizedName": "Grande-Bretagne" + }, + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 4787, + "name": "Costumes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 300, + "name": "Mariage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5234, + "name": "Soeurs", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1927, + "name": "Campagne et champs", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Paysage" + ] + } + }, + { + "__typename": "Tag", + "internalId": 425, + "name": "Triangle amoureux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1067, + "name": "19e siècle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1508, + "name": "Romance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après la mort de son mari, Mme Dashwood et ses trois filles, toujours célibataires, se retrouvent dans une situation précaire. En effet, elles sont privées d’héritage puisque le domaine familial, Norland Park, revient de droit à John, fils de M. Dashwood issu d’un précédent mariage. La veuve et ses trois filles, Elinor, Marianne et Margaret n’ont d’autre choix que de quitter la région et de s’installer dans le modeste Barton Cottage. Un changement particulièrement douloureux pour Elinor, l’aînée, qui, bien malgré elle, s’est éprise du fringant et stoïque Edward Ferrars, beau-frère de John, venu récemment leur rendre visite à Norland.

Marianne tente de consoler sa sœur du mieux qu’elle peut, mais elle fait à son tour une rencontre des plus inattendues avec le séduisant – et célibataire – John Willoughby. Et bien que les deux jeunes gens tombent follement amoureux l’un de l’autre, Elinor redoute que Marianne soit trop impulsive et néglige ainsi le très droit colonel Brandon qui ne cache pas ses sentiments pour sa sœur. Face aux tumultes de l’amour, aux épreuves de la vie et aux injonctions de la société, Elinor, prudente et rationnelle, et Marianne, fougueuse et passionnée, s’affrontent souvent, comme seules deux sœurs peuvent le faire. Et pourtant, leurs liens inébranlables leur permettent de braver toutes les tempêtes et, surtout, d’espérer un avenir heureux…

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615805, + "startsAt": "2026-09-26T13:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190849/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:45&code=vost; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190849/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615903, + "startsAt": "2026-09-26T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190867/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190867/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615813, + "startsAt": "2026-09-26T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190885/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190885/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615894, + "startsAt": "2026-09-26T22:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190898/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:10&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190898/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs… Mais aussi une révolution intime, amicale et sexuelle.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Garance est une jeune actrice mais qui n’est pas une vedette. Elle gère et assure tout de son mieux, vaillante, joyeuse, soldate, et elle trouve dans l’alcool un carburant, un réconfort inconditionnel. Garance change de vie et commence alors un parcours de huit ans de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs. Une révolution intime, amicale et sexuelle, mais elle consomme toujours plus. Jusqu’à la potentialité de la mort." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000026039, + "id": "TW92aWU6MTAwMDAyNjAzOQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA0MDg1Nw==", + "internalId": 9002040857, + "url": "https://fr.web.img3.acsta.net/img/22/e4/22e455446c0461e270e5341d9f88f43f.jpg", + "path": "/img/22/e4/22e455446c0461e270e5341d9f88f43f.jpg" + }, + "title": "Garance", + "originalTitle": "Garance", + "type": "FEATURE_FILM", + "runtime": "1h 55min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.88, + "count": 598 + }, + "userReview": { + "count": 154 + }, + "pressReview": { + "score": 3.47, + "count": 36 + }, + "metric": { + "hits": 480128, + "sessions": 277463 + }, + "wantToSeeCount": 2268 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167393" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 132132, + "lastName": "Herry", + "firstName": "Jeanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 160886, + "lastName": "Exarchopoulos", + "firstName": "Adèle", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 93105, + "lastName": "Giraudeau", + "firstName": "Sara", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 52161, + "lastName": "Drillaud", + "firstName": "Sarajeanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 160886, + "lastName": "Exarchopoulos", + "firstName": "Adèle", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 93105, + "lastName": "Giraudeau", + "firstName": "Sara", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 52161, + "lastName": "Drillaud", + "firstName": "Sarajeanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6054, + "name": "Amour lesbien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films d'amour lesbien", + "subTitle": null, + "description": "Quels sont les meilleurs films d'amour lesbien ? Découvrez les meilleures films de romance lesbienne d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": "films de romance lesbienne" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.ThemeDeSociete" + ] + } + }, + { + "__typename": "Tag", + "internalId": 789, + "name": "Alcoolisme / Alcoolique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2104, + "name": "Théâtre et salle de spectacle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 732, + "name": "Acteur / Actrice", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 994, + "name": "Portrait de femme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1508, + "name": "Romance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5478, + "name": "Psychologies", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Garance est une jeune actrice mais qui n’est pas une vedette. Elle gère et assure tout de son mieux, vaillante, joyeuse, soldate, et elle trouve dans l’alcool un carburant, un réconfort inconditionnel. Garance change de vie et commence alors un parcours de huit ans de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs. Une révolution intime, amicale et sexuelle, mais elle consomme toujours plus. Jusqu’à la potentialité de la mort.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615944, + "startsAt": "2026-09-26T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190854/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190854/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615692, + "startsAt": "2026-09-26T16:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190871/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190871/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615833, + "startsAt": "2026-09-26T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190884/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190884/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615707, + "startsAt": "2026-09-26T22:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190897/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190897/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac. ", + "italic": true + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000028944, + "id": "TW92aWU6MTAwMDAyODk0NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMDIxMQ==", + "internalId": 9002100211, + "url": "https://fr.web.img6.acsta.net/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg", + "path": "/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg" + }, + "title": "Justin le Juste", + "originalTitle": "Justin le Juste", + "type": "FEATURE_FILM", + "runtime": "1h 50min", + "genres": [ + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + }, + { + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.9, + "count": 198 + }, + "userReview": { + "count": 87 + }, + "pressReview": { + "score": 3.15, + "count": 13 + }, + "metric": { + "hits": 203198, + "sessions": 123445 + }, + "wantToSeeCount": 672 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "164658" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 26667, + "lastName": "Barbier", + "firstName": "Éric", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 482, + "name": "Fable", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1693, + "name": "Première guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 821, + "name": "Injustice", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 435, + "name": "Paysan / Paysanne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4489, + "name": "Révolte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4875, + "name": "Guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres.

Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616002, + "startsAt": "2026-09-26T14:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190856/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190856/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615933, + "startsAt": "2026-09-26T16:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190868/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:40&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190868/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615720, + "startsAt": "2026-09-26T19:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190882/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:20&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190882/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615786, + "startsAt": "2026-09-26T21:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190896/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190896/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Dans " + }, + { + "text": "Avengers Endgame Extended", + "italic": true + }, + { + "text": ", les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "À l’occasion de ce nouveau rassemblement des Avengers sur grand écran, " + }, + { + "text": "Avengers Endgame Extended", + "italic": true + }, + { + "text": " revient au cinéma pour une durée limitée de 2 semaines à partir du 23 septembre, avec un aperçu exclusif d’" + }, + { + "text": "Avengers : Doomsday", + "italic": true + }, + { + "text": ", attendu dans les salles le 16 décembre 2026." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Cette ressortie exceptionnelle d’" + }, + { + "text": "Avengers Endgame Extended ", + "italic": true + }, + { + "text": "permettra ainsi au public de découvrir un aperçu exclusif d’" + }, + { + "text": "Avengers : Doomsday", + "italic": true + }, + { + "text": ". Les spectateurs qui choisiront une séance en IMAX® ou dans une salle certifiée INFINITY VISION bénéficieront en plus d’un aperçu supplémentaire d’" + }, + { + "text": "Avengers : Doomsday", + "italic": true + }, + { + "text": "." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000036867, + "id": "TW92aWU6MTAwMDAzNjg2Nw==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDY4Mw==", + "internalId": 9002114683, + "url": "https://fr.web.img4.acsta.net/img/53/e1/53e1e6f2d34748e3f07d101e103dbfb6.jpg", + "path": "/img/53/e1/53e1e6f2d34748e3f07d101e103dbfb6.jpg" + }, + "title": "Avengers : Endgame Extended", + "originalTitle": "Avengers Endgame: Encore", + "type": "SPECIAL_EVENT", + "runtime": "3h 05min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.32, + "count": 108 + }, + "userReview": { + "count": 8 + }, + "pressReview": null, + "metric": { + "hits": 118636, + "sessions": 70222 + }, + "wantToSeeCount": 262 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168359" + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 71968, + "lastName": "Russo", + "firstName": "Joe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 71967, + "lastName": "Russo", + "firstName": "Anthony", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": true, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": false, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.

À l’occasion de ce nouveau rassemblement des Avengers sur grand écran, Avengers Endgame Extended revient au cinéma pour une durée limitée de 2 semaines à partir du 23 septembre, avec un aperçu exclusif d’Avengers : Doomsday, attendu dans les salles le 16 décembre 2026.

Cette ressortie exceptionnelle d’Avengers Endgame Extended permettra ainsi au public de découvrir un aperçu exclusif d’Avengers : Doomsday. Les spectateurs qui choisiront une séance en IMAX® ou dans une salle certifiée INFINITY VISION bénéficieront en plus d’un aperçu supplémentaire d’Avengers : Doomsday.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81280163480, + "startsAt": "2026-09-26T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S189268/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=20:00&code=vost; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S189268/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615999, + "startsAt": "2026-09-26T15:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190858/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:00&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190858/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615835, + "startsAt": "2026-09-26T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "F_3D" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Accessible", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190866/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible&perfd=20260926&perft=16:30&code=vf; 3d; 4dx; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190866/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615890, + "startsAt": "2026-09-26T20:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190890/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190890/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Arrivé au festival, le groupe assiste à la présentation d'une moto de police ultramoderne, « Angel », tandis que la mystérieuse moto noire réapparaît dans les rues de Tokyo et échappe encore une fois à la police. L'enquête révèle sa ressemblance avec « Angel », ce qui pousse les autorités à la surnommer « Lucifer » et lancer une vaste opération de recherche. À mesure que l'enquête se complexifie, Chihaya replonge dans les souvenirs de son frère disparu Kenji Hagiwara et de son camarade de classe Jinpei Matsuda, posant les bases d'une confrontation à pleine vitesse entre la Déesse du vent et l'Ange déchu." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000037846, + "id": "TW92aWU6MTAwMDAzNzg0Ng==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA5NjgzOQ==", + "internalId": 9002096839, + "url": "https://fr.web.img2.acsta.net/img/da/e4/dae4795cdfd54f5ebbdb34fe22455015.jpg", + "path": "/img/da/e4/dae4795cdfd54f5ebbdb34fe22455015.jpg" + }, + "title": "Détective Conan : L'Ange déchu de l'asphalte", + "originalTitle": "Meitantei Conan: Highway no Datenshi", + "type": "FEATURE_FILM", + "runtime": "1h 50min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13018, + "translate": "Policier", + "tag": "DETECTIVE" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + } + ], + "languages": [ + "JAPANESE" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3, + "count": 16 + }, + "userReview": { + "count": 3 + }, + "pressReview": null, + "metric": { + "hits": 29963, + "sessions": 12268 + }, + "wantToSeeCount": 48 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 1000038915, + "lastName": "Hasui", + "firstName": "Takahiro", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 92484, + "lastName": "Takayama", + "firstName": "Minami", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 203739, + "lastName": "Yamazaki", + "firstName": "Wakana", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 213339, + "lastName": "Koyama", + "firstName": "Rikiya", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 92484, + "lastName": "Takayama", + "firstName": "Minami", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 203739, + "lastName": "Yamazaki", + "firstName": "Wakana", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 213339, + "lastName": "Koyama", + "firstName": "Rikiya", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5021, + "name": "Japan", + "localizedName": "Japon" + } + ], + "relatedTags": [], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": false, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée.

Arrivé au festival, le groupe assiste à la présentation d'une moto de police ultramoderne, « Angel », tandis que la mystérieuse moto noire réapparaît dans les rues de Tokyo et échappe encore une fois à la police. L'enquête révèle sa ressemblance avec « Angel », ce qui pousse les autorités à la surnommer « Lucifer » et lancer une vaste opération de recherche. À mesure que l'enquête se complexifie, Chihaya replonge dans les souvenirs de son frère disparu Kenji Hagiwara et de son camarade de classe Jinpei Matsuda, posant les bases d'une confrontation à pleine vitesse entre la Déesse du vent et l'Ange déchu.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615839, + "startsAt": "2026-09-26T17:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190873/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000037846&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:15&code=vost; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190873/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_sme": [], + "multiple": [], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000018854, + "id": "TW92aWU6MTAwMDAxODg1NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDg0Mg==", + "internalId": 9002114842, + "url": "https://fr.web.img4.acsta.net/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg", + "path": "/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg" + }, + "title": "Resident Evil", + "originalTitle": "Resident Evil", + "type": "FEATURE_FILM", + "runtime": "1h 37min", + "genres": [ + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + }, + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + }, + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.85, + "count": 1570 + }, + "userReview": { + "count": 326 + }, + "pressReview": { + "score": 3.8, + "count": 15 + }, + "metric": { + "hits": 554517, + "sessions": 305551 + }, + "wantToSeeCount": 1784 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes violentes concernant des enfants sont susceptibles de heurter un jeune public non averti.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168141" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 124791, + "lastName": "Cregger", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + }, + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2353, + "name": "Resident Evil", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Resident Evil", + "subTitle": "films de la saga Resident Evil", + "description": "Inspirés des célèbres jeux vidéo, les films de la série Resident Evil avec Milla Jovovich dans le rôle d'Alice offrent un retour captivant dans Raccoon City, épicentre du chaos. Succès mondial, cette série cinématographique mêle zombies, science-fiction et tension" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1099, + "name": "Adaptation de jeu vidéo", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés d'un jeu vidéo", + "subTitle": null, + "description": "Vous aimez les adaptations de jeux vidéo au cinéma ? Découvrez les meilleurs films adaptés de jeux vidéo à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 678, + "name": "Zombie / Mort-vivant / Contaminés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de zombies", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants au cinéma ? Découvrez quels sont les meilleurs films de zombies à voir d'après la sélection de la rédaction" + }, + "series": { + "title": "séries de mort-vivant", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants à la TV ? Découvrez quelles sont les meilleures séries de zombies à voir d'après la sélection de la rédaction" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615924, + "startsAt": "2026-09-26T17:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190875/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:50&code=vost; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190875/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615778, + "startsAt": "2026-09-26T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190843/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190843/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616027, + "startsAt": "2026-09-26T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Language.French", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190851/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=14:00&code=vf; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190851/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616062, + "startsAt": "2026-09-26T15:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190859/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:40&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190859/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616041, + "startsAt": "2026-09-26T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190888/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:00&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190888/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615684, + "startsAt": "2026-09-26T21:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190893/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190893/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616140, + "startsAt": "2026-09-26T22:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190900/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190900/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616122, + "startsAt": "2026-09-26T22:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190904/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:30&code=vf; 4dx; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190904/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 276608, + "id": "TW92aWU6Mjc2NjA4", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2MDEwNA==", + "internalId": 9002060104, + "url": "https://fr.web.img5.acsta.net/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg", + "path": "/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg" + }, + "title": "Spider-Man: Brand New Day", + "originalTitle": "Spider-Man: Brand New Day", + "type": "FEATURE_FILM", + "runtime": "2h 25min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.09, + "count": 8378 + }, + "userReview": { + "count": 883 + }, + "pressReview": { + "score": 3.24, + "count": 25 + }, + "metric": { + "hits": 2943059, + "sessions": 1566353 + }, + "wantToSeeCount": 5515 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-29", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167934" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 622552, + "lastName": "Cretton", + "firstName": "Destin Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615858, + "startsAt": "2026-09-26T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "F_3D" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190844/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible&perfd=20260926&perft=13:30&code=vf; 3d; 4dx; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190844/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616039, + "startsAt": "2026-09-26T13:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190848/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190848/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615823, + "startsAt": "2026-09-26T16:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190863/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:15&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190863/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615794, + "startsAt": "2026-09-26T19:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190881/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:20&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190881/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615976, + "startsAt": "2026-09-26T21:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190894/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190894/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 317219, + "id": "TW92aWU6MzE3MjE5", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NjUxMw==", + "internalId": 9002076513, + "url": "https://fr.web.img2.acsta.net/img/31/b1/31b1faa3ca361d78ca82078f8accda1e.jpg", + "path": "/img/31/b1/31b1faa3ca361d78ca82078f8accda1e.jpg" + }, + "title": "L'Invitation", + "originalTitle": "The Invite", + "type": "FEATURE_FILM", + "runtime": "1h 47min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.25, + "count": 1020 + }, + "userReview": { + "count": 171 + }, + "pressReview": { + "score": 3.56, + "count": 34 + }, + "metric": { + "hits": 392423, + "sessions": 228566 + }, + "wantToSeeCount": 1852 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 124415, + "lastName": "Rogen", + "firstName": "Seth", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3614, + "lastName": "Cruz", + "firstName": "Penélope", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 124415, + "lastName": "Rogen", + "firstName": "Seth", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 3614, + "lastName": "Cruz", + "firstName": "Penélope", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2622, + "name": "Remake de film espagnol", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4603, + "name": "Dîner", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 229, + "name": "Huis clos", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 586, + "name": "Voisins", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2886, + "name": "Immeuble / Gratte-ciel / Appartement", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 615, + "name": "Adaptation d'une pièce / De la scène à l'écran (théâtre)", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1792, + "name": "Jeu de séduction / Drague", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1961, + "name": "Sexe - sexualité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615784, + "startsAt": "2026-09-26T13:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190846/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:40&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190846/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615993, + "startsAt": "2026-09-26T16:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190870/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190870/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615845, + "startsAt": "2026-09-26T19:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190879/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:10&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190879/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000013045, + "id": "TW92aWU6MTAwMDAxMzA0NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1NDA2OA==", + "internalId": 9002054068, + "url": "https://fr.web.img6.acsta.net/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg", + "path": "/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg" + }, + "title": "L'Odyssée", + "originalTitle": "The Odyssey", + "type": "FEATURE_FILM", + "runtime": "2h 53min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.3, + "count": 13789 + }, + "userReview": { + "count": 4625 + }, + "pressReview": { + "score": 4.09, + "count": 35 + }, + "metric": { + "hits": 6885680, + "sessions": 3346079 + }, + "wantToSeeCount": 8356 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-15", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12", + "label": "Interdit - 12 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167898" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30367, + "lastName": "Nolan", + "firstName": "Christopher", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5647, + "name": "Ulysse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6064, + "name": "Film long", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1828, + "name": "Guerrier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1098, + "name": "Antiquité - Péplum", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5203, + "name": "Parcours initiatique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5137, + "name": "Combat / Bagarre / Castagne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1046, + "name": "Violence", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615972, + "startsAt": "2026-09-26T17:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190872/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:15&code=vost; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190872/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616001, + "startsAt": "2026-09-26T13:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190847/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190847/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616023, + "startsAt": "2026-09-26T16:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190862/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=16:15&code=vf; GRETA; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190862/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615776, + "startsAt": "2026-09-26T20:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190891/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190891/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019874, + "id": "TW92aWU6MTAwMDAxOTg3NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMTczNA==", + "internalId": 9002101734, + "url": "https://fr.web.img3.acsta.net/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg", + "path": "/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg" + }, + "title": "Les Contrebandiers", + "originalTitle": "The Weight", + "type": "FEATURE_FILM", + "runtime": "1h 53min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH", + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.26, + "count": 440 + }, + "userReview": { + "count": 92 + }, + "pressReview": { + "score": 3.13, + "count": 30 + }, + "metric": { + "hits": 308210, + "sessions": 212343 + }, + "wantToSeeCount": 992 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Plusieurs scènes violentes peuvent heurter un public jeune ou sensible.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167970" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 99555, + "lastName": "McKinley", + "firstName": "Padraic", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5958, + "name": "Oregon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5403, + "name": "Camp de travail / Travail forcé", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 788, + "name": "Grande dépression", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films sur la Grande Dépression", + "subTitle": null, + "description": "Vous aimez les films de la crise économique des années 1930 ? Découvrez quels sont les meilleurs films sur La Grande Dépressions à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 622, + "name": "Contrebande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5241, + "name": "Trésor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 486, + "name": "Rivalité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 660, + "name": "Premier film", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615840, + "startsAt": "2026-09-26T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190865/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:30&code=vost; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190865/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616118, + "startsAt": "2026-09-26T13:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190850/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:50&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190850/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616138, + "startsAt": "2026-09-26T19:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190886/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190886/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 257425, + "id": "TW92aWU6MjU3NDI1", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3ODI1OQ==", + "internalId": 9002078259, + "url": "https://fr.web.img2.acsta.net/img/7a/89/7a89c362c3c4180669ce471a947d2f70.jpg", + "path": "/img/7a/89/7a89c362c3c4180669ce471a947d2f70.jpg" + }, + "title": "Tad l'explorateur et la lampe magique", + "originalTitle": "Tadeo Jones y la lámpara maravillosa", + "type": "FEATURE_FILM", + "runtime": "1h 35min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + }, + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "SPANISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.37, + "count": 102 + }, + "userReview": { + "count": 15 + }, + "pressReview": { + "score": 3.23, + "count": 13 + }, + "metric": { + "hits": 145194, + "sessions": 88218 + }, + "wantToSeeCount": 142 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-26", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168142" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 141850, + "lastName": "Gato", + "firstName": "Enrique", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 574208, + "lastName": "Barberán", + "firstName": "Oscar", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 265156, + "lastName": "Jenner", + "firstName": "Michelle", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 531345, + "lastName": "Posada", + "firstName": "Luis", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 574208, + "lastName": "Barberán", + "firstName": "Oscar", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 265156, + "lastName": "Jenner", + "firstName": "Michelle", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 531345, + "lastName": "Posada", + "firstName": "Luis", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5017, + "name": "Spain", + "localizedName": "Espagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5166, + "name": "Génie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 443, + "name": "Centre commercial / Supermarché / Marché", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5246, + "name": "Voyage dans le temps", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 200, + "name": "Voyage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3721, + "name": "Aventurier / Aventurière", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5265, + "name": "Enfants", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1769, + "name": "Dessin animé et animation", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5267, + "name": "Famille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615837, + "startsAt": "2026-09-26T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190852/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.257425&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:00&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190852/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 320681, + "id": "TW92aWU6MzIwNjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NTEzNw==", + "internalId": 9002075137, + "url": "https://fr.web.img6.acsta.net/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg", + "path": "/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg" + }, + "title": "La Pat' Patrouille : Le film mission Dino", + "originalTitle": "PAW Patrol: The Dino Movie", + "type": "FEATURE_FILM", + "runtime": "1h 28min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + }, + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.12, + "count": 255 + }, + "userReview": { + "count": 47 + }, + "pressReview": { + "score": 3.13, + "count": 16 + }, + "metric": { + "hits": 480624, + "sessions": 258623 + }, + "wantToSeeCount": 295 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-05", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167695" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 447317, + "lastName": "Brunker", + "firstName": "Cal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2453, + "name": "Dinosaures", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de dinosaures", + "subTitle": "films avec des dinosaures", + "description": "De l’incontournable Jurassic Park à des films d’animation captivants, chaque film de dinosaures transporte petits et grands dans des aventures palpitantes. Découvrez les animaux préhistoriques recréés avec brio, comme dans Jurassic World, ou explorez des classiques qui font revivre les dinosaures à l’écran" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3930, + "name": "Aventures animalières", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1262, + "name": "Les animaux ont la parole", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5265, + "name": "Enfants", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5260, + "name": "À partir de 3 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1769, + "name": "Dessin animé et animation", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5267, + "name": "Famille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615706, + "startsAt": "2026-09-26T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190853/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:00&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190853/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée avec pour seule voisine, Cristina, une peintre italienne. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 324014, + "id": "TW92aWU6MzI0MDE0", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2NDg5OQ==", + "internalId": 9002064899, + "url": "https://fr.web.img4.acsta.net/img/e4/05/e4057c680c238cc18211ffc8140eed28.jpg", + "path": "/img/e4/05/e4057c680c238cc18211ffc8140eed28.jpg" + }, + "title": "Histoires De La Nuit", + "originalTitle": "Histoires De La Nuit", + "type": "FEATURE_FILM", + "runtime": "1h 54min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.4, + "count": 706 + }, + "userReview": { + "count": 127 + }, + "pressReview": { + "score": 3.25, + "count": 36 + }, + "metric": { + "hits": 360614, + "sessions": 201438 + }, + "wantToSeeCount": 1116 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "La cellule familiale au cœur de la violence et plusieurs scènes de meurtre sont susceptibles de perturber un public sensible.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "161216" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 617519, + "lastName": "Mysius", + "firstName": "Léa", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 135371, + "lastName": "Herzi", + "firstName": "Hafsia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 7982, + "lastName": "Magimel", + "firstName": "Benoît", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 252531, + "lastName": "Bouillon", + "firstName": "Bastien", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 135371, + "lastName": "Herzi", + "firstName": "Hafsia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 7982, + "lastName": "Magimel", + "firstName": "Benoît", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 252531, + "lastName": "Bouillon", + "firstName": "Bastien", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3335, + "name": "Anniversaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 229, + "name": "Huis clos", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1759, + "name": "Fête / Réception", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 772, + "name": "Isolement", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2513, + "name": "Mystère", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de mystère", + "subTitle": "films ayant pour thématique le mystère", + "description": "Plongez dans l’univers des films de mystère, un genre mêlant thriller, drame et parfois une touche d'horreur. Les années passées ont vu la sortie de pépites cinématographiques, explorant des histoires de meurtre, de secrets enfouis et de suspense. Quels seront vos prochains coups de cœur ?" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 198, + "name": "Secret et confidences", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5255, + "name": "Mystère", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Nora, Thomas et leur fille Ida vivent dans une ferme isolée avec pour seule voisine, Cristina, une peintre italienne. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615884, + "startsAt": "2026-09-26T14:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190855/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.324014&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190855/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615907, + "startsAt": "2026-09-26T19:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190880/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.324014&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190880/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000004679, + "id": "TW92aWU6MTAwMDAwNDY3OQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwODc2Ng==", + "internalId": 9002108766, + "url": "https://fr.web.img5.acsta.net/img/05/d0/05d0dcb033bc9dced645815301b59394.jpg", + "path": "/img/05/d0/05d0dcb033bc9dced645815301b59394.jpg" + }, + "title": "Les Ensorceleuses 2", + "originalTitle": "Practical Magic 2", + "type": "FEATURE_FILM", + "runtime": "2h 10min", + "genres": [ + { + "id": 13024, + "translate": "Romance", + "tag": "ROMANCE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 2.4, + "count": 260 + }, + "userReview": { + "count": 57 + }, + "pressReview": { + "score": 1.8, + "count": 10 + }, + "metric": { + "hits": 258912, + "sessions": 154462 + }, + "wantToSeeCount": 612 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 3877, + "lastName": "Bier", + "firstName": "Susanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15760, + "lastName": "Kidman", + "firstName": "Nicole", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 4700, + "lastName": "Bullock", + "firstName": "Sandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 842415, + "lastName": "Bradley", + "firstName": "Cassie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15760, + "lastName": "Kidman", + "firstName": "Nicole", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 4700, + "lastName": "Bullock", + "firstName": "Sandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 842415, + "lastName": "Bradley", + "firstName": "Cassie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5235, + "name": "Sorciers / Sorcières / Sorcellerie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 241, + "name": "Pouvoirs surnaturels", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 148, + "name": "Malédiction", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5234, + "name": "Soeurs", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1675, + "name": "Groupe de femmes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616093, + "startsAt": "2026-09-26T14:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190857/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190857/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615697, + "startsAt": "2026-09-26T21:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190892/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:15&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190892/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + } + ], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 1 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "Imax", + "translation": { + "tag": "IMAX", + "name": "IMAX" + } + }, + { + "key": "3d", + "translation": { + "tag": "F_3D", + "name": "3D" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "4dx", + "translation": { + "tag": "E_4DX", + "name": "4DX" + } + }, + { + "key": "PLF", + "translation": { + "tag": "PLF", + "name": "PLF" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "OriginalSt", + "versionDetail": "ORIGINAL_ST" + }, + { + "key": "DubbedSme", + "versionDetail": "DUBBED_SME" + }, + { + "key": "DubbedSt", + "versionDetail": "DUBBED_ST" + }, + { + "key": "LocalSme", + "versionDetail": "LOCAL_SME" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [ + { + "key": "DisabledAccess", + "translation": { + "tag": "DISABLED_ACCESS", + "name": "Accès handicapés" + } + } + ] + } + ], + "pagination": { + "page": "1", + "totalPages": 2, + "itemsPerPage": 15, + "totalItems": 24 + }, + "data": null + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-P0645/d-2026-09-26/p-2/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Sat, 26 Sep 2026 13:10:02 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "1547" + ], + "last-modified": [ + "Sat, 26 Sep 2026 12:44:14 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=LnbX6nV04LQA0233rNvrlGhnYb0e18%2FoBhL%2B2eCEABaTnPHjYX9Xqbs6UXhUsOwYi4TpKtAev7v7l3vG8sBF9bdMFkCOQWNd1JN49XATsw6j%2BzqXyyHzFPurGxrwzyS6Ww%3D%3D\"}]}" + ], + "cf-ray": [ + "a41281a738116f63-CDG" + ], + "content-length": [ + "160219" + ] + }, + "body": { + "error": false, + "message": null, + "messageParam": null, + "nextDate": null, + "results": [ + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294280, + "id": "TW92aWU6Mjk0Mjgw", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NA==", + "internalId": 9002074644, + "url": "https://fr.web.img6.acsta.net/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg", + "path": "/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg" + }, + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "originalTitle": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.42, + "count": 10204 + }, + "userReview": { + "count": 1779 + }, + "pressReview": { + "score": 3.5, + "count": 38 + }, + "metric": { + "hits": 4078743, + "sessions": 1947711 + }, + "wantToSeeCount": 4373 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-03", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Une scène de bataille montrant des morts et des corps mutilés et la bande-son sont susceptibles d'impressionner un public sensible ou jeune.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "159694" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615947, + "startsAt": "2026-09-26T16:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190861/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190861/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "bold": true, + "text": "Précédé de deux courts métrages animés en avant- programme : " + }, + { + "bold": true, + "text": "Le Gnome", + "italic": true + }, + { + "bold": true, + "text": " et " + }, + { + "bold": true, + "text": "Le Nuage Kuap", + "italic": true + }, + { + "bold": true, + "text": "." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Une petite escargote de mer s’ennuie sur le rocher d’un vieux port et rêve de parcourir le monde. Un jour, une grande baleine à bosse lui propose de l’emmener en voyage à travers les océans du globe. Cette amitié insolite nous plonge dans une odyssée fabuleuse au cœur de la nature, de l’infiniment petit à l’infiniment grand." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 283811, + "id": "TW92aWU6MjgzODEx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6MjE3MzgyMjY=", + "internalId": 21738226, + "url": "https://fr.web.img4.acsta.net/pictures/20/07/28/17/09/2082147.jpg", + "path": "/pictures/20/07/28/17/09/2082147.jpg" + }, + "title": "La Baleine et l'escargote", + "originalTitle": "The Snail and The Whale", + "type": "SHORT_FILM", + "runtime": "0h 40min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2020, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.78, + "count": 155 + }, + "userReview": { + "count": 14 + }, + "pressReview": { + "score": 3.8, + "count": 5 + }, + "metric": { + "hits": 442208, + "sessions": 195935 + }, + "wantToSeeCount": 455 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-01", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwOA==", + "internalId": 50008, + "name": "Benshi" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-02-08", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTExMjU2", + "internalId": 1000111256, + "name": "Canal + Kids" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-01", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODEx", + "internalId": 1000112811, + "name": "france.tv" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "REPLAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-01", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToyMDA1OQ==", + "internalId": 20059, + "name": "France 5" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-19", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-19", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-19", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-07-04", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODEx", + "internalId": 1000112811, + "name": "france.tv" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "REPLAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-04-09", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEwMjA1", + "internalId": 1000110205, + "name": "Cinémutins" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-06-01", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2023-07-01", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzc=", + "internalId": 161200037, + "name": "OCS" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-06-10", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-12", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-12", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-05-19", + "precision": "day" + }, + "name": "ReRelease", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": [ + "RERUN" + ] + }, + "visaNumber": "153801" + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-21", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "153801" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 505083, + "lastName": "Lang", + "firstName": "Max", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 675817, + "lastName": "Snaddon", + "firstName": "Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 63234, + "lastName": "Sodoyez", + "firstName": "Colette", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 37634, + "lastName": "Rigg", + "firstName": "Diana", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + } + }, + { + "node": { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 218325, + "lastName": "Baran", + "firstName": "Maia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 83617, + "lastName": "Hawkins", + "firstName": "Sally", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + } + }, + { + "node": { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 20690, + "lastName": "Resimont", + "firstName": "Philippe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 134107, + "lastName": "Brydon", + "firstName": "Rob", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 63234, + "lastName": "Sodoyez", + "firstName": "Colette", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 37634, + "lastName": "Rigg", + "firstName": "Diana", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 218325, + "lastName": "Baran", + "firstName": "Maia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 83617, + "lastName": "Hawkins", + "firstName": "Sally", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 20690, + "lastName": "Resimont", + "firstName": "Philippe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 134107, + "lastName": "Brydon", + "firstName": "Rob", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5004, + "name": "United Kingdom", + "localizedName": "Grande-Bretagne" + }, + { + "__typename": "Country", + "id": 5165, + "name": "Czech Republic", + "localizedName": "République tchèque" + }, + { + "__typename": "Country", + "id": 5010, + "name": "Switzerland", + "localizedName": "Suisse" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 3930, + "name": "Aventures animalières", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2440, + "name": "Poissons / Dauphins / Baleines", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1262, + "name": "Les animaux ont la parole", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000000385, + "name": "AFCAE : Label Jeune Public", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 208, + "name": "Animaux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5260, + "name": "À partir de 3 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1769, + "name": "Dessin animé et animation", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": true, + "hasOnlineRelease": true, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": true, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Précédé de deux courts métrages animés en avant- programme : Le Gnome et Le Nuage Kuap.

Une petite escargote de mer s’ennuie sur le rocher d’un vieux port et rêve de parcourir le monde. Un jour, une grande baleine à bosse lui propose de l’emmener en voyage à travers les océans du globe. Cette amitié insolite nous plonge dans une odyssée fabuleuse au cœur de la nature, de l’infiniment petit à l’infiniment grand.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615729, + "startsAt": "2026-09-26T16:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190864/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.283811&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190864/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 327941, + "id": "TW92aWU6MzI3OTQx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA0MDk2OA==", + "internalId": 9002040968, + "url": "https://fr.web.img6.acsta.net/img/46/d4/46d4170eaca90b7bd1dae27db18ed739.jpg", + "path": "/img/46/d4/46d4170eaca90b7bd1dae27db18ed739.jpg" + }, + "title": "La Vie d'une femme", + "originalTitle": "La Vie d'une femme", + "type": "FEATURE_FILM", + "runtime": "1h 38min", + "genres": [ + { + "id": 13002, + "translate": "Comédie dramatique", + "tag": "COMEDY_DRAMA" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.67, + "count": 1357 + }, + "userReview": { + "count": 191 + }, + "pressReview": { + "score": 3.68, + "count": 38 + }, + "metric": { + "hits": 543924, + "sessions": 292111 + }, + "wantToSeeCount": 1527 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "158650" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 738544, + "lastName": "Bourgeois-Tacquet", + "firstName": "Charline", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 5084, + "lastName": "Drucker", + "firstName": "Léa", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 21714, + "lastName": "Thierry", + "firstName": "Mélanie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 14585, + "lastName": "Berling", + "firstName": "Charles", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 5084, + "lastName": "Drucker", + "firstName": "Léa", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 21714, + "lastName": "Thierry", + "firstName": "Mélanie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 14585, + "lastName": "Berling", + "firstName": "Charles", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 988, + "name": "Période de la vie : la cinquantaine", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.ThemeDeSociete" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2781, + "name": "Chirurgie / Chirurgiens / Opération chirurgicale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 760, + "name": "Hôpitaux / Médecins / Cabinet médical", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2056, + "name": "Malade et maladie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 414, + "name": "Relation mère / fille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4756, + "name": "Couple en crise", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4606, + "name": "Rencontre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 994, + "name": "Portrait de femme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616139, + "startsAt": "2026-09-26T16:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190869/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.327941&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190869/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. Le général Eisenhower et le capitaine James Stagg, météorologue, font alors face à un choix impossible : attaquer malgré l’incertitude… ou risquer de perdre la guerre. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "PRESSURE, l’histoire vraie d’un compte à rebours sous haute tension." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000004458, + "id": "TW92aWU6MTAwMDAwNDQ1OA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA4NDA2Mw==", + "internalId": 9002084063, + "url": "https://fr.web.img2.acsta.net/img/92/fb/92fb57911489ab17bfa8ecf0b29712c5.jpg", + "path": "/img/92/fb/92fb57911489ab17bfa8ecf0b29712c5.jpg" + }, + "title": "Pressure", + "originalTitle": "Pressure", + "type": "FEATURE_FILM", + "runtime": "1h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + }, + { + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.06, + "count": 1526 + }, + "userReview": { + "count": 217 + }, + "pressReview": { + "score": 3.46, + "count": 24 + }, + "metric": { + "hits": 454882, + "sessions": 266553 + }, + "wantToSeeCount": 1777 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168211" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 766308, + "lastName": "Maras", + "firstName": "Anthony", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 73747, + "lastName": "Scott", + "firstName": "Andrew", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 18216, + "lastName": "Fraser", + "firstName": "Brendan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 101150, + "lastName": "Condon", + "firstName": "Kerry", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 73747, + "lastName": "Scott", + "firstName": "Andrew", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 18216, + "lastName": "Fraser", + "firstName": "Brendan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 101150, + "lastName": "Condon", + "firstName": "Kerry", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5004, + "name": "United Kingdom", + "localizedName": "Grande-Bretagne" + }, + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5315, + "name": "Dwight Eisenhower", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 816, + "name": "Débarquement allié en Normandie 1945", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1270, + "name": "Compte à rebours", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6060, + "name": "Histoire vraie pendant la guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 275, + "name": "Pluie / Orage / Tempête", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4717, + "name": "Inspiré d'une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 520, + "name": "D'après une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. Le général Eisenhower et le capitaine James Stagg, météorologue, font alors face à un choix impossible : attaquer malgré l’incertitude… ou risquer de perdre la guerre.

PRESSURE, l’histoire vraie d’un compte à rebours sous haute tension.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615710, + "startsAt": "2026-09-26T17:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190874/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190874/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615738, + "startsAt": "2026-09-26T19:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190887/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190887/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616072, + "startsAt": "2026-09-26T22:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190903/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190903/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": " " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294281, + "id": "TW92aWU6Mjk0Mjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NQ==", + "internalId": 9002074645, + "url": "https://fr.web.img5.acsta.net/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg", + "path": "/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg" + }, + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "originalTitle": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2025, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.51, + "count": 7964 + }, + "userReview": { + "count": 1146 + }, + "pressReview": { + "score": 3.86, + "count": 28 + }, + "metric": { + "hits": 2142993, + "sessions": 985333 + }, + "wantToSeeCount": 3322 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-26", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "160148" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615788, + "startsAt": "2026-09-26T19:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190877/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190877/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000032856, + "id": "TW92aWU6MTAwMDAzMjg1Ng==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2OTA0Ng==", + "internalId": 9002069046, + "url": "https://fr.web.img5.acsta.net/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg", + "path": "/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg" + }, + "title": "Tombé du ciel", + "originalTitle": "Tombé du ciel", + "type": "FEATURE_FILM", + "runtime": "1h 32min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.21, + "count": 3059 + }, + "userReview": { + "count": 1373 + }, + "pressReview": { + "score": 2.57, + "count": 7 + }, + "metric": { + "hits": 1351486, + "sessions": 787976 + }, + "wantToSeeCount": 905 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-12", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "165652" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 480873, + "lastName": "Hamidi", + "firstName": "Mohamed", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1142, + "name": "Ecole religieuse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 831, + "name": "Pensionnat", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4061, + "name": "Humoriste", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2047, + "name": "Religion / Prière et lieux de cultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3466, + "name": "Professeur / Enseignant", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2068, + "name": "Pape / Prêtre / Curé / Moine / Bonne soeur / Religieux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616090, + "startsAt": "2026-09-26T19:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190878/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:10&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190878/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé..." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000014969, + "id": "TW92aWU6MTAwMDAxNDk2OQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA5Mzg2OQ==", + "internalId": 9002093869, + "url": "https://fr.web.img3.acsta.net/img/49/53/4953b0ca2f415faf7afb40c6cf9c1cf5.jpg", + "path": "/img/49/53/4953b0ca2f415faf7afb40c6cf9c1cf5.jpg" + }, + "title": "The Dog Stars", + "originalTitle": "The Dog Stars", + "type": "FEATURE_FILM", + "runtime": "1h 59min", + "genres": [ + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.25, + "count": 1732 + }, + "userReview": { + "count": 293 + }, + "pressReview": { + "score": 2.66, + "count": 29 + }, + "metric": { + "hits": 624263, + "sessions": 370939 + }, + "wantToSeeCount": 2147 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-26", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Des scènes violentes de combat et des images montrant de nombreux cadavres sont susceptibles d'impressionner un jeune public.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167731" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 258, + "lastName": "Scott", + "firstName": "Ridley", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 838641, + "lastName": "Elordi", + "firstName": "Jacob", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 646619, + "lastName": "Qualley", + "firstName": "Margaret", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3146, + "lastName": "Brolin", + "firstName": "Josh", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 838641, + "lastName": "Elordi", + "firstName": "Jacob", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 646619, + "lastName": "Qualley", + "firstName": "Margaret", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 3146, + "lastName": "Brolin", + "firstName": "Josh", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6055, + "name": "Un virus ravageur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de virus et de contagion", + "subTitle": "films de contamination et de pandémie", + "description": "Quels sont les meilleurs films de virus et de contagion ? Découvrez les meilleurs films de contamination et de pandémie d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 692, + "name": "Survivants / Rescapés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1815, + "name": "Pilote", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5371, + "name": "Dystopie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1100, + "name": "Monde post-apocalyptique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films post-apocalyptiques", + "subTitle": "films ayant pour thématique les survivants de l'apocalypse", + "description": "Plongez dans l'univers captivant des films post-apocalyptiques, où la Terre, ravagée par la guerre ou la science, devient le théâtre de luttes pour l'humanité. Du chaos de Mad Max de George Miller à la révolte des singes, les films post-apocalyptiques explorent les meilleurs récits de cinéma où des survivants traversent un monde en ruines" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 691, + "name": "Anticipation / Futur / Avenir proche", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5222, + "name": "Road Movie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 250, + "name": "Solitude - solitaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615717, + "startsAt": "2026-09-26T22:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190899/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000014969&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:10&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190899/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000016503, + "id": "TW92aWU6MTAwMDAxNjUwMw==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA0MzA3Mg==", + "internalId": 9002043072, + "url": "https://fr.web.img5.acsta.net/img/ec/35/ec35f784920486fc0e3ff35b7aa4fc41.jpg", + "path": "/img/ec/35/ec35f784920486fc0e3ff35b7aa4fc41.jpg" + }, + "title": "Insidious : l'invasion du lointain", + "originalTitle": "Insidious: Out of the Further", + "type": "FEATURE_FILM", + "runtime": "1h 46min", + "genres": [ + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 2.64, + "count": 570 + }, + "userReview": { + "count": 105 + }, + "pressReview": { + "score": 2, + "count": 3 + }, + "metric": { + "hits": 279281, + "sessions": 170390 + }, + "wantToSeeCount": 553 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-19", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes réalistes de maltraitance sur une jeune enfant et de sévices physiques sont susceptibles d'impressionner un jeune public.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 108591, + "lastName": "Chase", + "firstName": "Jacob", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 885129, + "lastName": "Eve", + "firstName": "Amelia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000057308, + "lastName": "Austin", + "firstName": "Island", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 27870, + "lastName": "Shaye", + "firstName": "Lin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 885129, + "lastName": "Eve", + "firstName": "Amelia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000057308, + "lastName": "Austin", + "firstName": "Island", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 27870, + "lastName": "Shaye", + "firstName": "Lin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5340, + "name": "Insidious", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1158, + "name": "Maison hantée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1509, + "name": "Monde parallèle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 148, + "name": "Malédiction", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1203, + "name": "Démons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2514, + "name": "Fantômes / Esprits", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1192, + "name": "Surnaturel / Phénomène surnaturel / Paranormal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615919, + "startsAt": "2026-09-26T22:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190901/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000016503&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190901/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000028234, + "id": "TW92aWU6MTAwMDAyODIzNA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1MjI5OA==", + "internalId": 9002052298, + "url": "https://fr.web.img6.acsta.net/img/00/20/0020008382daf6b1305be800e8342a72.jpg", + "path": "/img/00/20/0020008382daf6b1305be800e8342a72.jpg" + }, + "title": "Obsession", + "originalTitle": "Obsession", + "type": "FEATURE_FILM", + "runtime": "1h 49min", + "genres": [ + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.92, + "count": 6566 + }, + "userReview": { + "count": 800 + }, + "pressReview": { + "score": 3.88, + "count": 26 + }, + "metric": { + "hits": 1818328, + "sessions": 976986 + }, + "wantToSeeCount": 2412 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-15", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-15", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-15", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA2NTA=", + "internalId": 161200650, + "name": "ARTE Boutique" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA2NTA=", + "internalId": 161200650, + "name": "ARTE Boutique" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-10", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-05-13", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-16", + "label": "Interdit - 16 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167414" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 1000014132, + "lastName": "Barker", + "firstName": "Curry", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 767966, + "lastName": "Johnston (II)", + "firstName": "Michael", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 904777, + "lastName": "Navarrette", + "firstName": "Inde", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000014133, + "lastName": "Tomlinson", + "firstName": "Cooper", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 767966, + "lastName": "Johnston (II)", + "firstName": "Michael", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 904777, + "lastName": "Navarrette", + "firstName": "Inde", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000014133, + "lastName": "Tomlinson", + "firstName": "Cooper", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5166, + "name": "Génie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 916, + "name": "Cas de possession", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6039, + "name": "Thriller psychologique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "thrillers psychologiques", + "subTitle": "films psychologiques", + "description": "Quels sont les meilleurs thrillers psychologiques ? Ces films psychologiques, entre horreur et mystère, explorent les méandres de la psyché humaine avec des films marquants comme celles de David Fincher ou Paul Verhoeven" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 583, + "name": "Obsession", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": true, + "hasOnlineRelease": true, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615982, + "startsAt": "2026-09-26T22:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190902/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028234&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:20&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190902/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + } + ], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 2 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "Imax", + "translation": { + "tag": "IMAX", + "name": "IMAX" + } + }, + { + "key": "3d", + "translation": { + "tag": "F_3D", + "name": "3D" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "4dx", + "translation": { + "tag": "E_4DX", + "name": "4DX" + } + }, + { + "key": "PLF", + "translation": { + "tag": "PLF", + "name": "PLF" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "OriginalSt", + "versionDetail": "ORIGINAL_ST" + }, + { + "key": "DubbedSme", + "versionDetail": "DUBBED_SME" + }, + { + "key": "DubbedSt", + "versionDetail": "DUBBED_ST" + }, + { + "key": "LocalSme", + "versionDetail": "LOCAL_SME" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [ + { + "key": "DisabledAccess", + "translation": { + "tag": "DISABLED_ACCESS", + "name": "Accès handicapés" + } + } + ] + } + ], + "pagination": { + "page": "2", + "totalPages": 2, + "itemsPerPage": 15, + "totalItems": 24 + }, + "data": null + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/ope/movie-1000000085/theater-P0645/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Sat, 26 Sep 2026 13:10:02 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "2044" + ], + "last-modified": [ + "Sat, 26 Sep 2026 12:35:57 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gHQPinB%2FOJFgGhckIbwrqXRoFgYhKEDpBcDk%2FNw2S5vTgiI62ngGQa9R6%2BQ5GSy0e3SSj118dsIAF%2Fy8GE2cCtHaLjDe1e8G4j846NP7t8WjMu28r8rPs5tsM%2F0T7lMcKg%3D%3D\"}]}" + ], + "cf-ray": [ + "a41281a778536f63-CDG" + ], + "content-length": [ + "3850" + ] + }, + "body": { + "error": false, + "message": "", + "results": { + "theater": { + "__typename": "Theater", + "internalId": "P0645", + "name": "Pathé Toulouse Labège - IMAX", + "location": { + "__typename": "Location", + "address": "105 La Méridienne", + "city": "Labège", + "region": "Midi-Pyrénées", + "zip": "31670" + }, + "theaterCircuits": { + "__typename": "Company", + "internalId": 10002, + "name": "Pathé Cinémas" + } + }, + "showtimes": [ + { + "__typename": "Showtime", + "internalId": 81950615950, + "isPreview": false, + "diffusionVersion": "ORIGINAL", + "startsAt": "2026-09-26T15:50:00", + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "provider": "en", + "urls": [ + "https://s.pathe.fr/en/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + }, + { + "__typename": "Ticketing", + "provider": "relay", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:50&code=vost; pmr; " + ] + }, + { + "__typename": "Ticketing", + "provider": "default", + "urls": [ + "https://s.pathe.fr/fr/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + } + ] + }, + "experience": null, + "picture": null, + "projection": [ + "DIGITAL" + ], + "sound": null + }, + { + "__typename": "Showtime", + "internalId": 81950615781, + "isPreview": false, + "diffusionVersion": "DUBBED", + "startsAt": "2026-09-26T18:15:00", + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "provider": "en", + "urls": [ + "https://s.pathe.fr/en/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + }, + { + "__typename": "Ticketing", + "provider": "relay", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=18:15&code=vf; pmr; " + ] + }, + { + "__typename": "Ticketing", + "provider": "default", + "urls": [ + "https://s.pathe.fr/fr/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + } + ] + }, + "experience": null, + "picture": null, + "projection": [ + "DIGITAL" + ], + "sound": null + }, + { + "__typename": "Showtime", + "internalId": 81950615689, + "isPreview": false, + "diffusionVersion": "DUBBED", + "startsAt": "2026-09-26T19:30:00", + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "provider": "en", + "urls": [ + "https://s.pathe.fr/en/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + }, + { + "__typename": "Ticketing", + "provider": "relay", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; pmr; " + ] + }, + { + "__typename": "Ticketing", + "provider": "default", + "urls": [ + "https://s.pathe.fr/fr/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + } + ] + }, + "experience": null, + "picture": null, + "projection": [ + "DIGITAL" + ], + "sound": null + } + ] + } + } + } + } + ] +} diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..7059764 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,54 @@ +import json +from pathlib import Path + +import pytest +import vcr +from syrupy.extensions.json import JSONSnapshotExtension + +CASSETTES = Path(__file__).parent / "cassettes" + + +@pytest.fixture +def json_snapshot(snapshot): + return snapshot.use_extension(JSONSnapshotExtension) + + +class JsonBodySerializer: + @staticmethod + def serialize(cassette): + for interaction in cassette["interactions"]: + response = interaction["response"] + response["body"] = json.loads(response["body"]["string"]) + return json.dumps(cassette, ensure_ascii=False, indent=2) + "\n" + + @staticmethod + def deserialize(cassette_string): + cassette = json.loads(cassette_string) + for interaction in cassette["interactions"]: + response = interaction["response"] + body = json.dumps(response["body"], ensure_ascii=False, separators=(",", ":")) + response["body"] = {"string": body} + response["headers"]["content-length"] = [str(len(body.encode()))] + return cassette + + +def remove_response_cookies(response): + response["headers"].pop("set-cookie", None) + return response + + +@pytest.fixture +def allocine_vcr(request): + recorder = vcr.VCR( + cassette_library_dir=str(CASSETTES), + before_record_response=remove_response_cookies, + decode_compressed_response=True, + filter_headers=["cookie"], + record_mode="once", + ) + recorder.register_serializer("json_body", JsonBodySerializer) + recorder.serializer = "json_body" + + cassette_name = f"{request.node.name.removeprefix('test_')}.json" + with recorder.use_cassette(cassette_name): + yield recorder diff --git a/tests/test_allocine.py b/tests/test_allocine.py index a8875e6..f406e2e 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -1,28 +1,12 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +"""High-level tests for the Allocine API client.""" -"""Tests for `allocine` package.""" - -# To be tested with : python3 -m pytest -vs tests/test_allocine.py - -import pytest +from dataclasses import asdict +from datetime import date from allocine import Allocine -@pytest.mark.skip(reason="Allocine API client logic needs to be fixed") -def test_class_Theater(): - allocine = Allocine() - theater = allocine.get_theater(theater_id="P0645") - assert len(theater.showtimes) > 0 - - date = theater.showtimes[0].date - movies = theater.get_movies_available_for_a_day(date) - assert len(movies) > 0 - +def test_get_theater(json_snapshot, allocine_vcr): + theater = Allocine().get_theater("P0645", date=date(2026, 9, 26)) -@pytest.mark.skip(reason="Allocine API client logic needs to be fixed") -def test_class_Allocine_errors(): - allocine = Allocine() - with pytest.raises(ValueError): - allocine.get_theater(theater_id="UNKOWN") + assert asdict(theater) == json_snapshot diff --git a/uv.lock b/uv.lock index e74bd7f..1d3e364 100644 --- a/uv.lock +++ b/uv.lock @@ -24,7 +24,9 @@ dev = [ { name = "pytest" }, { name = "pytest-cov" }, { name = "ruff" }, + { name = "syrupy" }, { name = "ty" }, + { name = "vcrpy" }, ] [package.metadata] @@ -38,7 +40,9 @@ requires-dist = [ { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.1.1" }, { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=7.1.0" }, { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.16.9" }, + { name = "syrupy", marker = "extra == 'dev'", specifier = ">=6.1.1" }, { name = "ty", marker = "extra == 'dev'", specifier = ">=0.0.84" }, + { name = "vcrpy", marker = "extra == 'dev'", specifier = ">=8.3.0" }, ] provides-extras = ["dev"] @@ -539,6 +543,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/51/60/5fb1a39dbb5ae314d5f59bc7348a63c1d5c20f3cd83914c4b5cb0be31d2d/ruff-0.16.9-py3-none-win_arm64.whl", hash = "sha256:ed1a252039200f57a59eebc063b54beabea67bfbaaca0eeaa7f54b5fbcda2284", size = 10458649, upload-time = "2026-09-24T20:37:46.882Z" }, ] +[[package]] +name = "syrupy" +version = "6.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/2c/8ffc1414d1951895d0d5b7dc83c0b079ebc48c3bf27ffbb0064646367500/syrupy-6.1.1.tar.gz", hash = "sha256:7e584a8df4ede6dd3c1c44a77f9edc46186b6767a73dea6f0083044946839a59", size = 109705, upload-time = "2026-09-13T20:25:21.599Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/b5/bf2a8a335a6a813869dd482cedbcde252f582b5afbfe50eb78ec09962800/syrupy-6.1.1-py3-none-any.whl", hash = "sha256:6ac9ac6a42d70ae44156f5f157a9563b9bb8cc96dcf9364327f330463bff889a", size = 63436, upload-time = "2026-09-13T20:25:20.294Z" }, +] + [[package]] name = "tomli" version = "2.4.1" @@ -636,6 +652,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" }, ] +[[package]] +name = "vcrpy" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyyaml" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/39/d5/8a1f8eb603e2d35fbb0ecd1e309d0c5c18a0ecfc8c0a8f04088bbc8f833b/vcrpy-8.3.0.tar.gz", hash = "sha256:46d64e77e8d95e5c76c7d9a94ff05d8b38b2ae4e1d4869eb0235024b6fcb5212", size = 96117, upload-time = "2026-07-04T14:27:01.608Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/77/cb4219be91508399cbcb6143bad89462cfb16f6c638458f454a5d46ac95a/vcrpy-8.3.0-py3-none-any.whl", hash = "sha256:bd66e6143746778157f00e2a922527a8d96b2fdc350be8988a45a29c843815b9", size = 46530, upload-time = "2026-07-04T14:27:00.546Z" }, +] + [[package]] name = "virtualenv" version = "21.12.1" @@ -651,3 +680,100 @@ sdist = { url = "https://files.pythonhosted.org/packages/ad/3b/02608bb39c6b6f7d5 wheels = [ { url = "https://files.pythonhosted.org/packages/f5/8c/692cf235722ee45c612630d2b49b3d1765892f7e440055365ea1b59c659e/virtualenv-21.12.1-py3-none-any.whl", hash = "sha256:878db9e963d0ef0b38561a344a4f9b12dc5c7741b6245d7ed10e9291cfea28bc", size = 5486096, upload-time = "2026-09-24T19:03:45.985Z" }, ] + +[[package]] +name = "wrapt" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/42/a6/6375d56c44d590ef24acf0f8f5bf7ed768ff7a510b959306ec412611e90f/wrapt-2.4.1.tar.gz", hash = "sha256:fd6390aab9e8aa40c52eff3c180f098e8d9f5894b1fd4c4fd2c207067b33ed16", size = 164597, upload-time = "2026-09-10T23:12:16.811Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/45/fe4524dea5a15a6f64522745a96618fb2f874c11c4060848abacc4f85232/wrapt-2.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7aaff952dd6930fc87b52d44bf72ac8426e45e90058fe0f2da446889738eff44", size = 97739, upload-time = "2026-09-10T23:09:36.872Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cb/08025a4402bd6f34ac7c07e4d5c75e4f32e595cd7424d697c6fce1663bc3/wrapt-2.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8d67b916f2f777a6d31067e842598e059f1a0e29022c86454564fc9efb9a0c19", size = 98237, upload-time = "2026-09-10T23:09:38.82Z" }, + { url = "https://files.pythonhosted.org/packages/3c/e9/2c1a482052cfabd6906887096993099afa2db738e7597c30e4f2b9922718/wrapt-2.4.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2945f4bce1518e09eb25458dbd09800f7aa3fee81a5a5cefe66c4e82fe8cb69c", size = 217028, upload-time = "2026-09-10T23:09:40.259Z" }, + { url = "https://files.pythonhosted.org/packages/fb/0d/867f5a1955de8e04edfbdf32891376443629d94c3e31ae2ea2ba101d6d31/wrapt-2.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a7ce62ee24eddb76c317ec790c44f4fbe9f34ee0a5dae37b30c65a2b8f3e3604", size = 219323, upload-time = "2026-09-10T23:09:41.701Z" }, + { url = "https://files.pythonhosted.org/packages/42/21/af01e7d55ce47df290e60cc4c0acccd439ccb95f30be63e46ba013e4f212/wrapt-2.4.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0cbee8d00840ac89846f6567c75506260a15fbb4dc74de180678fafe09458d47", size = 208024, upload-time = "2026-09-10T23:09:43.318Z" }, + { url = "https://files.pythonhosted.org/packages/89/24/9ae249d4922408cb28bc31e8dec86e918350261cf61e38fd8bbfff8bfd66/wrapt-2.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b78dd8d058468156003ee8c212dab334b6eea18cd9c5db3b81f6c90a9408afcc", size = 217712, upload-time = "2026-09-10T23:09:44.739Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a7/34b1e65e490ae886b057ac813e86e16399b7dae91166b5bde5fc9f86c2ee/wrapt-2.4.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4d48f1720569b4f6e2df97783fd270554abc4c6ebd74b2e5f15e5110283aaf78", size = 206245, upload-time = "2026-09-10T23:09:46.07Z" }, + { url = "https://files.pythonhosted.org/packages/bb/e5/8b5af45e8e7dc102b78a40b077f071466a0f584898fe57ce181bbca2572b/wrapt-2.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:de5d2d7f12557c9e994b4037330efa5700fccb9f2b9df0bd4ccf384eaf73c254", size = 206937, upload-time = "2026-09-10T23:09:47.328Z" }, + { url = "https://files.pythonhosted.org/packages/b7/47/06e483462e90a50250f51da3ffa1f1c67e457910078b36aad55805202886/wrapt-2.4.1-cp310-cp310-win32.whl", hash = "sha256:5c0217b8c12952bf4d137a19ff2c61cc9b626f52c09c43f0289769c9f5f808aa", size = 93405, upload-time = "2026-09-10T23:09:48.64Z" }, + { url = "https://files.pythonhosted.org/packages/2a/01/c200bbabb0c46a431c9d965fff78e6bf08c1598fa970bdf105362aeba969/wrapt-2.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:0aacc1af512e040fb0b3c4593a8bded9aaa04235025f08a54eda9d8c1103d3c6", size = 98454, upload-time = "2026-09-10T23:09:49.771Z" }, + { url = "https://files.pythonhosted.org/packages/e3/04/c7eace579b4c397aa3651c550c216b05d3561cff56bcbeb726c8ab3faf4b/wrapt-2.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:6f32a45d0e883918387aabf5384952e5a93ae40be0a6fb5f1eddc8281af4c714", size = 95247, upload-time = "2026-09-10T23:09:51.119Z" }, + { url = "https://files.pythonhosted.org/packages/c6/c6/5e08ef1e8ad5ff518354db77b7a303666c7e0652e2a569116b5ccb72b690/wrapt-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b6ea396edcfb305698f44ef0a47b9adaca15d30386ce093ca606844f776d7236", size = 97984, upload-time = "2026-09-10T23:09:52.569Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ec/e77ba77fdce732f39522382a6a9b968e5abf3471f352d51670120534e271/wrapt-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b86bfe741840cec6d8d5858b1eb53a325f564f08d7e6fb5694981961edcec230", size = 98241, upload-time = "2026-09-10T23:09:53.72Z" }, + { url = "https://files.pythonhosted.org/packages/7b/af/c54bd0bf32ef3c5f6d2d50af6bd9d88c040ef53d9f8e113e065337d76788/wrapt-2.4.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8ec7aeb92e956810eedc268fe75f8c11f05d6c3d864d0995a53eb6623b3b6a51", size = 226167, upload-time = "2026-09-10T23:09:54.946Z" }, + { url = "https://files.pythonhosted.org/packages/00/3c/934e13c7e27680760fa74e25e4b291b213fd607aa42333d883f732de6d73/wrapt-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba66eccadd4b857a845e309c08457bb71fa8300000e508e3a86cd695bf9c7515", size = 228439, upload-time = "2026-09-10T23:09:56.272Z" }, + { url = "https://files.pythonhosted.org/packages/cf/5e/7593f3fe527260ff3e8eb09ed26ff8f0bf51cda5702a75fb5969b689b4a2/wrapt-2.4.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3d5c8f3b4eae814213d4097f134be03aeb23816e6358213454ec5e62e8449fb6", size = 213495, upload-time = "2026-09-10T23:09:57.622Z" }, + { url = "https://files.pythonhosted.org/packages/42/a8/d4b4d6ac44cb2c7d4a882499786fd96758c97feb6b1539ba0ed5c823849a/wrapt-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3bc7ab495e564449f39db2f54c1033d7190c944736d525f3bd06cefaf0134df0", size = 226108, upload-time = "2026-09-10T23:09:59.132Z" }, + { url = "https://files.pythonhosted.org/packages/05/b3/aedc046bbd8ff2333c2ce9d5267db42117221d4192ac13c66e871b528d9f/wrapt-2.4.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2e2e694057bcfd46f43e28f7b50fad8f5fec7113cc6445fdf251219539a08f28", size = 211144, upload-time = "2026-09-10T23:10:01.141Z" }, + { url = "https://files.pythonhosted.org/packages/96/60/c01efb0e8049a9df379b04ebc589eeef995d6cf184b1d8be9f1b84b4d5f7/wrapt-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f5577fdc702427698c81c8c9c3b8479cbecb3dfd0f697be8c1d09c89f5838cc", size = 215496, upload-time = "2026-09-10T23:10:02.778Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b5/26214472915eb447725982e2735c593131c5bae0c3fd582ad61e7b965907/wrapt-2.4.1-cp311-cp311-win32.whl", hash = "sha256:e78c0f6d66a564bab245faf170d55595df6fc237117b99d97fd838678f0906f0", size = 93493, upload-time = "2026-09-10T23:10:04.196Z" }, + { url = "https://files.pythonhosted.org/packages/d9/10/5f7d2dd40c97c5e572dce771b8d4c1c78d46a90cfc24c7b25f158253215a/wrapt-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:1f1851be0e593d65e68d7c1bc9d3b971e19fefa219f617e490d75e80e467ee14", size = 98679, upload-time = "2026-09-10T23:10:05.413Z" }, + { url = "https://files.pythonhosted.org/packages/a5/6a/f7565da9ab1323b2aa5fb4a83b919b6519cc0f4ea4b91ec8f2d25f5bcbab/wrapt-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:7ff549316d94c404999f96bb0a6993222566231ff4bede1b6f68908d1958a08f", size = 95071, upload-time = "2026-09-10T23:10:06.679Z" }, + { url = "https://files.pythonhosted.org/packages/9f/1f/a2f3225c5ecf522684c1d051aea8ce8253f240e55be75826b787777afd6c/wrapt-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7e86fbc2ac8a363ea04abf631fad82720e16b17a25020f32dbe9b24a2ed2b0e3", size = 98890, upload-time = "2026-09-10T23:10:07.876Z" }, + { url = "https://files.pythonhosted.org/packages/68/6c/eb45660fd4d92cce11ec923f55bb2e647a6c18d30e53734eb07a3c530e31/wrapt-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24389748f0b9d5b67e478fad4fc8b3f1108422ef80716e48eead6cebcebbff08", size = 98742, upload-time = "2026-09-10T23:10:09.236Z" }, + { url = "https://files.pythonhosted.org/packages/a3/4f/17a89a580cb0082e61b8375074d5c9e5d38e4aa83ee19b6174ee472d17c2/wrapt-2.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:30d11c289b013bf384ff1a1a6553f150d0b855901708a9bef667a5680f8247c9", size = 236301, upload-time = "2026-09-10T23:10:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/01/ca/4700eb008a34bf02de328806ddde15fc84c8d1e65d3dcafb92a935a50319/wrapt-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9356dbb59199a0e4709de35fa4a1ac1a88ef6da99711a397f5b009233faff326", size = 237805, upload-time = "2026-09-10T23:10:12.594Z" }, + { url = "https://files.pythonhosted.org/packages/75/5d/26c1740299b29e190d5f4b4a99eb001401042a9d9ab338e3f8e1ce140ecb/wrapt-2.4.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8342f332dada211f64b74609e332d727b13315e9a83177f7918bf68c59f815f2", size = 217037, upload-time = "2026-09-10T23:10:14.028Z" }, + { url = "https://files.pythonhosted.org/packages/3a/55/ec72991153a2ae8b40238bc44cec7c3ddf7706ef6e2d314b0c6f5c7febce/wrapt-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2f86e328c482bc5383b4eda5094be0bed3617fc3076aa9225ff1a9eb6372de9b", size = 234659, upload-time = "2026-09-10T23:10:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/7cfa1e070dcda76ea56a3e252341cba1cd1e9412baf23cd7adfebf1114e2/wrapt-2.4.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:4dc92697444ee380544fbb43c86612d8486529aadf917c22b5524141d4af074c", size = 214590, upload-time = "2026-09-10T23:10:16.744Z" }, + { url = "https://files.pythonhosted.org/packages/79/10/248841cb30107f6f32c53a02662e1c3e0c7c06bea0b8ebfaaee94885dcee/wrapt-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edd03758a7578526642508b8833d43496fdfba0f64e0025dfca153a7c1777735", size = 225103, upload-time = "2026-09-10T23:10:18.346Z" }, + { url = "https://files.pythonhosted.org/packages/90/02/5b2bf7b35b008a39939a2908e85dba3b867596e535fc9f12ddf3ba1fcaf6/wrapt-2.4.1-cp312-cp312-win32.whl", hash = "sha256:5d83e412665aeb1e854eefbf1564d0d67872d9994b502a0bce96e6ff7f4970b7", size = 93441, upload-time = "2026-09-10T23:10:19.81Z" }, + { url = "https://files.pythonhosted.org/packages/d4/2a/47be56772bfb07ef242d6e924049688e38384af2b2fc99b0f31180988448/wrapt-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:b4e7efdd476ac631a0181551fd9aace844765ea3ce2b5133b194fae4421e8ad0", size = 98808, upload-time = "2026-09-10T23:10:21.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ec/40e4c9735626afd1dc0eeb310310278361f192800503cda0f5b3d8d24db4/wrapt-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:38819761401baa2d11916d7265b82f23265f8fe5a31c431dd7c24a8863c65f88", size = 95240, upload-time = "2026-09-10T23:10:22.39Z" }, + { url = "https://files.pythonhosted.org/packages/5c/1a/9b5aa3c2391aa6d00fffa085c2219e8fc91cd4d2b9b080d2b4e4b6b93f42/wrapt-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:55f36bb1461f93beaf18d818e568b5de343dd8fade7456773d201a38ee723bd3", size = 98597, upload-time = "2026-09-10T23:10:23.723Z" }, + { url = "https://files.pythonhosted.org/packages/fe/07/dc98150c2f9ee5b5fcbd841765e178ea6cc6c43733ab8d1f5181a4fb9f3d/wrapt-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:53e15cd74bd6b84d7fa90b93dda7334d85f4641fae97632de8aa61d268dfd145", size = 98842, upload-time = "2026-09-10T23:10:25.109Z" }, + { url = "https://files.pythonhosted.org/packages/08/c2/0e772a570e8d75c1b3ec45930a3023492fa68223f8f5e3485af4844c10c3/wrapt-2.4.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:be6cdd7121adc89a6f52e3c2f4e26a2d4dcdc1c0fde47e3156234db8939e4cdc", size = 234642, upload-time = "2026-09-10T23:10:26.644Z" }, + { url = "https://files.pythonhosted.org/packages/76/25/4ce4d02dd95ff9ed972a2fc396d04fec636daa5a4ac18cc73a3dc20aa6c3/wrapt-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03b5598edd435373278731d0d53449ce7a9626bc48d5548e4a71124ee3e526a1", size = 235484, upload-time = "2026-09-10T23:10:28.098Z" }, + { url = "https://files.pythonhosted.org/packages/fd/80/436ef1df620ef8edd9ef057b4d55a0cd704435ff66852a0ef26cbaa02a58/wrapt-2.4.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fdc997819a6df4c65bdb0a1c5601c98b479ee34cc2f94ffa98a767034ad6366d", size = 214371, upload-time = "2026-09-10T23:10:29.841Z" }, + { url = "https://files.pythonhosted.org/packages/6a/2c/cc5b7503843399087db3106a7cf60d60d0900f69539e96148b9fff116291/wrapt-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3bfc6907ebed560d2d3f677c3b17bf6199679163b6c6e475035c9dca497d1697", size = 232347, upload-time = "2026-09-10T23:10:31.511Z" }, + { url = "https://files.pythonhosted.org/packages/86/fb/17668b1ca572c44b458c09d76064d35f5f57d5ac7629248871604bef816c/wrapt-2.4.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:a0c3b217332cf0c4df085fec41c126bf7507d6c1ca0efb3ba8d2b3fd234d4e73", size = 212792, upload-time = "2026-09-10T23:10:32.968Z" }, + { url = "https://files.pythonhosted.org/packages/b8/2b/0c5de10d7259e07c478c44bf2fbe179c6878727d09edf0632b97884801db/wrapt-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a23b89621cfeb3329b1a290596bf402e61d7d5a647a65ca8ea735e48771b71d4", size = 223585, upload-time = "2026-09-10T23:10:34.43Z" }, + { url = "https://files.pythonhosted.org/packages/aa/36/013dce1c687f8f1c87b1e78f403d04c80ae9b2ae77de4ddba16069a3e7d1/wrapt-2.4.1-cp313-cp313-win32.whl", hash = "sha256:bc67d4872af5ab2dc1b88904097b92ac00e7658fdf010dee36807807fe882ac4", size = 93425, upload-time = "2026-09-10T23:10:35.901Z" }, + { url = "https://files.pythonhosted.org/packages/b7/1d/d53bcf5910209a45191c8bc173ff0e00830416547d8038772dc444932ee0/wrapt-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:1fe758b9c2d49138231ec3efabd106fec665f86fec50b3d02d7edd75f08a69ca", size = 98569, upload-time = "2026-09-10T23:10:37.316Z" }, + { url = "https://files.pythonhosted.org/packages/e8/1f/759d0c522918f9dfb620136622d8e1ce619570adda0de8fa2cfbb55cbb86/wrapt-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c974c36e8205255a3947dad9c2fe000431b57dd522946e56c192174a7f92a0f", size = 95272, upload-time = "2026-09-10T23:10:38.657Z" }, + { url = "https://files.pythonhosted.org/packages/08/05/ed5aa8991c5e9969e2ca17f0e44eb324a9757f44fa982bfc13844cfe9e1d/wrapt-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c6c35541cc729964c65c2b9b1f9cf317811039abc2da13b4557f20f21cdc292b", size = 98876, upload-time = "2026-09-10T23:10:40.078Z" }, + { url = "https://files.pythonhosted.org/packages/f1/5f/f8bf07c3b9a2ad01d28d5ca419e28819bb16937d129167d97c446c05875d/wrapt-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6b9df84f0a96763159cccb8e3b0ed83cc950c7c8bf82d6e45428372a805b3224", size = 99054, upload-time = "2026-09-10T23:10:41.484Z" }, + { url = "https://files.pythonhosted.org/packages/f5/7a/518e5f3ebd18472652e5332bf37728cd6634ff81a0aa568969d05cc66099/wrapt-2.4.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:78af62413095d0a57077606654ce85e273deda8e2bfa28fdb04257b962d94ef2", size = 237430, upload-time = "2026-09-10T23:10:43.007Z" }, + { url = "https://files.pythonhosted.org/packages/8a/2b/503835d183c1ca99268e0b5a98af8f487d528ebabb124f4003cd96e73b1f/wrapt-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d60702ebc914d0bb01aa48f5c1785ceaaaa505e0a841b444a69d6ceb5de4097e", size = 237988, upload-time = "2026-09-10T23:10:44.466Z" }, + { url = "https://files.pythonhosted.org/packages/fa/9d/a11a3e1eb18ae1d9adef1c39f8e8e36fd5b86db33938bebf8e6bc5fd9b06/wrapt-2.4.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8c4b44e4be7680fc496816e824b6ed134d781c4da296e44b75399196e5c248f1", size = 218554, upload-time = "2026-09-10T23:10:45.969Z" }, + { url = "https://files.pythonhosted.org/packages/e1/61/61a6f983737ba81008561ab634373bba25b986761d3a0f0aded8352ae3e8/wrapt-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fb5b3f94258bcf71db902795f4a71151c7a74d9fe21fffa00752d2bd286866f8", size = 235476, upload-time = "2026-09-10T23:10:47.528Z" }, + { url = "https://files.pythonhosted.org/packages/42/68/acb7cba46e0f662eaae421487807d2fed28ba52df9a00a3f04db16675e38/wrapt-2.4.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:f1556a96b20d5bfdc9cb5dcd0a3ec65cbbac8a4eebcd3cd34efdc91c9519f660", size = 216454, upload-time = "2026-09-10T23:10:49.126Z" }, + { url = "https://files.pythonhosted.org/packages/8b/52/3a4dab8d4803df595de82f19775535d28c036746340c1b498fc8ecba39aa/wrapt-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:094a606d0bf1c4b847b3a743d22fc69cb164015b8c70cf6f20a534d30889ed47", size = 225346, upload-time = "2026-09-10T23:10:51.052Z" }, + { url = "https://files.pythonhosted.org/packages/5a/48/d72d051757fb7955021d8174014679f951fd5067187d2faed95520e1f8d6/wrapt-2.4.1-cp314-cp314-win32.whl", hash = "sha256:b0ee076be124406a7f97ca663c4a3ba32b6bcdd9102ca82497feaca79e9cb33c", size = 93870, upload-time = "2026-09-10T23:10:52.495Z" }, + { url = "https://files.pythonhosted.org/packages/a1/00/1a1bf4d8b60b9e7ac009969595438549ae6e33b2e3e174b78d26a833aad3/wrapt-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:d2d6f9abaa52de05090a2b4a4c1d0e858a268c4de69eec277506af9fbcccff91", size = 98910, upload-time = "2026-09-10T23:10:53.878Z" }, + { url = "https://files.pythonhosted.org/packages/1d/59/b3169c3bcdcff70a6d02ed2b6366097b083d31391d616c407efe9a943a82/wrapt-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:3152b2e94d733a9bd70dbd1c95f148266f079a70e9ffca2a9c5dc421ade1b4e6", size = 96013, upload-time = "2026-09-10T23:10:55.607Z" }, + { url = "https://files.pythonhosted.org/packages/b1/91/d29a063c2ca6e779305cd444dd5acaac60833d73b2d94c7b1d0820c27e3e/wrapt-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:37ff91b390400463ecd4d080ea823314510b6843ac53e6e35cc09bba1805d466", size = 102069, upload-time = "2026-09-10T23:10:57.179Z" }, + { url = "https://files.pythonhosted.org/packages/72/26/7435de516099b528e2232770b459d6706002736f41d8f092bbb11ea01575/wrapt-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e0a518cac3e789443af54fc77f23e66f17d80192c281b160b42058f11fabccc5", size = 102647, upload-time = "2026-09-10T23:10:58.852Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a7/cca7fe0f26aa11cbbf09b2e6f4f774db167feeca43ad22fa1772afdccbad/wrapt-2.4.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9ecdeb8a1ec13397421e6f925412186bd87ab86d63517e6825b6d7bccf781f26", size = 275614, upload-time = "2026-09-10T23:11:00.464Z" }, + { url = "https://files.pythonhosted.org/packages/77/22/f3b5f4428ae679b1e2c0d4833519045d8983a9df0ad24df96b195d44dd1b/wrapt-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c15c4ede3fde08723cabab0a892d4b75d35b5a6f0a51c84e6542ac0bdc0507aa", size = 287064, upload-time = "2026-09-10T23:11:02.111Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b8/24274ec01b6ab6d0672f4312bfa29b5f1ffd9d56f16c8da67d5683883956/wrapt-2.4.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e32c5951c36fed88b6c603dc0bab209a62dc3217bd8762413634725fe28f2f3c", size = 255440, upload-time = "2026-09-10T23:11:03.746Z" }, + { url = "https://files.pythonhosted.org/packages/8b/df/c63a36f0f03d70c7b92f60ec1ad3757088167914e1a262f5dcc7df233d51/wrapt-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:898513db90d55a4ed3009312d41c12932b8163edbae3535280046d47aaff774f", size = 281681, upload-time = "2026-09-10T23:11:05.41Z" }, + { url = "https://files.pythonhosted.org/packages/bc/c7/4930b6a369d9b3da59f5ada4ae9e659e2d4a68fe72c5d1ce15e5bead2d24/wrapt-2.4.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:42d01574bd4bcafc3476e77a95c6c0dd6167101991401325fc5591e2db21a91d", size = 252409, upload-time = "2026-09-10T23:11:06.867Z" }, + { url = "https://files.pythonhosted.org/packages/68/d7/f6bc5703061598c4a2ad4f7a2efce696782be6e9d5afed714a59f5902ead/wrapt-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:68a403adbeb4dd2654d6d108e43e69f0f90e6d34cb7588e0e6589109f6985e67", size = 270559, upload-time = "2026-09-10T23:11:08.385Z" }, + { url = "https://files.pythonhosted.org/packages/68/a3/952337a153e634f530079334c47dcc935b20f8ea22f364729fc2a8cf1821/wrapt-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:7cb3035b332bc9d21478600ba82c7c71e2d074ed9b4e76364297f54598792227", size = 96241, upload-time = "2026-09-10T23:11:09.862Z" }, + { url = "https://files.pythonhosted.org/packages/09/28/48f0651547a125dd84e312b86268d4150c565a29f81ff9ca6fd81eba4be4/wrapt-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:707d2bef68deddd0fc74a81103d91b286a69ac5a9ff0f0a6dad66f8787e86697", size = 102655, upload-time = "2026-09-10T23:11:11.388Z" }, + { url = "https://files.pythonhosted.org/packages/21/a6/977441bed5e5afbffe7a789067ac2f5fd2e9f848884122a23db9ccae6a70/wrapt-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:28cb1c2713b4377bf03ddcb3e76d8216e4bb334199066c6122be7eed2f72de8c", size = 98495, upload-time = "2026-09-10T23:11:12.952Z" }, + { url = "https://files.pythonhosted.org/packages/7c/1c/03bcbc3dbf6ac11231f0434f2494aa7b80657b130be1a1a639192a3e44c9/wrapt-2.4.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:96a5023fa63ca2f095f7776c8bfaa1694547577f762646c375abafd8f8ae649b", size = 98878, upload-time = "2026-09-10T23:11:14.506Z" }, + { url = "https://files.pythonhosted.org/packages/87/26/5ad9bd421b8cdce0b2227a61f09586423765da3c284f8bbf0f69fc149fdf/wrapt-2.4.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2b21924949dedc3ac63725e09b9b0a130e771975f03432789344ed3422c46008", size = 99090, upload-time = "2026-09-10T23:11:16.101Z" }, + { url = "https://files.pythonhosted.org/packages/a1/c7/fa768261966d587650004ac37bef541540014b1fe23fbf4919c497ebc98c/wrapt-2.4.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2f725af353bb3319c528ee69dbff838599426974288b281a3258d5397b18cb63", size = 237803, upload-time = "2026-09-10T23:11:17.738Z" }, + { url = "https://files.pythonhosted.org/packages/0f/37/9c1c876bd88fef8d065b3e8bf125cad9291d70ed3695cedb41b36b2453ec/wrapt-2.4.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20327e162ef7953fae56b31a43ca457f94ed1fc7a206d01e3d5c8412d1b91572", size = 238338, upload-time = "2026-09-10T23:11:19.742Z" }, + { url = "https://files.pythonhosted.org/packages/91/5b/47b2f2f08b90d9d3b4e1790ccae0d4e4de40e73f6614c9a52465a04f02a5/wrapt-2.4.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2cedb743dbdfb9b6d4f11acd8cb6329460264429777e81ea2e86b1b72ea503af", size = 220668, upload-time = "2026-09-10T23:11:21.422Z" }, + { url = "https://files.pythonhosted.org/packages/43/1f/da7844c7a3f7c01f3496e690e15ce9d01c0949278c64d4287ec472c90f72/wrapt-2.4.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:5a54744b1193505f19016194979b773ee3754a199e9ad90db18f2e9a18fffa16", size = 235812, upload-time = "2026-09-10T23:11:23.211Z" }, + { url = "https://files.pythonhosted.org/packages/69/af/ac4aa9f795721a54a21bac329201f7df1b199b71ef064187a266d4d29836/wrapt-2.4.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:b0d38d9cc23e9781e6584f303e5c5a9f0d45b85de92ad45678c4dde8d49d9535", size = 218195, upload-time = "2026-09-10T23:11:24.983Z" }, + { url = "https://files.pythonhosted.org/packages/78/aa/cff7670ec1cfa75b951171cfb41d45c7bdb94e928620a1599ec2b00cd2dd/wrapt-2.4.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:a524ca32f0bcdde2b728d9f81f9527d4dd24b13f15d180f05d08cdc01d1cebe0", size = 225713, upload-time = "2026-09-10T23:11:26.576Z" }, + { url = "https://files.pythonhosted.org/packages/77/c6/64f138aef50b5ea1dfacca2a023b32ba3e41ef087bbd92e8997a95f4a0b8/wrapt-2.4.1-cp315-cp315-win32.whl", hash = "sha256:47c267617551e906de72f6e7265aa3bce84c63d44513d2d2e735e943422aa0a2", size = 93880, upload-time = "2026-09-10T23:11:28.253Z" }, + { url = "https://files.pythonhosted.org/packages/8d/aa/afe7484a0f7232e87f2ebb65286c1025d43cbe1de4e4051b127b024a92f7/wrapt-2.4.1-cp315-cp315-win_amd64.whl", hash = "sha256:ee437bd7fd050823ef731aad20e968ca8fe670b95e1841f5d201bfdbad4a4e96", size = 98919, upload-time = "2026-09-10T23:11:29.832Z" }, + { url = "https://files.pythonhosted.org/packages/83/21/6865f976c6a1082ca61e2792bc6a2d6a0ed03cd750a46f837753127191f8/wrapt-2.4.1-cp315-cp315-win_arm64.whl", hash = "sha256:ebf3b703752b53366fd02b7fbd8c447428e0349c9af3fc17c7a05076dbdd749a", size = 96021, upload-time = "2026-09-10T23:11:31.448Z" }, + { url = "https://files.pythonhosted.org/packages/8d/48/baf784cc9f1fe554f96daf15af06c7c466d76469d5540e357cf564755606/wrapt-2.4.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:0f5990f5db090f069fcd577cc61cc8d463db73cde132abba9033b0a264fc06d0", size = 102028, upload-time = "2026-09-10T23:11:33.102Z" }, + { url = "https://files.pythonhosted.org/packages/82/35/fb809c95bf5512196aeda4c640aabf4e92f607340b8b2556555690a52b7a/wrapt-2.4.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:ef19a2590b195ac294deff8ee350a027a479afdd2ef2170ce3900af92406e110", size = 102640, upload-time = "2026-09-10T23:11:35.145Z" }, + { url = "https://files.pythonhosted.org/packages/a1/3f/bd462010ccbbe298479f320bf2bb02996706003e9c20a15790b65a186f8b/wrapt-2.4.1-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:432f402f9b6014403cacf9fd18a6bf089c77964330eae951a155131ab0414f5d", size = 275999, upload-time = "2026-09-10T23:11:36.863Z" }, + { url = "https://files.pythonhosted.org/packages/56/1e/bd043b2bad2943336e090583ff6cea2f3e8776bde02f073ccf760b16eee1/wrapt-2.4.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb7c0f8bdd21e954bad89d554cfb7431c2f8179842853f199841ab90cbebe914", size = 287576, upload-time = "2026-09-10T23:11:38.79Z" }, + { url = "https://files.pythonhosted.org/packages/1c/d9/9937bbd61ca4e7f58a7e8a38f5ff3562334f741de51b87f0e031df441254/wrapt-2.4.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8e82a1669d63b79a2b53041bbb6ea096b5763cab3ca698ed7ac244b3acb7cd51", size = 256763, upload-time = "2026-09-10T23:11:40.668Z" }, + { url = "https://files.pythonhosted.org/packages/aa/a8/0f78cc7e7fc6313cdba32df06f4b29a45a4a2aed3499040d6c1628d3f339/wrapt-2.4.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:b19e71c914c435d2c5652caea386c9bf2807979e957183f5bb06d5ed5fa8b55e", size = 282244, upload-time = "2026-09-10T23:11:42.483Z" }, + { url = "https://files.pythonhosted.org/packages/be/0d/30317d738b9898a7fbedc193657f151a468b0fa7235f4abd58a646a99cd8/wrapt-2.4.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:a1e4870d3368c6c918f38e308d5dcea970ea5b908ce889c21412f3a517ebf0c3", size = 254153, upload-time = "2026-09-10T23:11:44.357Z" }, + { url = "https://files.pythonhosted.org/packages/12/53/fe1f251a89f471ca7c5e17f2edbd8efd48fea6f1c08430dcf60986ea4183/wrapt-2.4.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:2286e8e4a937966706463d1bcea30dfefee529e6e73e097a18e9e066a07ae6c2", size = 271234, upload-time = "2026-09-10T23:11:46.132Z" }, + { url = "https://files.pythonhosted.org/packages/bd/7c/d63758cd7fa0d18c415a87312a07cdd9f0102eb824aaab5c7450b3ec08e5/wrapt-2.4.1-cp315-cp315t-win32.whl", hash = "sha256:80afa3b7010e82899044a2a189c468a0cd8c89980398a59ba3b96b451a6dc5e9", size = 96236, upload-time = "2026-09-10T23:11:47.942Z" }, + { url = "https://files.pythonhosted.org/packages/f7/2e/1785e6d2696db08b07c053b1f4ccb2b5e8f9d12e9bf2c7497693be6b4504/wrapt-2.4.1-cp315-cp315t-win_amd64.whl", hash = "sha256:3593b43fabab6b59fe77e38f7e40974aae120c30cea3fd1ceaea6621ee96be00", size = 102662, upload-time = "2026-09-10T23:11:49.831Z" }, + { url = "https://files.pythonhosted.org/packages/2f/fd/3f4ac5c4754948355e050f952ae7a64cdca94891e49fe9927c3f90a73334/wrapt-2.4.1-cp315-cp315t-win_arm64.whl", hash = "sha256:ac1939ccf3e1c33f463706fbf52db5075f5eefb6042bcc1f9cf48c2c20ef478c", size = 98500, upload-time = "2026-09-10T23:11:51.501Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a2/edcfc8d9a30375791b775715f8501364588f65b494ec4f6930568a19e765/wrapt-2.4.1-py3-none-any.whl", hash = "sha256:1e84ec5d89a0a07a0ef6bcd343f5c8ecdc95601d71de3058cdc63274e86c193c", size = 75317, upload-time = "2026-09-10T23:12:14.82Z" }, +] From 644308c0dcf71153e4ba4e0254974ecb74ae292b Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 16:55:27 +0200 Subject: [PATCH 08/26] Fetch all theater showtime pages --- allocine/api.py | 74 +- allocine/schedules.py | 10 +- .../test_allocine/test_get_theater.json | 1695 +- tests/cassettes/get_theater.json | 32625 +++++++++++----- tests/test_allocine.py | 3 +- 5 files changed, 23285 insertions(+), 11122 deletions(-) diff --git a/allocine/api.py b/allocine/api.py index ae31de4..201d0df 100644 --- a/allocine/api.py +++ b/allocine/api.py @@ -15,43 +15,42 @@ class Allocine: def __init__(self): - self.__client = Client() + self._client = Client() - def get_theater(self, theater_id: str, date: Date | None = None): - ret = self.__client.get_showtimelist_by_theater_id(theater_id=theater_id, date=date) - if not ret.get("results"): + def get_theater(self, theater_id: str): + resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id) + if not resp.get("results"): raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") - theaters = self.__get_theaters_from_raw_showtimelist(raw_showtimelist=ret, theater_id=theater_id) - if len(theaters) != 1: - raise ValueError("Expecting 1 theater but received {}".format(len(theaters))) + movie_id: int | None = jmespath.search("results[0].movie.internalId", resp) + assert movie_id is not None, "We need at least one showtime to get details about a theater" + theater = self._get_theater_details_from_movie_id(theater_id, movie_id) - return theaters[0] + theater.showtimes = self._parse_showtimes(resp["results"]) - def __get_theaters_from_raw_showtimelist(self, raw_showtimelist: dict, theater_id: str): - raw_showtimes = raw_showtimelist.get("results") or [] - if not raw_showtimes: - return [] + for page in range(2, jmespath.search("pagination.totalPages", resp) + 1): + resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id, page=page) + theater.showtimes += self._parse_showtimes(resp["results"]) - movie_id = raw_showtimes[0]["movie"]["internalId"] - operation = self.__client.get_showtimes_by_movie_and_theater_id( + return theater + + def _get_theater_details_from_movie_id(self, theater_id: str, movie_id: int) -> Theater: + operation = self._client.get_showtimes_by_movie_and_theater_id( movie_id=movie_id, theater_id=theater_id, ) raw_theater = operation["results"]["theater"] location = raw_theater["location"] - return [ - Theater( - theater_id=raw_theater["internalId"], - name=raw_theater["name"], - address=location["address"], - zipcode=location["zip"], - city=location["city"], - showtimes=self.__parse_showtimes(raw_showtimes=raw_showtimes), - ) - ] - - def __parse_showtimes(self, raw_showtimes: list[dict]): + return Theater( + theater_id=raw_theater["internalId"], + name=raw_theater["name"], + address=location["address"], + zipcode=location["zip"], + city=location["city"], + showtimes=[], + ) + + def _parse_showtimes(self, raw_showtimes: list[dict]): showtimes = [] for showtime_data in raw_showtimes: raw_movie = showtime_data["movie"] @@ -163,22 +162,13 @@ def get_showtimelist_by_theater_id( page: int | None = None, date: Date | None = None, ): - date = date or datetime.now().date() - first_page = page or 1 - url = f"{SHOWTIMES_BASE_URL}/theater-{theater_id}/d-{date.isoformat()}/p-{first_page}/" - response = self._get(url=url) - - if page is not None: - return response - - response = {**response, "results": list(response.get("results") or [])} - pagination = response.get("pagination") - total_pages = int(pagination.get("totalPages", 1)) if isinstance(pagination, dict) else 1 - for next_page in range(2, total_pages + 1): - url = f"{SHOWTIMES_BASE_URL}/theater-{theater_id}/d-{date.isoformat()}/p-{next_page}/" - next_response = self._get(url=url) - response["results"].extend(next_response.get("results") or []) - return response + url = f"{SHOWTIMES_BASE_URL}/theater-{theater_id}/" + if date: + url += date.isoformat() + if page: + url += f"p-{page}/" + + return self._get(url=url) def get_showtimes_by_movie_and_theater_id(self, movie_id: int, theater_id: str): url = f"{SHOWTIMES_BASE_URL}/ope/movie-{movie_id}/theater-{theater_id}/" diff --git a/allocine/schedules.py b/allocine/schedules.py index 66cd9d2..b41de85 100644 --- a/allocine/schedules.py +++ b/allocine/schedules.py @@ -76,15 +76,15 @@ def create_weekdays_str(dates: List[Date]) -> str: return "sf {}".format(", ".join([to_french_short_weekday(d) for d in missing_days])) -def __get_time_weight_in_list(item: Tuple[str, List[Time]]) -> timedelta: +def _get_time_weight_in_list(item: Tuple[str, List[Time]]) -> timedelta: """Returns the minimum time weight from the time list contained in the dict values ex: {'key': [time(hour=12), time(hour=9)]} => timedelta(hour=9) """ - weights = [__get_time_weight(t) for t in item[1]] + weights = [_get_time_weight(t) for t in item[1]] return min(weights) -def __get_time_weight(t: Time) -> timedelta: +def _get_time_weight(t: Time) -> timedelta: """Return a timedelta taking into account night time. Basically, it allows to sort a list of times 18h>23h>0h30 and not 0h30>18h>23h @@ -120,11 +120,11 @@ def build_weekly_schedule_str(schedule_list: List[Schedule]) -> str: hours.sort() grouped_date_hashmap_raw[grouped_dates_str] = hours - grouped_date_hashmap_raw = sorted(grouped_date_hashmap_raw.items(), key=__get_time_weight_in_list) + grouped_date_hashmap_raw = sorted(grouped_date_hashmap_raw.items(), key=_get_time_weight_in_list) grouped_date_hashmap = OrderedDict(grouped_date_hashmap_raw) hours_hashmap = OrderedDict() - for hour in sorted(hours_hashmap_raw.keys(), key=__get_time_weight): + for hour in sorted(hours_hashmap_raw.keys(), key=_get_time_weight): hours_hashmap[hour] = hours_hashmap_raw.get(hour) different_showtimes = len(grouped_date_hashmap) diff --git a/tests/__snapshots__/test_allocine/test_get_theater.json b/tests/__snapshots__/test_allocine/test_get_theater.json index 91b7457..e1d366a 100644 --- a/tests/__snapshots__/test_allocine/test_get_theater.json +++ b/tests/__snapshots__/test_allocine/test_get_theater.json @@ -3,6 +3,47 @@ "city": "Labège", "name": "Pathé Toulouse Labège - IMAX", "showtimes": [ + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Charlie Garnier Naslin, Elie Semoun, Émilie Caen", + "countries": [ + "France", + "Belgique" + ], + "directors": "Elie Semoun", + "duration": "datetime.timedelta(seconds=5400)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000019249, + "original_title": "Ducobu et le fantôme de Saint-Potache", + "rating": null, + "screen_format": "Numérique", + "synopsis": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison... hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache.", + "title": "Ducobu et le fantôme de Saint-Potache", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T18:00:00.000000", + "movie": { + "actors": "Kev Adams, Chantal Ladesou, Camille Aguilar", + "countries": [ + "France" + ], + "directors": "Claude Zidi Jr.", + "duration": "datetime.timedelta(seconds=5400)", + "genres": "Comédie", + "language": "Français", + "movie_id": 1000031247, + "original_title": "La Maison de nos rêves", + "rating": null, + "screen_format": "Numérique", + "synopsis": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.", + "title": "La Maison de nos rêves", + "year": 2026 + } + }, { "date_time": "2026-09-26T15:50:00.000000", "movie": { @@ -16,7 +57,7 @@ "language": "Version originale", "movie_id": 1000000085, "original_title": "Heart Of The Beast", - "rating": 3.77, + "rating": 3.79, "screen_format": "Numérique", "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", "title": "Heart Of The Beast", @@ -24,7 +65,7 @@ } }, { - "date_time": "2026-09-26T13:30:00.000000", + "date_time": "2026-09-27T10:45:00.000000", "movie": { "actors": "Brad Pitt, Uber, J.K. Simmons", "countries": [ @@ -33,10 +74,10 @@ "directors": "David Ayer", "duration": "datetime.timedelta(seconds=6060)", "genres": "Action, Aventure", - "language": "Français", + "language": "Version originale", "movie_id": 1000000085, "original_title": "Heart Of The Beast", - "rating": 3.77, + "rating": 3.79, "screen_format": "Numérique", "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", "title": "Heart Of The Beast", @@ -56,7 +97,7 @@ "language": "Français", "movie_id": 1000000085, "original_title": "Heart Of The Beast", - "rating": 3.77, + "rating": 3.79, "screen_format": "Numérique", "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", "title": "Heart Of The Beast", @@ -76,7 +117,7 @@ "language": "Français", "movie_id": 1000000085, "original_title": "Heart Of The Beast", - "rating": 3.77, + "rating": 3.79, "screen_format": "Numérique", "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", "title": "Heart Of The Beast", @@ -96,7 +137,7 @@ "language": "Français", "movie_id": 1000000085, "original_title": "Heart Of The Beast", - "rating": 3.77, + "rating": 3.79, "screen_format": "4DX PLF", "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", "title": "Heart Of The Beast", @@ -116,7 +157,87 @@ "language": "Français", "movie_id": 1000000085, "original_title": "Heart Of The Beast", - "rating": 3.77, + "rating": 3.79, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.79, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T16:30:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.79, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T17:45:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.79, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T19:30:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.79, "screen_format": "Numérique", "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", "title": "Heart Of The Beast", @@ -124,7 +245,127 @@ } }, { - "date_time": "2026-09-26T13:45:00.000000", + "date_time": "2026-09-26T20:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Version originale", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.29, + "screen_format": "IMAX", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T15:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Version originale", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.29, + "screen_format": "IMAX", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:30:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.29, + "screen_format": "4DX PLF 3D", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T20:45:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.29, + "screen_format": "Numérique", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T14:30:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.29, + "screen_format": "Numérique", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T16:30:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=11100)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 1000036867, + "original_title": "Avengers Endgame: Encore", + "rating": 4.29, + "screen_format": "4DX PLF 3D", + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "title": "Avengers : Endgame Extended", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T19:30:00.000000", "movie": { "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", "countries": [ @@ -208,91 +449,112 @@ } }, { - "date_time": "2026-09-26T14:00:00.000000", + "date_time": "2026-09-27T10:45:00.000000", "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", "countries": [ - "France", - "Belgique" + "Grande-Bretagne", + "U.S.A." ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", + "directors": "Georgia Oakley", + "duration": "datetime.timedelta(seconds=7920)", + "genres": "Drame, Romance, Historique", "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, + "movie_id": 1000026622, + "original_title": "Sense and Sensibility", + "rating": 3.34, "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "title": "Raison et sentiments", "year": 2026 } }, { - "date_time": "2026-09-26T16:45:00.000000", + "date_time": "2026-09-27T13:45:00.000000", "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", "countries": [ - "France", - "Belgique" + "Grande-Bretagne", + "U.S.A." ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", + "directors": "Georgia Oakley", + "duration": "datetime.timedelta(seconds=7920)", + "genres": "Drame, Romance, Historique", "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, + "movie_id": 1000026622, + "original_title": "Sense and Sensibility", + "rating": 3.34, "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "title": "Raison et sentiments", "year": 2026 } }, { - "date_time": "2026-09-26T19:30:00.000000", + "date_time": "2026-09-27T16:30:00.000000", "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", + "countries": [ + "Grande-Bretagne", + "U.S.A." + ], + "directors": "Georgia Oakley", + "duration": "datetime.timedelta(seconds=7920)", + "genres": "Drame, Romance, Historique", + "language": "Français", + "movie_id": 1000026622, + "original_title": "Sense and Sensibility", + "rating": 3.34, + "screen_format": "Numérique", + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "title": "Raison et sentiments", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:40:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", "countries": [ "France", "Belgique" ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.87, "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", "year": 2026 } }, { - "date_time": "2026-09-26T22:00:00.000000", + "date_time": "2026-09-26T19:20:00.000000", "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", "countries": [ "France", "Belgique" ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.87, "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", "year": 2026 } }, { - "date_time": "2026-09-26T14:15:00.000000", + "date_time": "2026-09-26T21:45:00.000000", "movie": { "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", "countries": [ @@ -305,7 +567,7 @@ "language": "Français", "movie_id": 1000028944, "original_title": "Justin le Juste", - "rating": 3.9, + "rating": 3.87, "screen_format": "Numérique", "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", "title": "Justin le Juste", @@ -313,7 +575,7 @@ } }, { - "date_time": "2026-09-26T16:40:00.000000", + "date_time": "2026-09-27T10:45:00.000000", "movie": { "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", "countries": [ @@ -326,7 +588,7 @@ "language": "Français", "movie_id": 1000028944, "original_title": "Justin le Juste", - "rating": 3.9, + "rating": 3.87, "screen_format": "Numérique", "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", "title": "Justin le Juste", @@ -334,7 +596,7 @@ } }, { - "date_time": "2026-09-26T19:20:00.000000", + "date_time": "2026-09-27T14:15:00.000000", "movie": { "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", "countries": [ @@ -347,7 +609,7 @@ "language": "Français", "movie_id": 1000028944, "original_title": "Justin le Juste", - "rating": 3.9, + "rating": 3.87, "screen_format": "Numérique", "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", "title": "Justin le Juste", @@ -355,7 +617,7 @@ } }, { - "date_time": "2026-09-26T21:45:00.000000", + "date_time": "2026-09-27T16:40:00.000000", "movie": { "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", "countries": [ @@ -368,7 +630,7 @@ "language": "Français", "movie_id": 1000028944, "original_title": "Justin le Juste", - "rating": 3.9, + "rating": 3.87, "screen_format": "Numérique", "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", "title": "Justin le Juste", @@ -376,82 +638,170 @@ } }, { - "date_time": "2026-09-26T20:00:00.000000", + "date_time": "2026-09-27T19:20:00.000000", "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", "countries": [ - "U.S.A." + "France", + "Belgique" ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", - "language": "Version originale", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.32, - "screen_format": "IMAX", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.87, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", "year": 2026 } }, { - "date_time": "2026-09-26T15:00:00.000000", + "date_time": "2026-09-26T16:45:00.000000", "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", "countries": [ - "U.S.A." + "France", + "Belgique" ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", "language": "Français", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.32, + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, "screen_format": "Numérique", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", "year": 2026 } }, { - "date_time": "2026-09-26T16:30:00.000000", + "date_time": "2026-09-26T19:30:00.000000", "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", "countries": [ - "U.S.A." + "France", + "Belgique" ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", "language": "Français", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.32, - "screen_format": "4DX PLF 3D", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", "year": 2026 } }, { - "date_time": "2026-09-26T20:45:00.000000", + "date_time": "2026-09-26T22:00:00.000000", "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", "countries": [ - "U.S.A." + "France", + "Belgique" ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", "language": "Français", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.32, + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, "screen_format": "Numérique", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:45:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T16:45:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T19:15:00.000000", + "movie": { + "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", + "countries": [ + "France", + "Belgique" + ], + "directors": "Jeanne Herry", + "duration": "datetime.timedelta(seconds=6900)", + "genres": "Drame", + "language": "Français", + "movie_id": 1000026039, + "original_title": "Garance", + "rating": 3.88, + "screen_format": "Numérique", + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", + "title": "Garance", "year": 2026 } }, @@ -475,6 +825,26 @@ "year": 2026 } }, + { + "date_time": "2026-09-27T16:45:00.000000", + "movie": { + "actors": "Minami Takayama, Wakana Yamazaki, Rikiya Koyama", + "countries": [ + "Japon" + ], + "directors": "Takahiro Hasui", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Animation, Policier, Aventure, Action", + "language": "Version originale", + "movie_id": 1000037846, + "original_title": "Meitantei Conan: Highway no Datenshi", + "rating": 3.0, + "screen_format": "Numérique", + "synopsis": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. ", + "title": "Détective Conan : L'Ange déchu de l'asphalte", + "year": 2026 + } + }, { "date_time": "2026-09-26T17:50:00.000000", "movie": { @@ -497,7 +867,7 @@ } }, { - "date_time": "2026-09-26T13:30:00.000000", + "date_time": "2026-09-26T15:40:00.000000", "movie": { "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ @@ -518,7 +888,7 @@ } }, { - "date_time": "2026-09-26T14:00:00.000000", + "date_time": "2026-09-26T20:00:00.000000", "movie": { "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ @@ -532,14 +902,14 @@ "movie_id": 1000018854, "original_title": "Resident Evil", "rating": 3.85, - "screen_format": "IMAX", + "screen_format": "Numérique", "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", "title": "Resident Evil", "year": 2026 } }, { - "date_time": "2026-09-26T15:40:00.000000", + "date_time": "2026-09-26T21:30:00.000000", "movie": { "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ @@ -560,7 +930,7 @@ } }, { - "date_time": "2026-09-26T20:00:00.000000", + "date_time": "2026-09-26T22:15:00.000000", "movie": { "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ @@ -581,7 +951,7 @@ } }, { - "date_time": "2026-09-26T21:30:00.000000", + "date_time": "2026-09-26T22:30:00.000000", "movie": { "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ @@ -595,14 +965,14 @@ "movie_id": 1000018854, "original_title": "Resident Evil", "rating": 3.85, - "screen_format": "Numérique", + "screen_format": "4DX PLF", "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", "title": "Resident Evil", "year": 2026 } }, { - "date_time": "2026-09-26T22:15:00.000000", + "date_time": "2026-09-27T11:15:00.000000", "movie": { "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ @@ -623,7 +993,7 @@ } }, { - "date_time": "2026-09-26T22:30:00.000000", + "date_time": "2026-09-27T13:30:00.000000", "movie": { "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ @@ -637,174 +1007,179 @@ "movie_id": 1000018854, "original_title": "Resident Evil", "rating": 3.85, - "screen_format": "4DX PLF", + "screen_format": "Numérique", "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", "title": "Resident Evil", "year": 2026 } }, { - "date_time": "2026-09-26T13:30:00.000000", + "date_time": "2026-09-27T15:40:00.000000", "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ - "U.S.A." + "U.S.A.", + "Allemagne" ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "4DX PLF 3D", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", "year": 2026 } }, { - "date_time": "2026-09-26T13:45:00.000000", + "date_time": "2026-09-27T17:50:00.000000", "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ - "U.S.A." + "U.S.A.", + "Allemagne" ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", "year": 2026 } }, { - "date_time": "2026-09-26T16:15:00.000000", + "date_time": "2026-09-27T18:45:00.000000", "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", "countries": [ - "U.S.A." + "U.S.A.", + "Allemagne" ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "IMAX", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", "year": 2026 } }, { - "date_time": "2026-09-26T19:20:00.000000", + "date_time": "2026-09-26T16:00:00.000000", "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", + "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", "countries": [ - "U.S.A." + "France", + "Belgique" ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, + "movie_id": 294280, + "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "rating": 4.42, "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", "year": 2026 } }, { - "date_time": "2026-09-26T21:45:00.000000", + "date_time": "2026-09-27T19:00:00.000000", "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", + "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", "countries": [ - "U.S.A." + "France", + "Belgique" ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, + "movie_id": 294280, + "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "rating": 4.42, "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", "year": 2026 } }, { - "date_time": "2026-09-26T13:40:00.000000", + "date_time": "2026-09-26T17:15:00.000000", "movie": { - "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "actors": "Matt Damon, Tom Holland, Anne Hathaway", "countries": [ "U.S.A." ], - "directors": "Olivia Wilde", - "duration": "datetime.timedelta(seconds=6420)", - "genres": "Comédie", - "language": "Français", - "movie_id": 317219, - "original_title": "The Invite", - "rating": 3.25, + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Version originale", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, "screen_format": "Numérique", - "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", - "title": "L'Invitation", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", "year": 2026 } }, { - "date_time": "2026-09-26T16:45:00.000000", + "date_time": "2026-09-26T16:15:00.000000", "movie": { - "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "actors": "Matt Damon, Tom Holland, Anne Hathaway", "countries": [ "U.S.A." ], - "directors": "Olivia Wilde", - "duration": "datetime.timedelta(seconds=6420)", - "genres": "Comédie", + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", "language": "Français", - "movie_id": 317219, - "original_title": "The Invite", - "rating": 3.25, - "screen_format": "Numérique", - "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", - "title": "L'Invitation", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "IMAX", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", "year": 2026 } }, { - "date_time": "2026-09-26T19:10:00.000000", + "date_time": "2026-09-26T20:45:00.000000", "movie": { - "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "actors": "Matt Damon, Tom Holland, Anne Hathaway", "countries": [ "U.S.A." ], - "directors": "Olivia Wilde", - "duration": "datetime.timedelta(seconds=6420)", - "genres": "Comédie", + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", "language": "Français", - "movie_id": 317219, - "original_title": "The Invite", - "rating": 3.25, + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, "screen_format": "Numérique", - "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", - "title": "L'Invitation", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", "year": 2026 } }, { - "date_time": "2026-09-26T17:15:00.000000", + "date_time": "2026-09-27T10:30:00.000000", "movie": { "actors": "Matt Damon, Tom Holland, Anne Hathaway", "countries": [ @@ -813,18 +1188,18 @@ "directors": "Christopher Nolan", "duration": "datetime.timedelta(seconds=10380)", "genres": "Action, Fantastique", - "language": "Version originale", + "language": "Français", "movie_id": 1000013045, "original_title": "The Odyssey", "rating": 4.3, - "screen_format": "Numérique", + "screen_format": "IMAX", "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", "title": "L'Odyssée", "year": 2026 } }, { - "date_time": "2026-09-26T13:45:00.000000", + "date_time": "2026-09-27T10:40:00.000000", "movie": { "actors": "Matt Damon, Tom Holland, Anne Hathaway", "countries": [ @@ -844,7 +1219,7 @@ } }, { - "date_time": "2026-09-26T16:15:00.000000", + "date_time": "2026-09-27T13:45:00.000000", "movie": { "actors": "Matt Damon, Tom Holland, Anne Hathaway", "countries": [ @@ -857,14 +1232,14 @@ "movie_id": 1000013045, "original_title": "The Odyssey", "rating": 4.3, - "screen_format": "IMAX", + "screen_format": "Numérique", "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", "title": "L'Odyssée", "year": 2026 } }, { - "date_time": "2026-09-26T20:45:00.000000", + "date_time": "2026-09-27T17:15:00.000000", "movie": { "actors": "Matt Damon, Tom Holland, Anne Hathaway", "countries": [ @@ -884,107 +1259,619 @@ } }, { - "date_time": "2026-09-26T16:30:00.000000", + "date_time": "2026-09-26T16:15:00.000000", "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "actors": "Tom Holland, Zendaya, Sadie Sink", "countries": [ - "Allemagne" + "U.S.A." ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", - "language": "Version originale", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", - "title": "Les Contrebandiers", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", "year": 2026 } }, { - "date_time": "2026-09-26T13:50:00.000000", + "date_time": "2026-09-26T19:20:00.000000", "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "actors": "Tom Holland, Zendaya, Sadie Sink", "countries": [ - "Allemagne" + "U.S.A." ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", "language": "Français", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", - "title": "Les Contrebandiers", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", "year": 2026 } }, { - "date_time": "2026-09-26T19:45:00.000000", + "date_time": "2026-09-26T21:45:00.000000", "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "actors": "Tom Holland, Zendaya, Sadie Sink", "countries": [ - "Allemagne" + "U.S.A." ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", "language": "Français", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, - "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "4DX PLF 3D", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T13:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "4DX PLF 3D", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T13:45:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T16:15:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T19:20:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:15:00.000000", + "movie": { + "actors": "Diana Rigg, Sally Hawkins, Rob Brydon", + "countries": [ + "Grande-Bretagne", + "République tchèque", + "Suisse" + ], + "directors": "Max Lang, Daniel Snaddon", + "duration": "datetime.timedelta(seconds=2400)", + "genres": "Animation, Famille", + "language": "Français", + "movie_id": 283811, + "original_title": "The Snail and The Whale", + "rating": 3.78, + "screen_format": "Numérique", + "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", + "title": "La Baleine et l'escargote", + "year": 2020 + } + }, + { + "date_time": "2026-09-27T16:45:00.000000", + "movie": { + "actors": "Diana Rigg, Sally Hawkins, Rob Brydon", + "countries": [ + "Grande-Bretagne", + "République tchèque", + "Suisse" + ], + "directors": "Max Lang, Daniel Snaddon", + "duration": "datetime.timedelta(seconds=2400)", + "genres": "Animation, Famille", + "language": "Français", + "movie_id": 283811, + "original_title": "The Snail and The Whale", + "rating": 3.78, + "screen_format": "Numérique", + "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", + "title": "La Baleine et l'escargote", + "year": 2020 + } + }, + { + "date_time": "2026-09-26T16:30:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Version originale", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:45:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T11:00:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T13:45:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T16:15:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.26, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", "title": "Les Contrebandiers", "year": 2026 } }, { - "date_time": "2026-09-26T14:00:00.000000", + "date_time": "2026-09-26T16:45:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:10:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T16:45:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T19:30:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.25, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T16:45:00.000000", + "movie": { + "actors": "Léa Drucker, Mélanie Thierry, Charles Berling", + "countries": [ + "France", + "Belgique" + ], + "directors": "Charline Bourgeois-Tacquet", + "duration": "datetime.timedelta(seconds=5880)", + "genres": "Comédie dramatique", + "language": "Français", + "movie_id": 327941, + "original_title": "La Vie d'une femme", + "rating": 3.67, + "screen_format": "Numérique", + "synopsis": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?", + "title": "La Vie d'une femme", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T17:30:00.000000", + "movie": { + "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "countries": [ + "Grande-Bretagne", + "France" + ], + "directors": "Anthony Maras", + "duration": "datetime.timedelta(seconds=6000)", + "genres": "Thriller, Historique, Guerre", + "language": "Français", + "movie_id": 1000004458, + "original_title": "Pressure", + "rating": 4.06, + "screen_format": "Numérique", + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "title": "Pressure", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:45:00.000000", + "movie": { + "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "countries": [ + "Grande-Bretagne", + "France" + ], + "directors": "Anthony Maras", + "duration": "datetime.timedelta(seconds=6000)", + "genres": "Thriller, Historique, Guerre", + "language": "Français", + "movie_id": 1000004458, + "original_title": "Pressure", + "rating": 4.06, + "screen_format": "Numérique", + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "title": "Pressure", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T22:30:00.000000", + "movie": { + "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "countries": [ + "Grande-Bretagne", + "France" + ], + "directors": "Anthony Maras", + "duration": "datetime.timedelta(seconds=6000)", + "genres": "Thriller, Historique, Guerre", + "language": "Français", + "movie_id": 1000004458, + "original_title": "Pressure", + "rating": 4.06, + "screen_format": "Numérique", + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "title": "Pressure", + "year": 2026 + } + }, + { + "date_time": "2026-09-26T19:00:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.51, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-27T10:45:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.51, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-27T16:15:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.51, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-26T19:10:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T19:10:00.000000", "movie": { - "actors": "Oscar Barberán, Michelle Jenner, Luis Posada", + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", "countries": [ - "Espagne" + "France" ], - "directors": "Enrique Gato", - "duration": "datetime.timedelta(seconds=5700)", - "genres": "Animation, Aventure, Famille, Comédie", + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", "language": "Français", - "movie_id": 257425, - "original_title": "Tadeo Jones y la lámpara maravillosa", - "rating": 3.37, + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, "screen_format": "Numérique", - "synopsis": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié... Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.", - "title": "Tad l'explorateur et la lampe magique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", "year": 2026 } }, { - "date_time": "2026-09-26T14:00:00.000000", + "date_time": "2026-09-26T19:15:00.000000", "movie": { - "actors": "Rain Janjua, Carter Young, Mckenna Grace", + "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", "countries": [ - "U.S.A." + "France", + "Belgique" ], - "directors": "Cal Brunker", - "duration": "datetime.timedelta(seconds=5280)", - "genres": "Animation, Aventure, Famille, Comédie", + "directors": "Léa Mysius", + "duration": "datetime.timedelta(seconds=6840)", + "genres": "Thriller, Drame", "language": "Français", - "movie_id": 320681, - "original_title": "PAW Patrol: The Dino Movie", - "rating": 3.12, + "movie_id": 324014, + "original_title": "Histoires De La Nuit", + "rating": 3.4, "screen_format": "Numérique", - "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", - "title": "La Pat' Patrouille : Le film mission Dino", + "synopsis": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés...", + "title": "Histoires De La Nuit", "year": 2026 } }, { - "date_time": "2026-09-26T14:15:00.000000", + "date_time": "2026-09-27T14:15:00.000000", "movie": { "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", "countries": [ @@ -1005,7 +1892,7 @@ } }, { - "date_time": "2026-09-26T19:15:00.000000", + "date_time": "2026-09-27T19:15:00.000000", "movie": { "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", "countries": [ @@ -1026,7 +1913,7 @@ } }, { - "date_time": "2026-09-26T14:30:00.000000", + "date_time": "2026-09-26T21:15:00.000000", "movie": { "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", "countries": [ @@ -1046,7 +1933,7 @@ } }, { - "date_time": "2026-09-26T21:15:00.000000", + "date_time": "2026-09-27T10:30:00.000000", "movie": { "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", "countries": [ @@ -1066,231 +1953,229 @@ } }, { - "date_time": "2026-09-26T16:00:00.000000", + "date_time": "2026-09-27T14:30:00.000000", "movie": { - "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", + "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", "countries": [ - "France", - "Belgique" + "U.S.A." ], - "directors": "Antonin Baudry", - "duration": "datetime.timedelta(seconds=9600)", - "genres": "Thriller, Historique", + "directors": "Susanne Bier", + "duration": "datetime.timedelta(seconds=7800)", + "genres": "Romance, Fantastique", "language": "Français", - "movie_id": 294280, - "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", - "rating": 4.42, + "movie_id": 1000004679, + "original_title": "Practical Magic 2", + "rating": 2.4, "screen_format": "Numérique", - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", - "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "title": "Les Ensorceleuses 2", "year": 2026 } }, { - "date_time": "2026-09-26T16:15:00.000000", + "date_time": "2026-09-26T22:10:00.000000", "movie": { - "actors": "Diana Rigg, Sally Hawkins, Rob Brydon", + "actors": "Jacob Elordi, Margaret Qualley, Josh Brolin", "countries": [ - "Grande-Bretagne", - "République tchèque", - "Suisse" + "U.S.A." ], - "directors": "Max Lang, Daniel Snaddon", - "duration": "datetime.timedelta(seconds=2400)", - "genres": "Animation, Famille", + "directors": "Ridley Scott", + "duration": "datetime.timedelta(seconds=7140)", + "genres": "Aventure, Thriller, Drame", "language": "Français", - "movie_id": 283811, - "original_title": "The Snail and The Whale", - "rating": 3.78, + "movie_id": 1000014969, + "original_title": "The Dog Stars", + "rating": 3.25, "screen_format": "Numérique", - "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", - "title": "La Baleine et l'escargote", - "year": 2020 + "synopsis": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...", + "title": "The Dog Stars", + "year": 2026 } }, { - "date_time": "2026-09-26T16:45:00.000000", + "date_time": "2026-09-26T22:15:00.000000", "movie": { - "actors": "Léa Drucker, Mélanie Thierry, Charles Berling", + "actors": "Amelia Eve, Island Austin, Lin Shaye", "countries": [ - "France", - "Belgique" + "U.S.A." ], - "directors": "Charline Bourgeois-Tacquet", - "duration": "datetime.timedelta(seconds=5880)", - "genres": "Comédie dramatique", + "directors": "Jacob Chase", + "duration": "datetime.timedelta(seconds=6360)", + "genres": "Epouvante-horreur", "language": "Français", - "movie_id": 327941, - "original_title": "La Vie d'une femme", - "rating": 3.67, + "movie_id": 1000016503, + "original_title": "Insidious: Out of the Further", + "rating": 2.64, "screen_format": "Numérique", - "synopsis": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?", - "title": "La Vie d'une femme", + "synopsis": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.", + "title": "Insidious : l'invasion du lointain", "year": 2026 } }, { - "date_time": "2026-09-26T17:30:00.000000", + "date_time": "2026-09-26T22:20:00.000000", "movie": { - "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "actors": "Michael Johnston (II), Inde Navarrette, Cooper Tomlinson", "countries": [ - "Grande-Bretagne", - "France" + "U.S.A." ], - "directors": "Anthony Maras", - "duration": "datetime.timedelta(seconds=6000)", - "genres": "Thriller, Historique, Guerre", + "directors": "Curry Barker", + "duration": "datetime.timedelta(seconds=6540)", + "genres": "Epouvante-horreur", "language": "Français", - "movie_id": 1000004458, - "original_title": "Pressure", - "rating": 4.06, + "movie_id": 1000028234, + "original_title": "Obsession", + "rating": 3.92, "screen_format": "Numérique", - "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", - "title": "Pressure", + "synopsis": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui... jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !", + "title": "Obsession", "year": 2026 } }, { - "date_time": "2026-09-26T19:45:00.000000", + "date_time": "2026-09-27T10:30:00.000000", "movie": { - "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "actors": "Sebastian Stan, Renate Reinsve, Lisa Carlehed", "countries": [ - "Grande-Bretagne", - "France" + "Roumanie", + "France", + "Norvège", + "Danemark", + "Finlande", + "Suède" ], - "directors": "Anthony Maras", - "duration": "datetime.timedelta(seconds=6000)", - "genres": "Thriller, Historique, Guerre", - "language": "Français", - "movie_id": 1000004458, - "original_title": "Pressure", - "rating": 4.06, + "directors": "Cristian Mungiu", + "duration": "datetime.timedelta(seconds=8760)", + "genres": "Drame", + "language": "Version originale", + "movie_id": 188280, + "original_title": "Fjord", + "rating": 3.95, "screen_format": "Numérique", - "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", - "title": "Pressure", + "synopsis": "Les Gheorghiu, un couple roumano-norvégien très pieux, s’installent dans un village au bout d’un fjord. Lorsque le corps enseignant découvre des ecchymoses sur le corps d'un de leurs enfants, le village se demande si leur éducation traditionnelle pourrait en être la cause.", + "title": "Fjord", "year": 2026 } }, { - "date_time": "2026-09-26T22:30:00.000000", + "date_time": "2026-09-27T10:45:00.000000", "movie": { - "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", + "actors": "Rain Janjua, Carter Young, Mckenna Grace", "countries": [ - "Grande-Bretagne", - "France" + "U.S.A." ], - "directors": "Anthony Maras", - "duration": "datetime.timedelta(seconds=6000)", - "genres": "Thriller, Historique, Guerre", + "directors": "Cal Brunker", + "duration": "datetime.timedelta(seconds=5280)", + "genres": "Animation, Aventure, Famille, Comédie", "language": "Français", - "movie_id": 1000004458, - "original_title": "Pressure", - "rating": 4.06, + "movie_id": 320681, + "original_title": "PAW Patrol: The Dino Movie", + "rating": 3.12, "screen_format": "Numérique", - "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", - "title": "Pressure", + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", + "title": "La Pat' Patrouille : Le film mission Dino", "year": 2026 } }, { - "date_time": "2026-09-26T19:00:00.000000", + "date_time": "2026-09-27T14:30:00.000000", "movie": { - "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "actors": "Rain Janjua, Carter Young, Mckenna Grace", "countries": [ - "France", - "Belgique" + "U.S.A." ], - "directors": "Antonin Baudry", - "duration": "datetime.timedelta(seconds=9600)", - "genres": "Thriller, Historique", + "directors": "Cal Brunker", + "duration": "datetime.timedelta(seconds=5280)", + "genres": "Animation, Aventure, Famille, Comédie", "language": "Français", - "movie_id": 294281, - "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "rating": 4.51, + "movie_id": 320681, + "original_title": "PAW Patrol: The Dino Movie", + "rating": 3.12, "screen_format": "Numérique", - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", - "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "year": 2025 + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", + "title": "La Pat' Patrouille : Le film mission Dino", + "year": 2026 } }, { - "date_time": "2026-09-26T19:10:00.000000", + "date_time": "2026-09-27T11:00:00.000000", "movie": { - "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "actors": "Kad Merad, Marie Gillain, Julia de Nunez", "countries": [ "France" ], - "directors": "Mohamed Hamidi", - "duration": "datetime.timedelta(seconds=5520)", - "genres": "Comédie, Famille", + "directors": "Élie Chouraqui", + "duration": "datetime.timedelta(seconds=6300)", + "genres": "Drame, Historique", "language": "Français", - "movie_id": 1000032856, - "original_title": "Tombé du ciel", - "rating": 3.21, + "movie_id": 323826, + "original_title": "Les Héros du Louvre", + "rating": 3.18, "screen_format": "Numérique", - "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", - "title": "Tombé du ciel", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "title": "Les Héros du Louvre", "year": 2026 } }, { - "date_time": "2026-09-26T22:10:00.000000", + "date_time": "2026-09-27T11:00:00.000000", "movie": { - "actors": "Jacob Elordi, Margaret Qualley, Josh Brolin", + "actors": "Tom Hanks, Tim Allen, Joan Cusack", "countries": [ "U.S.A." ], - "directors": "Ridley Scott", - "duration": "datetime.timedelta(seconds=7140)", - "genres": "Aventure, Thriller, Drame", + "directors": "Andrew Stanton, McKenna Harris", + "duration": "datetime.timedelta(seconds=6120)", + "genres": "Animation, Aventure, Comédie, Famille", "language": "Français", - "movie_id": 1000014969, - "original_title": "The Dog Stars", - "rating": 3.25, + "movie_id": 313256, + "original_title": "Toy Story 5", + "rating": 3.97, "screen_format": "Numérique", - "synopsis": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...", - "title": "The Dog Stars", + "synopsis": "Buzz, Woody, Jessie et le reste de la bande verront leur travail remis en question lorsqu'ils découvriront que ce qui obsède les enfants d'aujourd'hui s’appelle... l'électronique !", + "title": "Toy Story 5", "year": 2026 } }, { - "date_time": "2026-09-26T22:15:00.000000", + "date_time": "2026-09-27T14:00:00.000000", "movie": { - "actors": "Amelia Eve, Island Austin, Lin Shaye", + "actors": "Oscar Barberán, Michelle Jenner, Luis Posada", "countries": [ - "U.S.A." + "Espagne" ], - "directors": "Jacob Chase", - "duration": "datetime.timedelta(seconds=6360)", - "genres": "Epouvante-horreur", + "directors": "Enrique Gato", + "duration": "datetime.timedelta(seconds=5700)", + "genres": "Animation, Aventure, Famille, Comédie", "language": "Français", - "movie_id": 1000016503, - "original_title": "Insidious: Out of the Further", - "rating": 2.64, + "movie_id": 257425, + "original_title": "Tadeo Jones y la lámpara maravillosa", + "rating": 3.37, "screen_format": "Numérique", - "synopsis": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.", - "title": "Insidious : l'invasion du lointain", + "synopsis": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié... Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.", + "title": "Tad l'explorateur et la lampe magique", "year": 2026 } }, { - "date_time": "2026-09-26T22:20:00.000000", + "date_time": "2026-09-27T19:30:00.000000", "movie": { - "actors": "Michael Johnston (II), Inde Navarrette, Cooper Tomlinson", + "actors": "Malcolm McDowell, Patrick Magee, Michael Bates", "countries": [ + "Grande-Bretagne", "U.S.A." ], - "directors": "Curry Barker", - "duration": "datetime.timedelta(seconds=6540)", - "genres": "Epouvante-horreur", - "language": "Français", - "movie_id": 1000028234, - "original_title": "Obsession", - "rating": 3.92, + "directors": "Stanley Kubrick", + "duration": "datetime.timedelta(seconds=8160)", + "genres": "Science Fiction, Drame", + "language": "Version originale", + "movie_id": 260, + "original_title": "A Clockwork Orange", + "rating": 4.17, "screen_format": "Numérique", - "synopsis": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui... jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !", - "title": "Obsession", - "year": 2026 + "synopsis": "", + "title": "Orange mécanique", + "year": 1971 } } ], diff --git a/tests/cassettes/get_theater.json b/tests/cassettes/get_theater.json index 27ca86a..4bd2765 100644 --- a/tests/cassettes/get_theater.json +++ b/tests/cassettes/get_theater.json @@ -4,7 +4,7 @@ { "request": { "method": "GET", - "uri": "https://www.allocine.fr/_/showtimes/theater-P0645/d-2026-09-26/p-1/", + "uri": "https://www.allocine.fr/_/showtimes/theater-P0645/", "body": "", "headers": { "host": [ @@ -31,7 +31,7 @@ }, "headers": { "date": [ - "Sat, 26 Sep 2026 13:10:02 GMT" + "Sat, 26 Sep 2026 14:53:49 GMT" ], "content-type": [ "application/json" @@ -58,10 +58,10 @@ "h3=\":443\"; ma=86400" ], "age": [ - "3583" + "302" ], "last-modified": [ - "Sat, 26 Sep 2026 12:10:18 GMT" + "Sat, 26 Sep 2026 14:48:47 GMT" ], "cf-cache-status": [ "HIT" @@ -70,13 +70,13 @@ "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" ], "report-to": [ - "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=lj%2F4I08tmFTbeT%2Bz10GiT4UoyJJ0JOzI6BPw56UeQ66hIM77ggl2bhu8rJVmMIEC2Pbr9uSjhwnhOv0u08tKmpjpVB9yCoj4q17bOSiLZb7vA1ShSXeqkswNGItkOO567Q%3D%3D\"}]}" + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=nANrDGZkrouqbGfuTcmb0EsCDrB2%2B0jw7RRMbs2APlzAVhaJ6BYa5Ku%2F0ygzBov4wOAXqXtjCLW8nWScEV1PB%2FgshHWQrF1VsdkxVsSWKWoE53v%2F%2B2Vpwotnjw32%2FYiGnQ%3D%3D\"}]}" ], "cf-ray": [ - "a41281a6efbd6f63-CDG" + "a41319b07d989e9d-CDG" ], "content-length": [ - "242160" + "298097" ] }, "body": { @@ -87,7 +87,7 @@ "results": [ { "movie": { - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "synopsis": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache.", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -95,40 +95,40 @@ "type": "paragraph", "children": [ { - "text": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble." + "text": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache. Ce fantôme farceur va entraîner Ducobu, Léonie, leurs parents et Kitrish dans une série de péripéties ​ aussi drôles qu’inattendues. Mais attention : à Halloween, tout peut arriver…" } ] } ] }, "__typename": "Movie", - "internalId": 1000000085, - "id": "TW92aWU6MTAwMDAwMDA4NQ==", + "internalId": 1000019249, + "id": "TW92aWU6MTAwMDAxOTI0OQ==", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjExNTQ3Nw==", - "internalId": 9002115477, - "url": "https://fr.web.img2.acsta.net/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg", - "path": "/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg" + "id": "SW1hZ2U6OTAwMjA4NDYxNw==", + "internalId": 9002084617, + "url": "https://fr.web.img6.acsta.net/img/54/16/54167f9b523fff67b07b2e80f5f9dd71.jpg", + "path": "/img/54/16/54167f9b523fff67b07b2e80f5f9dd71.jpg" }, - "title": "Heart Of The Beast", - "originalTitle": "Heart Of The Beast", + "title": "Ducobu et le fantôme de Saint-Potache", + "originalTitle": "Ducobu et le fantôme de Saint-Potache", "type": "FEATURE_FILM", - "runtime": "1h 41min", + "runtime": "1h 30min", "genres": [ { - "id": 13025, - "translate": "Action", - "tag": "ACTION" + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" }, { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" } ], "languages": [ - "ENGLISH" + "FRENCH" ], "data": { "__typename": "MovieData", @@ -147,21 +147,18 @@ }, "stats": { "userRating": { - "score": 3.77, - "count": 508 + "score": null, + "count": null }, "userReview": { - "count": 130 - }, - "pressReview": { - "score": 2.9, - "count": 31 + "count": 4 }, + "pressReview": null, "metric": { - "hits": 506944, - "sessions": 311135 + "hits": 89706, + "sessions": 54225 }, - "wantToSeeCount": 2554 + "wantToSeeCount": 257 }, "editorialReviews": [], "releases": [ @@ -169,7 +166,7 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-09-23", + "date": "2026-10-07", "precision": "day" }, "name": "Released", @@ -186,16 +183,16 @@ ], "tagFlags": null }, - "visaNumber": "168216" + "visaNumber": "165348" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 41198, - "lastName": "Ayer", - "firstName": "David", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", "seo": { "__typename": "Seo", "browsable": true @@ -216,9 +213,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 12302, - "lastName": "Pitt", - "firstName": "Brad", + "internalId": 1000096859, + "lastName": "Naslin", + "firstName": "Charlie Garnier", "seo": { "__typename": "Seo", "browsable": true @@ -233,9 +230,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 1000097730, - "lastName": null, - "firstName": "Uber", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", "seo": { "__typename": "Seo", "browsable": true @@ -250,9 +247,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 32799, - "lastName": "Simmons", - "firstName": "J.K.", + "internalId": 184343, + "lastName": "Caen", + "firstName": "Émilie", "seo": { "__typename": "Seo", "browsable": true @@ -268,9 +265,9 @@ { "actor": { "__typename": "Person", - "internalId": 12302, - "lastName": "Pitt", - "firstName": "Brad", + "internalId": 1000096859, + "lastName": "Naslin", + "firstName": "Charlie Garnier", "seo": { "__typename": "Seo", "browsable": true @@ -283,9 +280,9 @@ { "actor": { "__typename": "Person", - "internalId": 1000097730, - "lastName": null, - "firstName": "Uber", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", "seo": { "__typename": "Seo", "browsable": true @@ -298,9 +295,9 @@ { "actor": { "__typename": "Person", - "internalId": 32799, - "lastName": "Simmons", - "firstName": "J.K.", + "internalId": 184343, + "lastName": "Caen", + "firstName": "Émilie", "seo": { "__typename": "Seo", "browsable": true @@ -315,16 +312,22 @@ "countries": [ { "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" } ], "relatedTags": [ { "__typename": "Tag", - "internalId": 982, - "name": "Alaska / Pôle Nord", + "internalId": 6117, + "name": "Ducobu", "scope": null, "data": { "seo": { @@ -384,15 +387,14 @@ }, "tags": { "list": [ - "Tag.Type.Location", - "Tag.Localization.City" + "Tag.Type.Versions" ] } }, { "__typename": "Tag", - "internalId": 4999, - "name": "Crash d'avion", + "internalId": 1361, + "name": "Halloween", "scope": null, "data": { "seo": { @@ -452,14 +454,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Environnement" ] } }, { "__typename": "Tag", - "internalId": 692, - "name": "Survivants / Rescapés", + "internalId": 1158, + "name": "Maison hantée", "scope": null, "data": { "seo": { @@ -519,14 +521,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Environnement" ] } }, { "__typename": "Tag", - "internalId": 1012, - "name": "Traumatisme de guerre", + "internalId": 2514, + "name": "Fantômes / Esprits", "scope": null, "data": { "seo": { @@ -592,9 +594,9 @@ }, { "__typename": "Tag", - "internalId": 289, - "name": "Nature et vie sauvage", - "scope": null, + "internalId": 1000000005, + "name": "Frissons en famille", + "scope": "THEME", "data": { "seo": { "browsable": true, @@ -653,15 +655,15 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 374, - "name": "Soldat / Militaire", - "scope": null, + "internalId": 1000000004, + "name": "Rire en famille", + "scope": "THEME", "data": { "seo": { "browsable": true, @@ -720,14 +722,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 1042, - "name": "Relation homme / animal", + "internalId": 2512, + "name": "Suite / Sequel", "scope": null, "data": { "seo": { @@ -787,15 +789,15 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 4920, - "name": "Survival", - "scope": null, + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", "data": { "seo": { "browsable": true, @@ -854,82 +856,337 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.PublicVise" ] } - }, + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": true, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": false, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache. Ce fantôme farceur va entraîner Ducobu, Léonie, leurs parents et Kitrish dans une série de péripéties ​ aussi drôles qu’inattendues. Mais attention : à Halloween, tout peut arriver…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ { - "__typename": "Tag", - "internalId": 2166, - "name": "Chien", - "scope": null, + "__typename": "Showtime", + "internalId": 81948439534, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Event.Premier", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S189819/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019249&tags=Localization.Language.French,Showtime.Event.Premier,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:00&code=vf; AVP; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S189819/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" ] - } - }, - { - "__typename": "Tag", - "internalId": 1061, - "name": "Flashback", - "scope": null, + }, + "isPreview": true, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000031247, + "id": "TW92aWU6MTAwMDAzMTI0Nw==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3MDc0Ng==", + "internalId": 9002070746, + "url": "https://fr.web.img3.acsta.net/img/7f/e6/7fe6fefcab6e4951dac81cebd7c5e202.jpg", + "path": "/img/7f/e6/7fe6fefcab6e4951dac81cebd7c5e202.jpg" + }, + "title": "La Maison de nos rêves", + "originalTitle": "La Maison de nos rêves", + "type": "FEATURE_FILM", + "runtime": "1h 30min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": null, + "count": null + }, + "userReview": { + "count": 60 + }, + "pressReview": null, + "metric": { + "hits": 161784, + "sessions": 94294 + }, + "wantToSeeCount": 351 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 227376, + "lastName": "Zidi Jr.", + "firstName": "Claude", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 499997, + "lastName": "Adams", + "firstName": "Kev", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 134849, + "lastName": "Ladesou", + "firstName": "Chantal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 743062, + "lastName": "Aguilar", + "firstName": "Camille", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 499997, + "lastName": "Adams", + "firstName": "Kev", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 134849, + "lastName": "Ladesou", + "firstName": "Chantal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 743062, + "lastName": "Aguilar", + "firstName": "Camille", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 4760, + "name": "Agent immobilier", + "scope": null, "data": { "seo": { "browsable": true, @@ -994,8 +1251,8 @@ }, { "__typename": "Tag", - "internalId": 1699, - "name": "Amitié", + "internalId": 4251, + "name": "Lac / Rivière / Fleuve / Etendue d'eau", "scope": null, "data": { "seo": { @@ -1055,14 +1312,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Paysage" ] } }, { "__typename": "Tag", - "internalId": 5324, - "name": "Adrénaline", + "internalId": 1373, + "name": "Arnaque / Escroc / Escroquerie", "scope": null, "data": { "seo": { @@ -1122,212 +1379,383 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.Keyword" ] } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": false, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": true - }, - "synopsisFull": "

Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.

" - }, - "showtimes": { - "original": [], - "original_st": [ + }, { - "__typename": "Showtime", - "internalId": 81950615950, - "startsAt": "2026-09-26T15:50:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "ORIGINAL", + "__typename": "Tag", + "internalId": 1930, + "name": "Personne âgée / Senior / Vieillesse", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:50&code=vost; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true - } - ], - "original_sme": [], - "multiple": [ - { - "__typename": "Showtime", - "internalId": 81950615800, - "startsAt": "2026-09-26T13:30:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190845/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:30&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190845/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } + "tags": { + "list": [ + "Tag.Type.ThemeDeSociete" ] - }, - "isPreview": false, - "isWeeklyMovieOuting": true + } }, { - "__typename": "Showtime", - "internalId": 81950615781, - "startsAt": "2026-09-26T18:15:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 286, + "name": "Maison / Château", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=18:15&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": false, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": true, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": false, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ { "__typename": "Showtime", - "internalId": 81950615689, - "startsAt": "2026-09-26T19:30:00", + "internalId": 81948439535, + "startsAt": "2026-09-27T18:00:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -1341,18 +1769,19 @@ "sound": null, "tags": [ "Localization.Language.French", + "Showtime.Event.Premier", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190776/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -1360,7 +1789,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000031247&tags=Localization.Language.French,Showtime.Event.Premier,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=18:00&code=vf; AVP; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -1368,128 +1797,15 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190776/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" } ] }, - "isPreview": false, - "isWeeklyMovieOuting": true - }, - { - "__typename": "Showtime", - "internalId": 81950615983, - "startsAt": "2026-09-26T20:10:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": [ - "E_4DX", - "PLF" - ], - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Auditorium.Experience.4dx", - "Localization.Language.French", - "Auditorium.Experience.PLF", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190889/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:10&code=vf; 4dx; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190889/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": true - }, - { - "__typename": "Showtime", - "internalId": 81950615842, - "startsAt": "2026-09-26T21:45:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190895/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190895/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": true + "isPreview": true, + "isWeeklyMovieOuting": false } ], "multiple_st": [], @@ -1498,7 +1814,7 @@ }, { "movie": { - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -1506,49 +1822,36 @@ "type": "paragraph", "children": [ { - "text": "Après la mort de son mari, Mme Dashwood et ses trois filles, toujours célibataires, se retrouvent dans une situation précaire. En effet, elles sont privées d’héritage puisque le domaine familial, Norland Park, revient de droit à John, fils de M. Dashwood issu d’un précédent mariage. La veuve et ses trois filles, Elinor, Marianne et Margaret n’ont d’autre choix que de quitter la région et de s’installer dans le modeste Barton Cottage. Un changement particulièrement douloureux pour Elinor, l’aînée, qui, bien malgré elle, s’est éprise du fringant et stoïque Edward Ferrars, beau-frère de John, venu récemment leur rendre visite à Norland." - } - ] - }, - { - "type": "paragraph", - "children": [ - { - "text": "Marianne tente de consoler sa sœur du mieux qu’elle peut, mais elle fait à son tour une rencontre des plus inattendues avec le séduisant – et célibataire – John Willoughby. Et bien que les deux jeunes gens tombent follement amoureux l’un de l’autre, Elinor redoute que Marianne soit trop impulsive et néglige ainsi le très droit colonel Brandon qui ne cache pas ses sentiments pour sa sœur. Face aux tumultes de l’amour, aux épreuves de la vie et aux injonctions de la société, Elinor, prudente et rationnelle, et Marianne, fougueuse et passionnée, s’affrontent souvent, comme seules deux sœurs peuvent le faire. Et pourtant, leurs liens inébranlables leur permettent de braver toutes les tempêtes et, surtout, d’espérer un avenir heureux…" + "text": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble." } ] } ] }, "__typename": "Movie", - "internalId": 1000026622, - "id": "TW92aWU6MTAwMDAyNjYyMg==", + "internalId": 1000000085, + "id": "TW92aWU6MTAwMDAwMDA4NQ==", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA4ODAzNQ==", - "internalId": 9002088035, - "url": "https://fr.web.img5.acsta.net/img/25/06/25065d844cf983b62abba5f0ca2c1a64.jpg", - "path": "/img/25/06/25065d844cf983b62abba5f0ca2c1a64.jpg" + "id": "SW1hZ2U6OTAwMjExNTQ3Nw==", + "internalId": 9002115477, + "url": "https://fr.web.img2.acsta.net/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg", + "path": "/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg" }, - "title": "Raison et sentiments", - "originalTitle": "Sense and Sensibility", + "title": "Heart Of The Beast", + "originalTitle": "Heart Of The Beast", "type": "FEATURE_FILM", - "runtime": "2h 12min", + "runtime": "1h 41min", "genres": [ { - "id": 13008, - "translate": "Drame", - "tag": "DRAMA" - }, - { - "id": 13024, - "translate": "Romance", - "tag": "ROMANCE" + "id": 13025, + "translate": "Action", + "tag": "ACTION" }, { - "id": 13015, - "translate": "Historique", - "tag": "HISTORICAL" + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" } ], "languages": [ @@ -1571,21 +1874,21 @@ }, "stats": { "userRating": { - "score": 3.34, - "count": 74 + "score": 3.79, + "count": 524 }, "userReview": { - "count": 11 + "count": 132 }, "pressReview": { - "score": 3.38, - "count": 13 + "score": 2.9, + "count": 31 }, "metric": { - "hits": 210256, - "sessions": 125394 + "hits": 506944, + "sessions": 311135 }, - "wantToSeeCount": 848 + "wantToSeeCount": 2554 }, "editorialReviews": [], "releases": [ @@ -1597,7 +1900,11 @@ "precision": "day" }, "name": "Released", - "certificate": null, + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, "advice": null, "companyLimitation": null, "releaseTags": { @@ -1606,16 +1913,16 @@ ], "tagFlags": null }, - "visaNumber": null + "visaNumber": "168216" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 970540, - "lastName": "Oakley", - "firstName": "Georgia", + "internalId": 41198, + "lastName": "Ayer", + "firstName": "David", "seo": { "__typename": "Seo", "browsable": true @@ -1636,9 +1943,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 864250, - "lastName": "Edgar-Jones", - "firstName": "Daisy", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", "seo": { "__typename": "Seo", "browsable": true @@ -1653,9 +1960,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 214164, - "lastName": "Creed-Miles", - "firstName": "Esmé", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", "seo": { "__typename": "Seo", "browsable": true @@ -1670,9 +1977,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 488862, - "lastName": "Balfe", - "firstName": "Caitriona", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", "seo": { "__typename": "Seo", "browsable": true @@ -1688,9 +1995,9 @@ { "actor": { "__typename": "Person", - "internalId": 864250, - "lastName": "Edgar-Jones", - "firstName": "Daisy", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", "seo": { "__typename": "Seo", "browsable": true @@ -1703,9 +2010,9 @@ { "actor": { "__typename": "Person", - "internalId": 214164, - "lastName": "Creed-Miles", - "firstName": "Esmé", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", "seo": { "__typename": "Seo", "browsable": true @@ -1718,9 +2025,9 @@ { "actor": { "__typename": "Person", - "internalId": 488862, - "lastName": "Balfe", - "firstName": "Caitriona", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", "seo": { "__typename": "Seo", "browsable": true @@ -1733,12 +2040,6 @@ ] }, "countries": [ - { - "__typename": "Country", - "id": 5004, - "name": "United Kingdom", - "localizedName": "Grande-Bretagne" - }, { "__typename": "Country", "id": 5002, @@ -1749,8 +2050,8 @@ "relatedTags": [ { "__typename": "Tag", - "internalId": 4787, - "name": "Costumes", + "internalId": 982, + "name": "Alaska / Pôle Nord", "scope": null, "data": { "seo": { @@ -1810,14 +2111,15 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Location", + "Tag.Localization.City" ] } }, { "__typename": "Tag", - "internalId": 300, - "name": "Mariage", + "internalId": 4999, + "name": "Crash d'avion", "scope": null, "data": { "seo": { @@ -1883,8 +2185,8 @@ }, { "__typename": "Tag", - "internalId": 5234, - "name": "Soeurs", + "internalId": 692, + "name": "Survivants / Rescapés", "scope": null, "data": { "seo": { @@ -1950,8 +2252,8 @@ }, { "__typename": "Tag", - "internalId": 1927, - "name": "Campagne et champs", + "internalId": 1012, + "name": "Traumatisme de guerre", "scope": null, "data": { "seo": { @@ -2011,14 +2313,14 @@ }, "tags": { "list": [ - "Tag.Type.Paysage" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 425, - "name": "Triangle amoureux", + "internalId": 289, + "name": "Nature et vie sauvage", "scope": null, "data": { "seo": { @@ -2084,8 +2386,8 @@ }, { "__typename": "Tag", - "internalId": 1067, - "name": "19e siècle", + "internalId": 374, + "name": "Soldat / Militaire", "scope": null, "data": { "seo": { @@ -2145,14 +2447,14 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 1508, - "name": "Romance", + "internalId": 1042, + "name": "Relation homme / animal", "scope": null, "data": { "seo": { @@ -2218,8 +2520,8 @@ }, { "__typename": "Tag", - "internalId": 1499, - "name": "Adaptation de roman", + "internalId": 4920, + "name": "Survival", "scope": null, "data": { "seo": { @@ -2279,160 +2581,314 @@ }, "tags": { "list": [ - "Tag.Type.OeuvreDOrigine" + "Tag.Type.SubGenre" ] } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": false, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": true - }, - "synopsisFull": "

Après la mort de son mari, Mme Dashwood et ses trois filles, toujours célibataires, se retrouvent dans une situation précaire. En effet, elles sont privées d’héritage puisque le domaine familial, Norland Park, revient de droit à John, fils de M. Dashwood issu d’un précédent mariage. La veuve et ses trois filles, Elinor, Marianne et Margaret n’ont d’autre choix que de quitter la région et de s’installer dans le modeste Barton Cottage. Un changement particulièrement douloureux pour Elinor, l’aînée, qui, bien malgré elle, s’est éprise du fringant et stoïque Edward Ferrars, beau-frère de John, venu récemment leur rendre visite à Norland.

Marianne tente de consoler sa sœur du mieux qu’elle peut, mais elle fait à son tour une rencontre des plus inattendues avec le séduisant – et célibataire – John Willoughby. Et bien que les deux jeunes gens tombent follement amoureux l’un de l’autre, Elinor redoute que Marianne soit trop impulsive et néglige ainsi le très droit colonel Brandon qui ne cache pas ses sentiments pour sa sœur. Face aux tumultes de l’amour, aux épreuves de la vie et aux injonctions de la société, Elinor, prudente et rationnelle, et Marianne, fougueuse et passionnée, s’affrontent souvent, comme seules deux sœurs peuvent le faire. Et pourtant, leurs liens inébranlables leur permettent de braver toutes les tempêtes et, surtout, d’espérer un avenir heureux…

" - }, - "showtimes": { - "original": [], - "original_st": [ + }, { - "__typename": "Showtime", - "internalId": 81950615805, - "startsAt": "2026-09-26T13:45:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "ORIGINAL", + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190849/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:45&code=vost; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190849/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true - } - ], - "original_sme": [], - "multiple": [ + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, { - "__typename": "Showtime", - "internalId": 81950615903, - "startsAt": "2026-09-26T16:30:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 1061, + "name": "Flashback", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190867/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:30&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190867/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.

" + }, + "showtimes": { + "original": [], + "original_st": [ { "__typename": "Showtime", - "internalId": 81950615813, - "startsAt": "2026-09-26T19:30:00", + "internalId": 81950615950, + "startsAt": "2026-09-26T15:50:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -2445,20 +2901,20 @@ "picture": null, "sound": null, "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "ORIGINAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190885/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -2466,7 +2922,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:50&code=vost; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -2474,7 +2930,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190885/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -2486,8 +2942,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615894, - "startsAt": "2026-09-26T22:10:00", + "internalId": 81950616100, + "startsAt": "2026-09-27T10:45:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -2500,20 +2956,20 @@ "picture": null, "sound": null, "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "ORIGINAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190898/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190830/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -2521,7 +2977,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:10&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:45&code=vost; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -2529,7 +2985,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190898/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190830/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -2540,1296 +2996,693 @@ "isWeeklyMovieOuting": true } ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs… Mais aussi une révolution intime, amicale et sexuelle.", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615781, + "startsAt": "2026-09-26T18:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ { - "text": "Garance est une jeune actrice mais qui n’est pas une vedette. Elle gère et assure tout de son mieux, vaillante, joyeuse, soldate, et elle trouve dans l’alcool un carburant, un réconfort inconditionnel. Garance change de vie et commence alors un parcours de huit ans de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs. Une révolution intime, amicale et sexuelle, mais elle consomme toujours plus. Jusqu’à la potentialité de la mort." + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=18:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } ] - } - ] - }, - "__typename": "Movie", - "internalId": 1000026039, - "id": "TW92aWU6MTAwMDAyNjAzOQ==", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA0MDg1Nw==", - "internalId": 9002040857, - "url": "https://fr.web.img3.acsta.net/img/22/e4/22e455446c0461e270e5341d9f88f43f.jpg", - "path": "/img/22/e4/22e455446c0461e270e5341d9f88f43f.jpg" - }, - "title": "Garance", - "originalTitle": "Garance", - "type": "FEATURE_FILM", - "runtime": "1h 55min", - "genres": [ - { - "id": 13008, - "translate": "Drame", - "tag": "DRAMA" - } - ], - "languages": [ - "FRENCH" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null - }, - "productionYear": 2026, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false - } - } - }, - "stats": { - "userRating": { - "score": 3.88, - "count": 598 - }, - "userReview": { - "count": 154 - }, - "pressReview": { - "score": 3.47, - "count": 36 - }, - "metric": { - "hits": 480128, - "sessions": 277463 - }, - "wantToSeeCount": 2268 - }, - "editorialReviews": [], - "releases": [ - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-23", - "precision": "day" - }, - "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "U", - "label": "Tout public" - }, - "advice": null, - "companyLimitation": null, - "releaseTags": { - "tagTypes": [ - "THEATER" - ], - "tagFlags": null }, - "visaNumber": "167393" - } - ], - "credits": [ + "isPreview": false, + "isWeeklyMovieOuting": true + }, { - "person": { - "__typename": "Person", - "internalId": 132132, - "lastName": "Herry", - "firstName": "Jeanne", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" - }, - "rank": 1 - } - ], - "cast": { - "__typename": "castMemberConnection", - "edges": [ - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 160886, - "lastName": "Exarchopoulos", - "firstName": "Adèle", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - } - }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 93105, - "lastName": "Giraudeau", - "firstName": "Sara", - "seo": { - "__typename": "Seo", - "browsable": true - } + "__typename": "Showtime", + "internalId": 81950615689, + "startsAt": "2026-09-26T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 - } - }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 52161, - "lastName": "Drillaud", - "firstName": "Sarajeanne", - "seo": { - "__typename": "Seo", - "browsable": true - } + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 160886, - "lastName": "Exarchopoulos", - "firstName": "Adèle", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - }, - { - "actor": { - "__typename": "Person", - "internalId": 93105, - "lastName": "Giraudeau", - "firstName": "Sara", - "seo": { - "__typename": "Seo", - "browsable": true + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + ] }, - { - "actor": { - "__typename": "Person", - "internalId": 52161, - "lastName": "Drillaud", - "firstName": "Sarajeanne", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - ] - }, - "countries": [ + "isPreview": false, + "isWeeklyMovieOuting": true + }, { - "__typename": "Country", - "id": 5001, - "name": "France", - "localizedName": "France" - }, - { - "__typename": "Country", - "id": 5014, - "name": "Belgium", - "localizedName": "Belgique" - } - ], - "relatedTags": [ - { - "__typename": "Tag", - "internalId": 1000001736, - "name": "CANNES_2026", - "scope": "TRACKING", + "__typename": "Showtime", + "internalId": 81950615983, + "startsAt": "2026-09-26T20:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190889/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:10&code=vf; 4dx; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190889/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 6054, - "name": "Amour lesbien", - "scope": null, + "__typename": "Showtime", + "internalId": 81950615842, + "startsAt": "2026-09-26T21:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": true, - "scope": { - "userRating": { - "movie": { - "title": "films d'amour lesbien", - "subTitle": null, - "description": "Quels sont les meilleurs films d'amour lesbien ? Découvrez les meilleures films de romance lesbienne d'après une sélection de la rédaction." - }, - "series": { - "title": null, - "subTitle": null, - "description": "films de romance lesbienne" - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190895/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190895/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.ThemeDeSociete" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 789, - "name": "Alcoolisme / Alcoolique", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "Showtime", + "internalId": 81950615863, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190907/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:00&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190907/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 2104, - "name": "Théâtre et salle de spectacle", - "scope": null, + "__typename": "Showtime", + "internalId": 81950616053, + "startsAt": "2026-09-27T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190922/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190922/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Environnement" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 732, - "name": "Acteur / Actrice", - "scope": null, + "__typename": "Showtime", + "internalId": 81950615695, + "startsAt": "2026-09-27T17:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190939/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=17:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190939/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 994, - "name": "Portrait de femme", - "scope": null, + "__typename": "Showtime", + "internalId": 81950615975, + "startsAt": "2026-09-27T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190946/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190946/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } + ] }, - "tags": { - "list": [ - "Tag.Type.Characteristic" + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Dans " + }, + { + "text": "Avengers Endgame Extended", + "italic": true + }, + { + "text": ", les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "À l’occasion de ce nouveau rassemblement des Avengers sur grand écran, " + }, + { + "text": "Avengers Endgame Extended", + "italic": true + }, + { + "text": " revient au cinéma pour une durée limitée de 2 semaines à partir du 23 septembre, avec un aperçu exclusif d’" + }, + { + "text": "Avengers : Doomsday", + "italic": true + }, + { + "text": ", attendu dans les salles le 16 décembre 2026." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Cette ressortie exceptionnelle d’" + }, + { + "text": "Avengers Endgame Extended ", + "italic": true + }, + { + "text": "permettra ainsi au public de découvrir un aperçu exclusif d’" + }, + { + "text": "Avengers : Doomsday", + "italic": true + }, + { + "text": ". Les spectateurs qui choisiront une séance en IMAX® ou dans une salle certifiée INFINITY VISION bénéficieront en plus d’un aperçu supplémentaire d’" + }, + { + "text": "Avengers : Doomsday", + "italic": true + }, + { + "text": "." + } ] } + ] + }, + "__typename": "Movie", + "internalId": 1000036867, + "id": "TW92aWU6MTAwMDAzNjg2Nw==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDY4Mw==", + "internalId": 9002114683, + "url": "https://fr.web.img4.acsta.net/img/53/e1/53e1e6f2d34748e3f07d101e103dbfb6.jpg", + "path": "/img/53/e1/53e1e6f2d34748e3f07d101e103dbfb6.jpg" + }, + "title": "Avengers : Endgame Extended", + "originalTitle": "Avengers Endgame: Encore", + "type": "SPECIAL_EVENT", + "runtime": "3h 05min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" }, { - "__typename": "Tag", - "internalId": 1728, - "name": "Portrait de couple / Relation de couple", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } - }, - "tags": { - "list": [ - "Tag.Type.Characteristic" - ] - } + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" }, { - "__typename": "Tag", - "internalId": 1508, - "name": "Romance", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false } + } + }, + "stats": { + "userRating": { + "score": 4.29, + "count": 112 + }, + "userReview": { + "count": 9 + }, + "pressReview": null, + "metric": { + "hits": 118636, + "sessions": 70222 }, + "wantToSeeCount": 265 + }, + "editorialReviews": [], + "releases": [ { - "__typename": "Tag", - "internalId": 5478, - "name": "Psychologies", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Envies" - ] - } + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168359" }, { - "__typename": "Tag", - "internalId": 5259, - "name": "Art et essai", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.PublicVise" - ] - } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": true, - "isLesIndes": true, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": true - }, - "synopsisFull": "

Garance est une jeune actrice mais qui n’est pas une vedette. Elle gère et assure tout de son mieux, vaillante, joyeuse, soldate, et elle trouve dans l’alcool un carburant, un réconfort inconditionnel. Garance change de vie et commence alors un parcours de huit ans de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs. Une révolution intime, amicale et sexuelle, mais elle consomme toujours plus. Jusqu’à la potentialité de la mort.

" - }, - "showtimes": { - "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ - { - "__typename": "Showtime", - "internalId": 81950615944, - "startsAt": "2026-09-26T14:00:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190854/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:00&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190854/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" }, - "isPreview": false, - "isWeeklyMovieOuting": true + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Showtime", - "internalId": 81950615692, - "startsAt": "2026-09-26T16:45:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190871/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190871/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" }, - "isPreview": false, - "isWeeklyMovieOuting": true + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, - { - "__typename": "Showtime", - "internalId": 81950615833, - "startsAt": "2026-09-26T19:30:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190884/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190884/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": true - }, - { - "__typename": "Showtime", - "internalId": 81950615707, - "startsAt": "2026-09-26T22:00:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190897/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:00&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190897/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": true - } - ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ - { - "text": "1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres." - } - ] - }, - { - "type": "paragraph", - "children": [ - { - "text": "Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac. ", - "italic": true - } - ] - } - ] - }, - "__typename": "Movie", - "internalId": 1000028944, - "id": "TW92aWU6MTAwMDAyODk0NA==", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjEwMDIxMQ==", - "internalId": 9002100211, - "url": "https://fr.web.img6.acsta.net/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg", - "path": "/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg" - }, - "title": "Justin le Juste", - "originalTitle": "Justin le Juste", - "type": "FEATURE_FILM", - "runtime": "1h 50min", - "genres": [ - { - "id": 13015, - "translate": "Historique", - "tag": "HISTORICAL" - }, - { - "id": 13014, - "translate": "Guerre", - "tag": "WARMOVIE" - } - ], - "languages": [ - "FRENCH" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null - }, - "productionYear": 2026, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false - } - } - }, - "stats": { - "userRating": { - "score": 3.9, - "count": 198 - }, - "userReview": { - "count": 87 - }, - "pressReview": { - "score": 3.15, - "count": 13 - }, - "metric": { - "hits": 203198, - "sessions": 123445 - }, - "wantToSeeCount": 672 - }, - "editorialReviews": [], - "releases": [ { "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-09-23", + "date": "2019-08-29", "precision": "day" }, - "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "U", - "label": "Tout public" - }, + "name": "Vodest", + "certificate": null, "advice": null, - "companyLimitation": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, "releaseTags": { "tagTypes": [ - "THEATER" + "ONLINE", + "ONLINE_VODEST" ], "tagFlags": null }, - "visaNumber": "164658" + "visaNumber": null } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 26667, - "lastName": "Barbier", - "firstName": "Éric", + "internalId": 71968, + "lastName": "Russo", + "firstName": "Joe", "seo": { "__typename": "Seo", "browsable": true @@ -3841,6 +3694,24 @@ "department": "DIRECTION" }, "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 71967, + "lastName": "Russo", + "firstName": "Anthony", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 } ], "cast": { @@ -3850,9 +3721,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 244509, - "lastName": "Ivanov", - "firstName": "Alban", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", "seo": { "__typename": "Seo", "browsable": true @@ -3867,9 +3738,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 936220, - "lastName": "Ba", - "firstName": "Birane", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", "seo": { "__typename": "Seo", "browsable": true @@ -3884,9 +3755,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 75130, - "lastName": "Lamy", - "firstName": "Alexandra", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", "seo": { "__typename": "Seo", "browsable": true @@ -3902,9 +3773,9 @@ { "actor": { "__typename": "Person", - "internalId": 244509, - "lastName": "Ivanov", - "firstName": "Alban", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", "seo": { "__typename": "Seo", "browsable": true @@ -3917,9 +3788,9 @@ { "actor": { "__typename": "Person", - "internalId": 936220, - "lastName": "Ba", - "firstName": "Birane", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", "seo": { "__typename": "Seo", "browsable": true @@ -3932,9 +3803,9 @@ { "actor": { "__typename": "Person", - "internalId": 75130, - "lastName": "Lamy", - "firstName": "Alexandra", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", "seo": { "__typename": "Seo", "browsable": true @@ -3949,439 +3820,651 @@ "countries": [ { "__typename": "Country", - "id": 5001, - "name": "France", - "localizedName": "France" - }, - { - "__typename": "Country", - "id": 5014, - "name": "Belgium", - "localizedName": "Belgique" + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." } ], - "relatedTags": [ + "relatedTags": [], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": true, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": false, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.

À l’occasion de ce nouveau rassemblement des Avengers sur grand écran, Avengers Endgame Extended revient au cinéma pour une durée limitée de 2 semaines à partir du 23 septembre, avec un aperçu exclusif d’Avengers : Doomsday, attendu dans les salles le 16 décembre 2026.

Cette ressortie exceptionnelle d’Avengers Endgame Extended permettra ainsi au public de découvrir un aperçu exclusif d’Avengers : Doomsday. Les spectateurs qui choisiront une séance en IMAX® ou dans une salle certifiée INFINITY VISION bénéficieront en plus d’un aperçu supplémentaire d’Avengers : Doomsday.

" + }, + "showtimes": { + "original": [], + "original_st": [ { - "__typename": "Tag", - "internalId": 482, - "name": "Fable", - "scope": null, + "__typename": "Showtime", + "internalId": 81280163480, + "startsAt": "2026-09-26T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S189268/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=20:00&code=vost; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S189268/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 1693, - "name": "Première guerre mondiale", - "scope": null, + "__typename": "Showtime", + "internalId": 81280163481, + "startsAt": "2026-09-27T15:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S189269/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260927&perft=15:00&code=vost; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S189269/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Time" ] - } - }, - { - "__typename": "Tag", - "internalId": 821, - "name": "Injustice", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } }, - "tags": { - "list": [ - "Tag.Type.Keyword" + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615835, + "startsAt": "2026-09-26T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "F_3D" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Accessible", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190866/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible&perfd=20260926&perft=16:30&code=vf; 3d; 4dx; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190866/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 435, - "name": "Paysan / Paysanne", - "scope": null, + "__typename": "Showtime", + "internalId": 81950615890, + "startsAt": "2026-09-26T20:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190890/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190890/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 4489, - "name": "Révolte", - "scope": null, + "__typename": "Showtime", + "internalId": 81950615809, + "startsAt": "2026-09-27T14:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190920/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190920/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" ] - } + }, + "isPreview": false, + "isWeeklyMovieOuting": true }, { - "__typename": "Tag", - "internalId": 374, - "name": "Soldat / Militaire", - "scope": null, + "__typename": "Showtime", + "internalId": 81950616058, + "startsAt": "2026-09-27T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "F_3D" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Accessible", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190928/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible&perfd=20260927&perft=16:30&code=vf; 3d; 4dx; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190928/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } - } + ] }, - "tags": { - "list": [ - "Tag.Type.Keyword" + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après la mort de son mari, Mme Dashwood et ses trois filles, toujours célibataires, se retrouvent dans une situation précaire. En effet, elles sont privées d’héritage puisque le domaine familial, Norland Park, revient de droit à John, fils de M. Dashwood issu d’un précédent mariage. La veuve et ses trois filles, Elinor, Marianne et Margaret n’ont d’autre choix que de quitter la région et de s’installer dans le modeste Barton Cottage. Un changement particulièrement douloureux pour Elinor, l’aînée, qui, bien malgré elle, s’est éprise du fringant et stoïque Edward Ferrars, beau-frère de John, venu récemment leur rendre visite à Norland." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Marianne tente de consoler sa sœur du mieux qu’elle peut, mais elle fait à son tour une rencontre des plus inattendues avec le séduisant – et célibataire – John Willoughby. Et bien que les deux jeunes gens tombent follement amoureux l’un de l’autre, Elinor redoute que Marianne soit trop impulsive et néglige ainsi le très droit colonel Brandon qui ne cache pas ses sentiments pour sa sœur. Face aux tumultes de l’amour, aux épreuves de la vie et aux injonctions de la société, Elinor, prudente et rationnelle, et Marianne, fougueuse et passionnée, s’affrontent souvent, comme seules deux sœurs peuvent le faire. Et pourtant, leurs liens inébranlables leur permettent de braver toutes les tempêtes et, surtout, d’espérer un avenir heureux…" + } ] } + ] + }, + "__typename": "Movie", + "internalId": 1000026622, + "id": "TW92aWU6MTAwMDAyNjYyMg==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA4ODAzNQ==", + "internalId": 9002088035, + "url": "https://fr.web.img5.acsta.net/img/25/06/25065d844cf983b62abba5f0ca2c1a64.jpg", + "path": "/img/25/06/25065d844cf983b62abba5f0ca2c1a64.jpg" + }, + "title": "Raison et sentiments", + "originalTitle": "Sense and Sensibility", + "type": "FEATURE_FILM", + "runtime": "2h 12min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" }, { - "__typename": "Tag", - "internalId": 4875, - "name": "Guerre", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, + "id": 13024, + "translate": "Romance", + "tag": "ROMANCE" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.34, + "count": 76 + }, + "userReview": { + "count": 11 + }, + "pressReview": { + "score": 3.38, + "count": 13 + }, + "metric": { + "hits": 210256, + "sessions": 125394 + }, + "wantToSeeCount": 852 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 970540, + "lastName": "Oakley", + "firstName": "Georgia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 864250, + "lastName": "Edgar-Jones", + "firstName": "Daisy", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 214164, + "lastName": "Creed-Miles", + "firstName": "Esmé", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 488862, + "lastName": "Balfe", + "firstName": "Caitriona", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 864250, + "lastName": "Edgar-Jones", + "firstName": "Daisy", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 214164, + "lastName": "Creed-Miles", + "firstName": "Esmé", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 488862, + "lastName": "Balfe", + "firstName": "Caitriona", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5004, + "name": "United Kingdom", + "localizedName": "Grande-Bretagne" + }, + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 4787, + "name": "Costumes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, "description": null } }, @@ -4426,14 +4509,14 @@ }, "tags": { "list": [ - "Tag.Type.Environnement" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 4633, - "name": "France", + "internalId": 300, + "name": "Mariage", "scope": null, "data": { "seo": { @@ -4493,15 +4576,14 @@ }, "tags": { "list": [ - "Tag.Type.Location", - "Tag.Localization.Country" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 1499, - "name": "Adaptation de roman", + "internalId": 5234, + "name": "Soeurs", "scope": null, "data": { "seo": { @@ -4561,181 +4643,408 @@ }, "tags": { "list": [ - "Tag.Type.OeuvreDOrigine" + "Tag.Type.Keyword" ] } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": true, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": true - }, - "synopsisFull": "

1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres.

Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac.

" - }, - "showtimes": { - "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ + }, { - "__typename": "Showtime", - "internalId": 81950616002, - "startsAt": "2026-09-26T14:15:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", + "__typename": "Tag", + "internalId": 1927, + "name": "Campagne et champs", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190856/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:15&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190856/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true + "tags": { + "list": [ + "Tag.Type.Paysage" + ] + } }, { - "__typename": "Showtime", - "internalId": 81950615933, - "startsAt": "2026-09-26T16:40:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", + "__typename": "Tag", + "internalId": 425, + "name": "Triangle amoureux", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190868/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:40&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190868/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "Showtime", - "internalId": 81950615720, - "startsAt": "2026-09-26T19:20:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", + "__typename": "Tag", + "internalId": 1067, + "name": "19e siècle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1508, + "name": "Romance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après la mort de son mari, Mme Dashwood et ses trois filles, toujours célibataires, se retrouvent dans une situation précaire. En effet, elles sont privées d’héritage puisque le domaine familial, Norland Park, revient de droit à John, fils de M. Dashwood issu d’un précédent mariage. La veuve et ses trois filles, Elinor, Marianne et Margaret n’ont d’autre choix que de quitter la région et de s’installer dans le modeste Barton Cottage. Un changement particulièrement douloureux pour Elinor, l’aînée, qui, bien malgré elle, s’est éprise du fringant et stoïque Edward Ferrars, beau-frère de John, venu récemment leur rendre visite à Norland.

Marianne tente de consoler sa sœur du mieux qu’elle peut, mais elle fait à son tour une rencontre des plus inattendues avec le séduisant – et célibataire – John Willoughby. Et bien que les deux jeunes gens tombent follement amoureux l’un de l’autre, Elinor redoute que Marianne soit trop impulsive et néglige ainsi le très droit colonel Brandon qui ne cache pas ses sentiments pour sa sœur. Face aux tumultes de l’amour, aux épreuves de la vie et aux injonctions de la société, Elinor, prudente et rationnelle, et Marianne, fougueuse et passionnée, s’affrontent souvent, comme seules deux sœurs peuvent le faire. Et pourtant, leurs liens inébranlables leur permettent de braver toutes les tempêtes et, surtout, d’espérer un avenir heureux…

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615861, + "startsAt": "2026-09-27T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190882/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190948/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -4743,7 +5052,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:20&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:30&code=vost; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -4751,7 +5060,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190882/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190948/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -4760,11 +5069,14 @@ }, "isPreview": false, "isWeeklyMovieOuting": true - }, + } + ], + "original_sme": [], + "multiple": [ { "__typename": "Showtime", - "internalId": 81950615786, - "startsAt": "2026-09-26T21:45:00", + "internalId": 81950615903, + "startsAt": "2026-09-26T16:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -4778,18 +5090,19 @@ "sound": null, "tags": [ "Localization.Language.French", + "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "LOCAL", + "diffusionVersion": "DUBBED", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190896/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190867/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -4797,7 +5110,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:30&code=vf; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -4805,7 +5118,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190896/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190867/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -4814,119 +5127,340 @@ }, "isPreview": false, "isWeeklyMovieOuting": true - } - ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ + }, + { + "__typename": "Showtime", + "internalId": 81950615813, + "startsAt": "2026-09-26T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ { - "text": "Dans " + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190885/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" }, { - "text": "Avengers Endgame Extended", - "italic": true + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" }, { - "text": ", les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes." + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190885/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } ] }, - { - "type": "paragraph", - "children": [ - { - "text": "À l’occasion de ce nouveau rassemblement des Avengers sur grand écran, " - }, - { - "text": "Avengers Endgame Extended", - "italic": true - }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615894, + "startsAt": "2026-09-26T22:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ { - "text": " revient au cinéma pour une durée limitée de 2 semaines à partir du 23 septembre, avec un aperçu exclusif d’" + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190898/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" }, { - "text": "Avengers : Doomsday", - "italic": true + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:10&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" }, { - "text": ", attendu dans les salles le 16 décembre 2026." + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190898/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } ] }, - { - "type": "paragraph", - "children": [ - { - "text": "Cette ressortie exceptionnelle d’" - }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950616096, + "startsAt": "2026-09-27T10:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ { - "text": "Avengers Endgame Extended ", - "italic": true + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190827/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" }, { - "text": "permettra ainsi au public de découvrir un aperçu exclusif d’" + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" }, { - "text": "Avengers : Doomsday", - "italic": true - }, + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190827/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615789, + "startsAt": "2026-09-27T13:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ { - "text": ". Les spectateurs qui choisiront une séance en IMAX® ou dans une salle certifiée INFINITY VISION bénéficieront en plus d’un aperçu supplémentaire d’" + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190911/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" }, { - "text": "Avengers : Doomsday", - "italic": true + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=13:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" }, { - "text": "." + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190911/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" } ] - } - ] - }, - "__typename": "Movie", - "internalId": 1000036867, - "id": "TW92aWU6MTAwMDAzNjg2Nw==", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjExNDY4Mw==", - "internalId": 9002114683, - "url": "https://fr.web.img4.acsta.net/img/53/e1/53e1e6f2d34748e3f07d101e103dbfb6.jpg", - "path": "/img/53/e1/53e1e6f2d34748e3f07d101e103dbfb6.jpg" + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615819, + "startsAt": "2026-09-27T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190929/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026622&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190929/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac. ", + "italic": true + } + ] + } + ] }, - "title": "Avengers : Endgame Extended", - "originalTitle": "Avengers Endgame: Encore", - "type": "SPECIAL_EVENT", - "runtime": "3h 05min", + "__typename": "Movie", + "internalId": 1000028944, + "id": "TW92aWU6MTAwMDAyODk0NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMDIxMQ==", + "internalId": 9002100211, + "url": "https://fr.web.img6.acsta.net/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg", + "path": "/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg" + }, + "title": "Justin le Juste", + "originalTitle": "Justin le Juste", + "type": "FEATURE_FILM", + "runtime": "1h 50min", "genres": [ { - "id": 13025, - "translate": "Action", - "tag": "ACTION" - }, - { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" }, { - "id": 13021, - "translate": "Science Fiction", - "tag": "SCIENCE_FICTION" + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" } ], "languages": [ - "ENGLISH" + "FRENCH" ], "data": { "__typename": "MovieData", @@ -4945,18 +5479,21 @@ }, "stats": { "userRating": { - "score": 4.32, - "count": 108 + "score": 3.87, + "count": 201 }, "userReview": { - "count": 8 + "count": 88 + }, + "pressReview": { + "score": 3.15, + "count": 13 }, - "pressReview": null, "metric": { - "hits": 118636, - "sessions": 70222 + "hits": 203198, + "sessions": 123445 }, - "wantToSeeCount": 262 + "wantToSeeCount": 678 }, "editorialReviews": [], "releases": [ @@ -4981,88 +5518,16 @@ ], "tagFlags": null }, - "visaNumber": "168359" - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2019-08-29", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2019-08-29", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2019-08-29", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null + "visaNumber": "164658" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 71968, - "lastName": "Russo", - "firstName": "Joe", + "internalId": 26667, + "lastName": "Barbier", + "firstName": "Éric", "seo": { "__typename": "Seo", "browsable": true @@ -5074,24 +5539,6 @@ "department": "DIRECTION" }, "rank": 1 - }, - { - "person": { - "__typename": "Person", - "internalId": 71967, - "lastName": "Russo", - "firstName": "Anthony", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" - }, - "rank": 2 } ], "cast": { @@ -5101,9 +5548,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 10976, - "lastName": "Downey Jr.", - "firstName": "Robert", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", "seo": { "__typename": "Seo", "browsable": true @@ -5118,9 +5565,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 81795, - "lastName": "Evans", - "firstName": "Chris", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", "seo": { "__typename": "Seo", "browsable": true @@ -5135,9 +5582,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 25190, - "lastName": "Ruffalo", - "firstName": "Mark", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", "seo": { "__typename": "Seo", "browsable": true @@ -5153,9 +5600,9 @@ { "actor": { "__typename": "Person", - "internalId": 10976, - "lastName": "Downey Jr.", - "firstName": "Robert", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", "seo": { "__typename": "Seo", "browsable": true @@ -5168,9 +5615,9 @@ { "actor": { "__typename": "Person", - "internalId": 81795, - "lastName": "Evans", - "firstName": "Chris", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", "seo": { "__typename": "Seo", "browsable": true @@ -5183,9 +5630,9 @@ { "actor": { "__typename": "Person", - "internalId": 25190, - "lastName": "Ruffalo", - "firstName": "Mark", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", "seo": { "__typename": "Seo", "browsable": true @@ -5200,713 +5647,9231 @@ "countries": [ { "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." - } - ], - "relatedTags": [], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": true, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": false, - "hasAwards": false, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": true - }, - "synopsisFull": "

Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.

À l’occasion de ce nouveau rassemblement des Avengers sur grand écran, Avengers Endgame Extended revient au cinéma pour une durée limitée de 2 semaines à partir du 23 septembre, avec un aperçu exclusif d’Avengers : Doomsday, attendu dans les salles le 16 décembre 2026.

Cette ressortie exceptionnelle d’Avengers Endgame Extended permettra ainsi au public de découvrir un aperçu exclusif d’Avengers : Doomsday. Les spectateurs qui choisiront une séance en IMAX® ou dans une salle certifiée INFINITY VISION bénéficieront en plus d’un aperçu supplémentaire d’Avengers : Doomsday.

" - }, - "showtimes": { - "original": [], - "original_st": [ + "id": 5001, + "name": "France", + "localizedName": "France" + }, { - "__typename": "Showtime", - "internalId": 81280163480, - "startsAt": "2026-09-26T20:00:00", - "timeBeforeStart": "PT0H0M0S", - "service": null, - "experience": null, - "comfort": null, - "projection": [ - "IMAX" - ], - "picture": null, - "sound": null, - "tags": [ - "Format.Projection.Imax", - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", - "Showtime.Accessibility.Accessible" - ], - "diffusionVersion": "ORIGINAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S189268/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=20:00&code=vost; imax; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S189268/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": true + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" } ], - "original_sme": [], - "multiple": [ + "relatedTags": [ { - "__typename": "Showtime", - "internalId": 81950615999, - "startsAt": "2026-09-26T15:00:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 482, + "name": "Fable", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190858/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:00&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190858/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "Showtime", - "internalId": 81950615835, - "startsAt": "2026-09-26T16:30:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": [ - "E_4DX", - "PLF" - ], - "comfort": null, - "projection": [ - "F_3D" - ], - "picture": null, - "sound": null, - "tags": [ - "Format.Projection.3d", - "Auditorium.Experience.4dx", - "Localization.Language.French", - "Auditorium.Experience.PLF", - "Showtime.Accessibility.Accessible", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 1693, + "name": "Première guerre mondiale", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190866/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible&perfd=20260926&perft=16:30&code=vf; 3d; 4dx; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190866/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true + "tags": { + "list": [ + "Tag.Type.Time" + ] + } }, { - "__typename": "Showtime", - "internalId": 81950615890, - "startsAt": "2026-09-26T20:45:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 821, + "name": "Injustice", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190890/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000036867&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:45&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190890/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": true - } - ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. ", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ - { - "text": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. " + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - { - "type": "paragraph", - "children": [ - { - "text": "Arrivé au festival, le groupe assiste à la présentation d'une moto de police ultramoderne, « Angel », tandis que la mystérieuse moto noire réapparaît dans les rues de Tokyo et échappe encore une fois à la police. L'enquête révèle sa ressemblance avec « Angel », ce qui pousse les autorités à la surnommer « Lucifer » et lancer une vaste opération de recherche. À mesure que l'enquête se complexifie, Chihaya replonge dans les souvenirs de son frère disparu Kenji Hagiwara et de son camarade de classe Jinpei Matsuda, posant les bases d'une confrontation à pleine vitesse entre la Déesse du vent et l'Ange déchu." - } + "tags": { + "list": [ + "Tag.Type.Keyword" ] } - ] - }, - "__typename": "Movie", - "internalId": 1000037846, - "id": "TW92aWU6MTAwMDAzNzg0Ng==", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA5NjgzOQ==", - "internalId": 9002096839, - "url": "https://fr.web.img2.acsta.net/img/da/e4/dae4795cdfd54f5ebbdb34fe22455015.jpg", - "path": "/img/da/e4/dae4795cdfd54f5ebbdb34fe22455015.jpg" - }, - "title": "Détective Conan : L'Ange déchu de l'asphalte", - "originalTitle": "Meitantei Conan: Highway no Datenshi", - "type": "FEATURE_FILM", - "runtime": "1h 50min", - "genres": [ - { - "id": 13026, - "translate": "Animation", - "tag": "ANIMATION" - }, - { - "id": 13018, - "translate": "Policier", - "tag": "DETECTIVE" - }, - { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" }, { - "id": 13025, - "translate": "Action", - "tag": "ACTION" - } - ], - "languages": [ - "JAPANESE" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null - }, - "productionYear": 2026, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false - } - } - }, - "stats": { - "userRating": { - "score": 3, - "count": 16 - }, - "userReview": { - "count": 3 - }, - "pressReview": null, - "metric": { - "hits": 29963, - "sessions": 12268 - }, - "wantToSeeCount": 48 - }, - "editorialReviews": [], - "releases": [ - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-23", - "precision": "day" - }, - "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "U", - "label": "Tout public" - }, - "advice": null, - "companyLimitation": null, - "releaseTags": { - "tagTypes": [ - "THEATER" - ], - "tagFlags": null - }, - "visaNumber": null - } - ], - "credits": [ - { - "person": { - "__typename": "Person", - "internalId": 1000038915, - "lastName": "Hasui", - "firstName": "Takahiro", + "__typename": "Tag", + "internalId": 435, + "name": "Paysan / Paysanne", + "scope": null, + "data": { "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" - }, - "rank": 1 - } - ], - "cast": { - "__typename": "castMemberConnection", - "edges": [ - { - "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 92484, - "lastName": "Takayama", - "firstName": "Minami", - "seo": { - "__typename": "Seo", - "browsable": true + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } } - }, - "rank": 1 + } } }, - { - "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 203739, - "lastName": "Yamazaki", - "firstName": "Wakana", - "seo": { - "__typename": "Seo", - "browsable": true + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4489, + "name": "Révolte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } } - }, - "rank": 2 + } } }, - { - "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 213339, - "lastName": "Koyama", - "firstName": "Rikiya", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "rank": 3 - } + "tags": { + "list": [ + "Tag.Type.Keyword" + ] } - ], - "nodes": [ - { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 92484, - "lastName": "Takayama", - "firstName": "Minami", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "rank": 1 - }, - { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 203739, - "lastName": "Yamazaki", - "firstName": "Wakana", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "rank": 2 - }, - { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 213339, - "lastName": "Koyama", - "firstName": "Rikiya", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "rank": 3 - } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5021, - "name": "Japan", - "localizedName": "Japon" - } - ], - "relatedTags": [], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": false, - "hasAwards": false, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": true - }, - "synopsisFull": "

Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée.

Arrivé au festival, le groupe assiste à la présentation d'une moto de police ultramoderne, « Angel », tandis que la mystérieuse moto noire réapparaît dans les rues de Tokyo et échappe encore une fois à la police. L'enquête révèle sa ressemblance avec « Angel », ce qui pousse les autorités à la surnommer « Lucifer » et lancer une vaste opération de recherche. À mesure que l'enquête se complexifie, Chihaya replonge dans les souvenirs de son frère disparu Kenji Hagiwara et de son camarade de classe Jinpei Matsuda, posant les bases d'une confrontation à pleine vitesse entre la Déesse du vent et l'Ange déchu.

" - }, - "showtimes": { - "original": [], - "original_st": [ + }, { - "__typename": "Showtime", - "internalId": 81950615839, - "startsAt": "2026-09-26T17:15:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "ORIGINAL", + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190873/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000037846&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:15&code=vost; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190873/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": true - } - ], - "original_sme": [], - "multiple": [], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ - { - "text": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total." - } + "tags": { + "list": [ + "Tag.Type.Keyword" ] } - ] - }, - "__typename": "Movie", - "internalId": 1000018854, - "id": "TW92aWU6MTAwMDAxODg1NA==", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjExNDg0Mg==", - "internalId": 9002114842, - "url": "https://fr.web.img4.acsta.net/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg", - "path": "/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg" - }, - "title": "Resident Evil", - "originalTitle": "Resident Evil", - "type": "FEATURE_FILM", - "runtime": "1h 37min", - "genres": [ + }, { - "id": 13021, - "translate": "Science Fiction", - "tag": "SCIENCE_FICTION" + "__typename": "Tag", + "internalId": 4875, + "name": "Guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres.

Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615933, + "startsAt": "2026-09-26T16:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190868/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:40&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190868/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615720, + "startsAt": "2026-09-26T19:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190882/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:20&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190882/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615786, + "startsAt": "2026-09-26T21:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190896/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190896/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615820, + "startsAt": "2026-09-27T10:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190829/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190829/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950616034, + "startsAt": "2026-09-27T14:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190918/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190918/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615940, + "startsAt": "2026-09-27T16:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190930/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:40&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190930/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615827, + "startsAt": "2026-09-27T19:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190945/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:20&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190945/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs… Mais aussi une révolution intime, amicale et sexuelle.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Garance est une jeune actrice mais qui n’est pas une vedette. Elle gère et assure tout de son mieux, vaillante, joyeuse, soldate, et elle trouve dans l’alcool un carburant, un réconfort inconditionnel. Garance change de vie et commence alors un parcours de huit ans de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs. Une révolution intime, amicale et sexuelle, mais elle consomme toujours plus. Jusqu’à la potentialité de la mort." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000026039, + "id": "TW92aWU6MTAwMDAyNjAzOQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA0MDg1Nw==", + "internalId": 9002040857, + "url": "https://fr.web.img3.acsta.net/img/22/e4/22e455446c0461e270e5341d9f88f43f.jpg", + "path": "/img/22/e4/22e455446c0461e270e5341d9f88f43f.jpg" + }, + "title": "Garance", + "originalTitle": "Garance", + "type": "FEATURE_FILM", + "runtime": "1h 55min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.88, + "count": 608 + }, + "userReview": { + "count": 155 + }, + "pressReview": { + "score": 3.47, + "count": 36 + }, + "metric": { + "hits": 480128, + "sessions": 277463 + }, + "wantToSeeCount": 2281 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167393" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 132132, + "lastName": "Herry", + "firstName": "Jeanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 160886, + "lastName": "Exarchopoulos", + "firstName": "Adèle", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 93105, + "lastName": "Giraudeau", + "firstName": "Sara", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 52161, + "lastName": "Drillaud", + "firstName": "Sarajeanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 160886, + "lastName": "Exarchopoulos", + "firstName": "Adèle", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 93105, + "lastName": "Giraudeau", + "firstName": "Sara", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 52161, + "lastName": "Drillaud", + "firstName": "Sarajeanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6054, + "name": "Amour lesbien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films d'amour lesbien", + "subTitle": null, + "description": "Quels sont les meilleurs films d'amour lesbien ? Découvrez les meilleures films de romance lesbienne d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": "films de romance lesbienne" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.ThemeDeSociete" + ] + } + }, + { + "__typename": "Tag", + "internalId": 789, + "name": "Alcoolisme / Alcoolique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2104, + "name": "Théâtre et salle de spectacle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 732, + "name": "Acteur / Actrice", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 994, + "name": "Portrait de femme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1508, + "name": "Romance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5478, + "name": "Psychologies", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Garance est une jeune actrice mais qui n’est pas une vedette. Elle gère et assure tout de son mieux, vaillante, joyeuse, soldate, et elle trouve dans l’alcool un carburant, un réconfort inconditionnel. Garance change de vie et commence alors un parcours de huit ans de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs. Une révolution intime, amicale et sexuelle, mais elle consomme toujours plus. Jusqu’à la potentialité de la mort.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615692, + "startsAt": "2026-09-26T16:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190871/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190871/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615833, + "startsAt": "2026-09-26T19:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190884/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190884/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615707, + "startsAt": "2026-09-26T22:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190897/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190897/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615802, + "startsAt": "2026-09-27T10:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190828/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190828/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615920, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190916/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190916/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615961, + "startsAt": "2026-09-27T16:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190933/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190933/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615936, + "startsAt": "2026-09-27T19:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190947/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000026039&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:15&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190947/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Arrivé au festival, le groupe assiste à la présentation d'une moto de police ultramoderne, « Angel », tandis que la mystérieuse moto noire réapparaît dans les rues de Tokyo et échappe encore une fois à la police. L'enquête révèle sa ressemblance avec « Angel », ce qui pousse les autorités à la surnommer « Lucifer » et lancer une vaste opération de recherche. À mesure que l'enquête se complexifie, Chihaya replonge dans les souvenirs de son frère disparu Kenji Hagiwara et de son camarade de classe Jinpei Matsuda, posant les bases d'une confrontation à pleine vitesse entre la Déesse du vent et l'Ange déchu." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000037846, + "id": "TW92aWU6MTAwMDAzNzg0Ng==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA5NjgzOQ==", + "internalId": 9002096839, + "url": "https://fr.web.img2.acsta.net/img/da/e4/dae4795cdfd54f5ebbdb34fe22455015.jpg", + "path": "/img/da/e4/dae4795cdfd54f5ebbdb34fe22455015.jpg" + }, + "title": "Détective Conan : L'Ange déchu de l'asphalte", + "originalTitle": "Meitantei Conan: Highway no Datenshi", + "type": "FEATURE_FILM", + "runtime": "1h 50min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13018, + "translate": "Policier", + "tag": "DETECTIVE" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + } + ], + "languages": [ + "JAPANESE" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3, + "count": 16 + }, + "userReview": { + "count": 3 + }, + "pressReview": null, + "metric": { + "hits": 29963, + "sessions": 12268 + }, + "wantToSeeCount": 48 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 1000038915, + "lastName": "Hasui", + "firstName": "Takahiro", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 92484, + "lastName": "Takayama", + "firstName": "Minami", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 203739, + "lastName": "Yamazaki", + "firstName": "Wakana", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 213339, + "lastName": "Koyama", + "firstName": "Rikiya", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 92484, + "lastName": "Takayama", + "firstName": "Minami", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 203739, + "lastName": "Yamazaki", + "firstName": "Wakana", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 213339, + "lastName": "Koyama", + "firstName": "Rikiya", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5021, + "name": "Japan", + "localizedName": "Japon" + } + ], + "relatedTags": [], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": false, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée.

Arrivé au festival, le groupe assiste à la présentation d'une moto de police ultramoderne, « Angel », tandis que la mystérieuse moto noire réapparaît dans les rues de Tokyo et échappe encore une fois à la police. L'enquête révèle sa ressemblance avec « Angel », ce qui pousse les autorités à la surnommer « Lucifer » et lancer une vaste opération de recherche. À mesure que l'enquête se complexifie, Chihaya replonge dans les souvenirs de son frère disparu Kenji Hagiwara et de son camarade de classe Jinpei Matsuda, posant les bases d'une confrontation à pleine vitesse entre la Déesse du vent et l'Ange déchu.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615839, + "startsAt": "2026-09-26T17:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190873/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000037846&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:15&code=vost; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190873/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950615702, + "startsAt": "2026-09-27T16:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190936/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000037846&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:45&code=vost; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190936/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_sme": [], + "multiple": [], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000018854, + "id": "TW92aWU6MTAwMDAxODg1NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDg0Mg==", + "internalId": 9002114842, + "url": "https://fr.web.img4.acsta.net/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg", + "path": "/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg" + }, + "title": "Resident Evil", + "originalTitle": "Resident Evil", + "type": "FEATURE_FILM", + "runtime": "1h 37min", + "genres": [ + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + }, + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + }, + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.85, + "count": 1578 + }, + "userReview": { + "count": 326 + }, + "pressReview": { + "score": 3.8, + "count": 15 + }, + "metric": { + "hits": 554517, + "sessions": 305551 + }, + "wantToSeeCount": 1788 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes violentes concernant des enfants sont susceptibles de heurter un jeune public non averti.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168141" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 124791, + "lastName": "Cregger", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + }, + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2353, + "name": "Resident Evil", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Resident Evil", + "subTitle": "films de la saga Resident Evil", + "description": "Inspirés des célèbres jeux vidéo, les films de la série Resident Evil avec Milla Jovovich dans le rôle d'Alice offrent un retour captivant dans Raccoon City, épicentre du chaos. Succès mondial, cette série cinématographique mêle zombies, science-fiction et tension" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1099, + "name": "Adaptation de jeu vidéo", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés d'un jeu vidéo", + "subTitle": null, + "description": "Vous aimez les adaptations de jeux vidéo au cinéma ? Découvrez les meilleurs films adaptés de jeux vidéo à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 678, + "name": "Zombie / Mort-vivant / Contaminés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de zombies", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants au cinéma ? Découvrez quels sont les meilleurs films de zombies à voir d'après la sélection de la rédaction" + }, + "series": { + "title": "séries de mort-vivant", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants à la TV ? Découvrez quelles sont les meilleures séries de zombies à voir d'après la sélection de la rédaction" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615924, + "startsAt": "2026-09-26T17:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190875/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:50&code=vost; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190875/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616062, + "startsAt": "2026-09-26T15:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190859/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:40&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190859/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616041, + "startsAt": "2026-09-26T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190888/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:00&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190888/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615684, + "startsAt": "2026-09-26T21:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190893/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190893/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616140, + "startsAt": "2026-09-26T22:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190900/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190900/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616122, + "startsAt": "2026-09-26T22:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190904/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:30&code=vf; 4dx; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190904/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615826, + "startsAt": "2026-09-27T11:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190840/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=11:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190840/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616121, + "startsAt": "2026-09-27T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190905/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=13:30&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190905/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615985, + "startsAt": "2026-09-27T15:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190921/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=15:40&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190921/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615909, + "startsAt": "2026-09-27T17:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190938/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=17:50&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190938/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616029, + "startsAt": "2026-09-27T18:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Language.French", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190913/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260927&perft=18:45&code=vf; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190913/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294280, + "id": "TW92aWU6Mjk0Mjgw", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NA==", + "internalId": 9002074644, + "url": "https://fr.web.img6.acsta.net/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg", + "path": "/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg" + }, + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "originalTitle": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.42, + "count": 10205 + }, + "userReview": { + "count": 1779 + }, + "pressReview": { + "score": 3.5, + "count": 38 + }, + "metric": { + "hits": 4078743, + "sessions": 1947711 + }, + "wantToSeeCount": 4376 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-03", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Une scène de bataille montrant des morts et des corps mutilés et la bande-son sont susceptibles d'impressionner un public sensible ou jeune.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "159694" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615947, + "startsAt": "2026-09-26T16:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190861/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190861/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615818, + "startsAt": "2026-09-27T19:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190923/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190923/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000013045, + "id": "TW92aWU6MTAwMDAxMzA0NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1NDA2OA==", + "internalId": 9002054068, + "url": "https://fr.web.img6.acsta.net/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg", + "path": "/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg" + }, + "title": "L'Odyssée", + "originalTitle": "The Odyssey", + "type": "FEATURE_FILM", + "runtime": "2h 53min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.3, + "count": 13796 + }, + "userReview": { + "count": 4625 + }, + "pressReview": { + "score": 4.09, + "count": 35 + }, + "metric": { + "hits": 6885680, + "sessions": 3346079 + }, + "wantToSeeCount": 8356 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-15", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12", + "label": "Interdit - 12 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167898" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30367, + "lastName": "Nolan", + "firstName": "Christopher", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5647, + "name": "Ulysse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6064, + "name": "Film long", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1828, + "name": "Guerrier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1098, + "name": "Antiquité - Péplum", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5203, + "name": "Parcours initiatique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5137, + "name": "Combat / Bagarre / Castagne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1046, + "name": "Violence", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.

" + }, + "showtimes": { + "original": [], + "original_st": [ + { + "__typename": "Showtime", + "internalId": 81950615972, + "startsAt": "2026-09-26T17:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190872/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:15&code=vost; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190872/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950616023, + "startsAt": "2026-09-26T16:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190862/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=16:15&code=vf; GRETA; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190862/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615776, + "startsAt": "2026-09-26T20:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190891/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190891/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616127, + "startsAt": "2026-09-27T10:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "IMAX" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.Imax", + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190837/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:30&code=vf; GRETA; imax; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190837/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616013, + "startsAt": "2026-09-27T10:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190833/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:40&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190833/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615806, + "startsAt": "2026-09-27T13:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190909/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=13:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190909/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616119, + "startsAt": "2026-09-27T17:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190935/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=17:15&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190935/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 276608, + "id": "TW92aWU6Mjc2NjA4", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2MDEwNA==", + "internalId": 9002060104, + "url": "https://fr.web.img5.acsta.net/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg", + "path": "/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg" + }, + "title": "Spider-Man: Brand New Day", + "originalTitle": "Spider-Man: Brand New Day", + "type": "FEATURE_FILM", + "runtime": "2h 25min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.09, + "count": 8384 + }, + "userReview": { + "count": 884 + }, + "pressReview": { + "score": 3.24, + "count": 25 + }, + "metric": { + "hits": 2943059, + "sessions": 1566353 + }, + "wantToSeeCount": 5512 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-29", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167934" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 622552, + "lastName": "Cretton", + "firstName": "Destin Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615823, + "startsAt": "2026-09-26T16:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190863/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:15&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190863/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615794, + "startsAt": "2026-09-26T19:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190881/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:20&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190881/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615976, + "startsAt": "2026-09-26T21:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190894/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190894/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615743, + "startsAt": "2026-09-27T10:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190835/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190835/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616048, + "startsAt": "2026-09-27T10:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "F_3D" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190834/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:30&code=vf; 3d; 4dx; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190834/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615746, + "startsAt": "2026-09-27T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": [ + "E_4DX", + "PLF" + ], + "comfort": null, + "projection": [ + "F_3D" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.4dx", + "Localization.Language.French", + "Auditorium.Experience.PLF", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190906/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible&perfd=20260927&perft=13:30&code=vf; 3d; 4dx; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190906/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615727, + "startsAt": "2026-09-27T13:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190910/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=13:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190910/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615873, + "startsAt": "2026-09-27T16:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190925/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:15&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190925/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615910, + "startsAt": "2026-09-27T19:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190944/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:20&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190944/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "bold": true, + "text": "Précédé de deux courts métrages animés en avant- programme : " + }, + { + "bold": true, + "text": "Le Gnome", + "italic": true + }, + { + "bold": true, + "text": " et " + }, + { + "bold": true, + "text": "Le Nuage Kuap", + "italic": true + }, + { + "bold": true, + "text": "." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Une petite escargote de mer s’ennuie sur le rocher d’un vieux port et rêve de parcourir le monde. Un jour, une grande baleine à bosse lui propose de l’emmener en voyage à travers les océans du globe. Cette amitié insolite nous plonge dans une odyssée fabuleuse au cœur de la nature, de l’infiniment petit à l’infiniment grand." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 283811, + "id": "TW92aWU6MjgzODEx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6MjE3MzgyMjY=", + "internalId": 21738226, + "url": "https://fr.web.img4.acsta.net/pictures/20/07/28/17/09/2082147.jpg", + "path": "/pictures/20/07/28/17/09/2082147.jpg" + }, + "title": "La Baleine et l'escargote", + "originalTitle": "The Snail and The Whale", + "type": "SHORT_FILM", + "runtime": "0h 40min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2020, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.78, + "count": 155 + }, + "userReview": { + "count": 14 + }, + "pressReview": { + "score": 3.8, + "count": 5 + }, + "metric": { + "hits": 442208, + "sessions": 195935 + }, + "wantToSeeCount": 455 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-01", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwOA==", + "internalId": 50008, + "name": "Benshi" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-02-08", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTExMjU2", + "internalId": 1000111256, + "name": "Canal + Kids" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-01", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODEx", + "internalId": 1000112811, + "name": "france.tv" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "REPLAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-01", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToyMDA1OQ==", + "internalId": 20059, + "name": "France 5" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-26", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-19", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-19", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-10-19", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-07-04", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODEx", + "internalId": 1000112811, + "name": "france.tv" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "REPLAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2025-04-09", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEwMjA1", + "internalId": 1000110205, + "name": "Cinémutins" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-06-01", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2023-07-01", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzc=", + "internalId": 161200037, + "name": "OCS" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-08-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-06-10", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-14", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "id": 13009, - "translate": "Epouvante-horreur", - "tag": "HORROR" + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "id": 13023, - "translate": "Thriller", - "tag": "THRILLER" - } - ], - "languages": [ - "ENGLISH" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "productionYear": 2026, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false - } - } - }, - "stats": { - "userRating": { - "score": 3.85, - "count": 1570 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null }, - "userReview": { - "count": 326 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-12", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "pressReview": { - "score": 3.8, - "count": 15 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-10-12", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, - "metric": { - "hits": 554517, - "sessions": 305551 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-05-19", + "precision": "day" + }, + "name": "ReRelease", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": [ + "RERUN" + ] + }, + "visaNumber": "153801" }, - "wantToSeeCount": 1784 - }, - "editorialReviews": [], - "releases": [ { "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-09-16", + "date": "2020-10-21", "precision": "day" }, "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "-12A", - "label": "Interdit - 12 ans avec avertissement" - }, - "advice": "Certaines scènes violentes concernant des enfants sont susceptibles de heurter un jeune public non averti.", + "certificate": null, + "advice": null, "companyLimitation": null, "releaseTags": { "tagTypes": [ @@ -5914,16 +14879,16 @@ ], "tagFlags": null }, - "visaNumber": "168141" + "visaNumber": "153801" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 124791, - "lastName": "Cregger", - "firstName": "Zach", + "internalId": 505083, + "lastName": "Lang", + "firstName": "Max", "seo": { "__typename": "Seo", "browsable": true @@ -5935,6 +14900,24 @@ "department": "DIRECTION" }, "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 675817, + "lastName": "Snaddon", + "firstName": "Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 } ], "cast": { @@ -5942,100 +14925,154 @@ "edges": [ { "node": { - "actor": { + "actor": null, + "voiceActor": { "__typename": "Person", - "internalId": 606912, - "lastName": "Abrams", - "firstName": "Austin", + "internalId": 63234, + "lastName": "Sodoyez", + "firstName": "Colette", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 37634, + "lastName": "Rigg", + "firstName": "Diana", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 1 } }, { "node": { - "actor": { + "actor": null, + "voiceActor": { "__typename": "Person", - "internalId": 586132, - "lastName": "Hauser", - "firstName": "Paul Walter", + "internalId": 218325, + "lastName": "Baran", + "firstName": "Maia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 83617, + "lastName": "Hawkins", + "firstName": "Sally", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 2 } }, { "node": { - "actor": { + "actor": null, + "voiceActor": { "__typename": "Person", - "internalId": 825143, - "lastName": "Cherry", - "firstName": "Zach", + "internalId": 20690, + "lastName": "Resimont", + "firstName": "Philippe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 134107, + "lastName": "Brydon", + "firstName": "Rob", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 3 } } ], "nodes": [ { - "actor": { + "actor": null, + "voiceActor": { "__typename": "Person", - "internalId": 606912, - "lastName": "Abrams", - "firstName": "Austin", + "internalId": 63234, + "lastName": "Sodoyez", + "firstName": "Colette", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 37634, + "lastName": "Rigg", + "firstName": "Diana", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 1 }, { - "actor": { + "actor": null, + "voiceActor": { "__typename": "Person", - "internalId": 586132, - "lastName": "Hauser", - "firstName": "Paul Walter", + "internalId": 218325, + "lastName": "Baran", + "firstName": "Maia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 83617, + "lastName": "Hawkins", + "firstName": "Sally", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 2 }, { - "actor": { + "actor": null, + "voiceActor": { "__typename": "Person", - "internalId": 825143, - "lastName": "Cherry", - "firstName": "Zach", + "internalId": 20690, + "lastName": "Resimont", + "firstName": "Philippe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 134107, + "lastName": "Brydon", + "firstName": "Rob", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 3 } ] @@ -6043,33 +15080,39 @@ "countries": [ { "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." + "id": 5004, + "name": "United Kingdom", + "localizedName": "Grande-Bretagne" }, { "__typename": "Country", - "id": 5129, - "name": "Germany", - "localizedName": "Allemagne" + "id": 5165, + "name": "Czech Republic", + "localizedName": "République tchèque" + }, + { + "__typename": "Country", + "id": 5010, + "name": "Switzerland", + "localizedName": "Suisse" } ], "relatedTags": [ { "__typename": "Tag", - "internalId": 2353, - "name": "Resident Evil", + "internalId": 3930, + "name": "Aventures animalières", "scope": null, "data": { "seo": { "browsable": true, - "friendly": true, + "friendly": false, "scope": { "userRating": { "movie": { - "title": "films de la série Resident Evil", - "subTitle": "films de la saga Resident Evil", - "description": "Inspirés des célèbres jeux vidéo, les films de la série Resident Evil avec Milla Jovovich dans le rôle d'Alice offrent un retour captivant dans Raccoon City, épicentre du chaos. Succès mondial, cette série cinématographique mêle zombies, science-fiction et tension" + "title": null, + "subTitle": null, + "description": null }, "series": { "title": null, @@ -6118,25 +15161,25 @@ }, "tags": { "list": [ - "Tag.Type.Versions" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 1099, - "name": "Adaptation de jeu vidéo", + "internalId": 2440, + "name": "Poissons / Dauphins / Baleines", "scope": null, "data": { "seo": { "browsable": true, - "friendly": true, + "friendly": false, "scope": { "userRating": { "movie": { - "title": "films adaptés d'un jeu vidéo", + "title": null, "subTitle": null, - "description": "Vous aimez les adaptations de jeux vidéo au cinéma ? Découvrez les meilleurs films adaptés de jeux vidéo à voir" + "description": null }, "series": { "title": null, @@ -6185,30 +15228,30 @@ }, "tags": { "list": [ - "Tag.Type.OeuvreDOrigine" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 678, - "name": "Zombie / Mort-vivant / Contaminés", + "internalId": 1262, + "name": "Les animaux ont la parole", "scope": null, "data": { "seo": { "browsable": true, - "friendly": true, + "friendly": false, "scope": { "userRating": { "movie": { - "title": "films de zombies", + "title": null, "subTitle": null, - "description": "Vous aimez voir des morts-vivants au cinéma ? Découvrez quels sont les meilleurs films de zombies à voir d'après la sélection de la rédaction" + "description": null }, "series": { - "title": "séries de mort-vivant", + "title": null, "subTitle": null, - "description": "Vous aimez voir des morts-vivants à la TV ? Découvrez quelles sont les meilleures séries de zombies à voir d'après la sélection de la rédaction" + "description": null } }, "pressRating": { @@ -6258,9 +15301,9 @@ }, { "__typename": "Tag", - "internalId": 4920, - "name": "Survival", - "scope": null, + "internalId": 1000000385, + "name": "AFCAE : Label Jeune Public", + "scope": "TRACKING", "data": { "seo": { "browsable": true, @@ -6319,14 +15362,14 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 1679, - "name": "Peur", + "internalId": 208, + "name": "Animaux", "scope": null, "data": { "seo": { @@ -6386,15 +15429,15 @@ }, "tags": { "list": [ - "Tag.Type.Ambiance" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5254, - "name": "Frissons", - "scope": null, + "internalId": 5260, + "name": "À partir de 3 ans", + "scope": "AGE", "data": { "seo": { "browsable": true, @@ -6453,14 +15496,14 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 5324, - "name": "Adrénaline", + "internalId": 1769, + "name": "Dessin animé et animation", "scope": null, "data": { "seo": { @@ -6520,14 +15563,14 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 5275, - "name": "Jeunes adultes", + "internalId": 5259, + "name": "Art et essai", "scope": null, "data": { "seo": { @@ -6595,8 +15638,8 @@ "flags": { "hasDvdRelease": false, "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, + "hasOnlineProduct": true, + "hasOnlineRelease": true, "hasPhysicalProduct": false, "hasPreview": false, "hasShowtime": true, @@ -6604,87 +15647,31 @@ "hasTheaterRelease": true, "hasTrivia": true, "hasAwards": false, - "isLesIndes": false, + "isLesIndes": true, "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": true, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": false - }, - "synopsisFull": "

Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.

" - }, - "showtimes": { - "original": [], - "original_st": [ - { - "__typename": "Showtime", - "internalId": 81950615924, - "startsAt": "2026-09-26T17:50:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "ORIGINAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190875/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:50&code=vost; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190875/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - } - ], + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": true, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Précédé de deux courts métrages animés en avant- programme : Le Gnome et Le Nuage Kuap.

Une petite escargote de mer s’ennuie sur le rocher d’un vieux port et rêve de parcourir le monde. Un jour, une grande baleine à bosse lui propose de l’emmener en voyage à travers les océans du globe. Cette amitié insolite nous plonge dans une odyssée fabuleuse au cœur de la nature, de l’infiniment petit à l’infiniment grand.

" + }, + "showtimes": { + "original": [], + "original_st": [], "original_sme": [], "multiple": [ { "__typename": "Showtime", - "internalId": 81950615778, - "startsAt": "2026-09-26T13:30:00", + "internalId": 81950615729, + "startsAt": "2026-09-26T16:15:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -6709,7 +15696,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190843/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190864/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -6717,7 +15704,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:30&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.283811&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:15&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -6725,7 +15712,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190843/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190864/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -6737,21 +15724,24 @@ }, { "__typename": "Showtime", - "internalId": 81950616027, - "startsAt": "2026-09-26T14:00:00", + "internalId": 81950616011, + "startsAt": "2026-09-27T16:45:00", "timeBeforeStart": "PT0H0M0S", - "service": null, + "service": [ + "DISABLED_ACCESS" + ], "experience": null, "comfort": null, "projection": [ - "IMAX" + "DIGITAL" ], "picture": null, "sound": null, "tags": [ - "Format.Projection.Imax", "Localization.Language.French", - "Showtime.Accessibility.Accessible" + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" ], "diffusionVersion": "DUBBED", "data": { @@ -6760,7 +15750,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190851/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190926/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -6768,7 +15758,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=14:00&code=vf; imax; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.283811&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:45&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -6776,7 +15766,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190851/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190926/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -6785,548 +15775,939 @@ }, "isPreview": false, "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019874, + "id": "TW92aWU6MTAwMDAxOTg3NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMTczNA==", + "internalId": 9002101734, + "url": "https://fr.web.img3.acsta.net/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg", + "path": "/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg" + }, + "title": "Les Contrebandiers", + "originalTitle": "The Weight", + "type": "FEATURE_FILM", + "runtime": "1h 53min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" }, { - "__typename": "Showtime", - "internalId": 81950616062, - "startsAt": "2026-09-26T15:40:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190859/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH", + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.26, + "count": 441 + }, + "userReview": { + "count": 92 + }, + "pressReview": { + "score": 3.13, + "count": 30 + }, + "metric": { + "hits": 308210, + "sessions": 212343 + }, + "wantToSeeCount": 992 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Plusieurs scènes violentes peuvent heurter un public jeune ou sensible.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167970" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 99555, + "lastName": "McKinley", + "firstName": "Padraic", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:40&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190859/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true } - ] + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 }, - "isPreview": false, - "isWeeklyMovieOuting": false - }, + { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ { - "__typename": "Showtime", - "internalId": 81950616041, - "startsAt": "2026-09-26T20:00:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5958, + "name": "Oregon", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190888/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:00&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190888/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": false + "tags": { + "list": [ + "Tag.Type.Location" + ] + } }, { - "__typename": "Showtime", - "internalId": 81950615684, - "startsAt": "2026-09-26T21:30:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 5403, + "name": "Camp de travail / Travail forcé", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190893/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:30&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190893/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": false + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } }, { - "__typename": "Showtime", - "internalId": 81950616140, - "startsAt": "2026-09-26T22:15:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 788, + "name": "Grande dépression", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190900/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:15&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190900/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films sur la Grande Dépression", + "subTitle": null, + "description": "Vous aimez les films de la crise économique des années 1930 ? Découvrez quels sont les meilleurs films sur La Grande Dépressions à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - ] + } }, - "isPreview": false, - "isWeeklyMovieOuting": false + "tags": { + "list": [ + "Tag.Type.Time" + ] + } }, { - "__typename": "Showtime", - "internalId": 81950616122, - "startsAt": "2026-09-26T22:30:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": [ - "E_4DX", - "PLF" - ], - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Auditorium.Experience.4dx", - "Localization.Language.French", - "Auditorium.Experience.PLF", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", + "__typename": "Tag", + "internalId": 622, + "name": "Contrebande", + "scope": null, "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190904/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:30&code=vf; 4dx; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190904/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - } - ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ - { - "text": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…" + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" ] } - ] - }, - "__typename": "Movie", - "internalId": 276608, - "id": "TW92aWU6Mjc2NjA4", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA2MDEwNA==", - "internalId": 9002060104, - "url": "https://fr.web.img5.acsta.net/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg", - "path": "/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg" - }, - "title": "Spider-Man: Brand New Day", - "originalTitle": "Spider-Man: Brand New Day", - "type": "FEATURE_FILM", - "runtime": "2h 25min", - "genres": [ - { - "id": 13025, - "translate": "Action", - "tag": "ACTION" - }, - { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" }, { - "id": 13012, - "translate": "Fantastique", - "tag": "FANTASY" - }, - { - "id": 13021, - "translate": "Science Fiction", - "tag": "SCIENCE_FICTION" - } - ], - "languages": [ - "ENGLISH" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null - }, - "productionYear": 2026, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false + "__typename": "Tag", + "internalId": 5241, + "name": "Trésor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] } - } - }, - "stats": { - "userRating": { - "score": 4.09, - "count": 8378 - }, - "userReview": { - "count": 883 }, - "pressReview": { - "score": 3.24, - "count": 25 - }, - "metric": { - "hits": 2943059, - "sessions": 1566353 - }, - "wantToSeeCount": 5515 - }, - "editorialReviews": [], - "releases": [ - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-07-29", - "precision": "day" - }, - "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "U", - "label": "Tout public" - }, - "advice": null, - "companyLimitation": null, - "releaseTags": { - "tagTypes": [ - "THEATER" - ], - "tagFlags": null - }, - "visaNumber": "167934" - } - ], - "credits": [ { - "person": { - "__typename": "Person", - "internalId": 622552, - "lastName": "Cretton", - "firstName": "Destin Daniel", + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" - }, - "rank": 1 - } - ], - "cast": { - "__typename": "castMemberConnection", - "edges": [ - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 588862, - "lastName": "Holland", - "firstName": "Tom", - "seo": { - "__typename": "Seo", - "browsable": true + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 + } } }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 512064, - "lastName": "Zendaya", - "firstName": null, - "seo": { - "__typename": "Seo", - "browsable": true + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + } } }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 665139, - "lastName": "Sink", - "firstName": "Sadie", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } + "tags": { + "list": [ + "Tag.Type.Keyword" + ] } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 588862, - "lastName": "Holland", - "firstName": "Tom", - "seo": { - "__typename": "Seo", - "browsable": true + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 + } }, - { - "actor": { - "__typename": "Person", - "internalId": 512064, - "lastName": "Zendaya", - "firstName": null, - "seo": { - "__typename": "Seo", - "browsable": true + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 486, + "name": "Rivalité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + } }, - { - "actor": { - "__typename": "Person", - "internalId": 665139, - "lastName": "Sink", - "firstName": "Sadie", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 + "tags": { + "list": [ + "Tag.Type.Keyword" + ] } - ] - }, - "countries": [ + }, { - "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." - } - ], - "relatedTags": [ + "__typename": "Tag", + "internalId": 660, + "name": "Premier film", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, { "__typename": "Tag", - "internalId": 6, - "name": "Spider-Man", + "internalId": 5324, + "name": "Adrénaline", "scope": null, "data": { "seo": { "browsable": true, - "friendly": true, + "friendly": false, "scope": { "userRating": { "movie": { - "title": " films Spider-Man", - "subTitle": " films saga Spider-Man", - "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + "title": null, + "subTitle": null, + "description": null }, "series": { "title": null, @@ -7375,7 +16756,7 @@ }, "tags": { "list": [ - "Tag.Type.HistoricalCharacter" + "Tag.Type.Envies" ] } } @@ -7391,7 +16772,7 @@ "hasSoundtrack": false, "hasTheaterRelease": true, "hasTrivia": true, - "hasAwards": false, + "hasAwards": true, "isLesIndes": false, "isIncontestable": false, "isClubApproved": [], @@ -7399,55 +16780,48 @@ "isComingSoon": false, "isPlayingNow": true, "tvRelease": false, - "hasTeaser": true, + "hasTeaser": false, "hasTrailer": true }, "customFlags": { "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…

" + "synopsisFull": "

Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?

" }, "showtimes": { "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ + "original_st": [ { "__typename": "Showtime", - "internalId": 81950615858, - "startsAt": "2026-09-26T13:30:00", + "internalId": 81950615840, + "startsAt": "2026-09-26T16:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" ], - "experience": [ - "E_4DX", - "PLF" - ], + "experience": null, "comfort": null, "projection": [ - "F_3D" + "DIGITAL" ], "picture": null, "sound": null, "tags": [ - "Format.Projection.3d", - "Auditorium.Experience.4dx", - "Localization.Language.French", - "Auditorium.Experience.PLF", - "Showtime.Accessibility.Greta", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "ORIGINAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190844/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190865/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -7455,7 +16829,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.3d,Auditorium.Experience.4dx,Auditorium.Experience.PLF,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible&perfd=20260926&perft=13:30&code=vf; 3d; 4dx; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:30&code=vost; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -7463,7 +16837,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190844/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190865/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -7472,11 +16846,14 @@ }, "isPreview": false, "isWeeklyMovieOuting": false - }, + } + ], + "original_sme": [], + "multiple": [ { "__typename": "Showtime", - "internalId": 81950616039, - "startsAt": "2026-09-26T13:45:00", + "internalId": 81950616138, + "startsAt": "2026-09-26T19:45:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -7490,19 +16867,18 @@ "sound": null, "tags": [ "Localization.Language.French", - "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190848/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190886/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -7510,7 +16886,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:45&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:45&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -7518,7 +16894,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190848/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190886/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -7530,8 +16906,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615823, - "startsAt": "2026-09-26T16:15:00", + "internalId": 81950615799, + "startsAt": "2026-09-27T11:00:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -7545,19 +16921,18 @@ "sound": null, "tags": [ "Localization.Language.French", - "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190863/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190839/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -7565,7 +16940,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:15&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=11:00&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -7573,7 +16948,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190863/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190839/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -7585,8 +16960,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615794, - "startsAt": "2026-09-26T19:20:00", + "internalId": 81950616085, + "startsAt": "2026-09-27T13:45:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -7600,19 +16975,18 @@ "sound": null, "tags": [ "Localization.Language.French", - "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190881/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190912/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -7620,7 +16994,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:20&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=13:45&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -7628,7 +17002,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190881/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190912/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -7640,8 +17014,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615976, - "startsAt": "2026-09-26T21:45:00", + "internalId": 81950615825, + "startsAt": "2026-09-27T16:15:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -7655,19 +17029,18 @@ "sound": null, "tags": [ "Localization.Language.French", - "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190894/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190927/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -7675,7 +17048,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:45&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:15&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -7683,7 +17056,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190894/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190927/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -7756,10 +17129,10 @@ "stats": { "userRating": { "score": 3.25, - "count": 1020 + "count": 1023 }, "userReview": { - "count": 171 + "count": 172 }, "pressReview": { "score": 3.56, @@ -7769,7 +17142,7 @@ "hits": 392423, "sessions": 228566 }, - "wantToSeeCount": 1852 + "wantToSeeCount": 1854 }, "editorialReviews": [], "releases": [ @@ -8635,8 +18008,62 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950615784, - "startsAt": "2026-09-26T13:40:00", + "internalId": 81950615993, + "startsAt": "2026-09-26T16:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190870/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190870/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615845, + "startsAt": "2026-09-26T19:10:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -8661,7 +18088,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190846/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190879/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -8669,7 +18096,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:40&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:10&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -8677,7 +18104,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190846/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190879/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -8689,8 +18116,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615993, - "startsAt": "2026-09-26T16:45:00", + "internalId": 81950616141, + "startsAt": "2026-09-27T16:45:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -8715,7 +18142,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190870/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190932/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -8723,7 +18150,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:45&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -8731,7 +18158,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190870/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190932/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -8743,8 +18170,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615845, - "startsAt": "2026-09-26T19:10:00", + "internalId": 81950615978, + "startsAt": "2026-09-27T19:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -8769,7 +18196,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190879/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190942/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -8777,7 +18204,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:10&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:30&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -8785,7 +18212,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190879/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190942/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -8799,10 +18226,372 @@ "multiple_st": [], "multiple_sme": [] } + } + ], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 1 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "Imax", + "translation": { + "tag": "IMAX", + "name": "IMAX" + } + }, + { + "key": "3d", + "translation": { + "tag": "F_3D", + "name": "3D" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "4dx", + "translation": { + "tag": "E_4DX", + "name": "4DX" + } + }, + { + "key": "PLF", + "translation": { + "tag": "PLF", + "name": "PLF" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "OriginalSt", + "versionDetail": "ORIGINAL_ST" + }, + { + "key": "DubbedSme", + "versionDetail": "DUBBED_SME" + }, + { + "key": "DubbedSt", + "versionDetail": "DUBBED_ST" + }, + { + "key": "LocalSme", + "versionDetail": "LOCAL_SME" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [ + { + "key": "DisabledAccess", + "translation": { + "tag": "DISABLED_ACCESS", + "name": "Accès handicapés" + } + } + ] + } + ], + "pagination": { + "page": 1, + "totalPages": 2, + "itemsPerPage": 15, + "totalItems": 30 + }, + "data": null + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/ope/movie-1000019249/theater-P0645/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Sat, 26 Sep 2026 14:53:49 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "302" + ], + "last-modified": [ + "Sat, 26 Sep 2026 14:48:46 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=tN08406hFMiIiGdEs1TaGBIqpd3YQtywyjGs0xugk911Xf1Ch17V6drWN2mKKdpmTN6%2BWjD5zy6BmfO8MKt70AFiA6yUeCtirFq1pniNdQXFM976AL4cVddgRl32Un5HKQ%3D%3D\"}]}" + ], + "cf-ray": [ + "a41319b0cde89e9d-CDG" + ], + "content-length": [ + "1573" + ] + }, + "body": { + "error": false, + "message": "", + "results": { + "theater": { + "__typename": "Theater", + "internalId": "P0645", + "name": "Pathé Toulouse Labège - IMAX", + "location": { + "__typename": "Location", + "address": "105 La Méridienne", + "city": "Labège", + "region": "Midi-Pyrénées", + "zip": "31670" + }, + "theaterCircuits": { + "__typename": "Company", + "internalId": 10002, + "name": "Pathé Cinémas" + } }, + "showtimes": [ + { + "__typename": "Showtime", + "internalId": 81948439534, + "isPreview": true, + "diffusionVersion": "LOCAL", + "startsAt": "2026-09-27T14:00:00", + "tags": [ + "Localization.Language.French", + "Showtime.Event.Premier", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "provider": "en", + "urls": [ + "https://s.pathe.fr/en/V3364S189819/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + }, + { + "__typename": "Ticketing", + "provider": "relay", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019249&tags=Localization.Language.French,Showtime.Event.Premier,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:00&code=vf; AVP; pmr; " + ] + }, + { + "__typename": "Ticketing", + "provider": "default", + "urls": [ + "https://s.pathe.fr/fr/V3364S189819/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ] + } + ] + }, + "experience": null, + "picture": null, + "projection": [ + "DIGITAL" + ], + "sound": null + } + ] + } + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-P0645/p-2/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Sat, 26 Sep 2026 14:53:49 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "302" + ], + "last-modified": [ + "Sat, 26 Sep 2026 14:48:47 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=M%2Flnpd2q2wwMWW6Ur0rOdiErrCUj40HqYby7PO2OuJg%2Bd%2FOwmUvojwJYpDYA1K3uGlcPhZpd2Zs%2BFH4EADcjGdA5zAf1bOJ5jfoDtL%2F%2BUrD64tpaHffzQxrkXVFmO7CBYw%3D%3D\"}]}" + ], + "cf-ray": [ + "a41319b10e319e9d-CDG" + ], + "content-length": [ + "274728" + ] + }, + "body": { + "error": false, + "message": null, + "messageParam": null, + "nextDate": null, + "results": [ { "movie": { - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "synopsis": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -8810,40 +18599,35 @@ "type": "paragraph", "children": [ { - "text": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. " + "text": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?" } ] } ] }, "__typename": "Movie", - "internalId": 1000013045, - "id": "TW92aWU6MTAwMDAxMzA0NQ==", + "internalId": 327941, + "id": "TW92aWU6MzI3OTQx", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA1NDA2OA==", - "internalId": 9002054068, - "url": "https://fr.web.img6.acsta.net/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg", - "path": "/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg" + "id": "SW1hZ2U6OTAwMjA0MDk2OA==", + "internalId": 9002040968, + "url": "https://fr.web.img6.acsta.net/img/46/d4/46d4170eaca90b7bd1dae27db18ed739.jpg", + "path": "/img/46/d4/46d4170eaca90b7bd1dae27db18ed739.jpg" }, - "title": "L'Odyssée", - "originalTitle": "The Odyssey", + "title": "La Vie d'une femme", + "originalTitle": "La Vie d'une femme", "type": "FEATURE_FILM", - "runtime": "2h 53min", + "runtime": "1h 38min", "genres": [ { - "id": 13025, - "translate": "Action", - "tag": "ACTION" - }, - { - "id": 13012, - "translate": "Fantastique", - "tag": "FANTASY" + "id": 13002, + "translate": "Comédie dramatique", + "tag": "COMEDY_DRAMA" } ], "languages": [ - "ENGLISH" + "FRENCH" ], "data": { "__typename": "MovieData", @@ -8862,21 +18646,21 @@ }, "stats": { "userRating": { - "score": 4.3, - "count": 13789 + "score": 3.67, + "count": 1361 }, "userReview": { - "count": 4625 + "count": 192 }, "pressReview": { - "score": 4.09, - "count": 35 + "score": 3.68, + "count": 38 }, "metric": { - "hits": 6885680, - "sessions": 3346079 + "hits": 543924, + "sessions": 292111 }, - "wantToSeeCount": 8356 + "wantToSeeCount": 1531 }, "editorialReviews": [], "releases": [ @@ -8884,14 +18668,14 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-07-15", + "date": "2026-09-09", "precision": "day" }, "name": "Released", "certificate": { "__typename": "Certificate", - "code": "-12", - "label": "Interdit - 12 ans" + "code": "U", + "label": "Tout public" }, "advice": null, "companyLimitation": null, @@ -8901,16 +18685,16 @@ ], "tagFlags": null }, - "visaNumber": "167898" + "visaNumber": "158650" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 30367, - "lastName": "Nolan", - "firstName": "Christopher", + "internalId": 738544, + "lastName": "Bourgeois-Tacquet", + "firstName": "Charline", "seo": { "__typename": "Seo", "browsable": true @@ -8931,9 +18715,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 1192, - "lastName": "Damon", - "firstName": "Matt", + "internalId": 5084, + "lastName": "Drucker", + "firstName": "Léa", "seo": { "__typename": "Seo", "browsable": true @@ -8948,9 +18732,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 588862, - "lastName": "Holland", - "firstName": "Tom", + "internalId": 21714, + "lastName": "Thierry", + "firstName": "Mélanie", "seo": { "__typename": "Seo", "browsable": true @@ -8965,9 +18749,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 65719, - "lastName": "Hathaway", - "firstName": "Anne", + "internalId": 14585, + "lastName": "Berling", + "firstName": "Charles", "seo": { "__typename": "Seo", "browsable": true @@ -8983,9 +18767,9 @@ { "actor": { "__typename": "Person", - "internalId": 1192, - "lastName": "Damon", - "firstName": "Matt", + "internalId": 5084, + "lastName": "Drucker", + "firstName": "Léa", "seo": { "__typename": "Seo", "browsable": true @@ -8998,9 +18782,9 @@ { "actor": { "__typename": "Person", - "internalId": 588862, - "lastName": "Holland", - "firstName": "Tom", + "internalId": 21714, + "lastName": "Thierry", + "firstName": "Mélanie", "seo": { "__typename": "Seo", "browsable": true @@ -9013,9 +18797,9 @@ { "actor": { "__typename": "Person", - "internalId": 65719, - "lastName": "Hathaway", - "firstName": "Anne", + "internalId": 14585, + "lastName": "Berling", + "firstName": "Charles", "seo": { "__typename": "Seo", "browsable": true @@ -9030,16 +18814,89 @@ "countries": [ { "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" } ], "relatedTags": [ { "__typename": "Tag", - "internalId": 5647, - "name": "Ulysse", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 988, + "name": "Période de la vie : la cinquantaine", "scope": null, "data": { "seo": { @@ -9099,14 +18956,14 @@ }, "tags": { "list": [ - "Tag.Type.HistoricalCharacter" + "Tag.Type.ThemeDeSociete" ] } }, { "__typename": "Tag", - "internalId": 6064, - "name": "Film long", + "internalId": 2781, + "name": "Chirurgie / Chirurgiens / Opération chirurgicale", "scope": null, "data": { "seo": { @@ -9166,14 +19023,14 @@ }, "tags": { "list": [ - "Tag.Type.Characteristic" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 1828, - "name": "Guerrier", + "internalId": 760, + "name": "Hôpitaux / Médecins / Cabinet médical", "scope": null, "data": { "seo": { @@ -9233,14 +19090,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Environnement" ] } }, { "__typename": "Tag", - "internalId": 1098, - "name": "Antiquité - Péplum", + "internalId": 2056, + "name": "Malade et maladie", "scope": null, "data": { "seo": { @@ -9300,14 +19157,14 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5203, - "name": "Parcours initiatique", + "internalId": 414, + "name": "Relation mère / fille", "scope": null, "data": { "seo": { @@ -9373,19 +19230,19 @@ }, { "__typename": "Tag", - "internalId": 1108, - "name": "Blockbusters / Superproductions", + "internalId": 4756, + "name": "Couple en crise", "scope": null, "data": { "seo": { "browsable": true, - "friendly": true, + "friendly": false, "scope": { "userRating": { "movie": { - "title": "Blockbusters", - "subTitle": "Blockbusters", - "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + "title": null, + "subTitle": null, + "description": null }, "series": { "title": null, @@ -9434,14 +19291,14 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5117, - "name": "Bataille / Champ de bataille", + "internalId": 4606, + "name": "Rencontre", "scope": null, "data": { "seo": { @@ -9507,8 +19364,8 @@ }, { "__typename": "Tag", - "internalId": 5137, - "name": "Combat / Bagarre / Castagne", + "internalId": 994, + "name": "Portrait de femme", "scope": null, "data": { "seo": { @@ -9568,14 +19425,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Characteristic" ] } }, { "__typename": "Tag", - "internalId": 1046, - "name": "Violence", + "internalId": 1699, + "name": "Amitié", "scope": null, "data": { "seo": { @@ -9635,14 +19492,14 @@ }, "tags": { "list": [ - "Tag.Type.Ambiance" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5324, - "name": "Adrénaline", + "internalId": 5259, + "name": "Art et essai", "scope": null, "data": { "seo": { @@ -9702,212 +19559,48 @@ }, "tags": { "list": [ - "Tag.Type.Envies" - ] - } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": false, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": false - }, - "synopsisFull": "

L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.

" - }, - "showtimes": { - "original": [], - "original_st": [ - { - "__typename": "Showtime", - "internalId": 81950615972, - "startsAt": "2026-09-26T17:15:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "ORIGINAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190872/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:15&code=vost; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190872/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - } - ], - "original_sme": [], - "multiple": [ - { - "__typename": "Showtime", - "internalId": 81950616001, - "startsAt": "2026-09-26T13:45:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190847/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:45&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190847/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - }, - { - "__typename": "Showtime", - "internalId": 81950616023, - "startsAt": "2026-09-26T16:15:00", - "timeBeforeStart": "PT0H0M0S", - "service": null, - "experience": null, - "comfort": null, - "projection": [ - "IMAX" - ], - "picture": null, - "sound": null, - "tags": [ - "Format.Projection.Imax", - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190862/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Format.Projection.Imax,Showtime.Accessibility.Accessible&perfd=20260926&perft=16:15&code=vf; GRETA; imax; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190862/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } + "Tag.Type.PublicVise" ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - }, + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ { "__typename": "Showtime", - "internalId": 81950615776, - "startsAt": "2026-09-26T20:45:00", + "internalId": 81950616139, + "startsAt": "2026-09-26T16:45:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -9921,19 +19614,18 @@ "sound": null, "tags": [ "Localization.Language.French", - "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190891/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190869/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -9941,7 +19633,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=20:45&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.327941&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -9949,7 +19641,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190891/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190869/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -9966,7 +19658,7 @@ }, { "movie": { - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -9974,26 +19666,34 @@ "type": "paragraph", "children": [ { - "text": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?" + "text": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. Le général Eisenhower et le capitaine James Stagg, météorologue, font alors face à un choix impossible : attaquer malgré l’incertitude… ou risquer de perdre la guerre. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "PRESSURE, l’histoire vraie d’un compte à rebours sous haute tension." } ] } ] }, "__typename": "Movie", - "internalId": 1000019874, - "id": "TW92aWU6MTAwMDAxOTg3NA==", + "internalId": 1000004458, + "id": "TW92aWU6MTAwMDAwNDQ1OA==", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjEwMTczNA==", - "internalId": 9002101734, - "url": "https://fr.web.img3.acsta.net/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg", - "path": "/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg" + "id": "SW1hZ2U6OTAwMjA4NDA2Mw==", + "internalId": 9002084063, + "url": "https://fr.web.img2.acsta.net/img/92/fb/92fb57911489ab17bfa8ecf0b29712c5.jpg", + "path": "/img/92/fb/92fb57911489ab17bfa8ecf0b29712c5.jpg" }, - "title": "Les Contrebandiers", - "originalTitle": "The Weight", + "title": "Pressure", + "originalTitle": "Pressure", "type": "FEATURE_FILM", - "runtime": "1h 53min", + "runtime": "1h 40min", "genres": [ { "id": 13023, @@ -10001,19 +19701,18 @@ "tag": "THRILLER" }, { - "id": 13025, - "translate": "Action", - "tag": "ACTION" + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" }, { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" } ], "languages": [ - "ENGLISH", - "FRENCH" + "ENGLISH" ], "data": { "__typename": "MovieData", @@ -10032,21 +19731,21 @@ }, "stats": { "userRating": { - "score": 3.26, - "count": 440 + "score": 4.06, + "count": 1532 }, "userReview": { - "count": 92 + "count": 217 }, "pressReview": { - "score": 3.13, - "count": 30 + "score": 3.46, + "count": 24 }, "metric": { - "hits": 308210, - "sessions": 212343 + "hits": 454882, + "sessions": 266553 }, - "wantToSeeCount": 992 + "wantToSeeCount": 1784 }, "editorialReviews": [], "releases": [ @@ -10054,16 +19753,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-09-16", + "date": "2026-09-09", "precision": "day" }, "name": "Released", "certificate": { "__typename": "Certificate", - "code": "UA", - "label": "Tout public avec avertissement" + "code": "U", + "label": "Tout public" }, - "advice": "Plusieurs scènes violentes peuvent heurter un public jeune ou sensible.", + "advice": null, "companyLimitation": null, "releaseTags": { "tagTypes": [ @@ -10071,16 +19770,16 @@ ], "tagFlags": null }, - "visaNumber": "167970" + "visaNumber": "168211" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 99555, - "lastName": "McKinley", - "firstName": "Padraic", + "internalId": 766308, + "lastName": "Maras", + "firstName": "Anthony", "seo": { "__typename": "Seo", "browsable": true @@ -10101,9 +19800,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 3336, - "lastName": "Hawke", - "firstName": "Ethan", + "internalId": 73747, + "lastName": "Scott", + "firstName": "Andrew", "seo": { "__typename": "Seo", "browsable": true @@ -10118,9 +19817,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 20966, - "lastName": "Crowe", - "firstName": "Russell", + "internalId": 18216, + "lastName": "Fraser", + "firstName": "Brendan", "seo": { "__typename": "Seo", "browsable": true @@ -10135,9 +19834,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 154714, - "lastName": "Jones", - "firstName": "Julia", + "internalId": 101150, + "lastName": "Condon", + "firstName": "Kerry", "seo": { "__typename": "Seo", "browsable": true @@ -10153,130 +19852,69 @@ { "actor": { "__typename": "Person", - "internalId": 3336, - "lastName": "Hawke", - "firstName": "Ethan", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - }, - { - "actor": { - "__typename": "Person", - "internalId": 20966, - "lastName": "Crowe", - "firstName": "Russell", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 - }, - { - "actor": { - "__typename": "Person", - "internalId": 154714, - "lastName": "Jones", - "firstName": "Julia", + "internalId": 73747, + "lastName": "Scott", + "firstName": "Andrew", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5129, - "name": "Germany", - "localizedName": "Allemagne" - } - ], - "relatedTags": [ - { - "__typename": "Tag", - "internalId": 5958, - "name": "Oregon", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 18216, + "lastName": "Fraser", + "firstName": "Brendan", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 }, - "tags": { - "list": [ - "Tag.Type.Location" - ] + { + "actor": { + "__typename": "Person", + "internalId": 101150, + "lastName": "Condon", + "firstName": "Kerry", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5004, + "name": "United Kingdom", + "localizedName": "Grande-Bretagne" }, + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ { "__typename": "Tag", - "internalId": 5403, - "name": "Camp de travail / Travail forcé", + "internalId": 5315, + "name": "Dwight Eisenhower", "scope": null, "data": { "seo": { @@ -10336,81 +19974,14 @@ }, "tags": { "list": [ - "Tag.Type.Environnement" - ] - } - }, - { - "__typename": "Tag", - "internalId": 788, - "name": "Grande dépression", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": true, - "scope": { - "userRating": { - "movie": { - "title": "films sur la Grande Dépression", - "subTitle": null, - "description": "Vous aimez les films de la crise économique des années 1930 ? Découvrez quels sont les meilleurs films sur La Grande Dépressions à voir" - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } - }, - "tags": { - "list": [ - "Tag.Type.Time" + "Tag.Type.HistoricalCharacter" ] } }, { "__typename": "Tag", - "internalId": 622, - "name": "Contrebande", + "internalId": 816, + "name": "Débarquement allié en Normandie 1945", "scope": null, "data": { "seo": { @@ -10470,14 +20041,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Time" ] } }, { "__typename": "Tag", - "internalId": 5241, - "name": "Trésor", + "internalId": 1270, + "name": "Compte à rebours", "scope": null, "data": { "seo": { @@ -10543,8 +20114,8 @@ }, { "__typename": "Tag", - "internalId": 289, - "name": "Nature et vie sauvage", + "internalId": 6060, + "name": "Histoire vraie pendant la guerre", "scope": null, "data": { "seo": { @@ -10604,14 +20175,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Characteristic" ] } }, { "__typename": "Tag", - "internalId": 603, - "name": "Périple", + "internalId": 275, + "name": "Pluie / Orage / Tempête", "scope": null, "data": { "seo": { @@ -10677,8 +20248,8 @@ }, { "__typename": "Tag", - "internalId": 962, - "name": "Ambiance 30's - années 30", + "internalId": 374, + "name": "Soldat / Militaire", "scope": null, "data": { "seo": { @@ -10738,14 +20309,14 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 486, - "name": "Rivalité", + "internalId": 4717, + "name": "Inspiré d'une histoire vraie", "scope": null, "data": { "seo": { @@ -10805,14 +20376,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.OeuvreDOrigine" ] } }, { "__typename": "Tag", - "internalId": 660, - "name": "Premier film", + "internalId": 5229, + "name": "Seconde Guerre mondiale", "scope": null, "data": { "seo": { @@ -10872,14 +20443,14 @@ }, "tags": { "list": [ - "Tag.Type.Characteristic" + "Tag.Type.Time" ] } }, { "__typename": "Tag", - "internalId": 5324, - "name": "Adrénaline", + "internalId": 520, + "name": "D'après une histoire vraie", "scope": null, "data": { "seo": { @@ -10939,7 +20510,7 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.Keyword" ] } } @@ -10970,15 +20541,17 @@ "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?

" + "synopsisFull": "

Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. Le général Eisenhower et le capitaine James Stagg, météorologue, font alors face à un choix impossible : attaquer malgré l’incertitude… ou risquer de perdre la guerre.

PRESSURE, l’histoire vraie d’un compte à rebours sous haute tension.

" }, "showtimes": { "original": [], - "original_st": [ + "original_st": [], + "original_sme": [], + "multiple": [ { "__typename": "Showtime", - "internalId": 81950615840, - "startsAt": "2026-09-26T16:30:00", + "internalId": 81950615710, + "startsAt": "2026-09-26T17:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -10991,20 +20564,20 @@ "picture": null, "sound": null, "tags": [ - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", + "Localization.Language.French", + "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "ORIGINAL", + "diffusionVersion": "DUBBED", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190865/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190874/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -11012,7 +20585,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:30&code=vost; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:30&code=vf; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -11020,7 +20593,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190865/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190874/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -11029,14 +20602,11 @@ }, "isPreview": false, "isWeeklyMovieOuting": false - } - ], - "original_sme": [], - "multiple": [ + }, { "__typename": "Showtime", - "internalId": 81950616118, - "startsAt": "2026-09-26T13:50:00", + "internalId": 81950615738, + "startsAt": "2026-09-26T19:45:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -11050,18 +20620,19 @@ "sound": null, "tags": [ "Localization.Language.French", + "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "LOCAL", + "diffusionVersion": "DUBBED", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190850/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190887/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -11069,7 +20640,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=13:50&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:45&code=vf; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -11077,7 +20648,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190850/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190887/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -11089,8 +20660,8 @@ }, { "__typename": "Showtime", - "internalId": 81950616138, - "startsAt": "2026-09-26T19:45:00", + "internalId": 81950616072, + "startsAt": "2026-09-26T22:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -11104,18 +20675,19 @@ "sound": null, "tags": [ "Localization.Language.French", + "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "LOCAL", + "diffusionVersion": "DUBBED", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190886/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190903/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -11123,7 +20695,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:45&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:30&code=vf; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -11131,7 +20703,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190886/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190903/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -11148,7 +20720,7 @@ }, { "movie": { - "synopsis": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -11156,50 +20728,48 @@ "type": "paragraph", "children": [ { - "text": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour." + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": " " } ] } ] }, "__typename": "Movie", - "internalId": 257425, - "id": "TW92aWU6MjU3NDI1", + "internalId": 294281, + "id": "TW92aWU6Mjk0Mjgx", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA3ODI1OQ==", - "internalId": 9002078259, - "url": "https://fr.web.img2.acsta.net/img/7a/89/7a89c362c3c4180669ce471a947d2f70.jpg", - "path": "/img/7a/89/7a89c362c3c4180669ce471a947d2f70.jpg" - }, - "title": "Tad l'explorateur et la lampe magique", - "originalTitle": "Tadeo Jones y la lámpara maravillosa", - "type": "FEATURE_FILM", - "runtime": "1h 35min", - "genres": [ - { - "id": 13026, - "translate": "Animation", - "tag": "ANIMATION" - }, - { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" - }, + "id": "SW1hZ2U6OTAwMjA3NDY0NQ==", + "internalId": 9002074645, + "url": "https://fr.web.img5.acsta.net/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg", + "path": "/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg" + }, + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "originalTitle": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ { - "id": 13036, - "translate": "Famille", - "tag": "FAMILY" + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" }, { - "id": 13005, - "translate": "Comédie", - "tag": "COMEDY" + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" } ], "languages": [ - "SPANISH" + "FRENCH" ], "data": { "__typename": "MovieData", @@ -11208,7 +20778,7 @@ "browsable": true, "title": null }, - "productionYear": 2026, + "productionYear": 2025, "rules": { "rating": { "has_warning_message": false, @@ -11218,21 +20788,21 @@ }, "stats": { "userRating": { - "score": 3.37, - "count": 102 + "score": 4.51, + "count": 7966 }, "userReview": { - "count": 15 + "count": 1146 }, "pressReview": { - "score": 3.23, - "count": 13 + "score": 3.86, + "count": 28 }, "metric": { - "hits": 145194, - "sessions": 88218 + "hits": 2142993, + "sessions": 985333 }, - "wantToSeeCount": 142 + "wantToSeeCount": 3324 }, "editorialReviews": [], "releases": [ @@ -11240,7 +20810,7 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-08-26", + "date": "2026-06-26", "precision": "day" }, "name": "Released", @@ -11257,16 +20827,16 @@ ], "tagFlags": null }, - "visaNumber": "168142" + "visaNumber": "160148" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 141850, - "lastName": "Gato", - "firstName": "Enrique", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", "seo": { "__typename": "Seo", "browsable": true @@ -11285,117 +20855,257 @@ "edges": [ { "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 574208, - "lastName": "Barberán", - "firstName": "Oscar", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 1 } }, { "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 265156, - "lastName": "Jenner", - "firstName": "Michelle", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 2 } }, { "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 531345, - "lastName": "Posada", - "firstName": "Luis", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 3 } } ], "nodes": [ { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 574208, - "lastName": "Barberán", - "firstName": "Oscar", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 1 }, { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 265156, - "lastName": "Jenner", - "firstName": "Michelle", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 2 }, { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 531345, - "lastName": "Posada", - "firstName": "Luis", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", "seo": { "__typename": "Seo", "browsable": true } - }, - "rank": 3 + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5017, - "name": "Spain", - "localizedName": "Espagne" - } - ], - "relatedTags": [ + }, { "__typename": "Tag", - "internalId": 5166, - "name": "Génie", + "internalId": 4764, + "name": "Occupation allemande", "scope": null, "data": { "seo": { @@ -11455,14 +21165,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Time" ] } }, { "__typename": "Tag", - "internalId": 443, - "name": "Centre commercial / Supermarché / Marché", + "internalId": 1145, + "name": "Collaboration et résistance", "scope": null, "data": { "seo": { @@ -11522,14 +21232,14 @@ }, "tags": { "list": [ - "Tag.Type.Environnement" + "Tag.Type.Time" ] } }, { "__typename": "Tag", - "internalId": 603, - "name": "Périple", + "internalId": 1128, + "name": "Fresque historique", "scope": null, "data": { "seo": { @@ -11595,8 +21305,8 @@ }, { "__typename": "Tag", - "internalId": 5246, - "name": "Voyage dans le temps", + "internalId": 5183, + "name": "Londres", "scope": null, "data": { "seo": { @@ -11656,14 +21366,15 @@ }, "tags": { "list": [ - "Tag.Type.Ambiance" + "Tag.Type.Location", + "Tag.Localization.City" ] } }, { "__typename": "Tag", - "internalId": 200, - "name": "Voyage", + "internalId": 5117, + "name": "Bataille / Champ de bataille", "scope": null, "data": { "seo": { @@ -11729,8 +21440,8 @@ }, { "__typename": "Tag", - "internalId": 3721, - "name": "Aventurier / Aventurière", + "internalId": 1328, + "name": "Ambiance 40's - années 40", "scope": null, "data": { "seo": { @@ -11790,14 +21501,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Time" ] } }, { "__typename": "Tag", - "internalId": 5265, - "name": "Enfants", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", "scope": null, "data": { "seo": { @@ -11857,14 +21568,14 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 2512, - "name": "Suite / Sequel", + "internalId": 5229, + "name": "Seconde Guerre mondiale", "scope": null, "data": { "seo": { @@ -11924,15 +21635,15 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Time" ] } }, { "__typename": "Tag", - "internalId": 5261, - "name": "À partir de 6 ans", - "scope": "AGE", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, "data": { "seo": { "browsable": true, @@ -11991,14 +21702,14 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 1769, - "name": "Dessin animé et animation", + "internalId": 908, + "name": "Portrait d'homme", "scope": null, "data": { "seo": { @@ -12058,14 +21769,14 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Characteristic" ] } }, { "__typename": "Tag", - "internalId": 5267, - "name": "Famille", + "internalId": 4633, + "name": "France", "scope": null, "data": { "seo": { @@ -12125,7 +21836,8 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.Location", + "Tag.Localization.Country" ] } } @@ -12149,14 +21861,14 @@ "isComingSoon": false, "isPlayingNow": true, "tvRelease": false, - "hasTeaser": false, + "hasTeaser": true, "hasTrailer": true }, "customFlags": { "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.

" + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" }, "showtimes": { "original": [], @@ -12165,8 +21877,8 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950615837, - "startsAt": "2026-09-26T14:00:00", + "internalId": 81950615788, + "startsAt": "2026-09-26T19:00:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -12180,18 +21892,129 @@ "sound": null, "tags": [ "Localization.Language.French", + "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190877/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:00&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190877/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615764, + "startsAt": "2026-09-27T10:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190832/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:45&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190832/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616040, + "startsAt": "2026-09-27T16:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190852/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S191218/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -12199,7 +22022,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.257425&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:00&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=16:15&code=vf; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -12207,7 +22030,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190852/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S191218/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -12224,7 +22047,7 @@ }, { "movie": { - "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! ", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. ", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -12232,50 +22055,40 @@ "type": "paragraph", "children": [ { - "text": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard." + "text": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. " } ] } ] }, "__typename": "Movie", - "internalId": 320681, - "id": "TW92aWU6MzIwNjgx", + "internalId": 1000032856, + "id": "TW92aWU6MTAwMDAzMjg1Ng==", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA3NTEzNw==", - "internalId": 9002075137, - "url": "https://fr.web.img6.acsta.net/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg", - "path": "/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg" + "id": "SW1hZ2U6OTAwMjA2OTA0Ng==", + "internalId": 9002069046, + "url": "https://fr.web.img5.acsta.net/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg", + "path": "/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg" }, - "title": "La Pat' Patrouille : Le film mission Dino", - "originalTitle": "PAW Patrol: The Dino Movie", + "title": "Tombé du ciel", + "originalTitle": "Tombé du ciel", "type": "FEATURE_FILM", - "runtime": "1h 28min", + "runtime": "1h 32min", "genres": [ { - "id": 13026, - "translate": "Animation", - "tag": "ANIMATION" - }, - { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" }, { "id": 13036, "translate": "Famille", "tag": "FAMILY" - }, - { - "id": 13005, - "translate": "Comédie", - "tag": "COMEDY" } ], "languages": [ - "ENGLISH" + "FRENCH" ], "data": { "__typename": "MovieData", @@ -12294,21 +22107,21 @@ }, "stats": { "userRating": { - "score": 3.12, - "count": 255 + "score": 3.21, + "count": 3059 }, "userReview": { - "count": 47 + "count": 1373 }, "pressReview": { - "score": 3.13, - "count": 16 + "score": 2.57, + "count": 7 }, "metric": { - "hits": 480624, - "sessions": 258623 + "hits": 1351486, + "sessions": 787976 }, - "wantToSeeCount": 295 + "wantToSeeCount": 907 }, "editorialReviews": [], "releases": [ @@ -12316,103 +22129,7 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-12-17", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-12-17", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-12-03", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-12-03", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-08-05", + "date": "2026-08-12", "precision": "day" }, "name": "Released", @@ -12429,16 +22146,16 @@ ], "tagFlags": null }, - "visaNumber": "167695" + "visaNumber": "165652" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 447317, - "lastName": "Brunker", - "firstName": "Cal", + "internalId": 480873, + "lastName": "Hamidi", + "firstName": "Mohamed", "seo": { "__typename": "Seo", "browsable": true @@ -12457,184 +22174,117 @@ "edges": [ { "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 961946, - "lastName": "Janjua", - "firstName": "Rain", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 1 } }, { "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 964227, - "lastName": "Young", - "firstName": "Carter", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 2 } }, { "node": { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 628557, - "lastName": "Grace", - "firstName": "Mckenna", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 3 } } ], "nodes": [ { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 961946, - "lastName": "Janjua", - "firstName": "Rain", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 1 }, { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 964227, - "lastName": "Young", - "firstName": "Carter", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 2 }, { - "actor": null, - "voiceActor": null, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 628557, - "lastName": "Grace", - "firstName": "Mckenna", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "rank": 3 - } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." - } - ], - "relatedTags": [ - { - "__typename": "Tag", - "internalId": 2453, - "name": "Dinosaures", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": true, - "scope": { - "userRating": { - "movie": { - "title": "films de dinosaures", - "subTitle": "films avec des dinosaures", - "description": "De l’incontournable Jurassic Park à des films d’animation captivants, chaque film de dinosaures transporte petits et grands dans des aventures palpitantes. Découvrez les animaux préhistoriques recréés avec brio, comme dans Jurassic World, ou explorez des classiques qui font revivre les dinosaures à l’écran" - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 } - }, + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ { "__typename": "Tag", - "internalId": 3930, - "name": "Aventures animalières", + "internalId": 1142, + "name": "Ecole religieuse", "scope": null, "data": { "seo": { @@ -12700,8 +22350,8 @@ }, { "__typename": "Tag", - "internalId": 1262, - "name": "Les animaux ont la parole", + "internalId": 831, + "name": "Pensionnat", "scope": null, "data": { "seo": { @@ -12767,75 +22417,8 @@ }, { "__typename": "Tag", - "internalId": 5238, - "name": "Super-héros / Super-héroïne", - "scope": "THEME", - "data": { - "seo": { - "browsable": true, - "friendly": true, - "scope": { - "userRating": { - "movie": { - "title": "films de super-héros", - "subTitle": "films avec des super-héros", - "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } - }, - { - "__typename": "Tag", - "internalId": 2166, - "name": "Chien", + "internalId": 4061, + "name": "Humoriste", "scope": null, "data": { "seo": { @@ -12901,8 +22484,8 @@ }, { "__typename": "Tag", - "internalId": 5265, - "name": "Enfants", + "internalId": 2047, + "name": "Religion / Prière et lieux de cultes", "scope": null, "data": { "seo": { @@ -12962,14 +22545,14 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.Environnement" ] } }, { "__typename": "Tag", - "internalId": 2512, - "name": "Suite / Sequel", + "internalId": 3466, + "name": "Professeur / Enseignant", "scope": null, "data": { "seo": { @@ -13029,15 +22612,15 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5260, - "name": "À partir de 3 ans", - "scope": "AGE", + "internalId": 2068, + "name": "Pape / Prêtre / Curé / Moine / Bonne soeur / Religieux", + "scope": null, "data": { "seo": { "browsable": true, @@ -13096,14 +22679,14 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 1769, - "name": "Dessin animé et animation", + "internalId": 5257, + "name": "Rire", "scope": null, "data": { "seo": { @@ -13163,14 +22746,14 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Envies" ] } }, { "__typename": "Tag", - "internalId": 5267, - "name": "Famille", + "internalId": 2703, + "name": "Situation comique / Gag", "scope": null, "data": { "seo": { @@ -13230,7 +22813,7 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.Ambiance" ] } } @@ -13246,12 +22829,12 @@ "hasSoundtrack": false, "hasTheaterRelease": true, "hasTrivia": true, - "hasAwards": false, + "hasAwards": true, "isLesIndes": false, "isIncontestable": false, "isClubApproved": [], "hasClubNews": [], - "isComingSoon": true, + "isComingSoon": false, "isPlayingNow": true, "tvRelease": false, "hasTeaser": false, @@ -13261,7 +22844,7 @@ "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard.

" + "synopsisFull": "

Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres.

" }, "showtimes": { "original": [], @@ -13270,8 +22853,8 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950615706, - "startsAt": "2026-09-26T14:00:00", + "internalId": 81950616090, + "startsAt": "2026-09-26T19:10:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -13289,14 +22872,68 @@ "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190878/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:10&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190878/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950616015, + "startsAt": "2026-09-27T19:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190853/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190941/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -13304,7 +22941,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:00&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:10&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -13312,7 +22949,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190853/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190941/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -13390,10 +23027,10 @@ "stats": { "userRating": { "score": 3.4, - "count": 706 + "count": 710 }, "userReview": { - "count": 127 + "count": 128 }, "pressReview": { "score": 3.25, @@ -13403,7 +23040,7 @@ "hits": 360614, "sessions": 201438 }, - "wantToSeeCount": 1116 + "wantToSeeCount": 1119 }, "editorialReviews": [], "releases": [ @@ -14275,8 +23912,62 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950615884, - "startsAt": "2026-09-26T14:15:00", + "internalId": 81950615907, + "startsAt": "2026-09-26T19:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190880/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.324014&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190880/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615726, + "startsAt": "2026-09-27T14:15:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -14301,7 +23992,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190855/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190917/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -14309,7 +24000,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.324014&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:15&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.324014&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:15&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -14317,7 +24008,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190855/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190917/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -14329,8 +24020,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615907, - "startsAt": "2026-09-26T19:15:00", + "internalId": 81950615841, + "startsAt": "2026-09-27T19:15:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -14355,7 +24046,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190880/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190943/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -14363,7 +24054,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.324014&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:15&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.324014&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:15&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -14371,7 +24062,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190880/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190943/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -14449,7 +24140,7 @@ "stats": { "userRating": { "score": 2.4, - "count": 260 + "count": 261 }, "userReview": { "count": 57 @@ -14462,7 +24153,7 @@ "hits": 258912, "sessions": 154462 }, - "wantToSeeCount": 612 + "wantToSeeCount": 613 }, "editorialReviews": [], "releases": [ @@ -15127,8 +24818,8 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950616093, - "startsAt": "2026-09-26T14:30:00", + "internalId": 81950615697, + "startsAt": "2026-09-26T21:15:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -15154,7 +24845,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190857/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190892/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -15162,7 +24853,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=14:30&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:15&code=vf; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -15170,7 +24861,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190857/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190892/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -15182,8 +24873,8 @@ }, { "__typename": "Showtime", - "internalId": 81950615697, - "startsAt": "2026-09-26T21:15:00", + "internalId": 81950616069, + "startsAt": "2026-09-27T10:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -15198,262 +24889,106 @@ "tags": [ "Localization.Language.French", "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190892/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=21:15&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190892/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - } - ], - "multiple_st": [], - "multiple_sme": [] - } - } - ], - "params": { - "experience": null, - "projection": null, - "comfort": null, - "picture": null, - "sound": null, - "versionDetail": null, - "page": 1 - }, - "facets": [ - { - "__typename": "Facets", - "name": "showtimes.projection", - "values": [ - { - "key": "Digital", - "translation": { - "tag": "DIGITAL", - "name": "Numérique" - } - }, - { - "key": "Imax", - "translation": { - "tag": "IMAX", - "name": "IMAX" - } - }, - { - "key": "3d", - "translation": { - "tag": "F_3D", - "name": "3D" - } - } - ] - }, - { - "__typename": "Facets", - "name": "showtimes.experience", - "values": [ - { - "key": "4dx", - "translation": { - "tag": "E_4DX", - "name": "4DX" - } - }, - { - "key": "PLF", - "translation": { - "tag": "PLF", - "name": "PLF" - } - } - ] - }, - { - "__typename": "Facets", - "name": "showtimes.comfort", - "values": [] - }, - { - "__typename": "Facets", - "name": "showtimes.version_detail", - "values": [ - { - "key": "Dubbed", - "versionDetail": "DUBBED" - }, - { - "key": "Local", - "versionDetail": "LOCAL" - }, - { - "key": "OriginalSt", - "versionDetail": "ORIGINAL_ST" - }, - { - "key": "DubbedSme", - "versionDetail": "DUBBED_SME" - }, - { - "key": "DubbedSt", - "versionDetail": "DUBBED_ST" - }, - { - "key": "LocalSme", - "versionDetail": "LOCAL_SME" - } - ] - }, - { - "__typename": "Facets", - "name": "showtimes.picture", - "values": [] - }, - { - "__typename": "Facets", - "name": "showtimes.sound", - "values": [] - }, - { - "__typename": "Facets", - "name": "showtimes.service", - "values": [ - { - "key": "DisabledAccess", - "translation": { - "tag": "DISABLED_ACCESS", - "name": "Accès handicapés" - } - } - ] - } - ], - "pagination": { - "page": "1", - "totalPages": 2, - "itemsPerPage": 15, - "totalItems": 24 - }, - "data": null - } - } - }, - { - "request": { - "method": "GET", - "uri": "https://www.allocine.fr/_/showtimes/theater-P0645/d-2026-09-26/p-2/", - "body": "", - "headers": { - "host": [ - "www.allocine.fr" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "date": [ - "Sat, 26 Sep 2026 13:10:02 GMT" - ], - "content-type": [ - "application/json" - ], - "transfer-encoding": [ - "chunked" - ], - "connection": [ - "keep-alive" - ], - "cache-control": [ - "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" - ], - "vary": [ - "Origin, accept-encoding" - ], - "server": [ - "cloudflare" - ], - "via": [ - "1.1 google" - ], - "alt-svc": [ - "h3=\":443\"; ma=86400" - ], - "age": [ - "1547" - ], - "last-modified": [ - "Sat, 26 Sep 2026 12:44:14 GMT" - ], - "cf-cache-status": [ - "HIT" - ], - "nel": [ - "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" - ], - "report-to": [ - "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=LnbX6nV04LQA0233rNvrlGhnYb0e18%2FoBhL%2B2eCEABaTnPHjYX9Xqbs6UXhUsOwYi4TpKtAev7v7l3vG8sBF9bdMFkCOQWNd1JN49XATsw6j%2BzqXyyHzFPurGxrwzyS6Ww%3D%3D\"}]}" - ], - "cf-ray": [ - "a41281a738116f63-CDG" - ], - "content-length": [ - "160219" - ] - }, - "body": { - "error": false, - "message": null, - "messageParam": null, - "nextDate": null, - "results": [ + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190836/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190836/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615897, + "startsAt": "2026-09-27T14:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Greta", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190919/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:30&code=vf; GRETA; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190919/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, { "movie": { - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "synopsis": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -15461,40 +24996,53 @@ "type": "paragraph", "children": [ { - "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + "text": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé..." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "" } ] } ] }, "__typename": "Movie", - "internalId": 294280, - "id": "TW92aWU6Mjk0Mjgw", + "internalId": 1000014969, + "id": "TW92aWU6MTAwMDAxNDk2OQ==", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA3NDY0NA==", - "internalId": 9002074644, - "url": "https://fr.web.img6.acsta.net/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg", - "path": "/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg" + "id": "SW1hZ2U6OTAwMjA5Mzg2OQ==", + "internalId": 9002093869, + "url": "https://fr.web.img3.acsta.net/img/49/53/4953b0ca2f415faf7afb40c6cf9c1cf5.jpg", + "path": "/img/49/53/4953b0ca2f415faf7afb40c6cf9c1cf5.jpg" }, - "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", - "originalTitle": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "title": "The Dog Stars", + "originalTitle": "The Dog Stars", "type": "FEATURE_FILM", - "runtime": "2h 40min", + "runtime": "1h 59min", "genres": [ + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, { "id": 13023, "translate": "Thriller", "tag": "THRILLER" }, { - "id": 13015, - "translate": "Historique", - "tag": "HISTORICAL" + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" } ], "languages": [ - "FRENCH" + "ENGLISH" ], "data": { "__typename": "MovieData", @@ -15513,21 +25061,21 @@ }, "stats": { "userRating": { - "score": 4.42, - "count": 10204 + "score": 3.25, + "count": 1733 }, "userReview": { - "count": 1779 + "count": 293 }, "pressReview": { - "score": 3.5, - "count": 38 + "score": 2.66, + "count": 29 }, "metric": { - "hits": 4078743, - "sessions": 1947711 + "hits": 624263, + "sessions": 370939 }, - "wantToSeeCount": 4373 + "wantToSeeCount": 2146 }, "editorialReviews": [], "releases": [ @@ -15535,103 +25083,7 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-10-07", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-10-07", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-10-01", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-10-01", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-06-03", + "date": "2026-08-26", "precision": "day" }, "name": "Released", @@ -15640,7 +25092,7 @@ "code": "UA", "label": "Tout public avec avertissement" }, - "advice": "Une scène de bataille montrant des morts et des corps mutilés et la bande-son sont susceptibles d'impressionner un public sensible ou jeune.", + "advice": "Des scènes violentes de combat et des images montrant de nombreux cadavres sont susceptibles d'impressionner un jeune public.", "companyLimitation": null, "releaseTags": { "tagTypes": [ @@ -15648,16 +25100,16 @@ ], "tagFlags": null }, - "visaNumber": "159694" + "visaNumber": "167731" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 658205, - "lastName": "Baudry", - "firstName": "Antonin", + "internalId": 258, + "lastName": "Scott", + "firstName": "Ridley", "seo": { "__typename": "Seo", "browsable": true @@ -15677,10 +25129,10 @@ { "node": { "actor": { - "__typename": "Person", - "internalId": 15884, - "lastName": "Abkarian", - "firstName": "Simon", + "__typename": "Person", + "internalId": 838641, + "lastName": "Elordi", + "firstName": "Jacob", "seo": { "__typename": "Seo", "browsable": true @@ -15695,9 +25147,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 97483, - "lastName": "Beale", - "firstName": "Simon Russell", + "internalId": 646619, + "lastName": "Qualley", + "firstName": "Margaret", "seo": { "__typename": "Seo", "browsable": true @@ -15712,9 +25164,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 941845, - "lastName": "Lesieur", - "firstName": "Florian", + "internalId": 3146, + "lastName": "Brolin", + "firstName": "Josh", "seo": { "__typename": "Seo", "browsable": true @@ -15730,9 +25182,9 @@ { "actor": { "__typename": "Person", - "internalId": 15884, - "lastName": "Abkarian", - "firstName": "Simon", + "internalId": 838641, + "lastName": "Elordi", + "firstName": "Jacob", "seo": { "__typename": "Seo", "browsable": true @@ -15745,9 +25197,9 @@ { "actor": { "__typename": "Person", - "internalId": 97483, - "lastName": "Beale", - "firstName": "Simon Russell", + "internalId": 646619, + "lastName": "Qualley", + "firstName": "Margaret", "seo": { "__typename": "Seo", "browsable": true @@ -15760,9 +25212,9 @@ { "actor": { "__typename": "Person", - "internalId": 941845, - "lastName": "Lesieur", - "firstName": "Florian", + "internalId": 3146, + "lastName": "Brolin", + "firstName": "Josh", "seo": { "__typename": "Seo", "browsable": true @@ -15777,22 +25229,83 @@ "countries": [ { "__typename": "Country", - "id": 5001, - "name": "France", - "localizedName": "France" - }, - { - "__typename": "Country", - "id": 5014, - "name": "Belgium", - "localizedName": "Belgique" + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." } ], "relatedTags": [ { "__typename": "Tag", - "internalId": 5276, - "name": "Winston Churchill", + "internalId": 6055, + "name": "Un virus ravageur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de virus et de contagion", + "subTitle": "films de contamination et de pandémie", + "description": "Quels sont les meilleurs films de virus et de contagion ? Découvrez les meilleurs films de contamination et de pandémie d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 692, + "name": "Survivants / Rescapés", "scope": null, "data": { "seo": { @@ -15852,14 +25365,81 @@ }, "tags": { "list": [ - "Tag.Type.HistoricalCharacter" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5717, - "name": "Charles de Gaulle", + "internalId": 1815, + "name": "Pilote", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5371, + "name": "Dystopie", "scope": null, "data": { "seo": { @@ -15919,15 +25499,82 @@ }, "tags": { "list": [ - "Tag.Type.HistoricalCharacter" + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1100, + "name": "Monde post-apocalyptique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films post-apocalyptiques", + "subTitle": "films ayant pour thématique les survivants de l'apocalypse", + "description": "Plongez dans l'univers captivant des films post-apocalyptiques, où la Terre, ravagée par la guerre ou la science, devient le théâtre de luttes pour l'humanité. Du chaos de Mad Max de George Miller à la révolte des singes, les films post-apocalyptiques explorent les meilleurs récits de cinéma où des survivants traversent un monde en ruines" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 1000001736, - "name": "CANNES_2026", - "scope": "TRACKING", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, "data": { "seo": { "browsable": true, @@ -15992,8 +25639,8 @@ }, { "__typename": "Tag", - "internalId": 4764, - "name": "Occupation allemande", + "internalId": 691, + "name": "Anticipation / Futur / Avenir proche", "scope": null, "data": { "seo": { @@ -16059,8 +25706,8 @@ }, { "__typename": "Tag", - "internalId": 1145, - "name": "Collaboration et résistance", + "internalId": 5222, + "name": "Road Movie", "scope": null, "data": { "seo": { @@ -16120,14 +25767,14 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 1128, - "name": "Fresque historique", + "internalId": 2166, + "name": "Chien", "scope": null, "data": { "seo": { @@ -16193,8 +25840,8 @@ }, { "__typename": "Tag", - "internalId": 5183, - "name": "Londres", + "internalId": 250, + "name": "Solitude - solitaire", "scope": null, "data": { "seo": { @@ -16254,15 +25901,14 @@ }, "tags": { "list": [ - "Tag.Type.Location", - "Tag.Localization.City" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5117, - "name": "Bataille / Champ de bataille", + "internalId": 1499, + "name": "Adaptation de roman", "scope": null, "data": { "seo": { @@ -16317,153 +25963,343 @@ "description": null } } - } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615717, + "startsAt": "2026-09-26T22:10:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190899/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000014969&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:10&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190899/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000016503, + "id": "TW92aWU6MTAwMDAxNjUwMw==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA0MzA3Mg==", + "internalId": 9002043072, + "url": "https://fr.web.img5.acsta.net/img/ec/35/ec35f784920486fc0e3ff35b7aa4fc41.jpg", + "path": "/img/ec/35/ec35f784920486fc0e3ff35b7aa4fc41.jpg" + }, + "title": "Insidious : l'invasion du lointain", + "originalTitle": "Insidious: Out of the Further", + "type": "FEATURE_FILM", + "runtime": "1h 46min", + "genres": [ + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 2.64, + "count": 570 + }, + "userReview": { + "count": 105 + }, + "pressReview": { + "score": 2, + "count": 3 + }, + "metric": { + "hits": 279281, + "sessions": 170390 + }, + "wantToSeeCount": 553 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-19", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes réalistes de maltraitance sur une jeune enfant et de sévices physiques sont susceptibles d'impressionner un jeune public.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 108591, + "lastName": "Chase", + "firstName": "Jacob", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 885129, + "lastName": "Eve", + "firstName": "Amelia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 } }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } - }, - { - "__typename": "Tag", - "internalId": 1328, - "name": "Ambiance 40's - années 40", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000057308, + "lastName": "Austin", + "firstName": "Island", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 } }, - "tags": { - "list": [ - "Tag.Type.Time" - ] - } - }, - { - "__typename": "Tag", - "internalId": 5206, - "name": "Personnalités politiques / Politique / Politicien", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 27870, + "lastName": "Shaye", + "firstName": "Lin", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 885129, + "lastName": "Eve", + "firstName": "Amelia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] + { + "actor": { + "__typename": "Person", + "internalId": 1000057308, + "lastName": "Austin", + "firstName": "Island", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 27870, + "lastName": "Shaye", + "firstName": "Lin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 } - }, + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ { "__typename": "Tag", - "internalId": 5229, - "name": "Seconde Guerre mondiale", + "internalId": 5340, + "name": "Insidious", "scope": null, "data": { "seo": { @@ -16523,14 +26359,14 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.Versions" ] } }, { "__typename": "Tag", - "internalId": 786, - "name": "Biopic / Biographie / Biographie romancée", + "internalId": 1158, + "name": "Maison hantée", "scope": null, "data": { "seo": { @@ -16590,14 +26426,14 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Environnement" ] } }, { "__typename": "Tag", - "internalId": 908, - "name": "Portrait d'homme", + "internalId": 1509, + "name": "Monde parallèle", "scope": null, "data": { "seo": { @@ -16657,14 +26493,14 @@ }, "tags": { "list": [ - "Tag.Type.Characteristic" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 4633, - "name": "France", + "internalId": 148, + "name": "Malédiction", "scope": null, "data": { "seo": { @@ -16722,514 +26558,596 @@ } } }, - "tags": { - "list": [ - "Tag.Type.Location", - "Tag.Localization.Country" - ] - } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": true, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": true, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": true, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": false - }, - "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" - }, - "showtimes": { - "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ - { - "__typename": "Showtime", - "internalId": 81950615947, - "startsAt": "2026-09-26T16:00:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "LOCAL", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190861/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:00&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190861/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - } - ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ - { - "bold": true, - "text": "Précédé de deux courts métrages animés en avant- programme : " - }, - { - "bold": true, - "text": "Le Gnome", - "italic": true - }, - { - "bold": true, - "text": " et " - }, - { - "bold": true, - "text": "Le Nuage Kuap", - "italic": true - }, - { - "bold": true, - "text": "." - } - ] - }, - { - "type": "paragraph", - "children": [ - { - "text": "Une petite escargote de mer s’ennuie sur le rocher d’un vieux port et rêve de parcourir le monde. Un jour, une grande baleine à bosse lui propose de l’emmener en voyage à travers les océans du globe. Cette amitié insolite nous plonge dans une odyssée fabuleuse au cœur de la nature, de l’infiniment petit à l’infiniment grand." - } - ] - } - ] - }, - "__typename": "Movie", - "internalId": 283811, - "id": "TW92aWU6MjgzODEx", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6MjE3MzgyMjY=", - "internalId": 21738226, - "url": "https://fr.web.img4.acsta.net/pictures/20/07/28/17/09/2082147.jpg", - "path": "/pictures/20/07/28/17/09/2082147.jpg" - }, - "title": "La Baleine et l'escargote", - "originalTitle": "The Snail and The Whale", - "type": "SHORT_FILM", - "runtime": "0h 40min", - "genres": [ - { - "id": 13026, - "translate": "Animation", - "tag": "ANIMATION" - }, - { - "id": 13036, - "translate": "Famille", - "tag": "FAMILY" - } - ], - "languages": [ - "ENGLISH" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null - }, - "productionYear": 2020, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false - } - } - }, - "stats": { - "userRating": { - "score": 3.78, - "count": 155 - }, - "userReview": { - "count": 14 - }, - "pressReview": { - "score": 3.8, - "count": 5 - }, - "metric": { - "hits": 442208, - "sessions": 195935 - }, - "wantToSeeCount": 455 - }, - "editorialReviews": [], - "releases": [ - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-01", - "precision": "day" - }, - "name": "Svod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDAwOA==", - "internalId": 50008, - "name": "Benshi" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_SVOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-02-08", - "precision": "day" - }, - "name": "Released", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTExMjU2", - "internalId": 1000111256, - "name": "Canal + Kids" - }, - "releaseTags": { - "tagTypes": [ - "TELEVISION" - ], - "tagFlags": null - }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-01-01", - "precision": "day" - }, - "name": "Released", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTEyODEx", - "internalId": 1000112811, - "name": "france.tv" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "REPLAY" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1203, + "name": "Démons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-01-01", - "precision": "day" - }, - "name": "Released", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToyMDA1OQ==", - "internalId": 20059, - "name": "France 5" - }, - "releaseTags": { - "tagTypes": [ - "TELEVISION" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 2514, + "name": "Fantômes / Esprits", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-10-26", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1192, + "name": "Surnaturel / Phénomène surnaturel / Paranormal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-10-26", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-10-26", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-10-26", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615919, + "startsAt": "2026-09-26T22:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190901/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000016503&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:15&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190901/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] }, - "visaNumber": null - }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000028234, + "id": "TW92aWU6MTAwMDAyODIzNA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1MjI5OA==", + "internalId": 9002052298, + "url": "https://fr.web.img6.acsta.net/img/00/20/0020008382daf6b1305be800e8342a72.jpg", + "path": "/img/00/20/0020008382daf6b1305be800e8342a72.jpg" + }, + "title": "Obsession", + "originalTitle": "Obsession", + "type": "FEATURE_FILM", + "runtime": "1h 49min", + "genres": [ { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-10-19", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-10-19", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.92, + "count": 6567 }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-10-19", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null + "userReview": { + "count": 800 }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2025-07-04", - "precision": "day" - }, - "name": "Released", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTEyODEx", - "internalId": 1000112811, - "name": "france.tv" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "REPLAY" - ], - "tagFlags": null - }, - "visaNumber": null + "pressReview": { + "score": 3.88, + "count": 26 + }, + "metric": { + "hits": 1818328, + "sessions": 976986 }, + "wantToSeeCount": 2411 + }, + "editorialReviews": [], + "releases": [ { "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2025-04-09", + "date": "2026-09-15", "precision": "day" }, "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTEwMjA1", - "internalId": 1000110205, - "name": "Cinémutins" + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" }, "releaseTags": { "tagTypes": [ @@ -17244,16 +27162,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2024-07-01", + "date": "2026-09-15", "precision": "day" }, "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" }, "releaseTags": { "tagTypes": [ @@ -17268,16 +27186,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2024-07-01", + "date": "2026-09-15", "precision": "day" }, "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxNjEyMDA2NTA=", + "internalId": 161200650, + "name": "ARTE Boutique" }, "releaseTags": { "tagTypes": [ @@ -17292,79 +27210,7 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2024-07-01", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2024-07-01", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2024-07-01", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2024-07-01", + "date": "2026-09-14", "precision": "day" }, "name": "Vod", @@ -17388,31 +27234,7 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2024-07-01", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2024-07-01", + "date": "2026-09-14", "precision": "day" }, "name": "Vod", @@ -17436,64 +27258,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2024-06-01", - "precision": "day" - }, - "name": "Svod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDAwMg==", - "internalId": 50002, - "name": "myCanal" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_SVOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2023-07-01", - "precision": "day" - }, - "name": "Svod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzc=", - "internalId": 161200037, - "name": "OCS" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_SVOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2022-08-13", + "date": "2026-09-10", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" }, "releaseTags": { "tagTypes": [ @@ -17508,16 +27282,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-08-13", + "date": "2026-09-10", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" }, "releaseTags": { "tagTypes": [ @@ -17532,16 +27306,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-08-01", + "date": "2026-09-10", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" }, "releaseTags": { "tagTypes": [ @@ -17556,16 +27330,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-08-01", + "date": "2026-09-10", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" }, "releaseTags": { "tagTypes": [ @@ -17580,21 +27354,21 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-08-01", + "date": "2026-09-10", "precision": "day" }, - "name": "Vod", + "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxNjEyMDA2NTA=", + "internalId": 161200650, + "name": "ARTE Boutique" }, "releaseTags": { "tagTypes": [ "ONLINE", - "ONLINE_VOD" + "ONLINE_VODEST" ], "tagFlags": null }, @@ -17604,16 +27378,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-08-01", + "date": "2026-09-10", "precision": "day" }, "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" }, "releaseTags": { "tagTypes": [ @@ -17628,40 +27402,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-06-10", - "precision": "day" - }, - "name": "Svod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDAwMg==", - "internalId": 50002, - "name": "myCanal" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_SVOD" - ], - "tagFlags": null - }, - "visaNumber": null - }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2022-02-13", + "date": "2026-09-10", "precision": "day" }, "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" }, "releaseTags": { "tagTypes": [ @@ -17676,16 +27426,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-02-13", + "date": "2026-09-10", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" }, "releaseTags": { "tagTypes": [ @@ -17700,21 +27450,21 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-02-13", + "date": "2026-09-10", "precision": "day" }, - "name": "Vodest", + "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" }, "releaseTags": { "tagTypes": [ "ONLINE", - "ONLINE_VODEST" + "ONLINE_VOD" ], "tagFlags": null }, @@ -17724,16 +27474,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2022-02-13", + "date": "2026-09-09", "precision": "day" }, "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" }, "releaseTags": { "tagTypes": [ @@ -17748,21 +27498,21 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, - "name": "Vodest", + "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" }, "releaseTags": { "tagTypes": [ - "ONLINE_VODEST", - "ONLINE" + "ONLINE", + "ONLINE_VOD" ], "tagFlags": null }, @@ -17772,16 +27522,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" }, "releaseTags": { "tagTypes": [ @@ -17796,16 +27546,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" }, "releaseTags": { "tagTypes": [ @@ -17820,16 +27570,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, "name": "Vod", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" }, "releaseTags": { "tagTypes": [ @@ -17844,21 +27594,21 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, - "name": "Vod", + "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" }, "releaseTags": { "tagTypes": [ "ONLINE", - "ONLINE_VOD" + "ONLINE_VODEST" ], "tagFlags": null }, @@ -17868,21 +27618,21 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, - "name": "Vod", + "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" }, "releaseTags": { "tagTypes": [ - "ONLINE_VOD", - "ONLINE" + "ONLINE", + "ONLINE_VODEST" ], "tagFlags": null }, @@ -17892,21 +27642,21 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, - "name": "Vod", + "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" }, "releaseTags": { "tagTypes": [ "ONLINE", - "ONLINE_VOD" + "ONLINE_VODEST" ], "tagFlags": null }, @@ -17916,16 +27666,16 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-14", + "date": "2026-09-09", "precision": "day" }, "name": "Vodest", "certificate": null, "advice": null, "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" }, "releaseTags": { "tagTypes": [ @@ -17940,320 +27690,878 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2021-10-13", + "date": "2026-05-13", "precision": "day" }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTM0OTk1", - "internalId": 1000134995, - "name": "SOONER" + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-16", + "label": "Interdit - 16 ans" }, + "advice": null, + "companyLimitation": null, "releaseTags": { "tagTypes": [ - "ONLINE", - "ONLINE_VOD" + "THEATER" ], "tagFlags": null }, - "visaNumber": null - }, + "visaNumber": "167414" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 1000014132, + "lastName": "Barker", + "firstName": "Curry", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 767966, + "lastName": "Johnston (II)", + "firstName": "Michael", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 904777, + "lastName": "Navarrette", + "firstName": "Inde", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000014133, + "lastName": "Tomlinson", + "firstName": "Cooper", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 767966, + "lastName": "Johnston (II)", + "firstName": "Michael", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 904777, + "lastName": "Navarrette", + "firstName": "Inde", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000014133, + "lastName": "Tomlinson", + "firstName": "Cooper", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5166, + "name": "Génie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 916, + "name": "Cas de possession", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 6039, + "name": "Thriller psychologique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "thrillers psychologiques", + "subTitle": "films psychologiques", + "description": "Quels sont les meilleurs thrillers psychologiques ? Ces films psychologiques, entre horreur et mystère, explorent les méandres de la psyché humaine avec des films marquants comme celles de David Fincher ou Paul Verhoeven" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 583, + "name": "Obsession", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE_VOD", - "ONLINE" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTM0OTk1", - "internalId": 1000134995, - "name": "SOONER" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTM0OTk1", - "internalId": 1000134995, - "name": "SOONER" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTM0OTk1", - "internalId": 1000134995, - "name": "SOONER" + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": true, + "hasOnlineRelease": true, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950615982, + "startsAt": "2026-09-26T22:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190902/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028234&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:20&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190902/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] }, - "visaNumber": null - }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Les Gheorghiu, un couple roumano-norvégien très pieux, s’installent dans un village au bout d’un fjord. Lorsque le corps enseignant découvre des ecchymoses sur le corps d'un de leurs enfants, le village se demande si leur éducation traditionnelle pourrait en être la cause.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Les Gheorghiu, un couple roumano-norvégien très pieux, s’installent dans un village au bout d’un fjord où ils se lient rapidement d’amitié avec leurs voisins, les Halberg. Les enfants des deux familles deviennent très proches, malgré des éducations différentes. Lorsque le corps enseignant découvre des ecchymoses sur le corps d’Elia, l’aînée des enfants Gheorghiu, la communauté se demande si l’éducation traditionnelle que les enfants Gheorghiu reçoivent de leurs parents pourrait en être la cause." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 188280, + "id": "TW92aWU6MTg4Mjgw", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3Mjk5NA==", + "internalId": 9002072994, + "url": "https://fr.web.img5.acsta.net/img/7d/a3/7da334b5a024f1960d11cefab25107bc.jpg", + "path": "/img/7d/a3/7da334b5a024f1960d11cefab25107bc.jpg" + }, + "title": "Fjord", + "originalTitle": "Fjord", + "type": "FEATURE_FILM", + "runtime": "2h 26min", + "genres": [ { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-13", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE_VODEST", - "ONLINE" - ], - "tagFlags": null - }, - "visaNumber": null + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + } + ], + "languages": [ + "ENGLISH", + "NORWEGIAN", + "ROMANIAN", + "SWEDISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-12", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null - }, - "visaNumber": null + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.95, + "count": 3224 }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-10-12", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null + "userReview": { + "count": 382 }, - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2021-05-19", - "precision": "day" - }, - "name": "ReRelease", - "certificate": null, - "advice": null, - "companyLimitation": null, - "releaseTags": { - "tagTypes": [ - "THEATER" - ], - "tagFlags": [ - "RERUN" - ] - }, - "visaNumber": "153801" + "pressReview": { + "score": 3.95, + "count": 42 + }, + "metric": { + "hits": 1200801, + "sessions": 604492 }, + "wantToSeeCount": 3198 + }, + "editorialReviews": [], + "releases": [ { "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2020-10-21", + "date": "2026-08-19", "precision": "day" }, "name": "Released", - "certificate": null, + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, "advice": null, "companyLimitation": null, "releaseTags": { @@ -18262,16 +28570,16 @@ ], "tagFlags": null }, - "visaNumber": "153801" + "visaNumber": "164373" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 505083, - "lastName": "Lang", - "firstName": "Max", + "internalId": 75342, + "lastName": "Mungiu", + "firstName": "Cristian", "seo": { "__typename": "Seo", "browsable": true @@ -18283,24 +28591,6 @@ "department": "DIRECTION" }, "rank": 1 - }, - { - "person": { - "__typename": "Person", - "internalId": 675817, - "lastName": "Snaddon", - "firstName": "Daniel", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" - }, - "rank": 2 } ], "cast": { @@ -18308,183 +28598,349 @@ "edges": [ { "node": { - "actor": null, - "voiceActor": { - "__typename": "Person", - "internalId": 63234, - "lastName": "Sodoyez", - "firstName": "Colette", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 37634, - "lastName": "Rigg", - "firstName": "Diana", + "internalId": 115090, + "lastName": "Stan", + "firstName": "Sebastian", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 1 } }, { "node": { - "actor": null, - "voiceActor": { - "__typename": "Person", - "internalId": 218325, - "lastName": "Baran", - "firstName": "Maia", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 83617, - "lastName": "Hawkins", - "firstName": "Sally", + "internalId": 554496, + "lastName": "Reinsve", + "firstName": "Renate", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 2 } }, { "node": { - "actor": null, - "voiceActor": { - "__typename": "Person", - "internalId": 20690, - "lastName": "Resimont", - "firstName": "Philippe", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 134107, - "lastName": "Brydon", - "firstName": "Rob", + "internalId": 731687, + "lastName": "Carlehed", + "firstName": "Lisa", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 3 } } ], "nodes": [ { - "actor": null, - "voiceActor": { - "__typename": "Person", - "internalId": 63234, - "lastName": "Sodoyez", - "firstName": "Colette", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "originalVoiceActor": { - "__typename": "Person", - "internalId": 37634, - "lastName": "Rigg", - "firstName": "Diana", + "actor": { + "__typename": "Person", + "internalId": 115090, + "lastName": "Stan", + "firstName": "Sebastian", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 1 }, { - "actor": null, - "voiceActor": { - "__typename": "Person", - "internalId": 218325, - "lastName": "Baran", - "firstName": "Maia", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 83617, - "lastName": "Hawkins", - "firstName": "Sally", + "internalId": 554496, + "lastName": "Reinsve", + "firstName": "Renate", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 2 }, { - "actor": null, - "voiceActor": { - "__typename": "Person", - "internalId": 20690, - "lastName": "Resimont", - "firstName": "Philippe", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "originalVoiceActor": { + "actor": { "__typename": "Person", - "internalId": 134107, - "lastName": "Brydon", - "firstName": "Rob", + "internalId": 731687, + "lastName": "Carlehed", + "firstName": "Lisa", "seo": { "__typename": "Seo", "browsable": true } }, + "voiceActor": null, + "originalVoiceActor": null, "rank": 3 } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5004, - "name": "United Kingdom", - "localizedName": "Grande-Bretagne" - }, - { - "__typename": "Country", - "id": 5165, - "name": "Czech Republic", - "localizedName": "République tchèque" + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5088, + "name": "Romania", + "localizedName": "Roumanie" + }, + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5062, + "name": "Norway", + "localizedName": "Norvège" + }, + { + "__typename": "Country", + "id": 5061, + "name": "Denmark", + "localizedName": "Danemark" + }, + { + "__typename": "Country", + "id": 5069, + "name": "Finland", + "localizedName": "Finlande" + }, + { + "__typename": "Country", + "id": 5067, + "name": "Sweden", + "localizedName": "Suède" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3929, + "name": "Rumeur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5372, + "name": "Norvège", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } }, - { - "__typename": "Country", - "id": 5010, - "name": "Switzerland", - "localizedName": "Suisse" - } - ], - "relatedTags": [ { "__typename": "Tag", - "internalId": 3930, - "name": "Aventures animalières", + "internalId": 319, + "name": "Roumanie", "scope": null, "data": { "seo": { @@ -18544,14 +29000,15 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Location", + "Tag.Localization.Country" ] } }, { "__typename": "Tag", - "internalId": 2440, - "name": "Poissons / Dauphins / Baleines", + "internalId": 1028, + "name": "Palme d'Or - Festival de Cannes", "scope": null, "data": { "seo": { @@ -18611,14 +29068,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Characteristic" ] } }, { "__typename": "Tag", - "internalId": 1262, - "name": "Les animaux ont la parole", + "internalId": 2646, + "name": "Education", "scope": null, "data": { "seo": { @@ -18684,9 +29141,9 @@ }, { "__typename": "Tag", - "internalId": 1000000385, - "name": "AFCAE : Label Jeune Public", - "scope": "TRACKING", + "internalId": 778, + "name": "Conflit", + "scope": null, "data": { "seo": { "browsable": true, @@ -18745,14 +29202,14 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 208, - "name": "Animaux", + "internalId": 586, + "name": "Voisins", "scope": null, "data": { "seo": { @@ -18818,9 +29275,9 @@ }, { "__typename": "Tag", - "internalId": 5260, - "name": "À partir de 3 ans", - "scope": "AGE", + "internalId": 1241, + "name": "Immigration", + "scope": null, "data": { "seo": { "browsable": true, @@ -18879,14 +29336,14 @@ }, "tags": { "list": [ - "Tag.Type.PublicVise" + "Tag.Type.ThemeDeSociete" ] } }, { "__typename": "Tag", - "internalId": 1769, - "name": "Dessin animé et animation", + "internalId": 607, + "name": "Famille / Relation familiale", "scope": null, "data": { "seo": { @@ -18946,7 +29403,7 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Keyword" ] } }, @@ -19021,22 +29478,26 @@ "flags": { "hasDvdRelease": false, "hasNews": true, - "hasOnlineProduct": true, - "hasOnlineRelease": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, "hasPhysicalProduct": false, "hasPreview": false, "hasShowtime": true, "hasSoundtrack": false, "hasTheaterRelease": true, "hasTrivia": true, - "hasAwards": false, + "hasAwards": true, "isLesIndes": true, "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], + "isClubApproved": { + "club300": true + }, + "hasClubNews": { + "club300": true + }, "isComingSoon": false, "isPlayingNow": true, - "tvRelease": true, + "tvRelease": false, "hasTeaser": false, "hasTrailer": true }, @@ -19044,17 +29505,15 @@ "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Précédé de deux courts métrages animés en avant- programme : Le Gnome et Le Nuage Kuap.

Une petite escargote de mer s’ennuie sur le rocher d’un vieux port et rêve de parcourir le monde. Un jour, une grande baleine à bosse lui propose de l’emmener en voyage à travers les océans du globe. Cette amitié insolite nous plonge dans une odyssée fabuleuse au cœur de la nature, de l’infiniment petit à l’infiniment grand.

" + "synopsisFull": "

Les Gheorghiu, un couple roumano-norvégien très pieux, s’installent dans un village au bout d’un fjord où ils se lient rapidement d’amitié avec leurs voisins, les Halberg. Les enfants des deux familles deviennent très proches, malgré des éducations différentes. Lorsque le corps enseignant découvre des ecchymoses sur le corps d’Elia, l’aînée des enfants Gheorghiu, la communauté se demande si l’éducation traditionnelle que les enfants Gheorghiu reçoivent de leurs parents pourrait en être la cause.

" }, "showtimes": { "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ + "original_st": [ { "__typename": "Showtime", - "internalId": 81950615729, - "startsAt": "2026-09-26T16:15:00", + "internalId": 81950616135, + "startsAt": "2026-09-27T10:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -19067,19 +29526,20 @@ "picture": null, "sound": null, "tags": [ - "Localization.Language.French", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "ORIGINAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190864/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S191222/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -19087,7 +29547,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.283811&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:15&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.188280&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:30&code=vost; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -19095,7 +29555,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190864/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S191222/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -19106,13 +29566,15 @@ "isWeeklyMovieOuting": false } ], + "original_sme": [], + "multiple": [], "multiple_st": [], "multiple_sme": [] } }, { "movie": { - "synopsis": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?", + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! ", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -19120,35 +29582,50 @@ "type": "paragraph", "children": [ { - "text": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?" + "text": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard." } ] } ] }, "__typename": "Movie", - "internalId": 327941, - "id": "TW92aWU6MzI3OTQx", + "internalId": 320681, + "id": "TW92aWU6MzIwNjgx", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA0MDk2OA==", - "internalId": 9002040968, - "url": "https://fr.web.img6.acsta.net/img/46/d4/46d4170eaca90b7bd1dae27db18ed739.jpg", - "path": "/img/46/d4/46d4170eaca90b7bd1dae27db18ed739.jpg" + "id": "SW1hZ2U6OTAwMjA3NTEzNw==", + "internalId": 9002075137, + "url": "https://fr.web.img6.acsta.net/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg", + "path": "/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg" }, - "title": "La Vie d'une femme", - "originalTitle": "La Vie d'une femme", + "title": "La Pat' Patrouille : Le film mission Dino", + "originalTitle": "PAW Patrol: The Dino Movie", "type": "FEATURE_FILM", - "runtime": "1h 38min", + "runtime": "1h 28min", "genres": [ { - "id": 13002, - "translate": "Comédie dramatique", - "tag": "COMEDY_DRAMA" + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + }, + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" } ], "languages": [ - "FRENCH" + "ENGLISH" ], "data": { "__typename": "MovieData", @@ -19167,21 +29644,21 @@ }, "stats": { "userRating": { - "score": 3.67, - "count": 1357 + "score": 3.12, + "count": 255 }, "userReview": { - "count": 191 + "count": 47 }, "pressReview": { - "score": 3.68, - "count": 38 + "score": 3.13, + "count": 16 }, "metric": { - "hits": 543924, - "sessions": 292111 + "hits": 480624, + "sessions": 258623 }, - "wantToSeeCount": 1527 + "wantToSeeCount": 295 }, "editorialReviews": [], "releases": [ @@ -19189,7 +29666,103 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-09-09", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-05", "precision": "day" }, "name": "Released", @@ -19206,16 +29779,16 @@ ], "tagFlags": null }, - "visaNumber": "158650" + "visaNumber": "167695" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 738544, - "lastName": "Bourgeois-Tacquet", - "firstName": "Charline", + "internalId": 447317, + "lastName": "Brunker", + "firstName": "Cal", "seo": { "__typename": "Seo", "browsable": true @@ -19234,100 +29807,100 @@ "edges": [ { "node": { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 5084, - "lastName": "Drucker", - "firstName": "Léa", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 1 } }, { "node": { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 21714, - "lastName": "Thierry", - "firstName": "Mélanie", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 2 } }, { "node": { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 14585, - "lastName": "Berling", - "firstName": "Charles", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 3 } } ], "nodes": [ { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 5084, - "lastName": "Drucker", - "firstName": "Léa", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 1 }, { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 21714, - "lastName": "Thierry", - "firstName": "Mélanie", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 2 }, { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 14585, - "lastName": "Berling", - "firstName": "Charles", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 3 } ] @@ -19335,100 +29908,27 @@ "countries": [ { "__typename": "Country", - "id": 5001, - "name": "France", - "localizedName": "France" - }, - { - "__typename": "Country", - "id": 5014, - "name": "Belgium", - "localizedName": "Belgique" + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." } ], "relatedTags": [ { "__typename": "Tag", - "internalId": 1000001736, - "name": "CANNES_2026", - "scope": "TRACKING", - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } - }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } - }, - { - "__typename": "Tag", - "internalId": 988, - "name": "Période de la vie : la cinquantaine", + "internalId": 2453, + "name": "Dinosaures", "scope": null, "data": { "seo": { "browsable": true, - "friendly": false, + "friendly": true, "scope": { "userRating": { "movie": { - "title": null, - "subTitle": null, - "description": null + "title": "films de dinosaures", + "subTitle": "films avec des dinosaures", + "description": "De l’incontournable Jurassic Park à des films d’animation captivants, chaque film de dinosaures transporte petits et grands dans des aventures palpitantes. Découvrez les animaux préhistoriques recréés avec brio, comme dans Jurassic World, ou explorez des classiques qui font revivre les dinosaures à l’écran" }, "series": { "title": null, @@ -19477,14 +29977,14 @@ }, "tags": { "list": [ - "Tag.Type.ThemeDeSociete" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 2781, - "name": "Chirurgie / Chirurgiens / Opération chirurgicale", + "internalId": 3930, + "name": "Aventures animalières", "scope": null, "data": { "seo": { @@ -19550,8 +30050,8 @@ }, { "__typename": "Tag", - "internalId": 760, - "name": "Hôpitaux / Médecins / Cabinet médical", + "internalId": 1262, + "name": "Les animaux ont la parole", "scope": null, "data": { "seo": { @@ -19611,25 +30111,25 @@ }, "tags": { "list": [ - "Tag.Type.Environnement" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 2056, - "name": "Malade et maladie", - "scope": null, + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", "data": { "seo": { "browsable": true, - "friendly": false, + "friendly": true, "scope": { "userRating": { "movie": { - "title": null, - "subTitle": null, - "description": null + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." }, "series": { "title": null, @@ -19684,8 +30184,8 @@ }, { "__typename": "Tag", - "internalId": 414, - "name": "Relation mère / fille", + "internalId": 2166, + "name": "Chien", "scope": null, "data": { "seo": { @@ -19751,8 +30251,8 @@ }, { "__typename": "Tag", - "internalId": 4756, - "name": "Couple en crise", + "internalId": 5265, + "name": "Enfants", "scope": null, "data": { "seo": { @@ -19812,14 +30312,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 4606, - "name": "Rencontre", + "internalId": 2512, + "name": "Suite / Sequel", "scope": null, "data": { "seo": { @@ -19879,15 +30379,15 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 994, - "name": "Portrait de femme", - "scope": null, + "internalId": 5260, + "name": "À partir de 3 ans", + "scope": "AGE", "data": { "seo": { "browsable": true, @@ -19946,14 +30446,14 @@ }, "tags": { "list": [ - "Tag.Type.Characteristic" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 1699, - "name": "Amitié", + "internalId": 1769, + "name": "Dessin animé et animation", "scope": null, "data": { "seo": { @@ -20013,14 +30513,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 5259, - "name": "Art et essai", + "internalId": 5267, + "name": "Famille", "scope": null, "data": { "seo": { @@ -20096,12 +30596,12 @@ "hasSoundtrack": false, "hasTheaterRelease": true, "hasTrivia": true, - "hasAwards": true, - "isLesIndes": true, + "hasAwards": false, + "isLesIndes": false, "isIncontestable": false, "isClubApproved": [], "hasClubNews": [], - "isComingSoon": false, + "isComingSoon": true, "isPlayingNow": true, "tvRelease": false, "hasTeaser": false, @@ -20111,7 +30611,7 @@ "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?

" + "synopsisFull": "

Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard.

" }, "showtimes": { "original": [], @@ -20120,8 +30620,62 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950616139, - "startsAt": "2026-09-26T16:45:00", + "internalId": 81950615721, + "startsAt": "2026-09-27T10:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": [ + "DISABLED_ACCESS" + ], + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Accessible", + "Format.Projection.Digital", + "Theater.Service.DisabledAccess" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/en/V3364S190831/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "en" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=10:45&code=vf; pmr; " + ], + "type": "DESKTOP", + "provider": "relay" + }, + { + "__typename": "Ticketing", + "urls": [ + "https://s.pathe.fr/fr/V3364S190831/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + ], + "type": "DESKTOP", + "provider": "default" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950615755, + "startsAt": "2026-09-27T14:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -20139,14 +30693,14 @@ "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "LOCAL", + "diffusionVersion": "DUBBED", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190869/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190915/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -20154,7 +30708,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.327941&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=16:45&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:30&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -20162,7 +30716,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190869/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190915/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -20179,7 +30733,7 @@ }, { "movie": { - "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -20187,53 +30741,40 @@ "type": "paragraph", "children": [ { - "text": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. Le général Eisenhower et le capitaine James Stagg, météorologue, font alors face à un choix impossible : attaquer malgré l’incertitude… ou risquer de perdre la guerre. " - } - ] - }, - { - "type": "paragraph", - "children": [ - { - "text": "PRESSURE, l’histoire vraie d’un compte à rebours sous haute tension." + "text": "Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…" } ] } ] }, "__typename": "Movie", - "internalId": 1000004458, - "id": "TW92aWU6MTAwMDAwNDQ1OA==", + "internalId": 323826, + "id": "TW92aWU6MzIzODI2", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA4NDA2Mw==", - "internalId": 9002084063, - "url": "https://fr.web.img2.acsta.net/img/92/fb/92fb57911489ab17bfa8ecf0b29712c5.jpg", - "path": "/img/92/fb/92fb57911489ab17bfa8ecf0b29712c5.jpg" + "id": "SW1hZ2U6OTAwMjAwNjM1Ng==", + "internalId": 9002006356, + "url": "https://fr.web.img4.acsta.net/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg", + "path": "/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg" }, - "title": "Pressure", - "originalTitle": "Pressure", + "title": "Les Héros du Louvre", + "originalTitle": "Les Héros du Louvre", "type": "FEATURE_FILM", - "runtime": "1h 40min", + "runtime": "1h 45min", "genres": [ { - "id": 13023, - "translate": "Thriller", - "tag": "THRILLER" + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" }, { "id": 13015, "translate": "Historique", "tag": "HISTORICAL" - }, - { - "id": 13014, - "translate": "Guerre", - "tag": "WARMOVIE" } ], "languages": [ - "ENGLISH" + "FRENCH" ], "data": { "__typename": "MovieData", @@ -20252,21 +30793,21 @@ }, "stats": { "userRating": { - "score": 4.06, - "count": 1526 + "score": 3.18, + "count": 489 }, "userReview": { - "count": 217 + "count": 155 }, "pressReview": { - "score": 3.46, - "count": 24 + "score": 2.5, + "count": 12 }, "metric": { - "hits": 454882, - "sessions": 266553 + "hits": 306458, + "sessions": 170983 }, - "wantToSeeCount": 1777 + "wantToSeeCount": 625 }, "editorialReviews": [], "releases": [ @@ -20291,16 +30832,16 @@ ], "tagFlags": null }, - "visaNumber": "168211" + "visaNumber": "155392" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 766308, - "lastName": "Maras", - "firstName": "Anthony", + "internalId": 30724, + "lastName": "Chouraqui", + "firstName": "Élie", "seo": { "__typename": "Seo", "browsable": true @@ -20321,9 +30862,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 73747, - "lastName": "Scott", - "firstName": "Andrew", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", "seo": { "__typename": "Seo", "browsable": true @@ -20338,9 +30879,9 @@ "node": { "actor": { "__typename": "Person", - "internalId": 18216, - "lastName": "Fraser", - "firstName": "Brendan", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", "seo": { "__typename": "Seo", "browsable": true @@ -20355,87 +30896,416 @@ "node": { "actor": { "__typename": "Person", - "internalId": 101150, - "lastName": "Condon", - "firstName": "Kerry", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", "seo": { "__typename": "Seo", "browsable": true } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6060, + "name": "Histoire vraie pendant la guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 175, + "name": "Musée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 73747, - "lastName": "Scott", - "firstName": "Andrew", - "seo": { - "__typename": "Seo", - "browsable": true + }, + { + "__typename": "Tag", + "internalId": 2454, + "name": "Gardien / Agent de sécurité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 + } }, - { - "actor": { - "__typename": "Person", - "internalId": 18216, - "lastName": "Fraser", - "firstName": "Brendan", - "seo": { - "__typename": "Seo", - "browsable": true + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + } }, - { - "actor": { - "__typename": "Person", - "internalId": 101150, - "lastName": "Condon", - "firstName": "Kerry", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 + "tags": { + "list": [ + "Tag.Type.Time" + ] } - ] - }, - "countries": [ + }, { - "__typename": "Country", - "id": 5004, - "name": "United Kingdom", - "localizedName": "Grande-Bretagne" + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, - { - "__typename": "Country", - "id": 5001, - "name": "France", - "localizedName": "France" - } - ], - "relatedTags": [ { "__typename": "Tag", - "internalId": 5315, - "name": "Dwight Eisenhower", + "internalId": 329, + "name": "Peintres / Peintures / Tableaux / Dessins", "scope": null, "data": { "seo": { @@ -20495,14 +31365,14 @@ }, "tags": { "list": [ - "Tag.Type.HistoricalCharacter" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 816, - "name": "Débarquement allié en Normandie 1945", + "internalId": 1787, + "name": "Sauvetage", "scope": null, "data": { "seo": { @@ -20562,14 +31432,14 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 1270, - "name": "Compte à rebours", + "internalId": 668, + "name": "Adaptation de BD", "scope": null, "data": { "seo": { @@ -20629,25 +31499,25 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.OeuvreDOrigine" ] } }, { "__typename": "Tag", - "internalId": 6060, - "name": "Histoire vraie pendant la guerre", + "internalId": 591, + "name": "Paris", "scope": null, "data": { "seo": { "browsable": true, - "friendly": false, + "friendly": true, "scope": { "userRating": { "movie": { - "title": null, - "subTitle": null, - "description": null + "title": "films à Paris", + "subTitle": "films sur Paris", + "description": "La Ville Lumière brille aussi au cinéma. Découvrez les meilleurs films sur Paris, qu’il s’agisse de comédies romantiques, de drames émouvants ou de thrillers haletants. De \"Midnight in Paris\" à \"Le Fabuleux Destin d’Amélie Poulain\", Paris est le décor parfait" }, "series": { "title": null, @@ -20696,14 +31566,15 @@ }, "tags": { "list": [ - "Tag.Type.Characteristic" + "Tag.Type.Location", + "Tag.Localization.City" ] } }, { "__typename": "Tag", - "internalId": 275, - "name": "Pluie / Orage / Tempête", + "internalId": 855, + "name": "Nazisme / Fascisme", "scope": null, "data": { "seo": { @@ -20763,14 +31634,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Time" ] } }, { "__typename": "Tag", - "internalId": 374, - "name": "Soldat / Militaire", + "internalId": 962, + "name": "Ambiance 30's - années 30", "scope": null, "data": { "seo": { @@ -20830,7 +31701,7 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Time" ] } }, @@ -21034,6 +31905,73 @@ "Tag.Type.Keyword" ] } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } } ], "flags": { @@ -21062,7 +32000,7 @@ "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. Le général Eisenhower et le capitaine James Stagg, météorologue, font alors face à un choix impossible : attaquer malgré l’incertitude… ou risquer de perdre la guerre.

PRESSURE, l’histoire vraie d’un compte à rebours sous haute tension.

" + "synopsisFull": "

Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…

" }, "showtimes": { "original": [], @@ -21071,118 +32009,8 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950615710, - "startsAt": "2026-09-26T17:30:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190874/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=17:30&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190874/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - }, - { - "__typename": "Showtime", - "internalId": 81950615738, - "startsAt": "2026-09-26T19:45:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Greta", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190887/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:45&code=vf; GRETA; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190887/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - }, - { - "__typename": "Showtime", - "internalId": 81950616072, - "startsAt": "2026-09-26T22:30:00", + "internalId": 81950615962, + "startsAt": "2026-09-27T11:00:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -21196,19 +32024,18 @@ "sound": null, "tags": [ "Localization.Language.French", - "Showtime.Accessibility.Greta", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "LOCAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190903/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190838/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -21216,7 +32043,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000004458&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:30&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.323826&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=11:00&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -21224,7 +32051,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190903/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190838/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -21241,7 +32068,7 @@ }, { "movie": { - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "synopsis": "Buzz, Woody, Jessie et le reste de la bande verront leur travail remis en question lorsqu'ils découvriront que ce qui obsède les enfants d'aujourd'hui s’appelle... l'électronique !", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -21249,48 +32076,50 @@ "type": "paragraph", "children": [ { - "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " - } - ] - }, - { - "type": "paragraph", - "children": [ - { - "text": " " + "text": "Buzz, Woody, Jessie et le reste de la bande verront leur travail remis en question lorsqu'ils découvriront que ce qui obsède les enfants d'aujourd'hui s’appelle... l'électronique !" } ] } ] }, "__typename": "Movie", - "internalId": 294281, - "id": "TW92aWU6Mjk0Mjgx", + "internalId": 313256, + "id": "TW92aWU6MzEzMjU2", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA3NDY0NQ==", - "internalId": 9002074645, - "url": "https://fr.web.img5.acsta.net/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg", - "path": "/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg" + "id": "SW1hZ2U6OTAwMjA2NTgxNQ==", + "internalId": 9002065815, + "url": "https://fr.web.img2.acsta.net/img/ba/a6/baa69b8aeb28ddae932549492cb5ed9c.jpg", + "path": "/img/ba/a6/baa69b8aeb28ddae932549492cb5ed9c.jpg" }, - "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "originalTitle": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "title": "Toy Story 5", + "originalTitle": "Toy Story 5", "type": "FEATURE_FILM", - "runtime": "2h 40min", + "runtime": "1h 42min", "genres": [ { - "id": 13023, - "translate": "Thriller", - "tag": "THRILLER" + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" }, { - "id": 13015, - "translate": "Historique", - "tag": "HISTORICAL" + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" } ], "languages": [ - "FRENCH" + "ENGLISH" ], "data": { "__typename": "MovieData", @@ -21299,7 +32128,7 @@ "browsable": true, "title": null }, - "productionYear": 2025, + "productionYear": 2026, "rules": { "rating": { "has_warning_message": false, @@ -21309,29 +32138,269 @@ }, "stats": { "userRating": { - "score": 4.51, - "count": 7964 + "score": 3.97, + "count": 4489 }, "userReview": { - "count": 1146 + "count": 413 }, "pressReview": { - "score": 3.86, - "count": 28 + "score": 3.48, + "count": 29 }, "metric": { - "hits": 2142993, - "sessions": 985333 + "hits": 1197712, + "sessions": 639883 + }, + "wantToSeeCount": 2674 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2028-04-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2028-04-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2027-04-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2027-04-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2027-04-05", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2027-04-05", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-11-05", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-11-05", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "wantToSeeCount": 3322 - }, - "editorialReviews": [], - "releases": [ { "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-06-26", + "date": "2026-06-17", "precision": "day" }, "name": "Released", @@ -21348,16 +32417,16 @@ ], "tagFlags": null }, - "visaNumber": "160148" + "visaNumber": null } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 658205, - "lastName": "Baudry", - "firstName": "Antonin", + "internalId": 22896, + "lastName": "Stanton", + "firstName": "Andrew", "seo": { "__typename": "Seo", "browsable": true @@ -21369,6 +32438,24 @@ "department": "DIRECTION" }, "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 947919, + "lastName": "Harris", + "firstName": "McKenna", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 } ], "cast": { @@ -21376,391 +32463,171 @@ "edges": [ { "node": { - "actor": { - "__typename": "Person", - "internalId": 15884, - "lastName": "Abkarian", - "firstName": "Simon", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - } - }, - { - "node": { - "actor": { + "actor": null, + "voiceActor": { "__typename": "Person", - "internalId": 230890, - "lastName": "Schneider", - "firstName": "Niels", + "internalId": 100192, + "lastName": "Puymartin", + "firstName": "Jean-Philippe", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 - } - }, - { - "node": { - "actor": { + "originalVoiceActor": { "__typename": "Person", - "internalId": 454402, - "lastName": "Vartolomei", - "firstName": "Anamaria", + "internalId": 14100, + "lastName": "Hanks", + "firstName": "Tom", "seo": { "__typename": "Seo", "browsable": true } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 15884, - "lastName": "Abkarian", - "firstName": "Simon", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - }, - { - "actor": { - "__typename": "Person", - "internalId": 230890, - "lastName": "Schneider", - "firstName": "Niels", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 - }, - { - "actor": { - "__typename": "Person", - "internalId": 454402, - "lastName": "Vartolomei", - "firstName": "Anamaria", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5001, - "name": "France", - "localizedName": "France" - }, - { - "__typename": "Country", - "id": 5014, - "name": "Belgium", - "localizedName": "Belgique" - } - ], - "relatedTags": [ - { - "__typename": "Tag", - "internalId": 5276, - "name": "Winston Churchill", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } - }, - "tags": { - "list": [ - "Tag.Type.HistoricalCharacter" - ] - } - }, - { - "__typename": "Tag", - "internalId": 5717, - "name": "Charles de Gaulle", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } + }, + "rank": 1 } }, - "tags": { - "list": [ - "Tag.Type.HistoricalCharacter" - ] - } - }, - { - "__typename": "Tag", - "internalId": 4764, - "name": "Occupation allemande", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } + { + "node": { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 23672, + "lastName": "Darbois", + "firstName": "Richard", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 22914, + "lastName": "Allen", + "firstName": "Tim", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 } }, - "tags": { - "list": [ - "Tag.Type.Time" - ] - } - }, - { - "__typename": "Tag", - "internalId": 1145, - "name": "Collaboration et résistance", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } + { + "node": { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 52483, + "lastName": "Tissier", + "firstName": "Barbara", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 5198, + "lastName": "Cusack", + "firstName": "Joan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 100192, + "lastName": "Puymartin", + "firstName": "Jean-Philippe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 14100, + "lastName": "Hanks", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 }, - "tags": { - "list": [ - "Tag.Type.Time" - ] + { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 23672, + "lastName": "Darbois", + "firstName": "Richard", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 22914, + "lastName": "Allen", + "firstName": "Tim", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": { + "__typename": "Person", + "internalId": 52483, + "lastName": "Tissier", + "firstName": "Barbara", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 5198, + "lastName": "Cusack", + "firstName": "Joan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 } - }, + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ { "__typename": "Tag", - "internalId": 1128, - "name": "Fresque historique", + "internalId": 5790, + "name": "Woody le Cow-boy", "scope": null, "data": { "seo": { @@ -21820,14 +32687,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.HistoricalCharacter" ] } }, { "__typename": "Tag", - "internalId": 5183, - "name": "Londres", + "internalId": 2297, + "name": "Toy Story", "scope": null, "data": { "seo": { @@ -21887,15 +32754,14 @@ }, "tags": { "list": [ - "Tag.Type.Location", - "Tag.Localization.City" + "Tag.Type.Versions" ] } }, { "__typename": "Tag", - "internalId": 5117, - "name": "Bataille / Champ de bataille", + "internalId": 5789, + "name": "Buzz l’éclair", "scope": null, "data": { "seo": { @@ -21955,14 +32821,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.HistoricalCharacter" ] } }, { "__typename": "Tag", - "internalId": 1328, - "name": "Ambiance 40's - années 40", + "internalId": 1171, + "name": "Jouets qui prennent vie", "scope": null, "data": { "seo": { @@ -22022,25 +32888,25 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 5206, - "name": "Personnalités politiques / Politique / Politicien", + "internalId": 1141, + "name": "Pixar", "scope": null, "data": { "seo": { "browsable": true, - "friendly": false, + "friendly": true, "scope": { "userRating": { "movie": { - "title": null, - "subTitle": null, - "description": null + "title": "films Pixar", + "subTitle": "films d'animation Pixar", + "description": "Quels sont les meilleurs Pixar ? Découvrez les meilleurs films d'animation Pixar à voir" }, "series": { "title": null, @@ -22089,14 +32955,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Characteristic" ] } }, { "__typename": "Tag", - "internalId": 5229, - "name": "Seconde Guerre mondiale", + "internalId": 5342, + "name": "Technologie", "scope": null, "data": { "seo": { @@ -22156,14 +33022,14 @@ }, "tags": { "list": [ - "Tag.Type.Time" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 786, - "name": "Biopic / Biographie / Biographie romancée", + "internalId": 1292, + "name": "Suite longtemps attendue", "scope": null, "data": { "seo": { @@ -22223,25 +33089,25 @@ }, "tags": { "list": [ - "Tag.Type.SubGenre" + "Tag.Type.Characteristic" ] } }, { "__typename": "Tag", - "internalId": 908, - "name": "Portrait d'homme", + "internalId": 6035, + "name": "Animation Disney", "scope": null, "data": { "seo": { "browsable": true, - "friendly": false, + "friendly": true, "scope": { "userRating": { "movie": { - "title": null, - "subTitle": null, - "description": null + "title": "films animation Disney", + "subTitle": "films d'animation des studios Disney", + "description": "Quels sont les meilleurs films d'animations des studios Disney ? Découvrez tous les meilleurs longs métrages d'animation des studios Disney" }, "series": { "title": null, @@ -22290,15 +33156,15 @@ }, "tags": { "list": [ - "Tag.Type.Characteristic" + "Tag.Type.Versions" ] } }, { "__typename": "Tag", - "internalId": 4633, - "name": "France", - "scope": null, + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", "data": { "seo": { "browsable": true, @@ -22357,8 +33223,7 @@ }, "tags": { "list": [ - "Tag.Type.Location", - "Tag.Localization.Country" + "Tag.Type.PublicVise" ] } } @@ -22379,7 +33244,7 @@ "isIncontestable": false, "isClubApproved": [], "hasClubNews": [], - "isComingSoon": false, + "isComingSoon": true, "isPlayingNow": true, "tvRelease": false, "hasTeaser": true, @@ -22389,7 +33254,7 @@ "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + "synopsisFull": "

Buzz, Woody, Jessie et le reste de la bande verront leur travail remis en question lorsqu'ils découvriront que ce qui obsède les enfants d'aujourd'hui s’appelle... l'électronique !

" }, "showtimes": { "original": [], @@ -22398,8 +33263,8 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950615788, - "startsAt": "2026-09-26T19:00:00", + "internalId": 81950615988, + "startsAt": "2026-09-27T11:00:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -22418,14 +33283,14 @@ "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "LOCAL", + "diffusionVersion": "DUBBED", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190877/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190841/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -22433,7 +33298,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:00&code=vf; GRETA; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.313256&tags=Localization.Language.French,Showtime.Accessibility.Greta,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=11:00&code=vf; GRETA; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -22441,7 +33306,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190877/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190841/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -22458,7 +33323,7 @@ }, { "movie": { - "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. ", + "synopsis": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -22466,40 +33331,50 @@ "type": "paragraph", "children": [ { - "text": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. " + "text": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour." } ] } ] }, "__typename": "Movie", - "internalId": 1000032856, - "id": "TW92aWU6MTAwMDAzMjg1Ng==", + "internalId": 257425, + "id": "TW92aWU6MjU3NDI1", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA2OTA0Ng==", - "internalId": 9002069046, - "url": "https://fr.web.img5.acsta.net/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg", - "path": "/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg" + "id": "SW1hZ2U6OTAwMjA3ODI1OQ==", + "internalId": 9002078259, + "url": "https://fr.web.img2.acsta.net/img/7a/89/7a89c362c3c4180669ce471a947d2f70.jpg", + "path": "/img/7a/89/7a89c362c3c4180669ce471a947d2f70.jpg" }, - "title": "Tombé du ciel", - "originalTitle": "Tombé du ciel", + "title": "Tad l'explorateur et la lampe magique", + "originalTitle": "Tadeo Jones y la lámpara maravillosa", "type": "FEATURE_FILM", - "runtime": "1h 32min", + "runtime": "1h 35min", "genres": [ { - "id": 13005, - "translate": "Comédie", - "tag": "COMEDY" + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" }, { "id": 13036, "translate": "Famille", "tag": "FAMILY" + }, + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" } ], "languages": [ - "FRENCH" + "SPANISH" ], "data": { "__typename": "MovieData", @@ -22518,21 +33393,21 @@ }, "stats": { "userRating": { - "score": 3.21, - "count": 3059 + "score": 3.37, + "count": 102 }, "userReview": { - "count": 1373 + "count": 15 }, "pressReview": { - "score": 2.57, - "count": 7 + "score": 3.23, + "count": 13 }, "metric": { - "hits": 1351486, - "sessions": 787976 + "hits": 145194, + "sessions": 88218 }, - "wantToSeeCount": 905 + "wantToSeeCount": 142 }, "editorialReviews": [], "releases": [ @@ -22540,7 +33415,7 @@ "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-08-12", + "date": "2026-08-26", "precision": "day" }, "name": "Released", @@ -22557,16 +33432,16 @@ ], "tagFlags": null }, - "visaNumber": "165652" + "visaNumber": "168142" } ], "credits": [ { "person": { "__typename": "Person", - "internalId": 480873, - "lastName": "Hamidi", - "firstName": "Mohamed", + "internalId": 141850, + "lastName": "Gato", + "firstName": "Enrique", "seo": { "__typename": "Seo", "browsable": true @@ -22585,117 +33460,318 @@ "edges": [ { "node": { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 997796, - "lastName": "Djadel", - "firstName": "Ilyes", + "internalId": 574208, + "lastName": "Barberán", + "firstName": "Oscar", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 1 } }, { "node": { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 8124, - "lastName": "Balasko", - "firstName": "Josiane", + "internalId": 265156, + "lastName": "Jenner", + "firstName": "Michelle", "seo": { "__typename": "Seo", "browsable": true } }, - "voiceActor": null, - "originalVoiceActor": null, "rank": 2 } }, { "node": { - "actor": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { "__typename": "Person", - "internalId": 74197, - "lastName": "Testot", - "firstName": "Fred", + "internalId": 531345, + "lastName": "Posada", + "firstName": "Luis", "seo": { "__typename": "Seo", "browsable": true } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 574208, + "lastName": "Barberán", + "firstName": "Oscar", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 265156, + "lastName": "Jenner", + "firstName": "Michelle", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 531345, + "lastName": "Posada", + "firstName": "Luis", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5017, + "name": "Spain", + "localizedName": "Espagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5166, + "name": "Génie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 997796, - "lastName": "Djadel", - "firstName": "Ilyes", - "seo": { - "__typename": "Seo", - "browsable": true + }, + { + "__typename": "Tag", + "internalId": 443, + "name": "Centre commercial / Supermarché / Marché", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 + } }, - { - "actor": { - "__typename": "Person", - "internalId": 8124, - "lastName": "Balasko", - "firstName": "Josiane", - "seo": { - "__typename": "Seo", - "browsable": true + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + } }, - { - "actor": { - "__typename": "Person", - "internalId": 74197, - "lastName": "Testot", - "firstName": "Fred", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 + "tags": { + "list": [ + "Tag.Type.Keyword" + ] } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5001, - "name": "France", - "localizedName": "France" - } - ], - "relatedTags": [ + }, { "__typename": "Tag", - "internalId": 1142, - "name": "Ecole religieuse", + "internalId": 5246, + "name": "Voyage dans le temps", "scope": null, "data": { "seo": { @@ -22755,14 +33831,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Ambiance" ] } }, { "__typename": "Tag", - "internalId": 831, - "name": "Pensionnat", + "internalId": 200, + "name": "Voyage", "scope": null, "data": { "seo": { @@ -22828,8 +33904,8 @@ }, { "__typename": "Tag", - "internalId": 4061, - "name": "Humoriste", + "internalId": 3721, + "name": "Aventurier / Aventurière", "scope": null, "data": { "seo": { @@ -22895,8 +33971,8 @@ }, { "__typename": "Tag", - "internalId": 2047, - "name": "Religion / Prière et lieux de cultes", + "internalId": 5265, + "name": "Enfants", "scope": null, "data": { "seo": { @@ -22956,14 +34032,14 @@ }, "tags": { "list": [ - "Tag.Type.Environnement" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 3466, - "name": "Professeur / Enseignant", + "internalId": 2512, + "name": "Suite / Sequel", "scope": null, "data": { "seo": { @@ -23023,15 +34099,15 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 2068, - "name": "Pape / Prêtre / Curé / Moine / Bonne soeur / Religieux", - "scope": null, + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", "data": { "seo": { "browsable": true, @@ -23090,14 +34166,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 5257, - "name": "Rire", + "internalId": 1769, + "name": "Dessin animé et animation", "scope": null, "data": { "seo": { @@ -23157,14 +34233,14 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.SubGenre" ] } }, { "__typename": "Tag", - "internalId": 2703, - "name": "Situation comique / Gag", + "internalId": 5267, + "name": "Famille", "scope": null, "data": { "seo": { @@ -23224,7 +34300,7 @@ }, "tags": { "list": [ - "Tag.Type.Ambiance" + "Tag.Type.PublicVise" ] } } @@ -23240,7 +34316,7 @@ "hasSoundtrack": false, "hasTheaterRelease": true, "hasTrivia": true, - "hasAwards": true, + "hasAwards": false, "isLesIndes": false, "isIncontestable": false, "isClubApproved": [], @@ -23255,7 +34331,7 @@ "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres.

" + "synopsisFull": "

Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié… Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.

" }, "showtimes": { "original": [], @@ -23264,8 +34340,8 @@ "multiple": [ { "__typename": "Showtime", - "internalId": 81950616090, - "startsAt": "2026-09-26T19:10:00", + "internalId": 81950616102, + "startsAt": "2026-09-27T14:00:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -23283,14 +34359,14 @@ "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "LOCAL", + "diffusionVersion": "DUBBED", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190878/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S190914/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -23298,7 +34374,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:10&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.257425&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=14:00&code=vf; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -23306,7 +34382,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190878/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S190914/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -23323,7 +34399,7 @@ }, { "movie": { - "synopsis": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...", + "synopsis": "", "synopsis_json": { "__typename": "BodyJson", "body": [ @@ -23331,44 +34407,31 @@ "type": "paragraph", "children": [ { - "text": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé..." - } - ] - }, - { - "type": "paragraph", - "children": [ - { - "text": "" + "text": "Au XXIème siècle, où règnent la violence et le sexe, Alex, jeune chef de bande, exerce avec sadisme une terreur aveugle. Après son emprisonnement, des psychanalystes l'emploient comme cobaye dans des expériences destinées à juguler la criminalité..." } ] } ] }, "__typename": "Movie", - "internalId": 1000014969, - "id": "TW92aWU6MTAwMDAxNDk2OQ==", + "internalId": 260, + "id": "TW92aWU6MjYw", "poster": { "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA5Mzg2OQ==", - "internalId": 9002093869, - "url": "https://fr.web.img3.acsta.net/img/49/53/4953b0ca2f415faf7afb40c6cf9c1cf5.jpg", - "path": "/img/49/53/4953b0ca2f415faf7afb40c6cf9c1cf5.jpg" + "id": "SW1hZ2U6OTAwMTY3ODI2Mg==", + "internalId": 9001678262, + "url": "https://fr.web.img6.acsta.net/medias/nmedia/18/36/25/34/18465555.jpg", + "path": "/medias/nmedia/18/36/25/34/18465555.jpg" }, - "title": "The Dog Stars", - "originalTitle": "The Dog Stars", + "title": "Orange mécanique", + "originalTitle": "A Clockwork Orange", "type": "FEATURE_FILM", - "runtime": "1h 59min", + "runtime": "2h 16min", "genres": [ { - "id": 13001, - "translate": "Aventure", - "tag": "ADVENTURE" - }, - { - "id": 13023, - "translate": "Thriller", - "tag": "THRILLER" + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" }, { "id": 13008, @@ -23386,7 +34449,7 @@ "browsable": true, "title": null }, - "productionYear": 2026, + "productionYear": 1971, "rules": { "rating": { "has_warning_message": false, @@ -23396,1714 +34459,1246 @@ }, "stats": { "userRating": { - "score": 3.25, - "count": 1732 + "score": 4.17, + "count": 47928 }, "userReview": { - "count": 293 + "count": 1396 + }, + "pressReview": { + "score": 4.8, + "count": 5 + }, + "metric": { + "hits": 2557003, + "sessions": 1341687 + }, + "wantToSeeCount": 5082 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-04-25", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyNDQy", + "internalId": 1000112442, + "name": "HBO Max" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-01-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-01-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-01-31", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-01-31", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2023-05-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMTE=", + "internalId": 161200011, + "name": "Filmo" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2023-05-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMTE=", + "internalId": 161200011, + "name": "Filmo" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2023-03-04", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA2NTA=", + "internalId": 161200650, + "name": "ARTE Boutique" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2023-03-04", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA2NTA=", + "internalId": 161200650, + "name": "ARTE Boutique" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-11-02", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null }, - "pressReview": { - "score": 2.66, - "count": 29 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-11-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "metric": { - "hits": 624263, - "sessions": 370939 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-11-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "wantToSeeCount": 2147 - }, - "editorialReviews": [], - "releases": [ { "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-08-26", + "date": "2022-02-01", "precision": "day" }, - "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "UA", - "label": "Tout public avec avertissement" + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" }, - "advice": "Des scènes violentes de combat et des images montrant de nombreux cadavres sont susceptibles d'impressionner un jeune public.", - "companyLimitation": null, "releaseTags": { "tagTypes": [ - "THEATER" + "ONLINE", + "ONLINE_VOD" ], "tagFlags": null }, - "visaNumber": "167731" - } - ], - "credits": [ + "visaNumber": null + }, { - "person": { - "__typename": "Person", - "internalId": 258, - "lastName": "Scott", - "firstName": "Ridley", - "seo": { - "__typename": "Seo", - "browsable": true - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-02-01", + "precision": "day" }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" }, - "rank": 1 - } - ], - "cast": { - "__typename": "castMemberConnection", - "edges": [ - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 838641, - "lastName": "Elordi", - "firstName": "Jacob", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - } + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 646619, - "lastName": "Qualley", - "firstName": "Margaret", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 - } + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2021-03-26", + "precision": "day" }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 3146, - "lastName": "Brolin", - "firstName": "Josh", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 838641, - "lastName": "Elordi", - "firstName": "Jacob", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo0MzUyMQ==", + "internalId": 43521, + "name": "Salto" }, - { - "actor": { - "__typename": "Person", - "internalId": 646619, - "lastName": "Qualley", - "firstName": "Margaret", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + "releaseTags": { + "tagTypes": [ + "ONLINE_SVOD", + "ONLINE" + ], + "tagFlags": null }, - { - "actor": { - "__typename": "Person", - "internalId": 3146, - "lastName": "Brolin", - "firstName": "Josh", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - ] - }, - "countries": [ + "visaNumber": null + }, { - "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." - } - ], - "relatedTags": [ + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-05-10", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA4NTI=", + "internalId": 161200852, + "name": "LaCinetek" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, { - "__typename": "Tag", - "internalId": 6055, - "name": "Un virus ravageur", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": true, - "scope": { - "userRating": { - "movie": { - "title": "films de virus et de contagion", - "subTitle": "films de contamination et de pandémie", - "description": "Quels sont les meilleurs films de virus et de contagion ? Découvrez les meilleurs films de contamination et de pandémie d'après une sélection de la rédaction." - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-05-10", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA4NTI=", + "internalId": 161200852, + "name": "LaCinetek" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 692, - "name": "Survivants / Rescapés", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-05-10", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA4NTI=", + "internalId": 161200852, + "name": "LaCinetek" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 1815, - "name": "Pilote", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-05-10", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA4NTI=", + "internalId": 161200852, + "name": "LaCinetek" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-11-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 5371, - "name": "Dystopie", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-11-01", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.SubGenre" - ] - } + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 1100, - "name": "Monde post-apocalyptique", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": true, - "scope": { - "userRating": { - "movie": { - "title": "films post-apocalyptiques", - "subTitle": "films ayant pour thématique les survivants de l'apocalypse", - "description": "Plongez dans l'univers captivant des films post-apocalyptiques, où la Terre, ravagée par la guerre ou la science, devient le théâtre de luttes pour l'humanité. Du chaos de Mad Max de George Miller à la révolte des singes, les films post-apocalyptiques explorent les meilleurs récits de cinéma où des survivants traversent un monde en ruines" - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-11-01", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 289, - "name": "Nature et vie sauvage", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-11-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 691, - "name": "Anticipation / Futur / Avenir proche", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-12-14", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Time" - ] - } + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 5222, - "name": "Road Movie", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-12-14", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.SubGenre" - ] - } + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTM0OTk1", + "internalId": 1000134995, + "name": "SOONER" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 2166, - "name": "Chien", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-01-13", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 250, - "name": "Solitude - solitaire", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-01-13", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 1499, - "name": "Adaptation de roman", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-01-13", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.OeuvreDOrigine" - ] - } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": false, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": false - }, - "synopsisFull": "

Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...

" - }, - "showtimes": { - "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-01-12", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-01-12", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, { - "__typename": "Showtime", - "internalId": 81950615717, - "startsAt": "2026-09-26T22:10:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190899/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000014969&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:10&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190899/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-01-12", + "precision": "day" }, - "isPreview": false, - "isWeeklyMovieOuting": false - } - ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ - { - "text": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu." - } - ] - } - ] - }, - "__typename": "Movie", - "internalId": 1000016503, - "id": "TW92aWU6MTAwMDAxNjUwMw==", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA0MzA3Mg==", - "internalId": 9002043072, - "url": "https://fr.web.img5.acsta.net/img/ec/35/ec35f784920486fc0e3ff35b7aa4fc41.jpg", - "path": "/img/ec/35/ec35f784920486fc0e3ff35b7aa4fc41.jpg" - }, - "title": "Insidious : l'invasion du lointain", - "originalTitle": "Insidious: Out of the Further", - "type": "FEATURE_FILM", - "runtime": "1h 46min", - "genres": [ + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, { - "id": 13009, - "translate": "Epouvante-horreur", - "tag": "HORROR" - } - ], - "languages": [ - "ENGLISH" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2017-01-12", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "productionYear": 2026, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false - } - } - }, - "stats": { - "userRating": { - "score": 2.64, - "count": 570 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2016-07-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, - "userReview": { - "count": 105 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2016-02-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "pressReview": { - "score": 2, - "count": 3 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2016-02-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null }, - "metric": { - "hits": 279281, - "sessions": 170390 + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2015-01-16", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null }, - "wantToSeeCount": 553 - }, - "editorialReviews": [], - "releases": [ { "__typename": "MovieRelease", "releaseDate": { "__typename": "PartialDate", - "date": "2026-08-19", + "date": "2015-01-16", "precision": "day" }, - "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "-12A", - "label": "Interdit - 12 ans avec avertissement" + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" }, - "advice": "Certaines scènes réalistes de maltraitance sur une jeune enfant et de sévices physiques sont susceptibles d'impressionner un jeune public.", - "companyLimitation": null, "releaseTags": { "tagTypes": [ - "THEATER" + "ONLINE", + "ONLINE_VODEST" ], "tagFlags": null }, "visaNumber": null - } - ], - "credits": [ + }, { - "person": { - "__typename": "Person", - "internalId": 108591, - "lastName": "Chase", - "firstName": "Jacob", - "seo": { - "__typename": "Seo", - "browsable": true - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2009-11-01", + "precision": "day" }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMTE=", + "internalId": 161200011, + "name": "Filmo" }, - "rank": 1 - } - ], - "cast": { - "__typename": "castMemberConnection", - "edges": [ - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 885129, - "lastName": "Eve", - "firstName": "Amelia", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - } + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 1000057308, - "lastName": "Austin", - "firstName": "Island", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 - } + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2007-12-12", + "precision": "day" }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 27870, - "lastName": "Shaye", - "firstName": "Lin", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 885129, - "lastName": "Eve", - "firstName": "Amelia", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" }, - { - "actor": { - "__typename": "Person", - "internalId": 1000057308, - "lastName": "Austin", - "firstName": "Island", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null }, - { - "actor": { - "__typename": "Person", - "internalId": 27870, - "lastName": "Shaye", - "firstName": "Lin", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } - ] - }, - "countries": [ + "visaNumber": null + }, { - "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." - } - ], - "relatedTags": [ + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2007-12-12", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, { - "__typename": "Tag", - "internalId": 5340, - "name": "Insidious", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2007-12-12", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" }, - "tags": { - "list": [ - "Tag.Type.Versions" - ] - } + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 1158, - "name": "Maison hantée", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2007-12-12", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Environnement" - ] - } + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 1509, - "name": "Monde parallèle", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "1999-06-29", + "precision": "day" }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } + "name": "Dvd", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_DVD" + ], + "tagFlags": null + }, + "visaNumber": null }, { - "__typename": "Tag", - "internalId": 148, - "name": "Malédiction", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - } - } - } + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "1999-06-29", + "precision": "day" + }, + "name": "Dvd", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_DVD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "1972-04-21", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-16", + "label": "Interdit - 16 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } - }, + "visaNumber": "39 512" + } + ], + "credits": [ { - "__typename": "Tag", - "internalId": 1203, - "name": "Démons", - "scope": null, - "data": { + "person": { + "__typename": "Person", + "internalId": 520, + "lastName": "Kubrick", + "firstName": "Stanley", "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 930, + "lastName": "McDowell", + "firstName": "Malcolm", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 } }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } - }, - { - "__typename": "Tag", - "internalId": 2514, - "name": "Fantômes / Esprits", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 522, + "lastName": "Magee", + "firstName": "Patrick", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 } }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] - } - }, - { - "__typename": "Tag", - "internalId": 1192, - "name": "Surnaturel / Phénomène surnaturel / Paranormal", - "scope": null, - "data": { - "seo": { - "browsable": true, - "friendly": false, - "scope": { - "userRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "pressRating": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "popularity": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } - }, - "ranking": { - "movie": { - "title": null, - "subTitle": null, - "description": null - }, - "series": { - "title": null, - "subTitle": null, - "description": null - } + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 931, + "lastName": "Bates", + "firstName": "Michael", + "seo": { + "__typename": "Seo", + "browsable": true } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 930, + "lastName": "McDowell", + "firstName": "Malcolm", + "seo": { + "__typename": "Seo", + "browsable": true } - } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 }, - "tags": { - "list": [ - "Tag.Type.Keyword" - ] + { + "actor": { + "__typename": "Person", + "internalId": 522, + "lastName": "Magee", + "firstName": "Patrick", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 931, + "lastName": "Bates", + "firstName": "Michael", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5004, + "name": "United Kingdom", + "localizedName": "Grande-Bretagne" }, + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ { "__typename": "Tag", - "internalId": 1679, - "name": "Peur", + "internalId": 1195, + "name": "TOP 100 American Film Institute - 1998", "scope": null, "data": { "seo": { @@ -25163,14 +35758,14 @@ }, "tags": { "list": [ - "Tag.Type.Ambiance" + "Tag.Type.Garbage" ] } }, { "__typename": "Tag", - "internalId": 5254, - "name": "Frissons", + "internalId": 6057, + "name": "Etrange, bizarre ou glauque", "scope": null, "data": { "seo": { @@ -25230,14 +35825,14 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.Ambiance" ] } }, { "__typename": "Tag", - "internalId": 5275, - "name": "Jeunes adultes", + "internalId": 1421, + "name": "Incruste", "scope": null, "data": { "seo": { @@ -25295,892 +35890,1826 @@ } } }, - "tags": { - "list": [ - "Tag.Type.PublicVise" - ] - } - } - ], - "flags": { - "hasDvdRelease": false, - "hasNews": true, - "hasOnlineProduct": false, - "hasOnlineRelease": false, - "hasPhysicalProduct": false, - "hasPreview": false, - "hasShowtime": true, - "hasSoundtrack": false, - "hasTheaterRelease": true, - "hasTrivia": true, - "hasAwards": false, - "isLesIndes": false, - "isIncontestable": false, - "isClubApproved": [], - "hasClubNews": [], - "isComingSoon": false, - "isPlayingNow": true, - "tvRelease": false, - "hasTeaser": false, - "hasTrailer": true - }, - "customFlags": { - "isPremiere": false, - "weeklyOuting": false - }, - "synopsisFull": "

Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.

" - }, - "showtimes": { - "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ - { - "__typename": "Showtime", - "internalId": 81950615919, - "startsAt": "2026-09-26T22:15:00", - "timeBeforeStart": "PT0H0M0S", - "service": [ - "DISABLED_ACCESS" - ], - "experience": null, - "comfort": null, - "projection": [ - "DIGITAL" - ], - "picture": null, - "sound": null, - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "diffusionVersion": "DUBBED", - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/en/V3364S190901/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "en" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000016503&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:15&code=vf; pmr; " - ], - "type": "DESKTOP", - "provider": "relay" - }, - { - "__typename": "Ticketing", - "urls": [ - "https://s.pathe.fr/fr/V3364S190901/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ], - "type": "DESKTOP", - "provider": "default" - } - ] - }, - "isPreview": false, - "isWeeklyMovieOuting": false - } - ], - "multiple_st": [], - "multiple_sme": [] - } - }, - { - "movie": { - "synopsis": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !", - "synopsis_json": { - "__typename": "BodyJson", - "body": [ - { - "type": "paragraph", - "children": [ - { - "text": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !" - } - ] - } - ] - }, - "__typename": "Movie", - "internalId": 1000028234, - "id": "TW92aWU6MTAwMDAyODIzNA==", - "poster": { - "__typename": "InternalImage", - "id": "SW1hZ2U6OTAwMjA1MjI5OA==", - "internalId": 9002052298, - "url": "https://fr.web.img6.acsta.net/img/00/20/0020008382daf6b1305be800e8342a72.jpg", - "path": "/img/00/20/0020008382daf6b1305be800e8342a72.jpg" - }, - "title": "Obsession", - "originalTitle": "Obsession", - "type": "FEATURE_FILM", - "runtime": "1h 49min", - "genres": [ - { - "id": 13009, - "translate": "Epouvante-horreur", - "tag": "HORROR" - } - ], - "languages": [ - "ENGLISH" - ], - "data": { - "__typename": "MovieData", - "seo": { - "__typename": "Seo", - "browsable": true, - "title": null - }, - "productionYear": 2026, - "rules": { - "rating": { - "has_warning_message": false, - "has_mandatory_review": false - } - } - }, - "stats": { - "userRating": { - "score": 3.92, - "count": 6566 - }, - "userReview": { - "count": 800 - }, - "pressReview": { - "score": 3.88, - "count": 26 - }, - "metric": { - "hits": 1818328, - "sessions": 976986 - }, - "wantToSeeCount": 2412 - }, - "editorialReviews": [], - "releases": [ - { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-15", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null - }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-15", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1531, + "name": "Top 100 British Film Institute 1999", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Garbage" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-15", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA2NTA=", - "internalId": 161200650, - "name": "ARTE Boutique" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1023, + "name": "Yeux / Oeil", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-14", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" + "__typename": "Tag", + "internalId": 1417, + "name": "les 20 meilleurs films de science-fiction selon Wired", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "tags": { + "list": [ + "Tag.Type.Garbage" + ] + } + }, + { + "__typename": "Tag", + "internalId": 261, + "name": "Folie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-14", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 2559, + "name": "Tag et graffiti", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTM0OTk1", - "internalId": 1000134995, - "name": "SOONER" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTEyODQ2", - "internalId": 1000112846, - "name": "Pathé Home" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 924, + "name": "Trash", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI4MA==", - "internalId": 50280, - "name": "PremiereMax" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1185, + "name": "Films cultes de Quentin Tarantino", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTEyODQ2", - "internalId": 1000112846, - "name": "Pathé Home" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 5371, + "name": "Dystopie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA2NTA=", - "internalId": 161200650, - "name": "ARTE Boutique" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 6045, + "name": "Film avec un psychopathe", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films avec des psychopathes", + "subTitle": "films de psychopathes", + "description": "Quels sont les meilleurs films de psychopathes ? Découvrez les meilleurs films avec des psychopathes d'après une sélection de la rédaction" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTM0OTk1", - "internalId": 1000134995, - "name": "SOONER" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1107, + "name": "Films controversés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTEyODQ2", - "internalId": 1000112846, - "name": "Pathé Home" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 6058, + "name": "Film américain culte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films cultes américains", + "subTitle": "films US cultes", + "description": "Quels sont les meilleurs films cultes américains ? Découvrez les films US incontournables d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDI3NQ==", - "internalId": 50275, - "name": "VIVA" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1434, + "name": "Long plan-séquence", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-10", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxMDAwMTEyODQ2", - "internalId": 1000112846, - "name": "Pathé Home" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 5249, + "name": "Choc", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 4887, + "name": "Cameo du réalisateur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 6050, + "name": "Méchant emblématique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films avec des méchants emblématiques", + "subTitle": "films avec des méchants emblématiques", + "description": "Quels sont les meilleurs films avec des méchants emblématiques ? Découvrez les films avec les meilleurs méchants du cinéma d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 930, + "name": "Films contenant des scènes difficiles", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDA5MDA=", - "internalId": 161200900, - "name": "Canal VOD" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 3727, + "name": "Armes insolites / Rares", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vod", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VOD" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 951, + "name": "Violence extrême", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1000001523, + "name": "Films : Les Incontournables", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": null, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueToxNjEyMDAwMzA=", - "internalId": 161200030, - "name": "Orange" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 1422, + "name": "Nouvel Hollywood", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 691, + "name": "Anticipation / Futur / Avenir proche", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.Time" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-09-09", - "precision": "day" - }, - "name": "Vodest", - "certificate": null, - "advice": null, - "companyLimitation": { - "id": "Q29tcGFueTo1MDIwOQ==", - "internalId": 50209, - "name": "Rakuten TV" - }, - "releaseTags": { - "tagTypes": [ - "ONLINE", - "ONLINE_VODEST" - ], - "tagFlags": null + "__typename": "Tag", + "internalId": 517, + "name": "Viol", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } }, - "visaNumber": null + "tags": { + "list": [ + "Tag.Type.ThemeDeSociete" + ] + } }, { - "__typename": "MovieRelease", - "releaseDate": { - "__typename": "PartialDate", - "date": "2026-05-13", - "precision": "day" - }, - "name": "Released", - "certificate": { - "__typename": "Certificate", - "code": "-16", - "label": "Interdit - 16 ans" - }, - "advice": null, - "companyLimitation": null, - "releaseTags": { - "tagTypes": [ - "THEATER" - ], - "tagFlags": null - }, - "visaNumber": "167414" - } - ], - "credits": [ - { - "person": { - "__typename": "Person", - "internalId": 1000014132, - "lastName": "Barker", - "firstName": "Curry", + "__typename": "Tag", + "internalId": 933, + "name": "Musique culte", + "scope": null, + "data": { "seo": { - "__typename": "Seo", - "browsable": true + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } } }, - "position": { - "__typename": "Position", - "name": "DIRECTOR", - "department": "DIRECTION" - }, - "rank": 1 - } - ], - "cast": { - "__typename": "castMemberConnection", - "edges": [ - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 767966, - "lastName": "Johnston (II)", - "firstName": "Michael", - "seo": { - "__typename": "Seo", - "browsable": true + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 473, + "name": "Prison / Prisonnier / Maison de correction", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 + } } }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 904777, - "lastName": "Navarrette", - "firstName": "Inde", - "seo": { - "__typename": "Seo", - "browsable": true + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1548, + "name": "Voix-off", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + } } }, - { - "node": { - "actor": { - "__typename": "Person", - "internalId": 1000014133, - "lastName": "Tomlinson", - "firstName": "Cooper", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 - } + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] } - ], - "nodes": [ - { - "actor": { - "__typename": "Person", - "internalId": 767966, - "lastName": "Johnston (II)", - "firstName": "Michael", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 1 - }, - { - "actor": { - "__typename": "Person", - "internalId": 904777, - "lastName": "Navarrette", - "firstName": "Inde", - "seo": { - "__typename": "Seo", - "browsable": true + }, + { + "__typename": "Tag", + "internalId": 920, + "name": "Film culte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films cultes", + "subTitle": null, + "description": "Quels sont les meilleurs films cultes ? Découvrez les films incontournables à voir d'après une sélection de la rédaction" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 2 + } }, - { - "actor": { - "__typename": "Person", - "internalId": 1000014133, - "lastName": "Tomlinson", - "firstName": "Cooper", - "seo": { - "__typename": "Seo", - "browsable": true - } - }, - "voiceActor": null, - "originalVoiceActor": null, - "rank": 3 + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] } - ] - }, - "countries": [ - { - "__typename": "Country", - "id": 5002, - "name": "USA", - "localizedName": "U.S.A." - } - ], - "relatedTags": [ + }, { "__typename": "Tag", - "internalId": 5166, - "name": "Génie", + "internalId": 5263, + "name": "Cinéphile", "scope": null, "data": { "seo": { @@ -26240,15 +37769,15 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 916, - "name": "Cas de possession", - "scope": null, + "internalId": 1000000386, + "name": "AFCAE : Label Patrimoine et Répertoire", + "scope": "TRACKING", "data": { "seo": { "browsable": true, @@ -26307,25 +37836,25 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 6039, - "name": "Thriller psychologique", + "internalId": 362, + "name": "Meurtre / Assassinat", "scope": null, "data": { "seo": { "browsable": true, - "friendly": true, + "friendly": false, "scope": { "userRating": { "movie": { - "title": "thrillers psychologiques", - "subTitle": "films psychologiques", - "description": "Quels sont les meilleurs thrillers psychologiques ? Ces films psychologiques, entre horreur et mystère, explorent les méandres de la psyché humaine avec des films marquants comme celles de David Fincher ou Paul Verhoeven" + "title": null, + "subTitle": null, + "description": null }, "series": { "title": null, @@ -26374,14 +37903,14 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.Keyword" ] } }, { "__typename": "Tag", - "internalId": 583, - "name": "Obsession", + "internalId": 5478, + "name": "Psychologies", "scope": null, "data": { "seo": { @@ -26441,14 +37970,14 @@ }, "tags": { "list": [ - "Tag.Type.Keyword" + "Tag.Type.Envies" ] } }, { "__typename": "Tag", - "internalId": 1679, - "name": "Peur", + "internalId": 1499, + "name": "Adaptation de roman", "scope": null, "data": { "seo": { @@ -26508,14 +38037,14 @@ }, "tags": { "list": [ - "Tag.Type.Ambiance" + "Tag.Type.OeuvreDOrigine" ] } }, { "__typename": "Tag", - "internalId": 5254, - "name": "Frissons", + "internalId": 5272, + "name": "Parents", "scope": null, "data": { "seo": { @@ -26575,14 +38104,14 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 5324, - "name": "Adrénaline", + "internalId": 5275, + "name": "Jeunes adultes", "scope": null, "data": { "seo": { @@ -26642,14 +38171,14 @@ }, "tags": { "list": [ - "Tag.Type.Envies" + "Tag.Type.PublicVise" ] } }, { "__typename": "Tag", - "internalId": 5275, - "name": "Jeunes adultes", + "internalId": 5259, + "name": "Art et essai", "scope": null, "data": { "seo": { @@ -26715,42 +38244,40 @@ } ], "flags": { - "hasDvdRelease": false, + "hasDvdRelease": true, "hasNews": true, "hasOnlineProduct": true, "hasOnlineRelease": true, - "hasPhysicalProduct": false, + "hasPhysicalProduct": true, "hasPreview": false, "hasShowtime": true, "hasSoundtrack": false, "hasTheaterRelease": true, "hasTrivia": true, "hasAwards": true, - "isLesIndes": false, - "isIncontestable": false, + "isLesIndes": true, + "isIncontestable": true, "isClubApproved": [], "hasClubNews": [], "isComingSoon": false, - "isPlayingNow": true, + "isPlayingNow": false, "tvRelease": false, - "hasTeaser": true, + "hasTeaser": false, "hasTrailer": true }, "customFlags": { "isPremiere": false, "weeklyOuting": false }, - "synopsisFull": "

Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui… jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !

" + "synopsisFull": "

Au XXIème siècle, où règnent la violence et le sexe, Alex, jeune chef de bande, exerce avec sadisme une terreur aveugle. Après son emprisonnement, des psychanalystes l'emploient comme cobaye dans des expériences destinées à juguler la criminalité...

" }, "showtimes": { "original": [], - "original_st": [], - "original_sme": [], - "multiple": [ + "original_st": [ { "__typename": "Showtime", - "internalId": 81950615982, - "startsAt": "2026-09-26T22:20:00", + "internalId": 81823385274, + "startsAt": "2026-09-27T19:30:00", "timeBeforeStart": "PT0H0M0S", "service": [ "DISABLED_ACCESS" @@ -26763,19 +38290,20 @@ "picture": null, "sound": null, "tags": [ - "Localization.Language.French", + "Localization.Version.Original", + "Showtime.Accessibility.Subtitled", "Showtime.Accessibility.Accessible", "Format.Projection.Digital", "Theater.Service.DisabledAccess" ], - "diffusionVersion": "DUBBED", + "diffusionVersion": "ORIGINAL", "data": { "__typename": "ShowtimeData", "ticketing": [ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/en/V3364S190902/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/en/V3364S188142/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "en" @@ -26783,7 +38311,7 @@ { "__typename": "Ticketing", "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000028234&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=22:20&code=vf; pmr; " + "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.260&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260927&perft=19:30&code=vost; pmr; " ], "type": "DESKTOP", "provider": "relay" @@ -26791,7 +38319,7 @@ { "__typename": "Ticketing", "urls": [ - "https://s.pathe.fr/fr/V3364S190902/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" + "https://s.pathe.fr/fr/V3364S188142/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" ], "type": "DESKTOP", "provider": "default" @@ -26802,6 +38330,8 @@ "isWeeklyMovieOuting": false } ], + "original_sme": [], + "multiple": [], "multiple_st": [], "multiple_sme": [] } @@ -26927,252 +38457,11 @@ "page": "2", "totalPages": 2, "itemsPerPage": 15, - "totalItems": 24 + "totalItems": 30 }, "data": null } } - }, - { - "request": { - "method": "GET", - "uri": "https://www.allocine.fr/_/showtimes/ope/movie-1000000085/theater-P0645/", - "body": "", - "headers": { - "host": [ - "www.allocine.fr" - ], - "accept": [ - "*/*" - ], - "accept-encoding": [ - "gzip, deflate" - ], - "connection": [ - "keep-alive" - ], - "user-agent": [ - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "date": [ - "Sat, 26 Sep 2026 13:10:02 GMT" - ], - "content-type": [ - "application/json" - ], - "transfer-encoding": [ - "chunked" - ], - "connection": [ - "keep-alive" - ], - "cache-control": [ - "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" - ], - "vary": [ - "Origin, accept-encoding" - ], - "server": [ - "cloudflare" - ], - "via": [ - "1.1 google" - ], - "alt-svc": [ - "h3=\":443\"; ma=86400" - ], - "age": [ - "2044" - ], - "last-modified": [ - "Sat, 26 Sep 2026 12:35:57 GMT" - ], - "cf-cache-status": [ - "HIT" - ], - "nel": [ - "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" - ], - "report-to": [ - "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gHQPinB%2FOJFgGhckIbwrqXRoFgYhKEDpBcDk%2FNw2S5vTgiI62ngGQa9R6%2BQ5GSy0e3SSj118dsIAF%2Fy8GE2cCtHaLjDe1e8G4j846NP7t8WjMu28r8rPs5tsM%2F0T7lMcKg%3D%3D\"}]}" - ], - "cf-ray": [ - "a41281a778536f63-CDG" - ], - "content-length": [ - "3850" - ] - }, - "body": { - "error": false, - "message": "", - "results": { - "theater": { - "__typename": "Theater", - "internalId": "P0645", - "name": "Pathé Toulouse Labège - IMAX", - "location": { - "__typename": "Location", - "address": "105 La Méridienne", - "city": "Labège", - "region": "Midi-Pyrénées", - "zip": "31670" - }, - "theaterCircuits": { - "__typename": "Company", - "internalId": 10002, - "name": "Pathé Cinémas" - } - }, - "showtimes": [ - { - "__typename": "Showtime", - "internalId": 81950615950, - "isPreview": false, - "diffusionVersion": "ORIGINAL", - "startsAt": "2026-09-26T15:50:00", - "tags": [ - "Localization.Version.Original", - "Showtime.Accessibility.Subtitled", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "provider": "en", - "urls": [ - "https://s.pathe.fr/en/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ] - }, - { - "__typename": "Ticketing", - "provider": "relay", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Showtime.Accessibility.Subtitled,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=15:50&code=vost; pmr; " - ] - }, - { - "__typename": "Ticketing", - "provider": "default", - "urls": [ - "https://s.pathe.fr/fr/V3364S190860/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ] - } - ] - }, - "experience": null, - "picture": null, - "projection": [ - "DIGITAL" - ], - "sound": null - }, - { - "__typename": "Showtime", - "internalId": 81950615781, - "isPreview": false, - "diffusionVersion": "DUBBED", - "startsAt": "2026-09-26T18:15:00", - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "provider": "en", - "urls": [ - "https://s.pathe.fr/en/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ] - }, - { - "__typename": "Ticketing", - "provider": "relay", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=18:15&code=vf; pmr; " - ] - }, - { - "__typename": "Ticketing", - "provider": "default", - "urls": [ - "https://s.pathe.fr/fr/V3364S190876/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ] - } - ] - }, - "experience": null, - "picture": null, - "projection": [ - "DIGITAL" - ], - "sound": null - }, - { - "__typename": "Showtime", - "internalId": 81950615689, - "isPreview": false, - "diffusionVersion": "DUBBED", - "startsAt": "2026-09-26T19:30:00", - "tags": [ - "Localization.Language.French", - "Showtime.Accessibility.Accessible", - "Format.Projection.Digital", - "Theater.Service.DisabledAccess" - ], - "data": { - "__typename": "ShowtimeData", - "ticketing": [ - { - "__typename": "Ticketing", - "provider": "en", - "urls": [ - "https://s.pathe.fr/en/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ] - }, - { - "__typename": "Ticketing", - "provider": "relay", - "urls": [ - "https://relay.mvtx.us/ticketing/dbz?code_theater=P0645&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Accessible,Format.Projection.Digital&perfd=20260926&perft=19:30&code=vf; pmr; " - ] - }, - { - "__typename": "Ticketing", - "provider": "default", - "urls": [ - "https://s.pathe.fr/fr/V3364S190883/booking?utm_source=allocine&utm_medium=allocine&utm_campaign=partenaire-allocine&partenaire=allocine" - ] - } - ] - }, - "experience": null, - "picture": null, - "projection": [ - "DIGITAL" - ], - "sound": null - } - ] - } - } - } } ] } diff --git a/tests/test_allocine.py b/tests/test_allocine.py index f406e2e..3675c4d 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -1,12 +1,11 @@ """High-level tests for the Allocine API client.""" from dataclasses import asdict -from datetime import date from allocine import Allocine def test_get_theater(json_snapshot, allocine_vcr): - theater = Allocine().get_theater("P0645", date=date(2026, 9, 26)) + theater = Allocine().get_theater("P0645") assert asdict(theater) == json_snapshot From a4a35889b940a9bf59635af0b878a7a7981a0bde Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 17:08:56 +0200 Subject: [PATCH 09/26] Extract Allocine client module --- allocine/__init__.py | 6 +- allocine/api.py | 173 ++----------------------------------------- allocine/cli.py | 2 +- allocine/client.py | 154 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 166 insertions(+), 169 deletions(-) create mode 100644 allocine/client.py diff --git a/allocine/__init__.py b/allocine/__init__.py index a46759a..c98bc70 100644 --- a/allocine/__init__.py +++ b/allocine/__init__.py @@ -1,6 +1,7 @@ """Top-level package for Allociné.""" -from allocine.api import DEFAULT_DATE_FORMAT, Allocine, Client, Error503 +from allocine.api import AllocineApi +from allocine.client import DEFAULT_DATE_FORMAT, Allocine from allocine.models import ( Movie, MovieVersion, @@ -30,9 +31,8 @@ __all__ = [ "Allocine", - "Client", + "AllocineApi", "DEFAULT_DATE_FORMAT", - "Error503", "Movie", "MovieVersion", "Schedule", diff --git a/allocine/api.py b/allocine/api.py index 201d0df..a15fe79 100644 --- a/allocine/api.py +++ b/allocine/api.py @@ -1,142 +1,12 @@ -import re -import unicodedata from datetime import date as Date -from datetime import datetime, timedelta import backoff import httpx2 -import jmespath -from allocine.models import MovieVersion, Showtime, Theater - -DEFAULT_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" SHOWTIMES_BASE_URL = "https://www.allocine.fr/_/showtimes" -class Allocine: - def __init__(self): - self._client = Client() - - def get_theater(self, theater_id: str): - resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id) - if not resp.get("results"): - raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") - - movie_id: int | None = jmespath.search("results[0].movie.internalId", resp) - assert movie_id is not None, "We need at least one showtime to get details about a theater" - theater = self._get_theater_details_from_movie_id(theater_id, movie_id) - - theater.showtimes = self._parse_showtimes(resp["results"]) - - for page in range(2, jmespath.search("pagination.totalPages", resp) + 1): - resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id, page=page) - theater.showtimes += self._parse_showtimes(resp["results"]) - - return theater - - def _get_theater_details_from_movie_id(self, theater_id: str, movie_id: int) -> Theater: - operation = self._client.get_showtimes_by_movie_and_theater_id( - movie_id=movie_id, - theater_id=theater_id, - ) - raw_theater = operation["results"]["theater"] - location = raw_theater["location"] - return Theater( - theater_id=raw_theater["internalId"], - name=raw_theater["name"], - address=location["address"], - zipcode=location["zip"], - city=location["city"], - showtimes=[], - ) - - def _parse_showtimes(self, raw_showtimes: list[dict]): - showtimes = [] - for showtime_data in raw_showtimes: - raw_movie = showtime_data["movie"] - duration_match = re.fullmatch(r"(?:(\d+)h)?\s*(?:(\d+)min)?", raw_movie.get("runtime") or "") - duration_obj = None - if duration_match and any(duration_match.groups()): - hours, minutes = duration_match.groups(default="0") - duration_obj = timedelta(hours=int(hours), minutes=int(minutes)) - - rating = jmespath.search("stats.userRating.score", raw_movie) - try: - rating = float(rating) - except (ValueError, TypeError): - rating = None - - countries = [country.get("localizedName") for country in raw_movie.get("countries") or []] - countries = [country for country in countries if country] - year = jmespath.search("data.productionYear", raw_movie) - if year: - year = int(year) - - directors = [] - for credit in sorted(raw_movie.get("credits") or [], key=lambda item: item.get("rank") or 0): - if jmespath.search("position.name", credit) == "DIRECTOR": - name = _person_name(credit.get("person")) - if name: - directors.append(name) - - actors = [] - cast = jmespath.search("cast.nodes", raw_movie) or [] - for cast_member in sorted(cast, key=lambda item: item.get("rank") or 0): - person = ( - cast_member.get("actor") or cast_member.get("originalVoiceActor") or cast_member.get("voiceActor") - ) - name = _person_name(person) - if name: - actors.append(name) - - genres = ", ".join(genre["translate"] for genre in raw_movie.get("genres") or [] if genre.get("translate")) - for showtime_group in (showtime_data.get("showtimes") or {}).values(): - for raw_showtime in showtime_group: - tags = raw_showtime.get("tags") or [] - language = ( - "Français" - if "Localization.Language.French" in tags - or raw_showtime.get("diffusionVersion") in {"DUBBED", "LOCAL"} - else "Version originale" - ) - screen_formats = [ - {"E_4DX": "4DX", "PLF": "PLF"}.get(value, value) - for value in raw_showtime.get("experience") or [] - ] - screen_formats.extend( - {"DIGITAL": "Numérique", "IMAX": "IMAX", "F_3D": "3D"}.get(value, value) - for value in raw_showtime.get("projection") or [] - if value != "DIGITAL" or not screen_formats - ) - movie = MovieVersion( - movie_id=raw_movie["internalId"], - title=raw_movie.get("title"), - rating=rating, - language=language, - screen_format=" ".join(screen_formats) or "Numérique", - synopsis=_clean_synopsis(raw_movie.get("synopsis")), - original_title=raw_movie.get("originalTitle"), - year=year, - countries=countries, - genres=genres, - directors=", ".join(directors), - actors=", ".join(actors), - duration=duration_obj, - ) - showtimes.append( - Showtime( - date_time=_str_datetime_to_datetime_obj(raw_showtime["startsAt"]), - movie=movie, - ) - ) - return showtimes - - -class Error503(Exception): - pass - - -class Client: +class AllocineApi: """Client to process requests with the Allocine APIs.""" def __init__(self): @@ -145,16 +15,7 @@ def __init__(self): Intel Mac OS X 10.14; rv:63.0) \ Gecko/20100101 Firefox/63.0", } - self.session = httpx2.Client(headers=headers, timeout=None) - - @backoff.on_exception(backoff.expo, Error503, max_tries=5, max_time=30) - def _get(self, url: str, expected_status: int = 200, *args, **kwargs) -> dict: - ret = self.session.get(url, *args, **kwargs) - if ret.status_code != expected_status: - if ret.status_code == 503: - raise Error503 - raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) - return ret.json() + self.session = httpx2.Client(headers=headers, timeout=30) def get_showtimelist_by_theater_id( self, @@ -174,27 +35,9 @@ def get_showtimes_by_movie_and_theater_id(self, movie_id: int, theater_id: str): url = f"{SHOWTIMES_BASE_URL}/ope/movie-{movie_id}/theater-{theater_id}/" return self._get(url=url) - -def _str_datetime_to_datetime_obj(datetime_str, date_format=DEFAULT_DATE_FORMAT): - return datetime.strptime(datetime_str, date_format) - - -def _cleanhtml(raw_html): - cleanr = re.compile("<.*?>") - cleantext = re.sub(cleanr, "", raw_html) - return cleantext - - -def _clean_synopsis(raw_synopsis): - if raw_synopsis is None: - return None - - synopsis = _cleanhtml(raw_synopsis) # Remove HTML tags (ex: ) - synopsis = synopsis.replace("\xa0", " ") - return unicodedata.normalize("NFKD", synopsis) - - -def _person_name(person): - if not person: - return None - return " ".join(part for part in (person.get("firstName"), person.get("lastName")) if part) + @backoff.on_exception(backoff.expo, ValueError, max_tries=5, max_time=30) + def _get(self, url: str, expected_status: int = 200, *args, **kwargs) -> dict: + ret = self.session.get(url, *args, **kwargs) + if ret.status_code != expected_status: + raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) + return ret.json() diff --git a/allocine/cli.py b/allocine/cli.py index 76ee03d..9c697ef 100644 --- a/allocine/cli.py +++ b/allocine/cli.py @@ -5,7 +5,7 @@ import click from prettytable import ALL, FRAME, UNICODE, PrettyTable -from allocine.api import Allocine +from allocine.client import Allocine def extract_field_names(dict_list): diff --git a/allocine/client.py b/allocine/client.py new file mode 100644 index 0000000..b058d33 --- /dev/null +++ b/allocine/client.py @@ -0,0 +1,154 @@ +import re +import unicodedata +from datetime import datetime, timedelta + +import jmespath + +from allocine.api import AllocineApi +from allocine.models import MovieVersion, Showtime, Theater + +DEFAULT_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" + + +class Allocine: + def __init__(self): + self._client = AllocineApi() + + def get_theater(self, theater_id: str): + resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id) + if not resp.get("results"): + raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") + + movie_id: int | None = jmespath.search("results[0].movie.internalId", resp) + assert movie_id is not None, "We need at least one showtime to get details about a theater" + theater = self._get_theater_details_from_movie_id(theater_id, movie_id) + + theater.showtimes = self._parse_showtimes(resp["results"]) + + for page in range(2, jmespath.search("pagination.totalPages", resp) + 1): + resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id, page=page) + theater.showtimes += self._parse_showtimes(resp["results"]) + + return theater + + def _get_theater_details_from_movie_id(self, theater_id: str, movie_id: int) -> Theater: + operation = self._client.get_showtimes_by_movie_and_theater_id( + movie_id=movie_id, + theater_id=theater_id, + ) + raw_theater = operation["results"]["theater"] + location = raw_theater["location"] + return Theater( + theater_id=raw_theater["internalId"], + name=raw_theater["name"], + address=location["address"], + zipcode=location["zip"], + city=location["city"], + showtimes=[], + ) + + def _parse_showtimes(self, raw_showtimes: list[dict]): + showtimes = [] + for showtime_data in raw_showtimes: + raw_movie = showtime_data["movie"] + duration_match = re.fullmatch(r"(?:(\d+)h)?\s*(?:(\d+)min)?", raw_movie.get("runtime") or "") + duration_obj = None + if duration_match and any(duration_match.groups()): + hours, minutes = duration_match.groups(default="0") + duration_obj = timedelta(hours=int(hours), minutes=int(minutes)) + + rating = jmespath.search("stats.userRating.score", raw_movie) + try: + rating = float(rating) + except (ValueError, TypeError): + rating = None + + countries = [country.get("localizedName") for country in raw_movie.get("countries") or []] + countries = [country for country in countries if country] + year = jmespath.search("data.productionYear", raw_movie) + if year: + year = int(year) + + directors = [] + for credit in sorted(raw_movie.get("credits") or [], key=lambda item: item.get("rank") or 0): + if jmespath.search("position.name", credit) == "DIRECTOR": + name = _person_name(credit.get("person")) + if name: + directors.append(name) + + actors = [] + cast = jmespath.search("cast.nodes", raw_movie) or [] + for cast_member in sorted(cast, key=lambda item: item.get("rank") or 0): + person = ( + cast_member.get("actor") or cast_member.get("originalVoiceActor") or cast_member.get("voiceActor") + ) + name = _person_name(person) + if name: + actors.append(name) + + genres = ", ".join(genre["translate"] for genre in raw_movie.get("genres") or [] if genre.get("translate")) + for showtime_group in (showtime_data.get("showtimes") or {}).values(): + for raw_showtime in showtime_group: + tags = raw_showtime.get("tags") or [] + language = ( + "Français" + if "Localization.Language.French" in tags + or raw_showtime.get("diffusionVersion") in {"DUBBED", "LOCAL"} + else "Version originale" + ) + screen_formats = [ + {"E_4DX": "4DX", "PLF": "PLF"}.get(value, value) + for value in raw_showtime.get("experience") or [] + ] + screen_formats.extend( + {"DIGITAL": "Numérique", "IMAX": "IMAX", "F_3D": "3D"}.get(value, value) + for value in raw_showtime.get("projection") or [] + if value != "DIGITAL" or not screen_formats + ) + movie = MovieVersion( + movie_id=raw_movie["internalId"], + title=raw_movie.get("title"), + rating=rating, + language=language, + screen_format=" ".join(screen_formats) or "Numérique", + synopsis=_clean_synopsis(raw_movie.get("synopsis")), + original_title=raw_movie.get("originalTitle"), + year=year, + countries=countries, + genres=genres, + directors=", ".join(directors), + actors=", ".join(actors), + duration=duration_obj, + ) + showtimes.append( + Showtime( + date_time=_str_datetime_to_datetime_obj(raw_showtime["startsAt"]), + movie=movie, + ) + ) + return showtimes + + +def _str_datetime_to_datetime_obj(datetime_str, date_format=DEFAULT_DATE_FORMAT): + return datetime.strptime(datetime_str, date_format) + + +def _cleanhtml(raw_html): + cleanr = re.compile("<.*?>") + cleantext = re.sub(cleanr, "", raw_html) + return cleantext + + +def _clean_synopsis(raw_synopsis): + if raw_synopsis is None: + return None + + synopsis = _cleanhtml(raw_synopsis) # Remove HTML tags (ex: ) + synopsis = synopsis.replace("\xa0", " ") + return unicodedata.normalize("NFKD", synopsis) + + +def _person_name(person): + if not person: + return None + return " ".join(part for part in (person.get("firstName"), person.get("lastName")) if part) From 404777892f59e22c75c2dc898d7e3b1b8058110c Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 17:25:56 +0200 Subject: [PATCH 10/26] Simplify Allocine response parsing --- allocine/client.py | 38 +++++++++++--------------------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/allocine/client.py b/allocine/client.py index b058d33..334f58e 100644 --- a/allocine/client.py +++ b/allocine/client.py @@ -65,15 +65,13 @@ def _parse_showtimes(self, raw_showtimes: list[dict]): countries = [country.get("localizedName") for country in raw_movie.get("countries") or []] countries = [country for country in countries if country] - year = jmespath.search("data.productionYear", raw_movie) - if year: + if year := jmespath.search("data.productionYear", raw_movie): year = int(year) directors = [] for credit in sorted(raw_movie.get("credits") or [], key=lambda item: item.get("rank") or 0): if jmespath.search("position.name", credit) == "DIRECTOR": - name = _person_name(credit.get("person")) - if name: + if name := _person_name(credit.get("person")): directors.append(name) actors = [] @@ -82,8 +80,7 @@ def _parse_showtimes(self, raw_showtimes: list[dict]): person = ( cast_member.get("actor") or cast_member.get("originalVoiceActor") or cast_member.get("voiceActor") ) - name = _person_name(person) - if name: + if name := _person_name(person): actors.append(name) genres = ", ".join(genre["translate"] for genre in raw_movie.get("genres") or [] if genre.get("translate")) @@ -105,13 +102,19 @@ def _parse_showtimes(self, raw_showtimes: list[dict]): for value in raw_showtime.get("projection") or [] if value != "DIGITAL" or not screen_formats ) + + if synopsis := raw_movie.get("synopsis"): + synopsis = re.sub(r"<.*?>", "", synopsis) + synopsis = synopsis.replace("\xa0", " ") # Remove HTML tags (ex: ) + synopsis = unicodedata.normalize("NFKD", synopsis) + movie = MovieVersion( movie_id=raw_movie["internalId"], title=raw_movie.get("title"), rating=rating, language=language, screen_format=" ".join(screen_formats) or "Numérique", - synopsis=_clean_synopsis(raw_movie.get("synopsis")), + synopsis=synopsis, original_title=raw_movie.get("originalTitle"), year=year, countries=countries, @@ -122,32 +125,13 @@ def _parse_showtimes(self, raw_showtimes: list[dict]): ) showtimes.append( Showtime( - date_time=_str_datetime_to_datetime_obj(raw_showtime["startsAt"]), + date_time=datetime.strptime(raw_showtime["startsAt"], DEFAULT_DATE_FORMAT), movie=movie, ) ) return showtimes -def _str_datetime_to_datetime_obj(datetime_str, date_format=DEFAULT_DATE_FORMAT): - return datetime.strptime(datetime_str, date_format) - - -def _cleanhtml(raw_html): - cleanr = re.compile("<.*?>") - cleantext = re.sub(cleanr, "", raw_html) - return cleantext - - -def _clean_synopsis(raw_synopsis): - if raw_synopsis is None: - return None - - synopsis = _cleanhtml(raw_synopsis) # Remove HTML tags (ex: ) - synopsis = synopsis.replace("\xa0", " ") - return unicodedata.normalize("NFKD", synopsis) - - def _person_name(person): if not person: return None From 66282f097f652449172a2896e6a24375bac66355 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Sat, 26 Sep 2026 18:09:55 +0200 Subject: [PATCH 11/26] Add `Allocine.search_theaters` --- allocine/api.py | 13 ++ allocine/client.py | 36 ++++ pyproject.toml | 1 + .../test_allocine/test_search_theaters.json | 19 ++ tests/cassettes/search_theaters.json | 177 ++++++++++++++++ tests/conftest.py | 13 +- tests/test_allocine.py | 6 + uv.lock | 189 ++++++++++++++++++ 8 files changed, 450 insertions(+), 4 deletions(-) create mode 100644 tests/__snapshots__/test_allocine/test_search_theaters.json create mode 100644 tests/cassettes/search_theaters.json diff --git a/allocine/api.py b/allocine/api.py index a15fe79..5ffb900 100644 --- a/allocine/api.py +++ b/allocine/api.py @@ -4,6 +4,7 @@ import httpx2 SHOWTIMES_BASE_URL = "https://www.allocine.fr/_/showtimes" +THEATERS_BASE_URL = "https://www.allocine.fr/salle/cinema" class AllocineApi: @@ -35,9 +36,21 @@ def get_showtimes_by_movie_and_theater_id(self, movie_id: int, theater_id: str): url = f"{SHOWTIMES_BASE_URL}/ope/movie-{movie_id}/theater-{theater_id}/" return self._get(url=url) + def get_theaterlist_by_geocode(self, geocode: int | str, page: int = 1) -> str: + url = f"{THEATERS_BASE_URL}/ville-{geocode}/" + params = {"page": page} if page > 1 else None + return self._get_text(url=url, params=params) + @backoff.on_exception(backoff.expo, ValueError, max_tries=5, max_time=30) def _get(self, url: str, expected_status: int = 200, *args, **kwargs) -> dict: ret = self.session.get(url, *args, **kwargs) if ret.status_code != expected_status: raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) return ret.json() + + @backoff.on_exception(backoff.expo, ValueError, max_tries=5, max_time=30) + def _get_text(self, url: str, expected_status: int = 200, *args, **kwargs) -> str: + ret = self.session.get(url, *args, **kwargs) + if ret.status_code != expected_status: + raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) + return ret.text diff --git a/allocine/client.py b/allocine/client.py index 334f58e..1a4048a 100644 --- a/allocine/client.py +++ b/allocine/client.py @@ -1,8 +1,10 @@ +import json import re import unicodedata from datetime import datetime, timedelta import jmespath +from parsel import Selector from allocine.api import AllocineApi from allocine.models import MovieVersion, Showtime, Theater @@ -31,6 +33,16 @@ def get_theater(self, theater_id: str): return theater + def search_theaters(self, geocode: int | str) -> list[Theater]: + theaters = [] + page = 1 + while True: + selector = Selector(text=self._client.get_theaterlist_by_geocode(geocode=geocode, page=page)) + theaters.extend(_parse_theaters(selector)) + if not selector.css(".button-right:not(.button-disabled)"): + return theaters + page += 1 + def _get_theater_details_from_movie_id(self, theater_id: str, movie_id: int) -> Theater: operation = self._client.get_showtimes_by_movie_and_theater_id( movie_id=movie_id, @@ -136,3 +148,27 @@ def _person_name(person): if not person: return None return " ".join(part for part in (person.get("firstName"), person.get("lastName")) if part) + + +def _parse_theaters(selector: Selector) -> list[Theater]: + theaters = [] + for card in selector.css("div.theater-card"): + theater_json = card.css(".add-theater-anchor[data-theater]::attr(data-theater)").get() + if not theater_json: + continue + + theater_data = json.loads(theater_json) + full_address = " ".join((card.css("address.address").xpath("string()").get() or "").split()) + address_match = re.fullmatch(r"(.*)\s+(\d{5})\s+(.+)", full_address) + address, zipcode, city = address_match.groups() if address_match else (full_address, "", "") + theaters.append( + Theater( + theater_id=theater_data["id"], + name=theater_data["name"], + address=address, + zipcode=zipcode, + city=city, + showtimes=[], + ) + ) + return theaters diff --git a/pyproject.toml b/pyproject.toml index 96ad6b3..ec57272 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,7 @@ dependencies = [ "click>=8.5.0", "httpx2>=2.13.1", "jmespath>=1.1.0", + "parsel>=1.10.0", "ptableunicode>=0.9.3", ] diff --git a/tests/__snapshots__/test_allocine/test_search_theaters.json b/tests/__snapshots__/test_allocine/test_search_theaters.json new file mode 100644 index 0000000..3e7c14b --- /dev/null +++ b/tests/__snapshots__/test_allocine/test_search_theaters.json @@ -0,0 +1,19 @@ +[ + "Theater(theater_id='P0798', name='CGR Saint-Quentin', showtimes=[], address='Quai Gayant', zipcode='02100', city='Saint-Quentin')", + "Theater(theater_id='P1008', name='Cinéma Lumières', showtimes=[], address='Place Yves Brinon', zipcode='02300', city='Chauny')", + "Theater(theater_id='P1016', name='CGR Soissons', showtimes=[], address='12, rue du Beffroi', zipcode='02200', city='Soissons')", + "Theater(theater_id='P2126', name='Cinéma Sonhir 3', showtimes=[], address='80, rue Charles de Gaulle', zipcode='02500', city='Hirson')", + "Theater(theater_id='P9088', name='Casino', showtimes=[], address='7, rue Marceau', zipcode='02700', city='Tergnier')", + "Theater(theater_id='P0470', name='Ciné Laon', showtimes=[], address='17 Av. Carnot', zipcode='02000', city='Laon')", + "Theater(theater_id='P1006', name='Les Clubs', showtimes=[], address='12 Place Aristide Briand', zipcode='02600', city='Villers-Cotterêts')", + "Theater(theater_id='P7829', name='Cinéma Théâtre', showtimes=[], address=\"13, place de l'Hôtel de Ville\", zipcode='02400', city='Château-Thierry')", + "Theater(theater_id='P3264', name='Le Don Camillo', showtimes=[], address='Rue de La Molotte', zipcode='51210', city='La Celle-sous-Montmirail')", + "Theater(theater_id='P7972', name='Vox', showtimes=[], address='58 rue Lesur', zipcode='02120', city='Guise')", + "Theater(theater_id='P2110', name='Cinéma Gilbert Taquet', showtimes=[], address='6 rue Curie', zipcode='02110', city='Bohain-en-Vermandois')", + "Theater(theater_id='W2460', name='Cinéma Jean Racine', showtimes=[], address='1 rue Racine', zipcode='02460', city='La Ferté-Milon')", + "Theater(theater_id='W0021', name='Cinema Piccoli-Piccolo', showtimes=[], address='Place Papillon', zipcode='02140', city='Vervins')", + "Theater(theater_id='P3262', name=\"L' Ermitage\", showtimes=[], address='06 Rue Simon', zipcode='02410', city='Saint-Gobain')", + "Theater(theater_id='P0467', name='Maison des Arts et Loisirs', showtimes=[], address='place Aubry', zipcode='02000', city='Laon')", + "Theater(theater_id='W0200', name=\"Ciné Jeune de L'Aisne\", showtimes=[], address='28 rue du Cloître', zipcode='02000', city='Laon')", + "Theater(theater_id='W2102', name=\"Cinéma itinérant de l'Aisne\", showtimes=[], address='2 Bd Roosevelt', zipcode='02100', city='Saint-Quentin')" +] diff --git a/tests/cassettes/search_theaters.json b/tests/cassettes/search_theaters.json new file mode 100644 index 0000000..6ac8b8d --- /dev/null +++ b/tests/cassettes/search_theaters.json @@ -0,0 +1,177 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/salle/cinema/ville-83178/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Sat, 26 Sep 2026 16:07:59 GMT" + ], + "content-type": [ + "text/html; charset=UTF-8" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "link": [ + "; rel=\"preload\"; as=\"font\"; type=\"font/woff2\",; rel=\"preload\"; as=\"image\"; type=\"image/svg+xml\",; rel=\"preload\"; as=\"script\",; rel=\"preload\"; as=\"script\"" + ], + "vary": [ + "Accept-Encoding,Origin" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "235" + ], + "last-modified": [ + "Sat, 26 Sep 2026 16:04:03 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=oY53ZQhxTDX9wuOrWvvua2tcqeAK7EkL3KnCwf4JIDe2FIU5dLIMY5qZlWiSkE7pTbaVHgAjxP%2FmUNCXv1PVd2uFBhOHH69AZpbrUOWdnw6UK4IxVhvsYNKukxIhWbnJ7w%3D%3D\"}]}" + ], + "cf-ray": [ + "a4138655fed49952-CDG" + ], + "content-length": [ + "224453" + ] + }, + "body": { + "string": "\n\n\n \n \n \n \n Cinéma à Aisne (02) - AlloCiné\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n\n \n\n \n \n \n \n \n \n \n\n\n\n\n\n\n
\n
\n\n \n\n \n \n \n \n\n\n\n\n\n
\n
\n
\n menu\n close2\n
\n\n \n \n \n \n
\n
\n \n
\n \n profil\n
\n
\n\n
\n
    \n
\n
\n
\n \n search\n
\n
\n\n \n\n\n \n
\n
Annuler
\n\n \n
\n
\n \n
\n
\n \n
\n
\n\n ok \n
\n
\n\n
\n Ex:\n\n Meilleurs thrillers psychologiques, Meilleurs buddy movies\n\n
\n
\n \n \n\n \n \n \n
\n
\n
\n \n
\n\n
\n AccueilCinémaSéances Cinéma

\n Cinéma Aisne : Séances cinéma et horaires

\n \n \n
\n
Salles de cinéma à Aisne
\n
\n\n \n \n\n\n\n\n
\n
\n
\n \n \n \n \n
\n Trier par\n \n
\n popularité\n \n
    \n
  • \n \n \n popularité\n \n
  • \n
  • \n \n \n alphabétique\n \n
  • \n
  • \n \n \n nombre de salles\n \n
  • \n
\n
\n
\n \n
    \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"CGR\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n CGR Saint-Quentin \n

    \n\n \n \n
    \n\n \n
    Quai Gayant 02100 Saint-Quentin
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n \n \n
    \n \n
    \n \n
    \n
    \n 11 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Cinéma\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Cinéma Lumières \n

    \n\n \n \n
    \n\n \n
    Place Yves Brinon 02300 Chauny
    \n \n \n
    \n \n
    \n\n \n
    \n
    \n 3 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"CGR\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n CGR Soissons \n

    \n\n \n \n
    \n\n \n
    12, rue du Beffroi 02200 Soissons
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 6 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Cinéma\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Cinéma Sonhir 3 \n

    \n\n \n \n
    \n\n \n
    80, rue Charles de Gaulle 02500 Hirson
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 3 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Casino\"\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Casino \n

    \n\n \n \n
    \n\n \n
    7, rue Marceau 02700 Tergnier
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 2 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Ciné\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Ciné Laon \n

    \n\n \n \n
    \n\n \n
    17 Av. Carnot 02000 Laon
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 13 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Les\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Les Clubs \n

    \n\n \n \n
    \n\n \n
    12 Place Aristide Briand 02600 Villers-Cotterêts
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 2 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Cinéma\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Cinéma Théâtre \n

    \n\n \n \n
    \n\n \n
    13, place de l'Hôtel de Ville 02400 Château-Thierry
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n \n \n
    \n \n
    \n \n
    \n
    \n 4 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Le\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Le Don Camillo \n

    \n\n \n \n
    \n\n \n
    Rue de La Molotte 51210 La Celle-sous-Montmirail
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 2 Salles\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Vox\"\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Vox \n

    \n\n \n \n
    \n\n \n
    58 rue Lesur 02120 Guise
    \n \n \n
    \n \n
    \n\n \n
    \n
    \n 1 Salle\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Cinéma\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Cinéma Gilbert Taquet \n

    \n\n \n \n
    \n\n \n
    6 rue Curie 02110 Bohain-en-Vermandois
    \n \n \n
    \n \n
    \n\n \n
    \n
    \n 1 Salle\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Cinéma\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Cinéma Jean Racine \n

    \n\n \n \n
    \n\n \n
    1 rue Racine 02460 La Ferté-Milon
    \n \n \n
    \n \n
    \n\n \n
    \n
    \n 1 Salle\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Cinema\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Cinema Piccoli-Piccolo \n

    \n\n \n \n
    \n\n \n
    Place Papillon 02140 Vervins
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 1 Salle\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"L'\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n L' Ermitage \n

    \n\n \n \n
    \n\n \n
    06 Rue Simon 02410 Saint-Gobain
    \n \n \n
    \nVoir les informations d'accessibilité\n\n \n
    \n \n
    \n\n \n
    \n
    \n 1 Salle\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Maison\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Maison des Arts et Loisirs \n

    \n\n \n \n
    \n\n \n
    place Aubry 02000 Laon
    \n \n \n
    \n \n
    \n\n \n
    \n
    \n 1 Salle\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n \n \n\n \n \n\n\n
\n\n
\n \n
\n
\n\n \n \n \n \n \n \n\n\n\n \n \n \n \n \n
\n
\n \n \n
\n \n \n\n\n
\n \n\n \n
\n \n \n \n \n \n
\n\n
\n \n \n
\n
\n \n \n Back to Top\n\n \n
 
\n\n
\n \n
\n \n \n\n\n\n\n\n \n\n\n \n \n\n \n\n\n \n\n \n \n \n \n \n\n \n\n \n
\n\n \n\n\n \n \n \n \n\n\n
\n\n\n\n" + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/salle/cinema/ville-83178/?page=2", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Sat, 26 Sep 2026 16:07:59 GMT" + ], + "content-type": [ + "text/html; charset=UTF-8" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "link": [ + "; rel=\"preload\"; as=\"font\"; type=\"font/woff2\",; rel=\"preload\"; as=\"image\"; type=\"image/svg+xml\",; rel=\"preload\"; as=\"script\",; rel=\"preload\"; as=\"script\"" + ], + "vary": [ + "Accept-Encoding,Origin" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "235" + ], + "last-modified": [ + "Sat, 26 Sep 2026 16:04:04 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=jGpqDsxPpFuIcPu3Eon1KI%2FmJAtMrMwLIhZI1k5FZ7TS3x2ZcZyyXOnpDlQRawyCgjiDPoi0bZtNchMNtwMCIn59gfLsZWyLsOSBy%2BZHUeR3zlyZBXdamIqRr5rG%2F5YRqg%3D%3D\"}]}" + ], + "cf-ray": [ + "a41386563fad9952-CDG" + ], + "content-length": [ + "190447" + ] + }, + "body": { + "string": "\n\n\n \n \n \n \n Salles de cinéma à Aisne - Page 2 - AlloCiné\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n\n \n\n \n \n \n \n \n \n \n\n\n\n\n\n\n
\n
\n\n \n\n \n \n \n \n\n\n\n\n\n
\n
\n
\n menu\n close2\n
\n\n \n \n \n \n
\n
\n \n
\n \n profil\n
\n
\n\n
\n
    \n
\n
\n
\n \n search\n
\n
\n\n \n\n\n \n
\n
Annuler
\n\n \n
\n
\n \n
\n
\n \n
\n
\n\n ok \n
\n
\n\n
\n Ex:\n\n Meilleurs thrillers psychologiques, Meilleurs buddy movies\n\n
\n
\n \n \n\n \n \n \n
\n
\n
\n \n
\n\n
\n AccueilCinémaSéances Cinéma

\n Cinéma Aisne : Séances cinéma et horaires - Page 2

\n \n \n
\n
Salles de cinéma à Aisne
\n
\n\n \n \n\n\n\n\n
\n
\n
\n \n \n \n \n
\n Trier par\n \n
\n popularité\n \n
    \n
  • \n \n \n popularité\n \n
  • \n
  • \n \n \n alphabétique\n \n
  • \n
  • \n \n \n nombre de salles\n \n
  • \n
\n
\n
\n \n
    \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Ciné\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n
    \n

    \n Ciné Jeune de L'Aisne \n

    \n\n \n \n
    \n\n \n
    28 rue du Cloître 02000 Laon
    \n \n \n
    \n \n
    \n\n \n
    \n
    \n 1 Salle\n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n
  • \n \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n \n \n \"Cinéma\n \n \n\n \n \n \n\n
    \n
    \n\n \n
    \n \n\n \n
    2 Bd Roosevelt 02100 Saint-Quentin
    \n \n \n
    \n \n
    \n\n \n
    \n
    \n
    \n
    \n\n
    \n\n
  • \n \n \n\n \n \n\n\n
\n\n
\n \n
\n
\n\n \n \n \n \n \n \n\n\n\n \n \n \n \n \n
\n
\n \n \n
\n \n \n\n\n
\n \n\n \n
\n \n \n \n \n \n
\n\n
\n \n \n
\n
\n \n \n Back to Top\n\n \n
 
\n\n
\n \n
\n \n \n\n\n\n\n\n \n\n\n \n \n\n \n\n\n \n\n \n \n \n \n \n\n \n\n \n
\n\n \n\n\n \n \n \n \n\n\n
\n\n\n\n" + } + } + } + ] +} diff --git a/tests/conftest.py b/tests/conftest.py index 7059764..30fae36 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -18,7 +18,11 @@ class JsonBodySerializer: def serialize(cassette): for interaction in cassette["interactions"]: response = interaction["response"] - response["body"] = json.loads(response["body"]["string"]) + try: + response["body"] = json.loads(response["body"]["string"]) + except json.decoder.JSONDecodeError: + pass # Probably HTML + return json.dumps(cassette, ensure_ascii=False, indent=2) + "\n" @staticmethod @@ -26,9 +30,10 @@ def deserialize(cassette_string): cassette = json.loads(cassette_string) for interaction in cassette["interactions"]: response = interaction["response"] - body = json.dumps(response["body"], ensure_ascii=False, separators=(",", ":")) - response["body"] = {"string": body} - response["headers"]["content-length"] = [str(len(body.encode()))] + if not response["body"].get("string"): + body = json.dumps(response["body"], ensure_ascii=False, separators=(",", ":")) + response["body"] = {"string": body} + response["headers"]["content-length"] = [str(len(body.encode()))] return cassette diff --git a/tests/test_allocine.py b/tests/test_allocine.py index 3675c4d..075d473 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -9,3 +9,9 @@ def test_get_theater(json_snapshot, allocine_vcr): theater = Allocine().get_theater("P0645") assert asdict(theater) == json_snapshot + + +def test_search_theaters(json_snapshot, allocine_vcr): + theaters = Allocine().search_theaters(geocode=83178) + + assert theaters == json_snapshot diff --git a/uv.lock b/uv.lock index 1d3e364..222e49a 100644 --- a/uv.lock +++ b/uv.lock @@ -15,6 +15,7 @@ dependencies = [ { name = "click" }, { name = "httpx2" }, { name = "jmespath" }, + { name = "parsel" }, { name = "ptableunicode" }, ] @@ -35,6 +36,7 @@ requires-dist = [ { name = "click", specifier = ">=8.5.0" }, { name = "httpx2", specifier = ">=2.13.1" }, { name = "jmespath", specifier = ">=1.1.0" }, + { name = "parsel", specifier = ">=1.10.0" }, { name = "pre-commit", marker = "extra == 'dev'", specifier = ">=4.6.2" }, { name = "ptableunicode", specifier = ">=0.9.3" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.1.1" }, @@ -229,6 +231,15 @@ toml = [ { name = "tomli", marker = "python_full_version <= '3.11'" }, ] +[[package]] +name = "cssselect" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/5a/6d6fcf922709391fac986f0a03ad4546f4f45b94d10aeb6c1ee041599993/cssselect-1.5.0.tar.gz", hash = "sha256:3cbe82dd7acbee9ba9e5723b5f9e4749826912f1fb31cd7f92aabed5fde15b15", size = 47598, upload-time = "2026-07-27T09:17:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/e9/6734502f67533a752ea8b1c8f7f227c94eecf300252ba8bf23e3e59d8a36/cssselect-1.5.0-py3-none-any.whl", hash = "sha256:1d1aded98e82bdde447ded990a191fd6916177c4f0c914fb62eccd58e2ffcdcc", size = 20797, upload-time = "2026-07-27T09:17:33.04Z" }, +] + [[package]] name = "distlib" version = "0.4.3" @@ -343,6 +354,160 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" }, ] +[[package]] +name = "lxml" +version = "6.1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/ad/28ecd7cb894d172f3c9c80a075eeeb2017ac62e3632cee05a5f9493547eb/lxml-6.1.3.tar.gz", hash = "sha256:45222d94ddd511536f3b2f7d9deae3b2339b4ce0f075f1ca25703b07cad9dd21", size = 4211198, upload-time = "2026-09-02T14:48:02.287Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/6b/a7d5c08e19a8e69887ed722fffaefdbaffc8959d5ef5c370a65e52c895ac/lxml-6.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:40bcbd9f94166ffe925811e730607385cec959f42fb1bb7dad83748680465221", size = 8575497, upload-time = "2026-09-02T14:46:05.131Z" }, + { url = "https://files.pythonhosted.org/packages/96/dd/c25a32f9f6039a96cfd52296a4630075868aa16e71858b3076699a059201/lxml-6.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:05f5bce9af14fd1506997594bd81cee6d9c6b58ea80a39c058327aa6371ed9e9", size = 4619233, upload-time = "2026-09-02T14:46:08.898Z" }, + { url = "https://files.pythonhosted.org/packages/3e/f0/d49375a47644369d84f90a9fe4ff1924faad58d4f95563831eca84ca29ae/lxml-6.1.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff88a92cafde90888511242d1c54afcc1a8adbb6dc0a88fa7f87e29e92400d4a", size = 5015387, upload-time = "2026-09-02T14:46:10.797Z" }, + { url = "https://files.pythonhosted.org/packages/76/0f/d1b1f52925442f7b4b1abd81a41905987322f6df6a5dd42fab8579415828/lxml-6.1.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c00e26288784460885fe76e4d4b293573e0f791f52e6d60e27b42edf005922eb", size = 5168571, upload-time = "2026-09-02T14:46:12.989Z" }, + { url = "https://files.pythonhosted.org/packages/b2/13/e5d8291a68a27e564e4e1eefba08c3844c6800bcb43f3e72a32b20971132/lxml-6.1.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:773062aec2f2e56b2b22d37054123f0de8a22a4688a0c3376c3fe42685f975cf", size = 5068024, upload-time = "2026-09-02T14:46:15.325Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ce/dbea34cd115ae9b8ef53816daa912563615adf4daed42531878a2fb29c77/lxml-6.1.3-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f6449672f9c93316deb5e2839e18931f468670e44d5bd9b1301a5a9655d45c07", size = 5296830, upload-time = "2026-09-02T14:46:17.52Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/12a2ab6e8c8afecb82a3f0e9a518952b6a1cddf405ad8542883bd71e6096/lxml-6.1.3-cp310-cp310-manylinux_2_28_i686.whl", hash = "sha256:ec295280f4b37769256da025acf5890370355ac589c27e89caae0b5e9eedc702", size = 5424696, upload-time = "2026-09-02T14:46:19.706Z" }, + { url = "https://files.pythonhosted.org/packages/02/3f/5670e198266c764595687a234fdaed33837f487b95a596262b2548e48933/lxml-6.1.3-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:5929d9df5e7e3379183be0e21f7d559618a5b61cb63280df6164019242e337ed", size = 4783635, upload-time = "2026-09-02T14:46:21.63Z" }, + { url = "https://files.pythonhosted.org/packages/70/24/007ce6b7bffb61a6ca88c3a8f21b26f3f0aa3b3f6bb648a56e328c994a14/lxml-6.1.3-cp310-cp310-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6e1eb8a4cbffd5553680ad96be6680e364710656eced73d1dc90ec489df599a3", size = 5373212, upload-time = "2026-09-02T14:46:23.572Z" }, + { url = "https://files.pythonhosted.org/packages/4e/00/cf09f38cf9005bd5cfa4fd452b03b290b1c48c403fe0319a8013f4b3cae0/lxml-6.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:16148acd77ed1d8836a56db883af2f5eed720f9723088110b16a0d08582130a6", size = 5116476, upload-time = "2026-09-02T14:46:26.262Z" }, + { url = "https://files.pythonhosted.org/packages/15/83/eb021e5db4336f0bb1438cba6f053ea135aa00b9f4ef0439473d6b986308/lxml-6.1.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:23c366231259cd75ad06495174701afb3fcb36a92917fa47de2d1f1bd9d95739", size = 4814172, upload-time = "2026-09-02T14:46:28.3Z" }, + { url = "https://files.pythonhosted.org/packages/c8/4e/147b6f9088cc191713249ac547b0af2fece489c8cdff1f2801ab47dda8a9/lxml-6.1.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:da85db328e507da922d586c3c7416ec360ec22e9cd9e0700691afacde0c81f53", size = 5361711, upload-time = "2026-09-02T14:46:31.035Z" }, + { url = "https://files.pythonhosted.org/packages/b7/d9/8cfdac0d7d771e25af2c1f4bc874032f025a4b59e0b6917c3c7858070795/lxml-6.1.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0f17d83c48ee9dfd96abae3ac3e2108c76d2fc86ce96355e37b8da9f7f4ecc08", size = 5321598, upload-time = "2026-09-02T14:46:33.165Z" }, + { url = "https://files.pythonhosted.org/packages/f3/5b/d2413c71f312dccdd07ed985be356657fc624d822ba7e2c87e8722646156/lxml-6.1.3-cp310-cp310-win32.whl", hash = "sha256:7dd624c1eaa629ad44b59a1a0145fdf2d67895592dce94c9358b938b3d075e65", size = 3604471, upload-time = "2026-09-02T14:46:35.245Z" }, + { url = "https://files.pythonhosted.org/packages/7a/bf/74b6785beac6488fd395e78796339bc197fbad6fd6103b41b15a4009dc4b/lxml-6.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:18a4db52b5a7b53a3540b0b0f4123319334621ee8083d496de314d0bf06ff59a", size = 4029086, upload-time = "2026-09-02T14:46:37.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a5/ddf6e1744cd76fc9f0ce11cb16b117d6eaac46ebaeca01968e9014e8770c/lxml-6.1.3-cp310-cp310-win_arm64.whl", hash = "sha256:0feebef8d0521188d0157f758356072e840173aa61ca45b8b3f87959ac283dd5", size = 3674608, upload-time = "2026-09-02T14:46:39.802Z" }, + { url = "https://files.pythonhosted.org/packages/96/f1/95133bde7af7afb1f5ba6090b674d826b7a518318bba54bbbb633b27865a/lxml-6.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c66f858b82497173f73366795fc6ee8171620e75a338506d6b2e7bc16f5fca11", size = 8563141, upload-time = "2026-09-02T14:46:42.334Z" }, + { url = "https://files.pythonhosted.org/packages/80/54/5a79ee2181ac773ee13e48205411845feec69e1c3d097e985c1343171712/lxml-6.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:032a0a97eed428bd143c75a11118238546424ceb2fa311cca5f073aa44658dc4", size = 4613690, upload-time = "2026-09-02T14:46:45.253Z" }, + { url = "https://files.pythonhosted.org/packages/ab/29/8c24672f56807f119312f073f24204368574bd16b384ede861b5104b3a2b/lxml-6.1.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4a579dfb9c835f8ab47f4b8ed33440cbc75b806b73297208e6ec2a33e903740b", size = 4935630, upload-time = "2026-09-02T14:46:48.071Z" }, + { url = "https://files.pythonhosted.org/packages/71/69/ce2436d854c848c19fc9287143991f3fc76b8b4e9a0dbba8452e51dff264/lxml-6.1.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:49fbc2682a9306135b7ec49e93f97f9c26689b9b7f96ed2742d8d6497e994d13", size = 5079033, upload-time = "2026-09-02T14:46:50.483Z" }, + { url = "https://files.pythonhosted.org/packages/91/ec/b66f66f6499ad800265d57540b51e6632e3232d3526f42f2f8fd4b14e0ea/lxml-6.1.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ea2c01cdb16dc12156e455007c406dfaaece0c89aa4ba0e3b47586779f951d41", size = 5012298, upload-time = "2026-09-02T14:46:52.603Z" }, + { url = "https://files.pythonhosted.org/packages/94/2a/25d128872f4d51753542bfc3feb482c2ea7c8a2d6d81a0bc5c6a00779ed4/lxml-6.1.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:527195c188d7d0af748cd48d220ab8cdc5cb99be3d49ac4d9be7324d8abf9bc0", size = 5211431, upload-time = "2026-09-02T14:46:54.722Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/0a41bbef074a556110f84fafb6d8c2998293c7d3bfbe1ce74515bc65393b/lxml-6.1.3-cp311-cp311-manylinux_2_28_i686.whl", hash = "sha256:20384c2bbcbf87180c8c61eb60869699c1ec0cd09b62cfd13804022d860b0867", size = 5343417, upload-time = "2026-09-02T14:46:57.46Z" }, + { url = "https://files.pythonhosted.org/packages/7b/cd/16116c3f91791aeeeab1cbe6e7eb6e646f127be7b0158b262eb526a21a0c/lxml-6.1.3-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:424aa5657141d306ba9ad1baab4b2c0a0719040075ee6c66aee9bb2dea2b5054", size = 4673219, upload-time = "2026-09-02T14:46:59.604Z" }, + { url = "https://files.pythonhosted.org/packages/dd/bb/4dff849f443ef70221676aec938bc41e8bae6430aa2ca13b041319e14b98/lxml-6.1.3-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4736e6c87e603146d8949d8501da621ad20c31015060d3fcf95ace2859f3e3e6", size = 5281246, upload-time = "2026-09-02T14:47:02.375Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ac/4aa7dd059420bfd35278c7fe819e9d319ee36a0453b7bbde1907a7832d91/lxml-6.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6374e9e382e5a98c9c5e66d41b357b470da1c54bce30f17f9dc4bcc58436cc1c", size = 5055451, upload-time = "2026-09-02T14:47:05.883Z" }, + { url = "https://files.pythonhosted.org/packages/de/44/20d90cf6f4234de9cd9eeb4f519419885fdb087fa80d073c7b57be342021/lxml-6.1.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:22eec57e26c418cde02c051ce9914a365e52a7f135a565c6f0480242aeebab48", size = 4722694, upload-time = "2026-09-02T14:47:08.461Z" }, + { url = "https://files.pythonhosted.org/packages/f0/0e/6bee12325e53dd6613fe1e107def07583b6182ade03e94bfef8976622e44/lxml-6.1.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:8753b8d51dbc86fd335ee31fcf7f3658e9f5c016d4edfb23f76ad295f4b8c9d0", size = 5269179, upload-time = "2026-09-02T14:47:10.647Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5d/54d269ce5cd0787c0424d9cef449ee794d4097725d13dd2acd6181c44e9c/lxml-6.1.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:207dfc3d47cf0e575e643bbc140dacc8863b39abaa1e5307cd64c7f2365b8a12", size = 5235559, upload-time = "2026-09-02T14:47:13.932Z" }, + { url = "https://files.pythonhosted.org/packages/e4/f7/5a3095f187f1bec293591616a1677781acc265c5b313c009f8a19c471a09/lxml-6.1.3-cp311-cp311-win32.whl", hash = "sha256:18293f8a8d8b6a8e71ef37706b659e3846a4261232158167b1ddf35f6994f633", size = 3600377, upload-time = "2026-09-02T14:47:15.957Z" }, + { url = "https://files.pythonhosted.org/packages/45/5a/15531a0d307c96282fe8b639b3d74e8bd783e4ab4cb2b0781146ac4161b8/lxml-6.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:7ae4949f212a53b007dbc355884fda122545c5764a54256c9217e419a62a6559", size = 4032700, upload-time = "2026-09-02T14:47:18.566Z" }, + { url = "https://files.pythonhosted.org/packages/12/f9/8de76314955545ceaaa7c0305017b8aaa217905dee59c62c0e2c1e44a68f/lxml-6.1.3-cp311-cp311-win_arm64.whl", hash = "sha256:2123e5aa075ac20d23c7af489255efd129cbfe190dbe88fd42598cc9df3199b6", size = 3674431, upload-time = "2026-09-02T14:47:22.186Z" }, + { url = "https://files.pythonhosted.org/packages/dd/1f/a180b57d9eeabaab77f9d5aa30356898ea749c4795596a8f66d1eb6bef2e/lxml-6.1.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c0710ac085a157b593c38fbcacd950f15c4afa8e2057527185875ab302752bc", size = 8602094, upload-time = "2026-09-02T14:47:26.054Z" }, + { url = "https://files.pythonhosted.org/packages/a8/25/070c92013a1c029a602b03560d68772313d918268667fa993da7961759c9/lxml-6.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:623c8799c17128753c65699f1c3aa32402657393a9ad6db09ed8b98ddf76611d", size = 4638308, upload-time = "2026-09-02T14:47:29.587Z" }, + { url = "https://files.pythonhosted.org/packages/1e/1c/722e88883173097a1a375153e3c2447eba3060d0231522cf6596e99f4195/lxml-6.1.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f683dc6300317700025e41d89a43e0276692ded16113a3c43eab704d605c58e5", size = 4939696, upload-time = "2026-09-02T14:47:32.997Z" }, + { url = "https://files.pythonhosted.org/packages/db/36/aa413bc214dc4f785ad2b2ddd8cc99aae7062d49ab155e91e6011af00daf/lxml-6.1.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:379f8a75cf6eb7eef0af074b55f49ab73b868388a98de14646abcdfa4564bb11", size = 5105247, upload-time = "2026-09-02T14:47:36.734Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a0/a1f7f1313795bfec67b77f01ef3b1128d49f2d7f66a8413fa55d47f4e25f/lxml-6.1.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b37772102d44bb6628186accca3a121b1fa3a6b3d97518a8c29a5229ca4c0d0a", size = 5011915, upload-time = "2026-09-02T14:47:39.846Z" }, + { url = "https://files.pythonhosted.org/packages/b9/78/840e7e3f1d0cc7a5cfac5d8505b97e25b6427fd774ac4bae672aaebfb4b5/lxml-6.1.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ddcf547bea2aee967d6a77779376a45e77e610e8465147a1f3d7e20d539d6e32", size = 5638175, upload-time = "2026-09-02T14:47:43.644Z" }, + { url = "https://files.pythonhosted.org/packages/0a/20/e022dbc6b4753a9bc9fc5fb28a27163430c1731b9913997f6544c1b2518c/lxml-6.1.3-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:909f4e927bb051f7740d6367285fc60cdcfdaf0258c2dba4ff5ba7eadadc250c", size = 5244675, upload-time = "2026-09-02T14:47:47.635Z" }, + { url = "https://files.pythonhosted.org/packages/99/83/82cde81d2b5eb38d1539fdfdf318abdd014a7e604f4df01c9cd3deb18f2a/lxml-6.1.3-cp312-cp312-manylinux_2_28_i686.whl", hash = "sha256:a5c18810318303ce9afb3f95e2ddb54834f96fa699a8600433fd5a93dcf44c56", size = 5358205, upload-time = "2026-09-02T14:47:50.306Z" }, + { url = "https://files.pythonhosted.org/packages/d2/a1/f3b057371c8cb29f2a9c9c44ea320592446e40b74a4b0af68c3d8e65bc73/lxml-6.1.3-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:3e42265103fb385d8642a78672edf376c6f7e1d3598a7a4f9cb1278f2f6b5f6f", size = 4704495, upload-time = "2026-09-02T14:47:53.251Z" }, + { url = "https://files.pythonhosted.org/packages/1a/a4/230eb28be5d412152ffc3c679b51fe1aeede5a53f3a8eb6e9748f2f4754f/lxml-6.1.3-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:21402998e4b78e7cce237d2788841aaa21ac9a4d1574d04dc2d12ee41ae807b5", size = 5255117, upload-time = "2026-09-02T14:47:55.963Z" }, + { url = "https://files.pythonhosted.org/packages/a3/18/1969f56763af24ce42ea156007b0b2d73fddea552e283b2010416394f0f4/lxml-6.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:38fc4e4e4e084e0bd491949482527d406788045c546d4f8789e93fc527b91385", size = 5054424, upload-time = "2026-09-02T14:47:58.131Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d4/2a90acc1f6fabaa3a8db9340437822bd8d041b205d626a4b3e8621aaa390/lxml-6.1.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5609efdb0d3c95499c00046bc53648b3482ec2175b5503d6e611b3f0555dc71d", size = 4785572, upload-time = "2026-09-02T14:48:01.029Z" }, + { url = "https://files.pythonhosted.org/packages/a5/1e/b90e845b1dcd0f2f3f26b98283d857f25909223aacd265eee032c34ab8b1/lxml-6.1.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:97ce49699d87ebf8aad631b55d65b33219a4f1bfefbbf5bff19dc9af160aeaf9", size = 5656516, upload-time = "2026-09-02T14:48:03.419Z" }, + { url = "https://files.pythonhosted.org/packages/eb/ab/0a1b802c57f3fba5c4efd77d5c6b78adaa8f7b681f0c90456b140fe8bf6c/lxml-6.1.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:48542c9acba9ff9450bd18d871d2c2c8787fdb283572b623d206f1b927cd7d9e", size = 5245982, upload-time = "2026-09-02T14:48:06.109Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/2c016fbceb3778137459292538d9dfa7e3ad9070fe409c15254ddd90d2cc/lxml-6.1.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c55e71a9b1db1f107efb60da49c093689b74c5c31a708e5379e2fd9439d4fbb5", size = 5267340, upload-time = "2026-09-02T14:48:08.374Z" }, + { url = "https://files.pythonhosted.org/packages/9c/b1/736d18fd6f0835761923b7bac1f0c27d60c1200384e9093f05d8c5100525/lxml-6.1.3-cp312-cp312-win32.whl", hash = "sha256:b3ff39654f0ce6ebd4db154211136dbe7e8157bcc3bed2344c87f32c7c6ecb6c", size = 3602606, upload-time = "2026-09-02T14:48:10.384Z" }, + { url = "https://files.pythonhosted.org/packages/3a/5b/6ed903e4e6278a020c8a6f0dbbe78030d041840a6b4a64ea441a1e414077/lxml-6.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:3e9a00d1c2c30936f7add097c41afc5da6556c580909104aafd382cac92a855c", size = 4005999, upload-time = "2026-09-02T14:48:12.51Z" }, + { url = "https://files.pythonhosted.org/packages/e4/1b/7bcebb7b6332cb3ae85e9c13b139adb6f23f75c71d84041c56a5005d9a29/lxml-6.1.3-cp312-cp312-win_arm64.whl", hash = "sha256:1aeca87830c4fe649dcf93fe2b059525b71c72587f21be4ae4af7103082a79fa", size = 3666631, upload-time = "2026-09-02T14:48:14.567Z" }, + { url = "https://files.pythonhosted.org/packages/52/05/3ef45db776baea068044c799bbba68f3ca00a440c0e930a17c572f3d9639/lxml-6.1.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:3a48093cdb058a93af842ede9703520e810b05dcd0fc6d7190a06376c3bfb6bd", size = 8590357, upload-time = "2026-09-02T14:48:17.413Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a5/eee2fc77eee5ea68e4a4334b1def1781a3beaeefd3d98e81b4a38dc447b7/lxml-6.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:887c021d9a977cff89cb273047c1352997b772a8908a25c21836861f69b92be1", size = 4632616, upload-time = "2026-09-02T14:48:20.745Z" }, + { url = "https://files.pythonhosted.org/packages/35/42/df27b56848acd29d8a720acc28977911aab36f2a09df4208d5502e887415/lxml-6.1.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:611a51e61c92f62345a50b0035df6fc0d678f9299f33728826d831598862f59d", size = 4936186, upload-time = "2026-09-02T14:48:22.94Z" }, + { url = "https://files.pythonhosted.org/packages/ab/8d/8a7b91df0b54d09d25f5f44885d6b3e0a6d6643a8c070191580318d20c42/lxml-6.1.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b477912f42c5c33405a10c759d22f80cf5af043ae02d95b9d8e5e5bc555739ed", size = 5093324, upload-time = "2026-09-02T14:48:25.132Z" }, + { url = "https://files.pythonhosted.org/packages/c6/7e/8f340ddcd43790332fb0de8a26628d571a492da3300cd191821698407c96/lxml-6.1.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cffe18571ccc51d742cd08cbb3f8b756de9311d18c7ea98f5d92f37b8fb60c2", size = 4998850, upload-time = "2026-09-02T14:48:27.394Z" }, + { url = "https://files.pythonhosted.org/packages/c5/c1/9c5bb572f1f09ec9e4322bd4a4e9f4ad48347fc56ef94cf4df58a5279dc8/lxml-6.1.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:75cc6569e86be5785b6188ef1642670c6adbc984e81ec35e224842ecd9eefcc8", size = 5626813, upload-time = "2026-09-02T14:48:29.61Z" }, + { url = "https://files.pythonhosted.org/packages/ac/7d/8bf1fd8bae8247743968bb76d027a1ac5bd2c4b44495fba6a71b30d10706/lxml-6.1.3-cp313-cp313-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d85dfab42dd672f87a7f76e9de7172962aee69fa12044f0d6e1a23cbd53fb80e", size = 5232385, upload-time = "2026-09-02T14:48:31.969Z" }, + { url = "https://files.pythonhosted.org/packages/7b/2e/6cef69ed81cb7df0d03b0dd09d08e6e2cf5061a743ff6f42f0b741548e9b/lxml-6.1.3-cp313-cp313-manylinux_2_28_i686.whl", hash = "sha256:42632b4024ab24a6b488f559ac851312509888b6b80ae2aa11cf29a646a0d245", size = 5347088, upload-time = "2026-09-02T14:48:34.13Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e1/8e5fd8ddc8c7d685badb0f2db149e3c9da84eefc2827c01c658df2c4e3cb/lxml-6.1.3-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:febd35ef45f603c2d74b74655efdbf45e14f55fc0aef4ac82b663ca829b283e0", size = 4707227, upload-time = "2026-09-02T14:48:36.62Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7e/00041382a11be40a88bf405ebff11c8efabd3de79f2691e1638b1c47a8a0/lxml-6.1.3-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a43b3bdf11e477dc7770609d3477316f974354dfc8425d596f64f471cc8daf6e", size = 5240208, upload-time = "2026-09-02T14:48:38.893Z" }, + { url = "https://files.pythonhosted.org/packages/fd/fe/316538b5cff0936fa63d45d421c655730fcbb5a28dcac728c175083002bc/lxml-6.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5d582042c69857c364e8153de6e18e0da9b7b515a6a8113caf69a6ec8e0520f2", size = 5050271, upload-time = "2026-09-02T14:48:41.213Z" }, + { url = "https://files.pythonhosted.org/packages/c9/91/455bcccb3ac725373007344d351151810cd19762d1673b64b811f4359a42/lxml-6.1.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8e49a646acfab83c68974f4aa1d0a2acca9e88d7d627ae0fc13201b14b76d310", size = 4780433, upload-time = "2026-09-02T14:48:43.779Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f6/580440e2f52cf00bba5c5e1080bfa88cdfcde73be71a11d95170ddbb663f/lxml-6.1.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:0dee106e9aa97fb00541b1ed7827070564d0549c3d3fba8920e6b20fd980f748", size = 5645928, upload-time = "2026-09-02T14:48:46.187Z" }, + { url = "https://files.pythonhosted.org/packages/f6/dc/d123c1f244306543d545f62443f794959e4f1ea709fe100f8740d514e74a/lxml-6.1.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:dd5e90f34cffcfed97f36cf066325773d2b6021c60c29942e53a18b028501b1d", size = 5231184, upload-time = "2026-09-02T14:48:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/c3/3c/fe55b2bd5c6113c906511cd88f6a470195c5fbff1124f19970ab706c3477/lxml-6.1.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d9b3e7d71bf6acff341233417abbdface29c647e3113892d9aaedc02eb4aa2bc", size = 5255814, upload-time = "2026-09-02T14:48:50.948Z" }, + { url = "https://files.pythonhosted.org/packages/e7/a7/485df55acf55dc35e4ca89d2f48f03889e5a3241826b18b85102b32ce9d8/lxml-6.1.3-cp313-cp313-win32.whl", hash = "sha256:160fcf381f76c3aeac28a756bec44f48942a8f7245a87aa28e3a523b4d90cd87", size = 3602214, upload-time = "2026-09-02T14:48:53.236Z" }, + { url = "https://files.pythonhosted.org/packages/c0/28/e46a7702bd95e9043291f7c3539b6184cba66f96cea9936f20939b284eeb/lxml-6.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:e477aca0bc0d19f3b4ae9e4f2a1cfd687c31bf772d78734910658186b40b2477", size = 4004091, upload-time = "2026-09-02T14:48:55.699Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1d/154c78e20479a43916e63f19cb720d83f44f024b03228be44c92d9a97b24/lxml-6.1.3-cp313-cp313-win_arm64.whl", hash = "sha256:b1cc980905221a5d8b3c476330730b3adb40ff80add71ffbdb6215ba055656f1", size = 3665468, upload-time = "2026-09-02T14:48:57.703Z" }, + { url = "https://files.pythonhosted.org/packages/0c/15/fc75a70b0af6021d0ea16811f1fc71cc42cd06ce90fe10f007a69b2eed84/lxml-6.1.3-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:2bec13085dc8ef48a3fe62f7dfcacfeda2c785cdf19cc8eeda2bb9ed081da165", size = 8609725, upload-time = "2026-09-02T14:49:00.156Z" }, + { url = "https://files.pythonhosted.org/packages/84/ef/398fcf9018f881ec9aeaafae1ddd6586dfb13314a35d35e899de373dcae0/lxml-6.1.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:4f4db7c7e954d289d71878938348b3d91b904a3e8210a11939359fb758a58e7d", size = 4639629, upload-time = "2026-09-02T14:49:02.81Z" }, + { url = "https://files.pythonhosted.org/packages/a7/2d/49b6a6ad7ce8f64b07b9fe852ff0c6d3fcbb26db61bee4f63d4120180a1c/lxml-6.1.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2cae5d5c90a62d9139c512a0cb1aad1d182b022b5740daea2617eb5bf7fc658e", size = 4965074, upload-time = "2026-09-02T14:49:05.133Z" }, + { url = "https://files.pythonhosted.org/packages/66/bc/6230cf80e4331c33383b0b6b73dc31a393dd76edd4cb73d761de5123034d/lxml-6.1.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c6c0c13128a32eb04a51357e56a094e13aa8e6d3d1884de2e9ae923f6915e1a8", size = 5099355, upload-time = "2026-09-02T14:49:07.343Z" }, + { url = "https://files.pythonhosted.org/packages/ac/cf/d1143d9b7717e07a82f158a1fc9ce6e581fdad1226734950af869e3ffde4/lxml-6.1.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2221e88679d1351e9a40aaee54bc65679b9795bbd0160bc3d5e36b163344eb75", size = 5036795, upload-time = "2026-09-02T14:49:09.65Z" }, + { url = "https://files.pythonhosted.org/packages/31/6f/194bb00ffb89712c30f5a7e1b8e685590e140fad6c8261fec172c09a3dc0/lxml-6.1.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cfb398886a7eb4c719161c3efcff2a1248febc53a4d8e5072d2d8a87fed84ac9", size = 5658740, upload-time = "2026-09-02T14:49:11.9Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/27e3cee3dcdb3b7bc09727b642bdbfcd098490ea77df04611db9060d7722/lxml-6.1.3-cp314-cp314-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7eb78ba28b187e1e9203a55c60fcf70df2d22cb205fe6d51b9383d6097419f0", size = 5245991, upload-time = "2026-09-02T14:49:14.154Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e9/8312560579fc980bbd2233a8a673cc46f7d613d3633f2bf08a21e8f4ad13/lxml-6.1.3-cp314-cp314-manylinux_2_28_i686.whl", hash = "sha256:ea6b1e9105b4b24a34c722432d9fb578f9ed83af21fa1abda639011e0f22bbb6", size = 5354136, upload-time = "2026-09-02T14:49:16.459Z" }, + { url = "https://files.pythonhosted.org/packages/74/d8/eda60f4f73a9c780b5d6e1175484f66e6c81a2c93346e2906a1fec9c7a02/lxml-6.1.3-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:e8b17e23df3e827a69d25af70990ca2420e92668aaffaeeb3cd2351d7916a023", size = 4704379, upload-time = "2026-09-02T14:49:19.032Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c8/c9cc60057be78ac34bd2b842e45e6e88edbfe5e532e82c3b82381b7aab49/lxml-6.1.3-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1b7c37339d7e75cab9a123a04248e243cefefb302ad6db566ea0c77cbcde421e", size = 5258676, upload-time = "2026-09-02T14:49:21.306Z" }, + { url = "https://files.pythonhosted.org/packages/41/7b/66894008fee8d1785b8db129747ae963fd427b68f456918df7f2f24a8b98/lxml-6.1.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:83e3a51e7933db700a0da0db31849db3a24022d9970da9bb73001e1d0326fd92", size = 5090069, upload-time = "2026-09-02T14:49:23.562Z" }, + { url = "https://files.pythonhosted.org/packages/8b/31/c1b60404859f4c3cd1f41f29c65a24e25cea78fde822d9574a21f66810be/lxml-6.1.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:9bde9ae026a55b9a192078dfa6e27dd0ca4a050171ab6272e92f97b757dfdf48", size = 4741958, upload-time = "2026-09-02T14:49:26.037Z" }, + { url = "https://files.pythonhosted.org/packages/23/b8/6285f0cf546f14da2554cabdeaf7c2c2ff3190c74807f0de2e8810a786f9/lxml-6.1.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1a635e837b50a1819bebfedaac5916498ea024120969da8790500148fb0a894d", size = 5683245, upload-time = "2026-09-02T14:49:28.438Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f6/2168cab44336dcb15fed0f0b78577225b83297cdf0dee349c95420c3dcb0/lxml-6.1.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:d0c5c362bc94f1929dc7e96e715bbe7bd17037f802e6d8f0d1545df9133c0559", size = 5246087, upload-time = "2026-09-02T14:49:30.955Z" }, + { url = "https://files.pythonhosted.org/packages/f5/89/32f5de69a0a31f30e6164981851f87b37ecb2c4ee838e504b88d49d4818e/lxml-6.1.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c59e4265608da6a041f54646ecc0c9ecdbb19aaf14c4c684bb6c2114998cc415", size = 5269352, upload-time = "2026-09-02T14:49:33.502Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a1/741d952ed3a7ef7a50055c6415aec3f067015e97f72f4389ce77b09657ba/lxml-6.1.3-cp314-cp314-win32.whl", hash = "sha256:2e62c569ec7531b679b184cbfe335c501c1d13c4b363560013019962eb630e6d", size = 3662783, upload-time = "2026-09-02T14:50:23.751Z" }, + { url = "https://files.pythonhosted.org/packages/0f/bc/5811cc73cac05e324e05ba9b0924e1a163a317a167ede8a9c748b11db30a/lxml-6.1.3-cp314-cp314-win_amd64.whl", hash = "sha256:66299564c046bc7e0cc5de5106601eae907e9fa5904cd68a323380a8502f7861", size = 4073951, upload-time = "2026-09-02T14:50:26.348Z" }, + { url = "https://files.pythonhosted.org/packages/92/18/3768c8b01ac3a9bed1914715e6011711b00e2a11628ffa6f7fa37f8e0269/lxml-6.1.3-cp314-cp314-win_arm64.whl", hash = "sha256:ebd054ad1737a68fb7c5c073d405cef2b88bb824e294de3b4a4e995b47f0e376", size = 3749279, upload-time = "2026-09-02T14:50:28.749Z" }, + { url = "https://files.pythonhosted.org/packages/72/38/84684784738d9451db2b330de2483f496690c3a5c642071df24135739b37/lxml-6.1.3-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:5a143e6207579de8baeded4eaac9134413200359f1969d636f0bfb98ee8c3c8f", size = 8860296, upload-time = "2026-09-02T14:49:36.346Z" }, + { url = "https://files.pythonhosted.org/packages/24/b7/fc4c50bb1b38e864010ea396046cabe85129bf9e65b11edcfbc37d356241/lxml-6.1.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a1cec0f99b9b914d39176347a93b7610dc09324491aee1cbc57cd291a41a1d55", size = 4755190, upload-time = "2026-09-02T14:49:39.872Z" }, + { url = "https://files.pythonhosted.org/packages/94/e2/ee9aa6ed2b666b2db1f6f7fd48964ff9da39ebe827ef5eac0ab881f639d9/lxml-6.1.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f6b9d2aad499c769ee8287609ab0e6de99d8bcea99c6e6c2e64945259fd52fb2", size = 4979517, upload-time = "2026-09-02T14:49:42.153Z" }, + { url = "https://files.pythonhosted.org/packages/29/e3/e7763d1661b283ddd4fa36f91b9a497db6b8d2aff55028b16c7f642e0755/lxml-6.1.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a23fefdb345b2d4d0ff2860571b5ff9a89a28b6a120f720e8fb0324d346626", size = 5115270, upload-time = "2026-09-02T14:49:44.493Z" }, + { url = "https://files.pythonhosted.org/packages/2d/cd/22205d5b4d177e3f4156f780412426ee7c7f8107809f119f0dcc40fa51e3/lxml-6.1.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:545ccc14fb05485f48b4439ec35beb16d5b5280eb6c81c658bd4707a2a119414", size = 5032449, upload-time = "2026-09-02T14:49:46.841Z" }, + { url = "https://files.pythonhosted.org/packages/da/43/06a4626c3bb79ef8c501b674afab8100d64e798665bb2a97d1c960636a49/lxml-6.1.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:93476b6514b373fc6ca67d26c442784f7807c86f00635bfe79f935c3eab2af17", size = 5603325, upload-time = "2026-09-02T14:49:49.664Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9c/733682a0c2de9f5779ba207bbb3f3f6be8c6bda863fc01739b186b38783a/lxml-6.1.3-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8db38ff3fb7aee7d6a82ae4da2eef1178656fe1216841fbd24870062a9d60473", size = 5229023, upload-time = "2026-09-02T14:49:52.447Z" }, + { url = "https://files.pythonhosted.org/packages/c6/8a/e69cdaca3fd33a647942925664f01b20908d41a6968c182305be9c38fb11/lxml-6.1.3-cp314-cp314t-manylinux_2_28_i686.whl", hash = "sha256:25f4118c438f96bb466e83108506d03d5c31b1bd2387e83e5b070bda6ded9c37", size = 5317811, upload-time = "2026-09-02T14:49:55.25Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b2/0c397588174403c2ab68fc464abf97e03e7324f9c6cb6a99023104707195/lxml-6.1.3-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:1beb0f9909b26cee938df9ba56b15252a84429b1fc30ce6fca161390b9789a70", size = 4646516, upload-time = "2026-09-02T14:49:57.761Z" }, + { url = "https://files.pythonhosted.org/packages/56/7e/cfea25afafbe49db8b225764f7f74bb37c2a7f5e717d917d3d4a5e098ed4/lxml-6.1.3-cp314-cp314t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3a27ac6c780c8b8a1cd231b58407634cafc1c4cc28cd6c7141362df0f36351e7", size = 5240626, upload-time = "2026-09-02T14:50:00.279Z" }, + { url = "https://files.pythonhosted.org/packages/a1/75/7a587771bb52ebb0e2c57b6dbe9fd96a70fbb54d72ddd97d54c5f8ec18d5/lxml-6.1.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a1932d7ce78a561367512c594fe66eac2b2ec9b9264cfd9b5f950622f4a116e2", size = 5086619, upload-time = "2026-09-02T14:50:03.245Z" }, + { url = "https://files.pythonhosted.org/packages/1e/01/94c0ebe6d831861542d251e038052e52bf6d33f1d18f1cfffdc82851065a/lxml-6.1.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:7d0f5976aa2701996f759b30172925829867547bb073af0ae67d1307a0f0262c", size = 4758828, upload-time = "2026-09-02T14:50:05.873Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f1/938d67bd0e5b1fdfa52be28aefdffbad57e1f6b8e921c2aab88542c75f40/lxml-6.1.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e7ce578aa8a80910a72a8ca0bbea3baae10100827249001999726a788456d8", size = 5627083, upload-time = "2026-09-02T14:50:08.555Z" }, + { url = "https://files.pythonhosted.org/packages/d8/65/4e51522f6c214650db0abb7b16ccd11b1238b8a05a8d59aa4ebed59c9f67/lxml-6.1.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d97c5227621af74b111882a290b10f371780a38eef9d9e730408fba2259b52fb", size = 5235170, upload-time = "2026-09-02T14:50:11.255Z" }, + { url = "https://files.pythonhosted.org/packages/92/c2/e73d19365665f6b16ef84df21199befc3b06e4c539046ad2d9595f6fb9ea/lxml-6.1.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:da707f14ea3c35ee463d50acd596d6488e4b2b4ae7cf77a5bf93f55c023d63e8", size = 5252273, upload-time = "2026-09-02T14:50:13.782Z" }, + { url = "https://files.pythonhosted.org/packages/48/a9/7f386c84c9fe2854e1ca6e231c285e1c8f392971ac353c6865e6ec49faff/lxml-6.1.3-cp314-cp314t-win32.whl", hash = "sha256:9efe56a68179f3adc4de41861c9358931db03837c48dd5e1c78077b84dd07f3a", size = 3902712, upload-time = "2026-09-02T14:50:16.171Z" }, + { url = "https://files.pythonhosted.org/packages/82/a6/8a3eb793f7900ef01c7f99e6f5fcbcfbdff35251cfaef66b32a4c16352d6/lxml-6.1.3-cp314-cp314t-win_amd64.whl", hash = "sha256:c9389b3784b56c58d933b5e0aecdf28f901b073ff385358d8a7d40907f6e14b2", size = 4400979, upload-time = "2026-09-02T14:50:18.621Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c4/3807bea283b4fe9e9d9f5dde46a73df91178472b335d2778e10b2a37aa22/lxml-6.1.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32a409be3190b088f960ac92bfedfbef2f86c49ff940765e1548177592d20026", size = 3823401, upload-time = "2026-09-02T14:50:21.119Z" }, + { url = "https://files.pythonhosted.org/packages/e1/8e/4614fcd65496054cfb7172662f3576a59200278739506433b8c241ea422a/lxml-6.1.3-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:6ea2f13dce778ca072ccee598bca46a092ce192e8fd907b6c1f0e52c800529a0", size = 8609378, upload-time = "2026-09-02T14:50:31.772Z" }, + { url = "https://files.pythonhosted.org/packages/f2/51/2cdce3c65fa99a6195dd8fbd512d33407c1000ad99f63e0a285b63d7a8eb/lxml-6.1.3-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:c581b1d68b3845fb86c6b2983e755b29bf001461c59fa411d2c26a911b6559a9", size = 4640022, upload-time = "2026-09-02T14:50:34.41Z" }, + { url = "https://files.pythonhosted.org/packages/52/09/0b30084e9eb1c546a4be3d9c56df70058d116b1a320400a59b0f7da87bf0/lxml-6.1.3-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e01125896585139453cab8cb235893644d8815d7509520da95ae3ee8d1c1f79", size = 5037928, upload-time = "2026-09-02T14:50:37.007Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0e/5c37275a3e361f6138dc06db748ea565c1fe8a5f4ee5e2ddd80047c81a89/lxml-6.1.3-cp315-cp315-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:290f66b97ede0e552e1cb44a0fd8a74f9753ee635b50830a0b122fb72788d015", size = 5661932, upload-time = "2026-09-02T14:50:39.777Z" }, + { url = "https://files.pythonhosted.org/packages/70/c5/b71ffb289b15e2642e2a3cf6d468c44da39ea119061a99e5b05e3d10f217/lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73fc05988ed20809450474ba760a87c8ad4e455fc09783c02195e56ec634b41a", size = 5249209, upload-time = "2026-09-02T14:50:42.141Z" }, + { url = "https://files.pythonhosted.org/packages/81/ea/9910da149a23932f9301652e57661cd9e42b0df18f12be21159b7255f92b/lxml-6.1.3-cp315-cp315-manylinux_2_31_armv7l.whl", hash = "sha256:dc3a44689eea43eab836e5c98a8ab015dc2419987d1ea6eafc7c590cdff86bed", size = 4704543, upload-time = "2026-09-02T14:50:44.634Z" }, + { url = "https://files.pythonhosted.org/packages/76/07/9290329cd188c62e22021f79df04ee0cc33d9a93b0d38bd65ccd452ad9d0/lxml-6.1.3-cp315-cp315-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:209c3ccbfe35a04ac6d24f0611f9d1cbf8025d49991b14acd935236234d6c156", size = 5261298, upload-time = "2026-09-02T14:50:47.301Z" }, + { url = "https://files.pythonhosted.org/packages/c9/0c/aba78bd3401cd99b73a0aed8e2b9b43e14be94fab3603d4bbc8a62365f2a/lxml-6.1.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:2f5b2a2b9811b853b39bfa41367c6d78747b8e3e80e07fc5a24aae295c1a4d7d", size = 5090453, upload-time = "2026-09-02T14:50:49.952Z" }, + { url = "https://files.pythonhosted.org/packages/8d/dc/fa4426c3355aa0216cbeb3911495b5f65a26e0df85859a89928fe28f0396/lxml-6.1.3-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:6a406d0b3cb207b0fa460ed4dc93e866f44f105da0169361cb18ff998a44c7f0", size = 4744709, upload-time = "2026-09-02T14:50:52.394Z" }, + { url = "https://files.pythonhosted.org/packages/be/2b/224fe7918658ab7c532ac2412f3c1eb28f71e6364fb07566262d0cc6a7b6/lxml-6.1.3-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:53258656846f5c48996b882fb4b135885e088a3ad3d96b4bc0530f95124d1f69", size = 5685802, upload-time = "2026-09-02T14:50:55.043Z" }, + { url = "https://files.pythonhosted.org/packages/21/44/7d480819b9adcae5f84dd8ac529132c6b7a578544398225cd20321adcd91/lxml-6.1.3-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:aa633613ff907ea91b9b0489a1f0da1b8725d8c6ccec6b77e8a1c9c235044bb0", size = 5249019, upload-time = "2026-09-02T14:50:57.985Z" }, + { url = "https://files.pythonhosted.org/packages/72/83/385a267ea1b6b283f2249dd827ef360a295e9db14e13ef4665a120c60d64/lxml-6.1.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:90f709b9accab6b2e4d14f5c8718203877a0486bcb3afd74d8b539ecd1e961d4", size = 5271886, upload-time = "2026-09-02T14:51:01.667Z" }, + { url = "https://files.pythonhosted.org/packages/d8/0d/f967b0eb172ae876855a402d6d9b11fa86e3e0c89ca9bbfeadf7ffbfa719/lxml-6.1.3-cp315-cp315-win32.whl", hash = "sha256:b4fc6b03b9d9d90557274f571ab30e7fbbfc527955536935d96f98b6817a86e4", size = 3662894, upload-time = "2026-09-02T14:51:45.173Z" }, + { url = "https://files.pythonhosted.org/packages/f4/48/d8a8c4160a29e663109ad520bac2deb37fcd014756d024561e8bc3e611ec/lxml-6.1.3-cp315-cp315-win_amd64.whl", hash = "sha256:33cadd956b667997e4de1635fce9541f2e8ede2038fcde8cf55aa14d571d1bad", size = 4074626, upload-time = "2026-09-02T14:51:47.77Z" }, + { url = "https://files.pythonhosted.org/packages/25/20/3e1395d34d19f9254625d0b567b81cf70d37d3417be074f4d63b94a2be3c/lxml-6.1.3-cp315-cp315-win_arm64.whl", hash = "sha256:8a330c0ee5fa318c7b5cbbaad882baeca3f570357e7eb25ab34bf31008150758", size = 3749495, upload-time = "2026-09-02T14:51:50.663Z" }, + { url = "https://files.pythonhosted.org/packages/8f/c6/7465ffd9c43883526a382df6fa4846c9d8d419214f7effbf65270e795471/lxml-6.1.3-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:0bf5a3e397df2ec4258eb5eea4c1ac6cf013ca1abd04a176903bff20a70021fe", size = 8857677, upload-time = "2026-09-02T14:51:05.109Z" }, + { url = "https://files.pythonhosted.org/packages/ed/eb/1f3a917e299df43c8162c3e6f64fc2cea3bcf277910f35bff5b8e5d39901/lxml-6.1.3-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:13d22c0d57355366b393936acf6b98a5e0edeadddd3fccbc6a846c50a76b8741", size = 4754522, upload-time = "2026-09-02T14:51:08.137Z" }, + { url = "https://files.pythonhosted.org/packages/d7/f9/f81b4bdb6efb7a596be29603d8758154d00a5f545db9f3cef9d9041c8f64/lxml-6.1.3-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cad7617727a96d189bd6f979d0fadf765198c7934e85f4edaba9bf3ad919a300", size = 5033744, upload-time = "2026-09-02T14:51:10.633Z" }, + { url = "https://files.pythonhosted.org/packages/c8/0f/26d9bfaacb319c86e0eca8a1a0bf1130d36a7afbd318883e23caea63763d/lxml-6.1.3-cp315-cp315t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cae82b5ca24b0c2beedb269f6e2a96f466acd926879ab00ae19f1a65cbf9ffb0", size = 5615269, upload-time = "2026-09-02T14:51:13.357Z" }, + { url = "https://files.pythonhosted.org/packages/5d/90/73675f3f4141350ed65d6fec533b107d4e802c5caa340cf111771edd86e0/lxml-6.1.3-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:69cafd61aea04ebb3502c93c2aaa568b12931ca0802231e0b5de76bf8b6e74bd", size = 5236280, upload-time = "2026-09-02T14:51:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/fd/be/ed260767e7977de463a0f91f3f4fffcab85c0a2a024a21ffe1fa442c2c79/lxml-6.1.3-cp315-cp315t-manylinux_2_31_armv7l.whl", hash = "sha256:dc205732d593118cf701d986f40e9de7801bb2e371cb189ddbda9b7348f4d97e", size = 4650718, upload-time = "2026-09-02T14:51:19.102Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/e9839d03b1e767f2725cf7d7d81b80d5f3f9fdc10ad8827e2479311b046e/lxml-6.1.3-cp315-cp315t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:88e719b9437f148f7e1465df845c758dd1598618cbea3a2fd1e61a715542f2b2", size = 5243376, upload-time = "2026-09-02T14:51:21.606Z" }, + { url = "https://files.pythonhosted.org/packages/34/a5/4606e347e2788c301f677004aa83e28d24da9fe663a24380122af57be6fc/lxml-6.1.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:40983eabefd13da003e68170928c7acc011f0d095eefce5871a3c71c9385fb9a", size = 5092340, upload-time = "2026-09-02T14:51:24.21Z" }, + { url = "https://files.pythonhosted.org/packages/ea/99/3314a8661cdf30f493c55a87db283961dfaae08451976a2ca418958e1804/lxml-6.1.3-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:fad67b12ffe0f71e02b4932b04883cbc76a9072bbd30731409d3523cf058b011", size = 4758768, upload-time = "2026-09-02T14:51:26.813Z" }, + { url = "https://files.pythonhosted.org/packages/30/58/3bdc577f78ea8b7d72d39a84506f7001d5b28728f43e5b84891e3b7d9a4a/lxml-6.1.3-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:6cd11e7550d89e551a87dcec30f04b1fca32e86b68708aa01a4daa455d8605e5", size = 5649546, upload-time = "2026-09-02T14:51:29.453Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e4/652633de1a2395949ebb7a8fc7d089aba12a2b45f0fefbc9d29e3e3ab3cf/lxml-6.1.3-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:ca0ec532ad2f5ba1e5ec120ac157769c57f01855b3d8bf37213f5d88abd9ba0a", size = 5234874, upload-time = "2026-09-02T14:51:32.262Z" }, + { url = "https://files.pythonhosted.org/packages/65/a6/c4581d171de30449304b4859bbd3607e9b40da13c0f88b68e6097c8d785e/lxml-6.1.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:e99e09ab7741f1281e2677f4c0058c7f5267d182530b09c87e4f6aa26adf3887", size = 5260043, upload-time = "2026-09-02T14:51:34.841Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d7/ed6ee6186a89e69ca4ea9658b2a278f46a5efe8b5d4db56c7197f18653fe/lxml-6.1.3-cp315-cp315t-win32.whl", hash = "sha256:ace1d2c83b2bd24db5940600541140e87a325e119cb32d5fa9ad720d7e76648e", size = 3901093, upload-time = "2026-09-02T14:51:37.234Z" }, + { url = "https://files.pythonhosted.org/packages/67/9d/11d10257a4a048d04195d638bb61f0246ce2448eb05f682bcbab25a257a8/lxml-6.1.3-cp315-cp315t-win_amd64.whl", hash = "sha256:b49638355ea3bebba70da783ccbc630fd72afa16bc46c54474bfa1f9a915bbc6", size = 4395446, upload-time = "2026-09-02T14:51:39.884Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b7/44edd7de434181c582892e68d1ffe6775ca403ce14aea07cb5a218a936cf/lxml-6.1.3-cp315-cp315t-win_arm64.whl", hash = "sha256:5a721a98c649855963811b59b55755b30566e7f7fc40bdc9803d66dee9f811cf", size = 3822836, upload-time = "2026-09-02T14:51:42.471Z" }, + { url = "https://files.pythonhosted.org/packages/ad/23/dc1fdf3a53f84ca88b6e942277ddb47954844a0ececea8cc5fa3c1324831/lxml-6.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4b061064b4a2fe8598a466d723d43dbcd5a610a5d5cfe02fb6226f5c17349f75", size = 3947704, upload-time = "2026-09-02T14:46:22.27Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ed/e36d547d6c958b5693b873504735cb4d0388d545945d66a7aed8983a720b/lxml-6.1.3-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8499d464de86fab0f102313cce32a9bed9ab1f06ec813cf025cb790964fbb765", size = 4220149, upload-time = "2026-09-02T14:46:24.907Z" }, + { url = "https://files.pythonhosted.org/packages/98/54/7f51e6b6cc0755f9b5fc6637748279e9f48289d917b3a47ac9fedf3318d3/lxml-6.1.3-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9e67324961ac9bbe616cce5100514d2e34d88665aeb07071e8b16eac55d06d94", size = 4329391, upload-time = "2026-09-02T14:46:27.111Z" }, + { url = "https://files.pythonhosted.org/packages/eb/9e/840b0d2e25c10c491b010d555b46e6e5264d3ad73a91557405fceb738c35/lxml-6.1.3-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d12669a2c419b0e8dc423d23dea24bb82f6f9cb829f32e04674b0ba40322a7c", size = 4262125, upload-time = "2026-09-02T14:46:29.199Z" }, + { url = "https://files.pythonhosted.org/packages/69/8f/42a41571dfc772c12628747f883d24c978053856825b99d7a187117b8079/lxml-6.1.3-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97acecb11cbc411473f15b8d780df06d7a9f3a2aad9aca78364f56640c8fb70e", size = 4410104, upload-time = "2026-09-02T14:46:32.102Z" }, + { url = "https://files.pythonhosted.org/packages/f3/aa/27d93812be916f1f674b2035edd86d41c77745ff2ad84f58c25a7445a397/lxml-6.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f8b9c8ceebae6387d0dc77f7f4dbbfbfc962dba2efbfe6877486075a480726b4", size = 3510724, upload-time = "2026-09-02T14:46:34.122Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c1/2433176de263cc3f51fd2c303f993d5bb7f1da3139a0f7d168116c0bfa7a/lxml-6.1.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d2765c18ce303149ee804b1f3dad11232726dd0a702d73a15cf19179ac8cc962", size = 3942969, upload-time = "2026-09-02T14:46:36.55Z" }, + { url = "https://files.pythonhosted.org/packages/7c/71/de7759096f480180fd9e43ff7c017860e2d2a9a43741ab093cbdf1820f07/lxml-6.1.3-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d5a748d12dd9b535e0a130f60dae9ddf0adafbabe61e7864f55c7436c84547a", size = 4213008, upload-time = "2026-09-02T14:46:38.784Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9b/c2d09af47a34fa6c0c27473083812b449a411680bd04bbe609cde291ddc8/lxml-6.1.3-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:41096ec0740a58dad03d3ae0c7486d306d20becefb13ceb1649835ab3eb64167", size = 4322012, upload-time = "2026-09-02T14:46:41.031Z" }, + { url = "https://files.pythonhosted.org/packages/68/f3/bf56fee0403ebd995be8e78ec9aca566016487d1b3cbf755ebea8ccffbdb/lxml-6.1.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:415e3a115c0d510e329020012834d1c0aa1c581ee53a218603e38abbc1dea70a", size = 4257402, upload-time = "2026-09-02T14:46:43.134Z" }, + { url = "https://files.pythonhosted.org/packages/1c/1d/6da9cc086a20d9dd6bcbf7c5d9575f0331cca9a05e67dab02d15e828170b/lxml-6.1.3-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20428910dae17a1a93152a3ff2c0441d2f4932992c0797d65651dd0561f1792f", size = 4410889, upload-time = "2026-09-02T14:46:46.975Z" }, + { url = "https://files.pythonhosted.org/packages/03/5c/91fe48856f9f8089be3096fa4dbe4b3fb5526f3bf3e852ea9497f399cb9f/lxml-6.1.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:bc8dd3d9c93e70c3df974a201ac2958b6d77b465d813c51d1f15fa8e645763ae", size = 3511258, upload-time = "2026-09-02T14:46:49.046Z" }, +] + [[package]] name = "nodeenv" version = "1.11.0" @@ -361,6 +526,21 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, ] +[[package]] +name = "parsel" +version = "1.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cssselect" }, + { name = "jmespath" }, + { name = "lxml" }, + { name = "w3lib" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/a3/7cc3694c3bf852f656911c29b815a20352d0cb781d79d7bfd647c05b8d7b/parsel-1.12.0.tar.gz", hash = "sha256:25dabcf09578c3d571d905de4428194cf932ce1c736d8961c23886956074e330", size = 113914, upload-time = "2026-09-25T07:40:07.159Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/5c/5cba14535c3fdf3b17bcd613481dd804a0ad7dfbad59f81ec1034e6dc9c5/parsel-1.12.0-py3-none-any.whl", hash = "sha256:df7b207665c4aa9d4f8c62cea88f6d585e7e1cd1dea84f367dfcb65cb9605b15", size = 15403, upload-time = "2026-09-25T07:40:05.792Z" }, +] + [[package]] name = "platformdirs" version = "4.11.15" @@ -681,6 +861,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f5/8c/692cf235722ee45c612630d2b49b3d1765892f7e440055365ea1b59c659e/virtualenv-21.12.1-py3-none-any.whl", hash = "sha256:878db9e963d0ef0b38561a344a4f9b12dc5c7741b6245d7ed10e9291cfea28bc", size = 5486096, upload-time = "2026-09-24T19:03:45.985Z" }, ] +[[package]] +name = "w3lib" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c0/91/b2eb59c2cf243de5de1e91c963655df78c015509f51297685a8c86a27b8c/w3lib-2.4.1.tar.gz", hash = "sha256:8dd69ee39ff6398d708c793abc779c334a69bac7cee1cdf71736c669ed6be864", size = 48494, upload-time = "2026-03-20T09:50:27.477Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/c3/f8b216cbd742e5b84c40f045204c764ccb7524d2aeab021054ec69446b0a/w3lib-2.4.1-py3-none-any.whl", hash = "sha256:40930132907e68de906a5b89331ab8c8ff4f01bd35b5539ef7896017d814138d", size = 21695, upload-time = "2026-03-20T09:50:26.187Z" }, +] + [[package]] name = "wrapt" version = "2.4.1" From 8d0955ab15fd51304f14970ae3f2f3d747211cc5 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 11:53:11 +0200 Subject: [PATCH 12/26] Add dedicated showtime retrieval --- README.md | 3 +- allocine/api.py | 6 +- allocine/cli.py | 20 +- allocine/client.py | 60 +- allocine/models.py | 49 - pyproject.toml | 1 + .../test_get_showtimes_defaults_to_today.json | 529 + ...howtimes_fetches_inclusive_date_range.json | 976 + .../test_allocine/test_get_theater.json | 2177 -- ...t_theater_falls_back_to_page_metadata.json | 7 + .../test_allocine/test_search_theaters.json | 34 +- .../get_showtimes_defaults_to_today.json | 17196 +++++++++ ...howtimes_fetches_inclusive_date_range.json | 32152 ++++++++++++++++ ...t_theater_falls_back_to_page_metadata.json | 207 + tests/test_allocine.py | 36 + uv.lock | 35 + 16 files changed, 51229 insertions(+), 2259 deletions(-) create mode 100644 tests/__snapshots__/test_allocine/test_get_showtimes_defaults_to_today.json create mode 100644 tests/__snapshots__/test_allocine/test_get_showtimes_fetches_inclusive_date_range.json create mode 100644 tests/__snapshots__/test_allocine/test_get_theater_falls_back_to_page_metadata.json create mode 100644 tests/cassettes/get_showtimes_defaults_to_today.json create mode 100644 tests/cassettes/get_showtimes_fetches_inclusive_date_range.json create mode 100644 tests/cassettes/get_theater_falls_back_to_page_metadata.json diff --git a/README.md b/README.md index b2b6b01..9d20e08 100644 --- a/README.md +++ b/README.md @@ -99,8 +99,9 @@ from allocine import Allocine allocine = Allocine() theater = allocine.get_theater("P2235") +showtimes = allocine.get_showtimes(theater.theater_id) -for showtime in theater.showtimes: +for showtime in showtimes: print(showtime) ``` diff --git a/allocine/api.py b/allocine/api.py index 5ffb900..d169caa 100644 --- a/allocine/api.py +++ b/allocine/api.py @@ -26,7 +26,7 @@ def get_showtimelist_by_theater_id( ): url = f"{SHOWTIMES_BASE_URL}/theater-{theater_id}/" if date: - url += date.isoformat() + url += f"d-{date.isoformat()}/" if page: url += f"p-{page}/" @@ -36,6 +36,10 @@ def get_showtimes_by_movie_and_theater_id(self, movie_id: int, theater_id: str): url = f"{SHOWTIMES_BASE_URL}/ope/movie-{movie_id}/theater-{theater_id}/" return self._get(url=url) + def get_theater_page(self, theater_id: str) -> str: + url = f"https://www.allocine.fr/seance/salle_gen_csalle={theater_id}.html" + return self._get_text(url=url) + def get_theaterlist_by_geocode(self, geocode: int | str, page: int = 1) -> str: url = f"{THEATERS_BASE_URL}/ville-{geocode}/" params = {"page": page} if page > 1 else None diff --git a/allocine/cli.py b/allocine/cli.py index 9c697ef..23201b7 100644 --- a/allocine/cli.py +++ b/allocine/cli.py @@ -6,6 +6,7 @@ from prettytable import ALL, FRAME, UNICODE, PrettyTable from allocine.client import Allocine +from allocine.schedules import get_showtimes_of_a_day def extract_field_names(dict_list): @@ -64,18 +65,25 @@ def main(id_cinema, entrelignes, jour=None, semaine=None): jours.append(jour_obj.strftime("%d/%m/%Y")) theater = allocine.get_theater(theater_id=id_cinema) + requested_dates = [datetime.strptime(jour, "%d/%m/%Y").date() for jour in jours] + showtimes = allocine.get_showtimes( + theater_id=id_cinema, + from_date=min(requested_dates), + to_date=max(requested_dates), + ) print("{}, le ".format(theater.name), end="") for jour in jours: - print(get_showtime_table(theater=theater, entrelignes=entrelignes, jour=jour)) + print(get_showtime_table(showtimes=showtimes, entrelignes=entrelignes, jour=jour)) print() -def get_showtime_table(theater, entrelignes, jour): +def get_showtime_table(showtimes, entrelignes, jour): showtime_table = [] date_obj = datetime.strptime(jour, "%d/%m/%Y").date() - movies_available_today = theater.get_movies_available_for_a_day(date=date_obj) + day_showtimes = get_showtimes_of_a_day(showtimes, date=date_obj) + movies_available_today = set(showtime.movie for showtime in day_showtimes) for movie_version in movies_available_today: title = movie_version.title @@ -87,9 +95,9 @@ def get_showtime_table(theater, entrelignes, jour): movie_row["*2_note"] = "{}*".format(movie_version.rating_str) - showtimes = theater.get_showtimes_of_a_movie(movie_version=movie_version, date=date_obj) - - for showtime in showtimes: + for showtime in day_showtimes: + if showtime.movie != movie_version: + continue hour = showtime.hour_str.split(":")[0] # 11:15 => 11 movie_row[hour] = showtime.hour_str diff --git a/allocine/client.py b/allocine/client.py index 1a4048a..3a9a692 100644 --- a/allocine/client.py +++ b/allocine/client.py @@ -1,6 +1,7 @@ import json import re import unicodedata +from datetime import date as Date from datetime import datetime, timedelta import jmespath @@ -23,15 +24,39 @@ def get_theater(self, theater_id: str): movie_id: int | None = jmespath.search("results[0].movie.internalId", resp) assert movie_id is not None, "We need at least one showtime to get details about a theater" - theater = self._get_theater_details_from_movie_id(theater_id, movie_id) + return self._get_theater_details_from_movie_id(theater_id, movie_id) + + def get_showtimes( + self, + theater_id: str, + from_date: Date | None = None, + to_date: Date | None = None, + ) -> list[Showtime]: + from_date = from_date or Date.today() + to_date = to_date or from_date + if from_date > to_date: + raise ValueError("from_date must be before or equal to to_date") - theater.showtimes = self._parse_showtimes(resp["results"]) + showtimes = [] + requested_date = from_date + while requested_date <= to_date: + response = self._client.get_showtimelist_by_theater_id( + theater_id=theater_id, + date=requested_date, + ) + day_showtimes = self._parse_showtimes(response.get("results") or []) + for page in range(2, (jmespath.search("pagination.totalPages", response) or 1) + 1): + response = self._client.get_showtimelist_by_theater_id( + theater_id=theater_id, + date=requested_date, + page=page, + ) + day_showtimes.extend(self._parse_showtimes(response.get("results") or [])) - for page in range(2, jmespath.search("pagination.totalPages", resp) + 1): - resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id, page=page) - theater.showtimes += self._parse_showtimes(resp["results"]) + showtimes.extend(showtime for showtime in day_showtimes if showtime.date == requested_date) + requested_date += timedelta(days=1) - return theater + return showtimes def search_theaters(self, geocode: int | str) -> list[Theater]: theaters = [] @@ -49,6 +74,9 @@ def _get_theater_details_from_movie_id(self, theater_id: str, movie_id: int) -> theater_id=theater_id, ) raw_theater = operation["results"]["theater"] + if raw_theater is None: + return self._get_theater_details_from_page(theater_id) + location = raw_theater["location"] return Theater( theater_id=raw_theater["internalId"], @@ -56,9 +84,26 @@ def _get_theater_details_from_movie_id(self, theater_id: str, movie_id: int) -> address=location["address"], zipcode=location["zip"], city=location["city"], - showtimes=[], ) + def _get_theater_details_from_page(self, theater_id: str) -> Theater: + selector = Selector(text=self._client.get_theater_page(theater_id)) + for raw_data in selector.css('script[type="application/ld+json"]::text').getall(): + theater_data = json.loads(raw_data) + if theater_data.get("@type") != "MovieTheater": + continue + + address = theater_data.get("address") or {} + return Theater( + theater_id=theater_id, + name=theater_data["name"], + address=address.get("streetAddress") or "", + zipcode=address.get("postalCode") or "", + city=address.get("addressLocality") or "", + ) + + raise ValueError(f"Theater details not found for theater id {theater_id!r}") + def _parse_showtimes(self, raw_showtimes: list[dict]): showtimes = [] for showtime_data in raw_showtimes: @@ -168,7 +213,6 @@ def _parse_theaters(selector: Selector) -> list[Theater]: address=address, zipcode=zipcode, city=city, - showtimes=[], ) ) return theaters diff --git a/allocine/models.py b/allocine/models.py index e5a8bc9..6c488e8 100644 --- a/allocine/models.py +++ b/allocine/models.py @@ -201,7 +201,6 @@ def short_day_str(date: Date) -> str: class Theater: theater_id: str name: str - showtimes: List[Showtime] address: str zipcode: str city: str @@ -212,54 +211,6 @@ def address_str(self): address_str += f"{self.zipcode} {self.city}" return address_str - def get_showtimes_of_a_movie(self, movie_version: MovieVersion, date: Optional[Date] = None): - movie_showtimes = [showtime for showtime in self.showtimes if showtime.movie == movie_version] - if date: - return [showtime for showtime in movie_showtimes if showtime.date == date] - else: - return movie_showtimes - - def get_showtimes_of_a_day(self, date: Date): - from allocine.schedules import get_showtimes_of_a_day - - return get_showtimes_of_a_day(showtimes=self.showtimes, date=date) - - def get_movies_available_for_a_day(self, date: Date): - """Returns a list of movies available on a specified day""" - movies = [showtime.movie for showtime in self.get_showtimes_of_a_day(date)] - return list(set(movies)) - - def get_showtimes_per_movie_version(self): - movies = {} - for showtime in self.showtimes: - if movies.get(showtime.movie) is None: - movies[showtime.movie] = [] - movies[showtime.movie].append(showtime) - return movies - - def get_showtimes_per_movie(self): - movies = {} - for showtime in self.showtimes: - movie = showtime.movie.get_movie() # Without language nor screen_format - if movies.get(movie) is None: - movies[movie] = [] - movies[movie].append(showtime) - return movies - - def get_program_per_movie(self): - from allocine.schedules import build_program_str - - program_per_movie = {} - for movie, showtimes in self.get_showtimes_per_movie().items(): - program_per_movie[movie] = build_program_str(showtimes=showtimes) - return program_per_movie - - def filter_showtimes(self, date_min: Optional[Date] = None, date_max: Optional[Date] = None): - if date_min: - self.showtimes = [s for s in self.showtimes if s.date >= date_min] - if date_max: - self.showtimes = [s for s in self.showtimes if s.date <= date_max] - def __eq__(self, other): return (self.theater_id) == (other.theater_id) diff --git a/pyproject.toml b/pyproject.toml index ec57272..1fb8b7a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,6 +36,7 @@ dependencies = [ [project.optional-dependencies] dev = [ + "freezegun>=1.5.5", "pre-commit>=4.6.2", "pytest>=9.1.1", "pytest-cov>=7.1.0", diff --git a/tests/__snapshots__/test_allocine/test_get_showtimes_defaults_to_today.json b/tests/__snapshots__/test_allocine/test_get_showtimes_defaults_to_today.json new file mode 100644 index 0000000..f81085c --- /dev/null +++ b/tests/__snapshots__/test_allocine/test_get_showtimes_defaults_to_today.json @@ -0,0 +1,529 @@ +[ + { + "date_time": "2026-09-27T11:00:00.000000", + "movie": { + "actors": "Charlie Garnier Naslin, Elie Semoun, Émilie Caen", + "countries": [ + "France", + "Belgique" + ], + "directors": "Elie Semoun", + "duration": "datetime.timedelta(seconds=5400)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000019249, + "original_title": "Ducobu et le fantôme de Saint-Potache", + "rating": null, + "screen_format": "Numérique", + "synopsis": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison... hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache.", + "title": "Ducobu et le fantôme de Saint-Potache", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Kev Adams, Chantal Ladesou, Camille Aguilar", + "countries": [ + "France" + ], + "directors": "Claude Zidi Jr.", + "duration": "datetime.timedelta(seconds=5400)", + "genres": "Comédie", + "language": "Français", + "movie_id": 1000031247, + "original_title": "La Maison de nos rêves", + "rating": null, + "screen_format": "Numérique", + "synopsis": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.", + "title": "La Maison de nos rêves", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:50:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Version originale", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.83, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.83, + "screen_format": "DOLBY_ATMOS F_4K", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Version originale", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-27T16:20:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION 3D F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-27T16:00:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.76, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:40:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.76, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:30:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T17:30:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "DOLBY_ATMOS F_4K", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T15:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:50:00.000000", + "movie": { + "actors": "Rain Janjua, Carter Young, Mckenna Grace", + "countries": [ + "U.S.A." + ], + "directors": "Cal Brunker", + "duration": "datetime.timedelta(seconds=5280)", + "genres": "Animation, Aventure, Famille, Comédie", + "language": "Français", + "movie_id": 320681, + "original_title": "PAW Patrol: The Dino Movie", + "rating": 3.12, + "screen_format": "Numérique", + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", + "title": "La Pat' Patrouille : Le film mission Dino", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T13:35:00.000000", + "movie": { + "actors": "Rain Janjua, Carter Young, Mckenna Grace", + "countries": [ + "U.S.A." + ], + "directors": "Cal Brunker", + "duration": "datetime.timedelta(seconds=5280)", + "genres": "Animation, Aventure, Famille, Comédie", + "language": "Français", + "movie_id": 320681, + "original_title": "PAW Patrol: The Dino Movie", + "rating": 3.12, + "screen_format": "Numérique", + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", + "title": "La Pat' Patrouille : Le film mission Dino", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T11:00:00.000000", + "movie": { + "actors": "Kad Merad, Marie Gillain, Julia de Nunez", + "countries": [ + "France" + ], + "directors": "Élie Chouraqui", + "duration": "datetime.timedelta(seconds=6300)", + "genres": "Drame, Historique", + "language": "Français", + "movie_id": 323826, + "original_title": "Les Héros du Louvre", + "rating": 3.19, + "screen_format": "Numérique", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "title": "Les Héros du Louvre", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T15:30:00.000000", + "movie": { + "actors": "Kad Merad, Marie Gillain, Julia de Nunez", + "countries": [ + "France" + ], + "directors": "Élie Chouraqui", + "duration": "datetime.timedelta(seconds=6300)", + "genres": "Drame, Historique", + "language": "Français", + "movie_id": 323826, + "original_title": "Les Héros du Louvre", + "rating": 3.19, + "screen_format": "Numérique", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "title": "Les Héros du Louvre", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T11:00:00.000000", + "movie": { + "actors": "Lily Whiteley, Ryan Corr, Rachel House", + "countries": [ + "Australie" + ], + "directors": "Kate Woods", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie, Aventure, Famille", + "language": "Français", + "movie_id": 1000003105, + "original_title": "Kangaroo", + "rating": 3.71, + "screen_format": "Numérique", + "synopsis": "Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie...", + "title": "Charlie et les kangourous", + "year": 2025 + } + }, + { + "date_time": "2026-09-27T13:30:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:50:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T13:30:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T15:30:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:55:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T17:30:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.5, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-27T17:45:00.000000", + "movie": { + "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294280, + "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "rating": 4.42, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T18:15:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.27, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + } +] diff --git a/tests/__snapshots__/test_allocine/test_get_showtimes_fetches_inclusive_date_range.json b/tests/__snapshots__/test_allocine/test_get_showtimes_fetches_inclusive_date_range.json new file mode 100644 index 0000000..8a55ecd --- /dev/null +++ b/tests/__snapshots__/test_allocine/test_get_showtimes_fetches_inclusive_date_range.json @@ -0,0 +1,976 @@ +[ + { + "date_time": "2026-09-27T11:00:00.000000", + "movie": { + "actors": "Charlie Garnier Naslin, Elie Semoun, Émilie Caen", + "countries": [ + "France", + "Belgique" + ], + "directors": "Elie Semoun", + "duration": "datetime.timedelta(seconds=5400)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000019249, + "original_title": "Ducobu et le fantôme de Saint-Potache", + "rating": null, + "screen_format": "Numérique", + "synopsis": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison... hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache.", + "title": "Ducobu et le fantôme de Saint-Potache", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Kev Adams, Chantal Ladesou, Camille Aguilar", + "countries": [ + "France" + ], + "directors": "Claude Zidi Jr.", + "duration": "datetime.timedelta(seconds=5400)", + "genres": "Comédie", + "language": "Français", + "movie_id": 1000031247, + "original_title": "La Maison de nos rêves", + "rating": null, + "screen_format": "Numérique", + "synopsis": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.", + "title": "La Maison de nos rêves", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:50:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Version originale", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.83, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.83, + "screen_format": "DOLBY_ATMOS F_4K", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Version originale", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-27T14:00:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-27T16:20:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION 3D F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-27T16:00:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.76, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:40:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.76, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:30:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T17:30:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "DOLBY_ATMOS F_4K", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T15:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T10:50:00.000000", + "movie": { + "actors": "Rain Janjua, Carter Young, Mckenna Grace", + "countries": [ + "U.S.A." + ], + "directors": "Cal Brunker", + "duration": "datetime.timedelta(seconds=5280)", + "genres": "Animation, Aventure, Famille, Comédie", + "language": "Français", + "movie_id": 320681, + "original_title": "PAW Patrol: The Dino Movie", + "rating": 3.12, + "screen_format": "Numérique", + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", + "title": "La Pat' Patrouille : Le film mission Dino", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T13:35:00.000000", + "movie": { + "actors": "Rain Janjua, Carter Young, Mckenna Grace", + "countries": [ + "U.S.A." + ], + "directors": "Cal Brunker", + "duration": "datetime.timedelta(seconds=5280)", + "genres": "Animation, Aventure, Famille, Comédie", + "language": "Français", + "movie_id": 320681, + "original_title": "PAW Patrol: The Dino Movie", + "rating": 3.12, + "screen_format": "Numérique", + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", + "title": "La Pat' Patrouille : Le film mission Dino", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T11:00:00.000000", + "movie": { + "actors": "Kad Merad, Marie Gillain, Julia de Nunez", + "countries": [ + "France" + ], + "directors": "Élie Chouraqui", + "duration": "datetime.timedelta(seconds=6300)", + "genres": "Drame, Historique", + "language": "Français", + "movie_id": 323826, + "original_title": "Les Héros du Louvre", + "rating": 3.19, + "screen_format": "Numérique", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "title": "Les Héros du Louvre", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T15:30:00.000000", + "movie": { + "actors": "Kad Merad, Marie Gillain, Julia de Nunez", + "countries": [ + "France" + ], + "directors": "Élie Chouraqui", + "duration": "datetime.timedelta(seconds=6300)", + "genres": "Drame, Historique", + "language": "Français", + "movie_id": 323826, + "original_title": "Les Héros du Louvre", + "rating": 3.19, + "screen_format": "Numérique", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "title": "Les Héros du Louvre", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T11:00:00.000000", + "movie": { + "actors": "Lily Whiteley, Ryan Corr, Rachel House", + "countries": [ + "Australie" + ], + "directors": "Kate Woods", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie, Aventure, Famille", + "language": "Français", + "movie_id": 1000003105, + "original_title": "Kangaroo", + "rating": 3.71, + "screen_format": "Numérique", + "synopsis": "Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie...", + "title": "Charlie et les kangourous", + "year": 2025 + } + }, + { + "date_time": "2026-09-27T13:30:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:50:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T13:30:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T15:30:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T20:55:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T17:30:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.5, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-27T17:45:00.000000", + "movie": { + "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294280, + "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "rating": 4.42, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "year": 2026 + } + }, + { + "date_time": "2026-09-27T18:15:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.27, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T13:30:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.75, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T17:45:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.75, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T20:50:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.75, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T14:00:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.84, + "screen_format": "DOLBY_ATMOS F_4K", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T20:20:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.84, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T16:30:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-28T20:05:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-28T13:30:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T18:50:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T13:30:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.5, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-28T13:35:00.000000", + "movie": { + "actors": "Kad Merad, Marie Gillain, Julia de Nunez", + "countries": [ + "France" + ], + "directors": "Élie Chouraqui", + "duration": "datetime.timedelta(seconds=6300)", + "genres": "Drame, Historique", + "language": "Français", + "movie_id": 323826, + "original_title": "Les Héros du Louvre", + "rating": 3.18, + "screen_format": "Numérique", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "title": "Les Héros du Louvre", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T20:00:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Version originale", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T14:00:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T15:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T17:25:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T21:00:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Version originale", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T15:45:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T15:45:00.000000", + "movie": { + "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294280, + "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "rating": 4.42, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T21:00:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Version originale", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.28, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T16:35:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.28, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T18:20:00.000000", + "movie": { + "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", + "countries": [ + "U.S.A." + ], + "directors": "Susanne Bier", + "duration": "datetime.timedelta(seconds=7800)", + "genres": "Romance, Fantastique", + "language": "Français", + "movie_id": 1000004679, + "original_title": "Practical Magic 2", + "rating": 2.42, + "screen_format": "Numérique", + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "title": "Les Ensorceleuses 2", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T18:50:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.23, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + } +] diff --git a/tests/__snapshots__/test_allocine/test_get_theater.json b/tests/__snapshots__/test_allocine/test_get_theater.json index e1d366a..c6a3841 100644 --- a/tests/__snapshots__/test_allocine/test_get_theater.json +++ b/tests/__snapshots__/test_allocine/test_get_theater.json @@ -2,2183 +2,6 @@ "address": "105 La Méridienne", "city": "Labège", "name": "Pathé Toulouse Labège - IMAX", - "showtimes": [ - { - "date_time": "2026-09-27T14:00:00.000000", - "movie": { - "actors": "Charlie Garnier Naslin, Elie Semoun, Émilie Caen", - "countries": [ - "France", - "Belgique" - ], - "directors": "Elie Semoun", - "duration": "datetime.timedelta(seconds=5400)", - "genres": "Comédie, Famille", - "language": "Français", - "movie_id": 1000019249, - "original_title": "Ducobu et le fantôme de Saint-Potache", - "rating": null, - "screen_format": "Numérique", - "synopsis": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison... hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache.", - "title": "Ducobu et le fantôme de Saint-Potache", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T18:00:00.000000", - "movie": { - "actors": "Kev Adams, Chantal Ladesou, Camille Aguilar", - "countries": [ - "France" - ], - "directors": "Claude Zidi Jr.", - "duration": "datetime.timedelta(seconds=5400)", - "genres": "Comédie", - "language": "Français", - "movie_id": 1000031247, - "original_title": "La Maison de nos rêves", - "rating": null, - "screen_format": "Numérique", - "synopsis": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.", - "title": "La Maison de nos rêves", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T15:50:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Version originale", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:45:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Version originale", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T18:15:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:30:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T20:10:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "4DX PLF", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T21:45:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:00:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:30:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T17:45:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:30:00.000000", - "movie": { - "actors": "Brad Pitt, Uber, J.K. Simmons", - "countries": [ - "U.S.A." - ], - "directors": "David Ayer", - "duration": "datetime.timedelta(seconds=6060)", - "genres": "Action, Aventure", - "language": "Français", - "movie_id": 1000000085, - "original_title": "Heart Of The Beast", - "rating": 3.79, - "screen_format": "Numérique", - "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", - "title": "Heart Of The Beast", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T20:00:00.000000", - "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", - "countries": [ - "U.S.A." - ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", - "language": "Version originale", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.29, - "screen_format": "IMAX", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T15:00:00.000000", - "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", - "countries": [ - "U.S.A." - ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", - "language": "Version originale", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.29, - "screen_format": "IMAX", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:30:00.000000", - "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", - "countries": [ - "U.S.A." - ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", - "language": "Français", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.29, - "screen_format": "4DX PLF 3D", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T20:45:00.000000", - "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", - "countries": [ - "U.S.A." - ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", - "language": "Français", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.29, - "screen_format": "Numérique", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:30:00.000000", - "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", - "countries": [ - "U.S.A." - ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", - "language": "Français", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.29, - "screen_format": "Numérique", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:30:00.000000", - "movie": { - "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", - "countries": [ - "U.S.A." - ], - "directors": "Joe Russo, Anthony Russo", - "duration": "datetime.timedelta(seconds=11100)", - "genres": "Action, Aventure, Science Fiction", - "language": "Français", - "movie_id": 1000036867, - "original_title": "Avengers Endgame: Encore", - "rating": 4.29, - "screen_format": "4DX PLF 3D", - "synopsis": "Dans Avengers Endgame Extended, les Avengers doivent faire face aux conséquences de leur défaite contre Thanos. Après avoir réuni les six Pierres d’Infinité et anéanti la moitié de la population de l’univers, dont nombre de leurs alliés, le Titan fou a laissé derrière lui un monde profondément bouleversé. Confrontés à la plus grande épreuve de leur histoire, les héros restants doivent trouver la force de se relever, se rassembler une nouvelle fois et tenter l’impossible : restaurer l’équilibre de l’univers, ramener ceux qu’ils ont perdus et vaincre Thanos une fois pour toutes.", - "title": "Avengers : Endgame Extended", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:30:00.000000", - "movie": { - "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Georgia Oakley", - "duration": "datetime.timedelta(seconds=7920)", - "genres": "Drame, Romance, Historique", - "language": "Version originale", - "movie_id": 1000026622, - "original_title": "Sense and Sensibility", - "rating": 3.34, - "screen_format": "Numérique", - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", - "title": "Raison et sentiments", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:30:00.000000", - "movie": { - "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Georgia Oakley", - "duration": "datetime.timedelta(seconds=7920)", - "genres": "Drame, Romance, Historique", - "language": "Français", - "movie_id": 1000026622, - "original_title": "Sense and Sensibility", - "rating": 3.34, - "screen_format": "Numérique", - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", - "title": "Raison et sentiments", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:30:00.000000", - "movie": { - "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Georgia Oakley", - "duration": "datetime.timedelta(seconds=7920)", - "genres": "Drame, Romance, Historique", - "language": "Français", - "movie_id": 1000026622, - "original_title": "Sense and Sensibility", - "rating": 3.34, - "screen_format": "Numérique", - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", - "title": "Raison et sentiments", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:10:00.000000", - "movie": { - "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Georgia Oakley", - "duration": "datetime.timedelta(seconds=7920)", - "genres": "Drame, Romance, Historique", - "language": "Français", - "movie_id": 1000026622, - "original_title": "Sense and Sensibility", - "rating": 3.34, - "screen_format": "Numérique", - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", - "title": "Raison et sentiments", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:45:00.000000", - "movie": { - "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Georgia Oakley", - "duration": "datetime.timedelta(seconds=7920)", - "genres": "Drame, Romance, Historique", - "language": "Français", - "movie_id": 1000026622, - "original_title": "Sense and Sensibility", - "rating": 3.34, - "screen_format": "Numérique", - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", - "title": "Raison et sentiments", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T13:45:00.000000", - "movie": { - "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Georgia Oakley", - "duration": "datetime.timedelta(seconds=7920)", - "genres": "Drame, Romance, Historique", - "language": "Français", - "movie_id": 1000026622, - "original_title": "Sense and Sensibility", - "rating": 3.34, - "screen_format": "Numérique", - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", - "title": "Raison et sentiments", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:30:00.000000", - "movie": { - "actors": "Daisy Edgar-Jones, Esmé Creed-Miles, Caitriona Balfe", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Georgia Oakley", - "duration": "datetime.timedelta(seconds=7920)", - "genres": "Drame, Romance, Historique", - "language": "Français", - "movie_id": 1000026622, - "original_title": "Sense and Sensibility", - "rating": 3.34, - "screen_format": "Numérique", - "synopsis": "Adaptation de Raison et sentiments de Jane Austen.", - "title": "Raison et sentiments", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:40:00.000000", - "movie": { - "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", - "countries": [ - "France", - "Belgique" - ], - "directors": "Éric Barbier", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Historique, Guerre", - "language": "Français", - "movie_id": 1000028944, - "original_title": "Justin le Juste", - "rating": 3.87, - "screen_format": "Numérique", - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "title": "Justin le Juste", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:20:00.000000", - "movie": { - "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", - "countries": [ - "France", - "Belgique" - ], - "directors": "Éric Barbier", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Historique, Guerre", - "language": "Français", - "movie_id": 1000028944, - "original_title": "Justin le Juste", - "rating": 3.87, - "screen_format": "Numérique", - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "title": "Justin le Juste", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T21:45:00.000000", - "movie": { - "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", - "countries": [ - "France", - "Belgique" - ], - "directors": "Éric Barbier", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Historique, Guerre", - "language": "Français", - "movie_id": 1000028944, - "original_title": "Justin le Juste", - "rating": 3.87, - "screen_format": "Numérique", - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "title": "Justin le Juste", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:45:00.000000", - "movie": { - "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", - "countries": [ - "France", - "Belgique" - ], - "directors": "Éric Barbier", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Historique, Guerre", - "language": "Français", - "movie_id": 1000028944, - "original_title": "Justin le Juste", - "rating": 3.87, - "screen_format": "Numérique", - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "title": "Justin le Juste", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:15:00.000000", - "movie": { - "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", - "countries": [ - "France", - "Belgique" - ], - "directors": "Éric Barbier", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Historique, Guerre", - "language": "Français", - "movie_id": 1000028944, - "original_title": "Justin le Juste", - "rating": 3.87, - "screen_format": "Numérique", - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "title": "Justin le Juste", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:40:00.000000", - "movie": { - "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", - "countries": [ - "France", - "Belgique" - ], - "directors": "Éric Barbier", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Historique, Guerre", - "language": "Français", - "movie_id": 1000028944, - "original_title": "Justin le Juste", - "rating": 3.87, - "screen_format": "Numérique", - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "title": "Justin le Juste", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:20:00.000000", - "movie": { - "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", - "countries": [ - "France", - "Belgique" - ], - "directors": "Éric Barbier", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Historique, Guerre", - "language": "Français", - "movie_id": 1000028944, - "original_title": "Justin le Juste", - "rating": 3.87, - "screen_format": "Numérique", - "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", - "title": "Justin le Juste", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:45:00.000000", - "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", - "countries": [ - "France", - "Belgique" - ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", - "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, - "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:30:00.000000", - "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", - "countries": [ - "France", - "Belgique" - ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", - "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, - "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:00:00.000000", - "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", - "countries": [ - "France", - "Belgique" - ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", - "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, - "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:45:00.000000", - "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", - "countries": [ - "France", - "Belgique" - ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", - "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, - "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:00:00.000000", - "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", - "countries": [ - "France", - "Belgique" - ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", - "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, - "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:45:00.000000", - "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", - "countries": [ - "France", - "Belgique" - ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", - "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, - "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:15:00.000000", - "movie": { - "actors": "Adèle Exarchopoulos, Sara Giraudeau, Sarajeanne Drillaud", - "countries": [ - "France", - "Belgique" - ], - "directors": "Jeanne Herry", - "duration": "datetime.timedelta(seconds=6900)", - "genres": "Drame", - "language": "Français", - "movie_id": 1000026039, - "original_title": "Garance", - "rating": 3.88, - "screen_format": "Numérique", - "synopsis": "Garance est une jeune actrice alcoolique. Huit ans d’un parcours fait de déménagements, de travail, de rencontres, de fêtes et d’angoisses, de joies et de coups durs... Mais aussi une révolution intime, amicale et sexuelle.", - "title": "Garance", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T17:15:00.000000", - "movie": { - "actors": "Minami Takayama, Wakana Yamazaki, Rikiya Koyama", - "countries": [ - "Japon" - ], - "directors": "Takahiro Hasui", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Animation, Policier, Aventure, Action", - "language": "Version originale", - "movie_id": 1000037846, - "original_title": "Meitantei Conan: Highway no Datenshi", - "rating": 3.0, - "screen_format": "Numérique", - "synopsis": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. ", - "title": "Détective Conan : L'Ange déchu de l'asphalte", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:45:00.000000", - "movie": { - "actors": "Minami Takayama, Wakana Yamazaki, Rikiya Koyama", - "countries": [ - "Japon" - ], - "directors": "Takahiro Hasui", - "duration": "datetime.timedelta(seconds=6600)", - "genres": "Animation, Policier, Aventure, Action", - "language": "Version originale", - "movie_id": 1000037846, - "original_title": "Meitantei Conan: Highway no Datenshi", - "rating": 3.0, - "screen_format": "Numérique", - "synopsis": "Alors qu'ils se rendent à un festival de moto à Kanagawa, Conan Edogawa et ses amis se font dépasser par une mystérieuse moto noire filant à toute allure sur l’autoroute. La « Déesse du vent », Chihaya Hagiwara, officier de la police routière de Kanagawa, est lancée à ses trousses. Malgré une poursuite acharnée, Chihaya manque de capturer le mystérieux pilote et sa moto est sévèrement endommagée. ", - "title": "Détective Conan : L'Ange déchu de l'asphalte", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T17:50:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Version originale", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T15:40:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T20:00:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T21:30:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:15:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:30:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "4DX PLF", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T11:15:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T13:30:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T15:40:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T17:50:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "Numérique", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T18:45:00.000000", - "movie": { - "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", - "countries": [ - "U.S.A.", - "Allemagne" - ], - "directors": "Zach Cregger", - "duration": "datetime.timedelta(seconds=5820)", - "genres": "Science Fiction, Epouvante-horreur, Thriller", - "language": "Français", - "movie_id": 1000018854, - "original_title": "Resident Evil", - "rating": 3.85, - "screen_format": "IMAX", - "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", - "title": "Resident Evil", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:00:00.000000", - "movie": { - "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", - "countries": [ - "France", - "Belgique" - ], - "directors": "Antonin Baudry", - "duration": "datetime.timedelta(seconds=9600)", - "genres": "Thriller, Historique", - "language": "Français", - "movie_id": 294280, - "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", - "rating": 4.42, - "screen_format": "Numérique", - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", - "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:00:00.000000", - "movie": { - "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", - "countries": [ - "France", - "Belgique" - ], - "directors": "Antonin Baudry", - "duration": "datetime.timedelta(seconds=9600)", - "genres": "Thriller, Historique", - "language": "Français", - "movie_id": 294280, - "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", - "rating": 4.42, - "screen_format": "Numérique", - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", - "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T17:15:00.000000", - "movie": { - "actors": "Matt Damon, Tom Holland, Anne Hathaway", - "countries": [ - "U.S.A." - ], - "directors": "Christopher Nolan", - "duration": "datetime.timedelta(seconds=10380)", - "genres": "Action, Fantastique", - "language": "Version originale", - "movie_id": 1000013045, - "original_title": "The Odyssey", - "rating": 4.3, - "screen_format": "Numérique", - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", - "title": "L'Odyssée", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:15:00.000000", - "movie": { - "actors": "Matt Damon, Tom Holland, Anne Hathaway", - "countries": [ - "U.S.A." - ], - "directors": "Christopher Nolan", - "duration": "datetime.timedelta(seconds=10380)", - "genres": "Action, Fantastique", - "language": "Français", - "movie_id": 1000013045, - "original_title": "The Odyssey", - "rating": 4.3, - "screen_format": "IMAX", - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", - "title": "L'Odyssée", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T20:45:00.000000", - "movie": { - "actors": "Matt Damon, Tom Holland, Anne Hathaway", - "countries": [ - "U.S.A." - ], - "directors": "Christopher Nolan", - "duration": "datetime.timedelta(seconds=10380)", - "genres": "Action, Fantastique", - "language": "Français", - "movie_id": 1000013045, - "original_title": "The Odyssey", - "rating": 4.3, - "screen_format": "Numérique", - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", - "title": "L'Odyssée", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:30:00.000000", - "movie": { - "actors": "Matt Damon, Tom Holland, Anne Hathaway", - "countries": [ - "U.S.A." - ], - "directors": "Christopher Nolan", - "duration": "datetime.timedelta(seconds=10380)", - "genres": "Action, Fantastique", - "language": "Français", - "movie_id": 1000013045, - "original_title": "The Odyssey", - "rating": 4.3, - "screen_format": "IMAX", - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", - "title": "L'Odyssée", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:40:00.000000", - "movie": { - "actors": "Matt Damon, Tom Holland, Anne Hathaway", - "countries": [ - "U.S.A." - ], - "directors": "Christopher Nolan", - "duration": "datetime.timedelta(seconds=10380)", - "genres": "Action, Fantastique", - "language": "Français", - "movie_id": 1000013045, - "original_title": "The Odyssey", - "rating": 4.3, - "screen_format": "Numérique", - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", - "title": "L'Odyssée", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T13:45:00.000000", - "movie": { - "actors": "Matt Damon, Tom Holland, Anne Hathaway", - "countries": [ - "U.S.A." - ], - "directors": "Christopher Nolan", - "duration": "datetime.timedelta(seconds=10380)", - "genres": "Action, Fantastique", - "language": "Français", - "movie_id": 1000013045, - "original_title": "The Odyssey", - "rating": 4.3, - "screen_format": "Numérique", - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", - "title": "L'Odyssée", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T17:15:00.000000", - "movie": { - "actors": "Matt Damon, Tom Holland, Anne Hathaway", - "countries": [ - "U.S.A." - ], - "directors": "Christopher Nolan", - "duration": "datetime.timedelta(seconds=10380)", - "genres": "Action, Fantastique", - "language": "Français", - "movie_id": 1000013045, - "original_title": "The Odyssey", - "rating": 4.3, - "screen_format": "Numérique", - "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", - "title": "L'Odyssée", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:15:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:20:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T21:45:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:30:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:30:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "4DX PLF 3D", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T13:30:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "4DX PLF 3D", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T13:45:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:15:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:20:00.000000", - "movie": { - "actors": "Tom Holland, Zendaya, Sadie Sink", - "countries": [ - "U.S.A." - ], - "directors": "Destin Daniel Cretton", - "duration": "datetime.timedelta(seconds=8700)", - "genres": "Action, Aventure, Fantastique, Science Fiction", - "language": "Français", - "movie_id": 276608, - "original_title": "Spider-Man: Brand New Day", - "rating": 4.09, - "screen_format": "Numérique", - "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", - "title": "Spider-Man: Brand New Day", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:15:00.000000", - "movie": { - "actors": "Diana Rigg, Sally Hawkins, Rob Brydon", - "countries": [ - "Grande-Bretagne", - "République tchèque", - "Suisse" - ], - "directors": "Max Lang, Daniel Snaddon", - "duration": "datetime.timedelta(seconds=2400)", - "genres": "Animation, Famille", - "language": "Français", - "movie_id": 283811, - "original_title": "The Snail and The Whale", - "rating": 3.78, - "screen_format": "Numérique", - "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", - "title": "La Baleine et l'escargote", - "year": 2020 - } - }, - { - "date_time": "2026-09-27T16:45:00.000000", - "movie": { - "actors": "Diana Rigg, Sally Hawkins, Rob Brydon", - "countries": [ - "Grande-Bretagne", - "République tchèque", - "Suisse" - ], - "directors": "Max Lang, Daniel Snaddon", - "duration": "datetime.timedelta(seconds=2400)", - "genres": "Animation, Famille", - "language": "Français", - "movie_id": 283811, - "original_title": "The Snail and The Whale", - "rating": 3.78, - "screen_format": "Numérique", - "synopsis": "Une odyssée fabuleuse au coeur de la nature. Par les créateurs de Gruffalo et de Zébulon le dragon.", - "title": "La Baleine et l'escargote", - "year": 2020 - } - }, - { - "date_time": "2026-09-26T16:30:00.000000", - "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", - "countries": [ - "Allemagne" - ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", - "language": "Version originale", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, - "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", - "title": "Les Contrebandiers", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:45:00.000000", - "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", - "countries": [ - "Allemagne" - ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", - "language": "Français", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, - "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", - "title": "Les Contrebandiers", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T11:00:00.000000", - "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", - "countries": [ - "Allemagne" - ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", - "language": "Français", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, - "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", - "title": "Les Contrebandiers", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T13:45:00.000000", - "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", - "countries": [ - "Allemagne" - ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", - "language": "Français", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, - "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", - "title": "Les Contrebandiers", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:15:00.000000", - "movie": { - "actors": "Ethan Hawke, Russell Crowe, Julia Jones", - "countries": [ - "Allemagne" - ], - "directors": "Padraic McKinley", - "duration": "datetime.timedelta(seconds=6780)", - "genres": "Thriller, Action, Aventure", - "language": "Français", - "movie_id": 1000019874, - "original_title": "The Weight", - "rating": 3.26, - "screen_format": "Numérique", - "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", - "title": "Les Contrebandiers", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:45:00.000000", - "movie": { - "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", - "countries": [ - "U.S.A." - ], - "directors": "Olivia Wilde", - "duration": "datetime.timedelta(seconds=6420)", - "genres": "Comédie", - "language": "Français", - "movie_id": 317219, - "original_title": "The Invite", - "rating": 3.25, - "screen_format": "Numérique", - "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", - "title": "L'Invitation", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:10:00.000000", - "movie": { - "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", - "countries": [ - "U.S.A." - ], - "directors": "Olivia Wilde", - "duration": "datetime.timedelta(seconds=6420)", - "genres": "Comédie", - "language": "Français", - "movie_id": 317219, - "original_title": "The Invite", - "rating": 3.25, - "screen_format": "Numérique", - "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", - "title": "L'Invitation", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T16:45:00.000000", - "movie": { - "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", - "countries": [ - "U.S.A." - ], - "directors": "Olivia Wilde", - "duration": "datetime.timedelta(seconds=6420)", - "genres": "Comédie", - "language": "Français", - "movie_id": 317219, - "original_title": "The Invite", - "rating": 3.25, - "screen_format": "Numérique", - "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", - "title": "L'Invitation", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:30:00.000000", - "movie": { - "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", - "countries": [ - "U.S.A." - ], - "directors": "Olivia Wilde", - "duration": "datetime.timedelta(seconds=6420)", - "genres": "Comédie", - "language": "Français", - "movie_id": 317219, - "original_title": "The Invite", - "rating": 3.25, - "screen_format": "Numérique", - "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", - "title": "L'Invitation", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T16:45:00.000000", - "movie": { - "actors": "Léa Drucker, Mélanie Thierry, Charles Berling", - "countries": [ - "France", - "Belgique" - ], - "directors": "Charline Bourgeois-Tacquet", - "duration": "datetime.timedelta(seconds=5880)", - "genres": "Comédie dramatique", - "language": "Français", - "movie_id": 327941, - "original_title": "La Vie d'une femme", - "rating": 3.67, - "screen_format": "Numérique", - "synopsis": "Gabrielle se consacre corps et âme à son métier. Chirurgienne et cheffe de service dans un hôpital public, elle court et se démultiplie, assaillie de responsabilités. Il lui reste peu de temps pour sa vie privée — un mari qui l’aime et une mère dont elle doit s’occuper. Lorsqu'une romancière vient passer quelques semaines dans son service pour les besoins d’un livre, son équilibre vacille. Dans le quotidien que Gabrielle s’est construit, y a-t-il de la place pour l’inattendu ?", - "title": "La Vie d'une femme", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T17:30:00.000000", - "movie": { - "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", - "countries": [ - "Grande-Bretagne", - "France" - ], - "directors": "Anthony Maras", - "duration": "datetime.timedelta(seconds=6000)", - "genres": "Thriller, Historique, Guerre", - "language": "Français", - "movie_id": 1000004458, - "original_title": "Pressure", - "rating": 4.06, - "screen_format": "Numérique", - "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", - "title": "Pressure", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:45:00.000000", - "movie": { - "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", - "countries": [ - "Grande-Bretagne", - "France" - ], - "directors": "Anthony Maras", - "duration": "datetime.timedelta(seconds=6000)", - "genres": "Thriller, Historique, Guerre", - "language": "Français", - "movie_id": 1000004458, - "original_title": "Pressure", - "rating": 4.06, - "screen_format": "Numérique", - "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", - "title": "Pressure", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:30:00.000000", - "movie": { - "actors": "Andrew Scott, Brendan Fraser, Kerry Condon", - "countries": [ - "Grande-Bretagne", - "France" - ], - "directors": "Anthony Maras", - "duration": "datetime.timedelta(seconds=6000)", - "genres": "Thriller, Historique, Guerre", - "language": "Français", - "movie_id": 1000004458, - "original_title": "Pressure", - "rating": 4.06, - "screen_format": "Numérique", - "synopsis": "Trois jours avant le Jour J, une seule décision peut changer le cours de l’Histoire. Alors que les Alliés s’apprêtent à lancer le plus grand débarquement jamais organisé, une violente tempête menace de faire échouer l’opération. ", - "title": "Pressure", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:00:00.000000", - "movie": { - "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", - "countries": [ - "France", - "Belgique" - ], - "directors": "Antonin Baudry", - "duration": "datetime.timedelta(seconds=9600)", - "genres": "Thriller, Historique", - "language": "Français", - "movie_id": 294281, - "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "rating": 4.51, - "screen_format": "Numérique", - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", - "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "year": 2025 - } - }, - { - "date_time": "2026-09-27T10:45:00.000000", - "movie": { - "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", - "countries": [ - "France", - "Belgique" - ], - "directors": "Antonin Baudry", - "duration": "datetime.timedelta(seconds=9600)", - "genres": "Thriller, Historique", - "language": "Français", - "movie_id": 294281, - "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "rating": 4.51, - "screen_format": "Numérique", - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", - "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "year": 2025 - } - }, - { - "date_time": "2026-09-27T16:15:00.000000", - "movie": { - "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", - "countries": [ - "France", - "Belgique" - ], - "directors": "Antonin Baudry", - "duration": "datetime.timedelta(seconds=9600)", - "genres": "Thriller, Historique", - "language": "Français", - "movie_id": 294281, - "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "rating": 4.51, - "screen_format": "Numérique", - "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", - "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", - "year": 2025 - } - }, - { - "date_time": "2026-09-26T19:10:00.000000", - "movie": { - "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", - "countries": [ - "France" - ], - "directors": "Mohamed Hamidi", - "duration": "datetime.timedelta(seconds=5520)", - "genres": "Comédie, Famille", - "language": "Français", - "movie_id": 1000032856, - "original_title": "Tombé du ciel", - "rating": 3.21, - "screen_format": "Numérique", - "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", - "title": "Tombé du ciel", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:10:00.000000", - "movie": { - "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", - "countries": [ - "France" - ], - "directors": "Mohamed Hamidi", - "duration": "datetime.timedelta(seconds=5520)", - "genres": "Comédie, Famille", - "language": "Français", - "movie_id": 1000032856, - "original_title": "Tombé du ciel", - "rating": 3.21, - "screen_format": "Numérique", - "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", - "title": "Tombé du ciel", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T19:15:00.000000", - "movie": { - "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", - "countries": [ - "France", - "Belgique" - ], - "directors": "Léa Mysius", - "duration": "datetime.timedelta(seconds=6840)", - "genres": "Thriller, Drame", - "language": "Français", - "movie_id": 324014, - "original_title": "Histoires De La Nuit", - "rating": 3.4, - "screen_format": "Numérique", - "synopsis": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés...", - "title": "Histoires De La Nuit", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:15:00.000000", - "movie": { - "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", - "countries": [ - "France", - "Belgique" - ], - "directors": "Léa Mysius", - "duration": "datetime.timedelta(seconds=6840)", - "genres": "Thriller, Drame", - "language": "Français", - "movie_id": 324014, - "original_title": "Histoires De La Nuit", - "rating": 3.4, - "screen_format": "Numérique", - "synopsis": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés...", - "title": "Histoires De La Nuit", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:15:00.000000", - "movie": { - "actors": "Hafsia Herzi, Benoît Magimel, Bastien Bouillon", - "countries": [ - "France", - "Belgique" - ], - "directors": "Léa Mysius", - "duration": "datetime.timedelta(seconds=6840)", - "genres": "Thriller, Drame", - "language": "Français", - "movie_id": 324014, - "original_title": "Histoires De La Nuit", - "rating": 3.4, - "screen_format": "Numérique", - "synopsis": "Nora, Thomas et leur fille Ida vivent dans une ferme isolée. Alors que tout le monde prépare une soirée d’anniversaire surprise pour Nora, trois hommes rôdent autour de la maison et s’invitent à la fête, faisant surgir des secrets bien gardés...", - "title": "Histoires De La Nuit", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T21:15:00.000000", - "movie": { - "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", - "countries": [ - "U.S.A." - ], - "directors": "Susanne Bier", - "duration": "datetime.timedelta(seconds=7800)", - "genres": "Romance, Fantastique", - "language": "Français", - "movie_id": 1000004679, - "original_title": "Practical Magic 2", - "rating": 2.4, - "screen_format": "Numérique", - "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", - "title": "Les Ensorceleuses 2", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:30:00.000000", - "movie": { - "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", - "countries": [ - "U.S.A." - ], - "directors": "Susanne Bier", - "duration": "datetime.timedelta(seconds=7800)", - "genres": "Romance, Fantastique", - "language": "Français", - "movie_id": 1000004679, - "original_title": "Practical Magic 2", - "rating": 2.4, - "screen_format": "Numérique", - "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", - "title": "Les Ensorceleuses 2", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:30:00.000000", - "movie": { - "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", - "countries": [ - "U.S.A." - ], - "directors": "Susanne Bier", - "duration": "datetime.timedelta(seconds=7800)", - "genres": "Romance, Fantastique", - "language": "Français", - "movie_id": 1000004679, - "original_title": "Practical Magic 2", - "rating": 2.4, - "screen_format": "Numérique", - "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", - "title": "Les Ensorceleuses 2", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:10:00.000000", - "movie": { - "actors": "Jacob Elordi, Margaret Qualley, Josh Brolin", - "countries": [ - "U.S.A." - ], - "directors": "Ridley Scott", - "duration": "datetime.timedelta(seconds=7140)", - "genres": "Aventure, Thriller, Drame", - "language": "Français", - "movie_id": 1000014969, - "original_title": "The Dog Stars", - "rating": 3.25, - "screen_format": "Numérique", - "synopsis": "Dans un futur proche où une pandémie sans nom a décimé la société américaine, Hig, un pilote vit sur une base aérienne abandonnée du Colorado avec son chien et un ex-marine. Lorsqu'une transmission aléatoire passe par la radio de son Cessna 1956, la voix fait naître au plus profond du pilote l'espoir qu'une vie meilleure existe en dehors de leur périmètre étroitement contrôlé...", - "title": "The Dog Stars", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:15:00.000000", - "movie": { - "actors": "Amelia Eve, Island Austin, Lin Shaye", - "countries": [ - "U.S.A." - ], - "directors": "Jacob Chase", - "duration": "datetime.timedelta(seconds=6360)", - "genres": "Epouvante-horreur", - "language": "Français", - "movie_id": 1000016503, - "original_title": "Insidious: Out of the Further", - "rating": 2.64, - "screen_format": "Numérique", - "synopsis": "Gemma, une jeune mère élève sa fille dans la maison de son enfance. Elle découvre qu'elle peut voyager dans le Lointain, ce royaume purgatoire des âmes perdues au cœur de l'univers d'Insidious. Lorsqu'une entité malveillante s'en prend à elle, Gemma révèle un pouvoir qui change tout : elle ne se contente pas d'entrer dans le Lointain, elle peut ramener dans le monde réel ce qui s'y trouve. Une fois que les démons prennent conscience de son pouvoir, notre monde devient alors leur terrain de jeu.", - "title": "Insidious : l'invasion du lointain", - "year": 2026 - } - }, - { - "date_time": "2026-09-26T22:20:00.000000", - "movie": { - "actors": "Michael Johnston (II), Inde Navarrette, Cooper Tomlinson", - "countries": [ - "U.S.A." - ], - "directors": "Curry Barker", - "duration": "datetime.timedelta(seconds=6540)", - "genres": "Epouvante-horreur", - "language": "Français", - "movie_id": 1000028234, - "original_title": "Obsession", - "rating": 3.92, - "screen_format": "Numérique", - "synopsis": "Et si vous pouviez réaliser votre rêve le plus fou ? Un jeune introverti met la main sur un objet magique capable d’exaucer n’importe quel souhait. Son crush de toujours tombe alors raide dingue de lui... jusqu’à l’obsession la plus totale. Faites attention à ce que vous souhaitez !", - "title": "Obsession", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:30:00.000000", - "movie": { - "actors": "Sebastian Stan, Renate Reinsve, Lisa Carlehed", - "countries": [ - "Roumanie", - "France", - "Norvège", - "Danemark", - "Finlande", - "Suède" - ], - "directors": "Cristian Mungiu", - "duration": "datetime.timedelta(seconds=8760)", - "genres": "Drame", - "language": "Version originale", - "movie_id": 188280, - "original_title": "Fjord", - "rating": 3.95, - "screen_format": "Numérique", - "synopsis": "Les Gheorghiu, un couple roumano-norvégien très pieux, s’installent dans un village au bout d’un fjord. Lorsque le corps enseignant découvre des ecchymoses sur le corps d'un de leurs enfants, le village se demande si leur éducation traditionnelle pourrait en être la cause.", - "title": "Fjord", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T10:45:00.000000", - "movie": { - "actors": "Rain Janjua, Carter Young, Mckenna Grace", - "countries": [ - "U.S.A." - ], - "directors": "Cal Brunker", - "duration": "datetime.timedelta(seconds=5280)", - "genres": "Animation, Aventure, Famille, Comédie", - "language": "Français", - "movie_id": 320681, - "original_title": "PAW Patrol: The Dino Movie", - "rating": 3.12, - "screen_format": "Numérique", - "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", - "title": "La Pat' Patrouille : Le film mission Dino", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:30:00.000000", - "movie": { - "actors": "Rain Janjua, Carter Young, Mckenna Grace", - "countries": [ - "U.S.A." - ], - "directors": "Cal Brunker", - "duration": "datetime.timedelta(seconds=5280)", - "genres": "Animation, Aventure, Famille, Comédie", - "language": "Français", - "movie_id": 320681, - "original_title": "PAW Patrol: The Dino Movie", - "rating": 3.12, - "screen_format": "Numérique", - "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée... et peuplée de dinosaures ! ", - "title": "La Pat' Patrouille : Le film mission Dino", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T11:00:00.000000", - "movie": { - "actors": "Kad Merad, Marie Gillain, Julia de Nunez", - "countries": [ - "France" - ], - "directors": "Élie Chouraqui", - "duration": "datetime.timedelta(seconds=6300)", - "genres": "Drame, Historique", - "language": "Français", - "movie_id": 323826, - "original_title": "Les Héros du Louvre", - "rating": 3.18, - "screen_format": "Numérique", - "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", - "title": "Les Héros du Louvre", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T11:00:00.000000", - "movie": { - "actors": "Tom Hanks, Tim Allen, Joan Cusack", - "countries": [ - "U.S.A." - ], - "directors": "Andrew Stanton, McKenna Harris", - "duration": "datetime.timedelta(seconds=6120)", - "genres": "Animation, Aventure, Comédie, Famille", - "language": "Français", - "movie_id": 313256, - "original_title": "Toy Story 5", - "rating": 3.97, - "screen_format": "Numérique", - "synopsis": "Buzz, Woody, Jessie et le reste de la bande verront leur travail remis en question lorsqu'ils découvriront que ce qui obsède les enfants d'aujourd'hui s’appelle... l'électronique !", - "title": "Toy Story 5", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T14:00:00.000000", - "movie": { - "actors": "Oscar Barberán, Michelle Jenner, Luis Posada", - "countries": [ - "Espagne" - ], - "directors": "Enrique Gato", - "duration": "datetime.timedelta(seconds=5700)", - "genres": "Animation, Aventure, Famille, Comédie", - "language": "Français", - "movie_id": 257425, - "original_title": "Tadeo Jones y la lámpara maravillosa", - "rating": 3.37, - "screen_format": "Numérique", - "synopsis": "Tad et Sara sont désormais les heureux parents d’Oli, une adorable et intrépide petite fille de deux ans. Le bonheur de la petite famille fait un peu de l’ombre à Momie, qui a l’impression de passer au second plan. Alors qu’en vacances à Londres la bande met la main sur la Lampe Merveilleuse des Mille et Une Nuits, Momie formule un vœu inattendu : voyager dans le temps pour retourner à l’époque de sa jeunesse où tout le monde l’adorait. Tad, Sara et toute l’équipe n’ont alors d’autre choix que de partir à la poursuite de Momie à travers le passé, avant que tout le cours de l’Histoire ne soit modifié... Cette nouvelle aventure les entraînera à travers l’océan Atlantique, de la mythique cité perdue de Païtiti à la Grèce Antique, avant de les conduire au cœur du Moyen-Orient, jusqu’à la légendaire grotte d’Ali Baba et les Quarante Voleurs. Un voyage spectaculaire à travers le temps, les civilisations et les légendes, dans la plus grande aventure de Tad à ce jour.", - "title": "Tad l'explorateur et la lampe magique", - "year": 2026 - } - }, - { - "date_time": "2026-09-27T19:30:00.000000", - "movie": { - "actors": "Malcolm McDowell, Patrick Magee, Michael Bates", - "countries": [ - "Grande-Bretagne", - "U.S.A." - ], - "directors": "Stanley Kubrick", - "duration": "datetime.timedelta(seconds=8160)", - "genres": "Science Fiction, Drame", - "language": "Version originale", - "movie_id": 260, - "original_title": "A Clockwork Orange", - "rating": 4.17, - "screen_format": "Numérique", - "synopsis": "", - "title": "Orange mécanique", - "year": 1971 - } - } - ], "theater_id": "P0645", "zipcode": "31670" } diff --git a/tests/__snapshots__/test_allocine/test_get_theater_falls_back_to_page_metadata.json b/tests/__snapshots__/test_allocine/test_get_theater_falls_back_to_page_metadata.json new file mode 100644 index 0000000..553ce52 --- /dev/null +++ b/tests/__snapshots__/test_allocine/test_get_theater_falls_back_to_page_metadata.json @@ -0,0 +1,7 @@ +{ + "address": "ZAC Saint Fiacre", + "city": "Plourin-lès-Morlaix", + "name": "Cinéville Plourin-les Morlaix", + "theater_id": "G0FOX", + "zipcode": "29600" +} diff --git a/tests/__snapshots__/test_allocine/test_search_theaters.json b/tests/__snapshots__/test_allocine/test_search_theaters.json index 3e7c14b..23aed2b 100644 --- a/tests/__snapshots__/test_allocine/test_search_theaters.json +++ b/tests/__snapshots__/test_allocine/test_search_theaters.json @@ -1,19 +1,19 @@ [ - "Theater(theater_id='P0798', name='CGR Saint-Quentin', showtimes=[], address='Quai Gayant', zipcode='02100', city='Saint-Quentin')", - "Theater(theater_id='P1008', name='Cinéma Lumières', showtimes=[], address='Place Yves Brinon', zipcode='02300', city='Chauny')", - "Theater(theater_id='P1016', name='CGR Soissons', showtimes=[], address='12, rue du Beffroi', zipcode='02200', city='Soissons')", - "Theater(theater_id='P2126', name='Cinéma Sonhir 3', showtimes=[], address='80, rue Charles de Gaulle', zipcode='02500', city='Hirson')", - "Theater(theater_id='P9088', name='Casino', showtimes=[], address='7, rue Marceau', zipcode='02700', city='Tergnier')", - "Theater(theater_id='P0470', name='Ciné Laon', showtimes=[], address='17 Av. Carnot', zipcode='02000', city='Laon')", - "Theater(theater_id='P1006', name='Les Clubs', showtimes=[], address='12 Place Aristide Briand', zipcode='02600', city='Villers-Cotterêts')", - "Theater(theater_id='P7829', name='Cinéma Théâtre', showtimes=[], address=\"13, place de l'Hôtel de Ville\", zipcode='02400', city='Château-Thierry')", - "Theater(theater_id='P3264', name='Le Don Camillo', showtimes=[], address='Rue de La Molotte', zipcode='51210', city='La Celle-sous-Montmirail')", - "Theater(theater_id='P7972', name='Vox', showtimes=[], address='58 rue Lesur', zipcode='02120', city='Guise')", - "Theater(theater_id='P2110', name='Cinéma Gilbert Taquet', showtimes=[], address='6 rue Curie', zipcode='02110', city='Bohain-en-Vermandois')", - "Theater(theater_id='W2460', name='Cinéma Jean Racine', showtimes=[], address='1 rue Racine', zipcode='02460', city='La Ferté-Milon')", - "Theater(theater_id='W0021', name='Cinema Piccoli-Piccolo', showtimes=[], address='Place Papillon', zipcode='02140', city='Vervins')", - "Theater(theater_id='P3262', name=\"L' Ermitage\", showtimes=[], address='06 Rue Simon', zipcode='02410', city='Saint-Gobain')", - "Theater(theater_id='P0467', name='Maison des Arts et Loisirs', showtimes=[], address='place Aubry', zipcode='02000', city='Laon')", - "Theater(theater_id='W0200', name=\"Ciné Jeune de L'Aisne\", showtimes=[], address='28 rue du Cloître', zipcode='02000', city='Laon')", - "Theater(theater_id='W2102', name=\"Cinéma itinérant de l'Aisne\", showtimes=[], address='2 Bd Roosevelt', zipcode='02100', city='Saint-Quentin')" + "Theater(theater_id='P0798', name='CGR Saint-Quentin', address='Quai Gayant', zipcode='02100', city='Saint-Quentin')", + "Theater(theater_id='P1008', name='Cinéma Lumières', address='Place Yves Brinon', zipcode='02300', city='Chauny')", + "Theater(theater_id='P1016', name='CGR Soissons', address='12, rue du Beffroi', zipcode='02200', city='Soissons')", + "Theater(theater_id='P2126', name='Cinéma Sonhir 3', address='80, rue Charles de Gaulle', zipcode='02500', city='Hirson')", + "Theater(theater_id='P9088', name='Casino', address='7, rue Marceau', zipcode='02700', city='Tergnier')", + "Theater(theater_id='P0470', name='Ciné Laon', address='17 Av. Carnot', zipcode='02000', city='Laon')", + "Theater(theater_id='P1006', name='Les Clubs', address='12 Place Aristide Briand', zipcode='02600', city='Villers-Cotterêts')", + "Theater(theater_id='P7829', name='Cinéma Théâtre', address=\"13, place de l'Hôtel de Ville\", zipcode='02400', city='Château-Thierry')", + "Theater(theater_id='P3264', name='Le Don Camillo', address='Rue de La Molotte', zipcode='51210', city='La Celle-sous-Montmirail')", + "Theater(theater_id='P7972', name='Vox', address='58 rue Lesur', zipcode='02120', city='Guise')", + "Theater(theater_id='P2110', name='Cinéma Gilbert Taquet', address='6 rue Curie', zipcode='02110', city='Bohain-en-Vermandois')", + "Theater(theater_id='W2460', name='Cinéma Jean Racine', address='1 rue Racine', zipcode='02460', city='La Ferté-Milon')", + "Theater(theater_id='W0021', name='Cinema Piccoli-Piccolo', address='Place Papillon', zipcode='02140', city='Vervins')", + "Theater(theater_id='P3262', name=\"L' Ermitage\", address='06 Rue Simon', zipcode='02410', city='Saint-Gobain')", + "Theater(theater_id='P0467', name='Maison des Arts et Loisirs', address='place Aubry', zipcode='02000', city='Laon')", + "Theater(theater_id='W0200', name=\"Ciné Jeune de L'Aisne\", address='28 rue du Cloître', zipcode='02000', city='Laon')", + "Theater(theater_id='W2102', name=\"Cinéma itinérant de l'Aisne\", address='2 Bd Roosevelt', zipcode='02100', city='Saint-Quentin')" ] diff --git a/tests/cassettes/get_showtimes_defaults_to_today.json b/tests/cassettes/get_showtimes_defaults_to_today.json new file mode 100644 index 0000000..cf5c46c --- /dev/null +++ b/tests/cassettes/get_showtimes_defaults_to_today.json @@ -0,0 +1,17196 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-G0FOX/d-2026-09-27/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 09:49:16 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "46412" + ], + "last-modified": [ + "Sun, 27 Sep 2026 20:55:44 GMT" + ], + "cf-cache-status": [ + "UPDATING" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=eDusuLWCccjM5bZWkeD7IGKFnvqNLvQRRhYDMb7ZYouGco3uvO5Txr6%2BL9jp2d6AD6QigGj5v0j7Vhrf6bpi30de%2BP9Vd%2F9UVaJVVauSDCebrS2fJ%2FM4ZnAnJyjh%2ByUqQg%3D%3D\"}]}" + ], + "cf-ray": [ + "a421d651c94e2a10-CDG" + ], + "content-length": [ + "233473" + ] + }, + "body": { + "error": false, + "message": null, + "messageParam": null, + "nextDate": null, + "results": [ + { + "movie": { + "synopsis": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache. Ce fantôme farceur va entraîner Ducobu, Léonie, leurs parents et Kitrish dans une série de péripéties ​ aussi drôles qu’inattendues. Mais attention : à Halloween, tout peut arriver…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019249, + "id": "TW92aWU6MTAwMDAxOTI0OQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA4NDYxNw==", + "internalId": 9002084617, + "url": "https://fr.web.img6.acsta.net/img/54/16/54167f9b523fff67b07b2e80f5f9dd71.jpg", + "path": "/img/54/16/54167f9b523fff67b07b2e80f5f9dd71.jpg" + }, + "title": "Ducobu et le fantôme de Saint-Potache", + "originalTitle": "Ducobu et le fantôme de Saint-Potache", + "type": "FEATURE_FILM", + "runtime": "1h 30min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": null, + "count": null + }, + "userReview": { + "count": 9 + }, + "pressReview": null, + "metric": { + "hits": 92281, + "sessions": 55772 + }, + "wantToSeeCount": 257 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "165348" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000096859, + "lastName": "Naslin", + "firstName": "Charlie Garnier", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 184343, + "lastName": "Caen", + "firstName": "Émilie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1000096859, + "lastName": "Naslin", + "firstName": "Charlie Garnier", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 184343, + "lastName": "Caen", + "firstName": "Émilie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6117, + "name": "Ducobu", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1361, + "name": "Halloween", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1158, + "name": "Maison hantée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2514, + "name": "Fantômes / Esprits", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000000005, + "name": "Frissons en famille", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000000004, + "name": "Rire en famille", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": true, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": false, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": true, + "weeklyOuting": false + }, + "synopsisFull": "

C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache. Ce fantôme farceur va entraîner Ducobu, Léonie, leurs parents et Kitrish dans une série de péripéties ​ aussi drôles qu’inattendues. Mais attention : à Halloween, tout peut arriver…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 80625247410, + "startsAt": "2026-09-27T11:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "BoostPos.XpEtLabels.Avp", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019249&tags=Localization.Language.French,BoostPos.XpEtLabels.Avp,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=11:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": true, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000031247, + "id": "TW92aWU6MTAwMDAzMTI0Nw==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3MDc0Ng==", + "internalId": 9002070746, + "url": "https://fr.web.img3.acsta.net/img/7f/e6/7fe6fefcab6e4951dac81cebd7c5e202.jpg", + "path": "/img/7f/e6/7fe6fefcab6e4951dac81cebd7c5e202.jpg" + }, + "title": "La Maison de nos rêves", + "originalTitle": "La Maison de nos rêves", + "type": "FEATURE_FILM", + "runtime": "1h 30min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": null, + "count": null + }, + "userReview": { + "count": 67 + }, + "pressReview": null, + "metric": { + "hits": 164932, + "sessions": 96432 + }, + "wantToSeeCount": 354 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 227376, + "lastName": "Zidi Jr.", + "firstName": "Claude", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 499997, + "lastName": "Adams", + "firstName": "Kev", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 134849, + "lastName": "Ladesou", + "firstName": "Chantal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 743062, + "lastName": "Aguilar", + "firstName": "Camille", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 499997, + "lastName": "Adams", + "firstName": "Kev", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 134849, + "lastName": "Ladesou", + "firstName": "Chantal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 743062, + "lastName": "Aguilar", + "firstName": "Camille", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 4760, + "name": "Agent immobilier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4251, + "name": "Lac / Rivière / Fleuve / Etendue d'eau", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Paysage" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1373, + "name": "Arnaque / Escroc / Escroquerie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1930, + "name": "Personne âgée / Senior / Vieillesse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.ThemeDeSociete" + ] + } + }, + { + "__typename": "Tag", + "internalId": 286, + "name": "Maison / Château", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": false, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": true, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": false, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": true, + "weeklyOuting": false + }, + "synopsisFull": "

Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 80625247416, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "BoostPos.XpEtLabels.Avp", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000031247&tags=Localization.Language.French,BoostPos.XpEtLabels.Avp,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": true, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000000085, + "id": "TW92aWU6MTAwMDAwMDA4NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNTQ3Nw==", + "internalId": 9002115477, + "url": "https://fr.web.img2.acsta.net/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg", + "path": "/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg" + }, + "title": "Heart Of The Beast", + "originalTitle": "Heart Of The Beast", + "type": "FEATURE_FILM", + "runtime": "1h 41min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.83, + "count": 895 + }, + "userReview": { + "count": 215 + }, + "pressReview": { + "score": 2.9, + "count": 31 + }, + "metric": { + "hits": 589276, + "sessions": 354550 + }, + "wantToSeeCount": 2611 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168216" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 41198, + "lastName": "Ayer", + "firstName": "David", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 982, + "name": "Alaska / Pôle Nord", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4999, + "name": "Crash d'avion", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 692, + "name": "Survivants / Rescapés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1012, + "name": "Traumatisme de guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1042, + "name": "Relation homme / animal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1061, + "name": "Flashback", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966769, + "startsAt": "2026-09-27T20:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966603, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible", + "Internal.Data.AlmostSoldOut" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible,Internal.Data.AlmostSoldOut&perfd=20260927&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 232669, + "id": "TW92aWU6MjMyNjY5", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6MjE2MDg1Mzg=", + "internalId": 21608538, + "url": "https://fr.web.img2.acsta.net/pictures/19/04/04/09/04/0472053.jpg", + "path": "/pictures/19/04/04/09/04/0472053.jpg" + }, + "title": "Avengers: Endgame", + "originalTitle": "Avengers: Endgame", + "type": "FEATURE_FILM", + "runtime": "3h 01min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2019, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.2, + "count": 41736 + }, + "userReview": { + "count": 2124 + }, + "pressReview": { + "score": 3.21, + "count": 33 + }, + "metric": { + "hits": 15595853, + "sessions": 6837156 + }, + "wantToSeeCount": 10447 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "ReRelease", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": [ + "RERUN" + ] + }, + "visaNumber": "150633" + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-05", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToyMDAxNA==", + "internalId": 20014, + "name": "TMC" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-04-28", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMA==", + "internalId": 50000, + "name": "Disney+" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-03-24", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": [ + "EXCLUSIVE" + ] + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-02-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "Dvd", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_DVD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-21", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-04-24", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "150633" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 71968, + "lastName": "Russo", + "firstName": "Joe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 71967, + "lastName": "Russo", + "firstName": "Anthony", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5302, + "name": "Hulk", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5300, + "name": "Iron Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5294, + "name": "Captain America", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4394, + "name": "Performance-Capture", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 455, + "name": "Sauver la terre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5681, + "name": "Nick Fury", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4268, + "name": "All Star Movie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5288, + "name": "Thor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films similaires à Thor Ragnarok", + "subTitle": "films de la saga Thor", + "description": "Bienvenue dans le monde fascinant d'Asgard. Les films de la saga Thor voient Hulk, Loki, et même Doctor Strange unir leurs forces. Avec Surtur, Odin et un portail menant au chaos, chaque scène de ces aventures Marvel captive. Dans les films similaires à Thor Ragnarok, le dieu du tonnerre brille sur grand écran" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5269, + "name": "Garçon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5309, + "name": "État de New York", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6050, + "name": "Méchant emblématique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films avec des méchants emblématiques", + "subTitle": "films avec des méchants emblématiques", + "description": "Quels sont les meilleurs films avec des méchants emblématiques ? Découvrez les films avec les meilleurs méchants du cinéma d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5301, + "name": "Avengers", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Avengers", + "subTitle": "films de la saga Avengers", + "description": "Plongez dans l'univers épique des films Avengers et de l’incroyable MCU ! Découvrez les aventures des héros iconiques comme Iron Man, Captain America, Thor, ou encore Spider-Man. Préparez-vous pour une nouvelle épopée et explorez un univers où l'action et la magie s'entrelacent. Quel sera votre prochain film dans cette série légendaire ?" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5271, + "name": "Geek", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 857, + "name": "Expérience scientifique / Chercheur scientifique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6068, + "name": "Marvel Cinematic Universe", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films Marvel Cinematic Universe", + "subTitle": "films Marvel MCU", + "description": "Vous êtes fan de Marvel ? Les films Marvel Cinematic Universe ont redéfini le cinéma mondial. Réalisés par des talents comme les frères Russo, de Spider-Man à Captain Marvel, chaque films Marvel MCU s'intègre à un univers cinématique soigneusement construit. Découvrez les meilleurs film Marvel Cinematic Universe (MCU) à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5105, + "name": "Adaptation de comic-book Marvel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés de comics Marvel", + "subTitle": "films adaptés de comic book Marvel", + "description": "Vous êtes fan de comics Marvel ? Découvrez quels sont les meilleurs adaptations de comic book Marvel au cinéma à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2700, + "name": "Effets spéciaux / Trucages", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2771, + "name": "Equipe / Equipage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2719, + "name": "Image de synthèse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5291, + "name": "Etats-Unis", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": true, + "hasNews": true, + "hasOnlineProduct": true, + "hasOnlineRelease": true, + "hasPhysicalProduct": true, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": true, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": true, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 80903750379, + "startsAt": "2026-09-27T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Version.Original", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Version.Original,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966601, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Auditorium.Experience.InfinityVision", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966486, + "startsAt": "2026-09-27T16:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_3D", + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.3d,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=16:20" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac. ", + "italic": true + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000028944, + "id": "TW92aWU6MTAwMDAyODk0NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMDIxMQ==", + "internalId": 9002100211, + "url": "https://fr.web.img6.acsta.net/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg", + "path": "/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg" + }, + "title": "Justin le Juste", + "originalTitle": "Justin le Juste", + "type": "FEATURE_FILM", + "runtime": "1h 50min", + "genres": [ + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + }, + { + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.76, + "count": 307 + }, + "userReview": { + "count": 111 + }, + "pressReview": { + "score": 3.15, + "count": 13 + }, + "metric": { + "hits": 232722, + "sessions": 140403 + }, + "wantToSeeCount": 734 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "164658" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 26667, + "lastName": "Barbier", + "firstName": "Éric", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 482, + "name": "Fable", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1693, + "name": "Première guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 821, + "name": "Injustice", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 435, + "name": "Paysan / Paysanne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4489, + "name": "Révolte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4875, + "name": "Guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres.

Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966607, + "startsAt": "2026-09-27T16:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=16:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966500, + "startsAt": "2026-09-27T20:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:40" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000013045, + "id": "TW92aWU6MTAwMDAxMzA0NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1NDA2OA==", + "internalId": 9002054068, + "url": "https://fr.web.img6.acsta.net/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg", + "path": "/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg" + }, + "title": "L'Odyssée", + "originalTitle": "The Odyssey", + "type": "FEATURE_FILM", + "runtime": "2h 53min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.3, + "count": 13871 + }, + "userReview": { + "count": 4630 + }, + "pressReview": { + "score": 4.09, + "count": 35 + }, + "metric": { + "hits": 6903479, + "sessions": 3354100 + }, + "wantToSeeCount": 8346 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-15", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12", + "label": "Interdit - 12 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167898" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30367, + "lastName": "Nolan", + "firstName": "Christopher", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5647, + "name": "Ulysse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6064, + "name": "Film long", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1828, + "name": "Guerrier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1098, + "name": "Antiquité - Péplum", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5203, + "name": "Parcours initiatique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5137, + "name": "Combat / Bagarre / Castagne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1046, + "name": "Violence", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966538, + "startsAt": "2026-09-27T10:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966774, + "startsAt": "2026-09-27T17:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=17:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 276608, + "id": "TW92aWU6Mjc2NjA4", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2MDEwNA==", + "internalId": 9002060104, + "url": "https://fr.web.img5.acsta.net/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg", + "path": "/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg" + }, + "title": "Spider-Man: Brand New Day", + "originalTitle": "Spider-Man: Brand New Day", + "type": "FEATURE_FILM", + "runtime": "2h 25min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.09, + "count": 8414 + }, + "userReview": { + "count": 887 + }, + "pressReview": { + "score": 3.24, + "count": 25 + }, + "metric": { + "hits": 2951584, + "sessions": 1570470 + }, + "wantToSeeCount": 5514 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-29", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167934" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 622552, + "lastName": "Cretton", + "firstName": "Destin Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966728, + "startsAt": "2026-09-27T10:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Auditorium.Experience.DolbyAtmos,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966729, + "startsAt": "2026-09-27T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 320681, + "id": "TW92aWU6MzIwNjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NTEzNw==", + "internalId": 9002075137, + "url": "https://fr.web.img6.acsta.net/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg", + "path": "/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg" + }, + "title": "La Pat' Patrouille : Le film mission Dino", + "originalTitle": "PAW Patrol: The Dino Movie", + "type": "FEATURE_FILM", + "runtime": "1h 28min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + }, + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.12, + "count": 256 + }, + "userReview": { + "count": 48 + }, + "pressReview": { + "score": 3.13, + "count": 16 + }, + "metric": { + "hits": 482295, + "sessions": 259429 + }, + "wantToSeeCount": 296 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-05", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167695" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 447317, + "lastName": "Brunker", + "firstName": "Cal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2453, + "name": "Dinosaures", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de dinosaures", + "subTitle": "films avec des dinosaures", + "description": "De l’incontournable Jurassic Park à des films d’animation captivants, chaque film de dinosaures transporte petits et grands dans des aventures palpitantes. Découvrez les animaux préhistoriques recréés avec brio, comme dans Jurassic World, ou explorez des classiques qui font revivre les dinosaures à l’écran" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3930, + "name": "Aventures animalières", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1262, + "name": "Les animaux ont la parole", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5265, + "name": "Enfants", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5260, + "name": "À partir de 3 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1769, + "name": "Dessin animé et animation", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5267, + "name": "Famille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966478, + "startsAt": "2026-09-27T10:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966482, + "startsAt": "2026-09-27T13:35:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=13:35" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 323826, + "id": "TW92aWU6MzIzODI2", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjAwNjM1Ng==", + "internalId": 9002006356, + "url": "https://fr.web.img4.acsta.net/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg", + "path": "/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg" + }, + "title": "Les Héros du Louvre", + "originalTitle": "Les Héros du Louvre", + "type": "FEATURE_FILM", + "runtime": "1h 45min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.19, + "count": 505 + }, + "userReview": { + "count": 161 + }, + "pressReview": { + "score": 2.5, + "count": 12 + }, + "metric": { + "hits": 316199, + "sessions": 176267 + }, + "wantToSeeCount": 634 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "155392" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30724, + "lastName": "Chouraqui", + "firstName": "Élie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6060, + "name": "Histoire vraie pendant la guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 175, + "name": "Musée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2454, + "name": "Gardien / Agent de sécurité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 329, + "name": "Peintres / Peintures / Tableaux / Dessins", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1787, + "name": "Sauvetage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 668, + "name": "Adaptation de BD", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 591, + "name": "Paris", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films à Paris", + "subTitle": "films sur Paris", + "description": "La Ville Lumière brille aussi au cinéma. Découvrez les meilleurs films sur Paris, qu’il s’agisse de comédies romantiques, de drames émouvants ou de thrillers haletants. De \"Midnight in Paris\" à \"Le Fabuleux Destin d’Amélie Poulain\", Paris est le décor parfait" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 855, + "name": "Nazisme / Fascisme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4717, + "name": "Inspiré d'une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 520, + "name": "D'après une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966692, + "startsAt": "2026-09-27T11:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.323826&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=11:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966515, + "startsAt": "2026-09-27T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.323826&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie…" + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré d'une incroyable histoire vraie.", + "italic": true + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000003105, + "id": "TW92aWU6MTAwMDAwMzEwNQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA0NDk5MA==", + "internalId": 9002044990, + "url": "https://fr.web.img2.acsta.net/img/9f/4a/9f4af8841cf8a30055df79e676984b5c.jpg", + "path": "/img/9f/4a/9f4af8841cf8a30055df79e676984b5c.jpg" + }, + "title": "Charlie et les kangourous", + "originalTitle": "Kangaroo", + "type": "FEATURE_FILM", + "runtime": "1h 47min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2025, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.71, + "count": 143 + }, + "userReview": { + "count": 24 + }, + "pressReview": { + "score": 2.78, + "count": 9 + }, + "metric": { + "hits": 197688, + "sessions": 117307 + }, + "wantToSeeCount": 231 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-22", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167820" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 105841, + "lastName": "Woods", + "firstName": "Kate", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000001656, + "lastName": "Whiteley", + "firstName": "Lily", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 406211, + "lastName": "Corr", + "firstName": "Ryan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 198297, + "lastName": "House", + "firstName": "Rachel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1000001656, + "lastName": "Whiteley", + "firstName": "Lily", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 406211, + "lastName": "Corr", + "firstName": "Ryan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 198297, + "lastName": "House", + "firstName": "Rachel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5029, + "name": "Australia", + "localizedName": "Australie" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 4871, + "name": "Aborigènes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 897, + "name": "Australie / Australien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5143, + "name": "Désert", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Paysage" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1042, + "name": "Relation homme / animal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 208, + "name": "Animaux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 520, + "name": "D'après une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie…

Inspiré d'une incroyable histoire vraie.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966497, + "startsAt": "2026-09-27T11:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000003105&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=11:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000018854, + "id": "TW92aWU6MTAwMDAxODg1NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDg0Mg==", + "internalId": 9002114842, + "url": "https://fr.web.img4.acsta.net/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg", + "path": "/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg" + }, + "title": "Resident Evil", + "originalTitle": "Resident Evil", + "type": "FEATURE_FILM", + "runtime": "1h 37min", + "genres": [ + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + }, + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + }, + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.85, + "count": 1737 + }, + "userReview": { + "count": 355 + }, + "pressReview": { + "score": 3.8, + "count": 15 + }, + "metric": { + "hits": 578463, + "sessions": 318156 + }, + "wantToSeeCount": 1792 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes violentes concernant des enfants sont susceptibles de heurter un jeune public non averti.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168141" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 124791, + "lastName": "Cregger", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + }, + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2353, + "name": "Resident Evil", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Resident Evil", + "subTitle": "films de la saga Resident Evil", + "description": "Inspirés des célèbres jeux vidéo, les films de la série Resident Evil avec Milla Jovovich dans le rôle d'Alice offrent un retour captivant dans Raccoon City, épicentre du chaos. Succès mondial, cette série cinématographique mêle zombies, science-fiction et tension" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1099, + "name": "Adaptation de jeu vidéo", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés d'un jeu vidéo", + "subTitle": null, + "description": "Vous aimez les adaptations de jeux vidéo au cinéma ? Découvrez les meilleurs films adaptés de jeux vidéo à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 678, + "name": "Zombie / Mort-vivant / Contaminés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de zombies", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants au cinéma ? Découvrez quels sont les meilleurs films de zombies à voir d'après la sélection de la rédaction" + }, + "series": { + "title": "séries de mort-vivant", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants à la TV ? Découvrez quelles sont les meilleures séries de zombies à voir d'après la sélection de la rédaction" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966444, + "startsAt": "2026-09-27T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966411, + "startsAt": "2026-09-27T20:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000032856, + "id": "TW92aWU6MTAwMDAzMjg1Ng==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2OTA0Ng==", + "internalId": 9002069046, + "url": "https://fr.web.img5.acsta.net/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg", + "path": "/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg" + }, + "title": "Tombé du ciel", + "originalTitle": "Tombé du ciel", + "type": "FEATURE_FILM", + "runtime": "1h 32min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.21, + "count": 3076 + }, + "userReview": { + "count": 1380 + }, + "pressReview": { + "score": 2.57, + "count": 7 + }, + "metric": { + "hits": 1363762, + "sessions": 795059 + }, + "wantToSeeCount": 913 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-12", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "165652" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 480873, + "lastName": "Hamidi", + "firstName": "Mohamed", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1142, + "name": "Ecole religieuse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 831, + "name": "Pensionnat", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4061, + "name": "Humoriste", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2047, + "name": "Religion / Prière et lieux de cultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3466, + "name": "Professeur / Enseignant", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2068, + "name": "Pape / Prêtre / Curé / Moine / Bonne soeur / Religieux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966589, + "startsAt": "2026-09-27T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966573, + "startsAt": "2026-09-27T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966557, + "startsAt": "2026-09-27T20:55:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:55" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": " " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294281, + "id": "TW92aWU6Mjk0Mjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NQ==", + "internalId": 9002074645, + "url": "https://fr.web.img5.acsta.net/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg", + "path": "/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg" + }, + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "originalTitle": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2025, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.5, + "count": 8007 + }, + "userReview": { + "count": 1147 + }, + "pressReview": { + "score": 3.86, + "count": 28 + }, + "metric": { + "hits": 2154648, + "sessions": 989948 + }, + "wantToSeeCount": 3346 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-26", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "160148" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966507, + "startsAt": "2026-09-27T17:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible", + "Internal.Data.AlmostSoldOut" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible,Internal.Data.AlmostSoldOut&perfd=20260927&perft=17:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294280, + "id": "TW92aWU6Mjk0Mjgw", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NA==", + "internalId": 9002074644, + "url": "https://fr.web.img6.acsta.net/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg", + "path": "/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg" + }, + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "originalTitle": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.42, + "count": 10240 + }, + "userReview": { + "count": 1778 + }, + "pressReview": { + "score": 3.5, + "count": 38 + }, + "metric": { + "hits": 4096427, + "sessions": 1955341 + }, + "wantToSeeCount": 4389 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-03", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Une scène de bataille montrant des morts et des corps mutilés et la bande-son sont susceptibles d'impressionner un public sensible ou jeune.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "159694" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966531, + "startsAt": "2026-09-27T17:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=17:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019874, + "id": "TW92aWU6MTAwMDAxOTg3NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMTczNA==", + "internalId": 9002101734, + "url": "https://fr.web.img3.acsta.net/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg", + "path": "/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg" + }, + "title": "Les Contrebandiers", + "originalTitle": "The Weight", + "type": "FEATURE_FILM", + "runtime": "1h 53min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH", + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.27, + "count": 475 + }, + "userReview": { + "count": 93 + }, + "pressReview": { + "score": 3.13, + "count": 30 + }, + "metric": { + "hits": 315192, + "sessions": 216192 + }, + "wantToSeeCount": 999 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Plusieurs scènes violentes peuvent heurter un public jeune ou sensible.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167970" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 99555, + "lastName": "McKinley", + "firstName": "Padraic", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5958, + "name": "Oregon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5403, + "name": "Camp de travail / Travail forcé", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 788, + "name": "Grande dépression", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films sur la Grande Dépression", + "subTitle": null, + "description": "Vous aimez les films de la crise économique des années 1930 ? Découvrez quels sont les meilleurs films sur La Grande Dépressions à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 622, + "name": "Contrebande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5241, + "name": "Trésor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 486, + "name": "Rivalité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 660, + "name": "Premier film", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966654, + "startsAt": "2026-09-27T18:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=18:15" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + } + ], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 1 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "4k", + "translation": { + "tag": "F_4K", + "name": "4K" + } + }, + { + "key": "3d", + "translation": { + "tag": "F_3D", + "name": "3D" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "DolbyAtmos", + "translation": { + "tag": "DOLBY_ATMOS", + "name": "Dolby Atmos" + } + }, + { + "key": "InfinityVision", + "translation": { + "tag": "INFINITY_VISION", + "name": "Infinity Vision" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "Original", + "versionDetail": "ORIGINAL" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [ + { + "key": "71", + "translation": { + "tag": "S_71", + "name": "7.1" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [] + } + ], + "pagination": { + "page": 1, + "totalPages": 2, + "itemsPerPage": 15, + "totalItems": 17 + }, + "data": null + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-G0FOX/d-2026-09-27/p-2/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 09:49:16 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "37587" + ], + "last-modified": [ + "Sun, 27 Sep 2026 23:22:49 GMT" + ], + "cf-cache-status": [ + "UPDATING" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=H3lARhUuSQC8z5TZZHhvoq%2BS2tSVzqbUl611WCtUqoaI3aO3oCLh9IA%2BtztO%2Bd%2F44HcT%2FJWsqHglIkhp1UdU1HaZMc1rdywOfkW%2BDk%2BjH7FnP14c7XBSiab0Cbc%2FKAubnA%3D%3D\"}]}" + ], + "cf-ray": [ + "a421d65219a52a10-CDG" + ], + "content-length": [ + "1244" + ] + }, + "body": { + "error": true, + "message": "next.showtime.on", + "messageParam": null, + "nextDate": "2026-09-28", + "results": [], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 2 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "4k", + "translation": { + "tag": "F_4K", + "name": "4K" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "DolbyAtmos", + "translation": { + "tag": "DOLBY_ATMOS", + "name": "Dolby Atmos" + } + }, + { + "key": "InfinityVision", + "translation": { + "tag": "INFINITY_VISION", + "name": "Infinity Vision" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "Original", + "versionDetail": "ORIGINAL" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [ + { + "key": "71", + "translation": { + "tag": "S_71", + "name": "7.1" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [] + } + ], + "pagination": { + "page": "2", + "totalPages": 0, + "itemsPerPage": 15, + "totalItems": 0 + }, + "data": null + } + } + } + ] +} diff --git a/tests/cassettes/get_showtimes_fetches_inclusive_date_range.json b/tests/cassettes/get_showtimes_fetches_inclusive_date_range.json new file mode 100644 index 0000000..beb32f6 --- /dev/null +++ b/tests/cassettes/get_showtimes_fetches_inclusive_date_range.json @@ -0,0 +1,32152 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-G0FOX/d-2026-09-27/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 09:49:16 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "46412" + ], + "last-modified": [ + "Sun, 27 Sep 2026 20:55:44 GMT" + ], + "cf-cache-status": [ + "UPDATING" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=BR1TSjuWEMQIADiDSV6eNQ4zMcLSYT3XGRXJn6Fl0bG40UNwWYdPXbx7cjznmzOgU7JB7BI3NmuS%2FvBJIXQhwicwXf5P4KsXFIGrZKIkPBCFH%2FMjebYorMU%2FtGiFaBcJ5Q%3D%3D\"}]}" + ], + "cf-ray": [ + "a421d652aa449f07-CDG" + ], + "content-length": [ + "233473" + ] + }, + "body": { + "error": false, + "message": null, + "messageParam": null, + "nextDate": null, + "results": [ + { + "movie": { + "synopsis": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache. Ce fantôme farceur va entraîner Ducobu, Léonie, leurs parents et Kitrish dans une série de péripéties ​ aussi drôles qu’inattendues. Mais attention : à Halloween, tout peut arriver…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019249, + "id": "TW92aWU6MTAwMDAxOTI0OQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA4NDYxNw==", + "internalId": 9002084617, + "url": "https://fr.web.img6.acsta.net/img/54/16/54167f9b523fff67b07b2e80f5f9dd71.jpg", + "path": "/img/54/16/54167f9b523fff67b07b2e80f5f9dd71.jpg" + }, + "title": "Ducobu et le fantôme de Saint-Potache", + "originalTitle": "Ducobu et le fantôme de Saint-Potache", + "type": "FEATURE_FILM", + "runtime": "1h 30min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": null, + "count": null + }, + "userReview": { + "count": 9 + }, + "pressReview": null, + "metric": { + "hits": 92281, + "sessions": 55772 + }, + "wantToSeeCount": 257 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "165348" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000096859, + "lastName": "Naslin", + "firstName": "Charlie Garnier", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 184343, + "lastName": "Caen", + "firstName": "Émilie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1000096859, + "lastName": "Naslin", + "firstName": "Charlie Garnier", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 24795, + "lastName": "Semoun", + "firstName": "Elie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 184343, + "lastName": "Caen", + "firstName": "Émilie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6117, + "name": "Ducobu", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1361, + "name": "Halloween", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1158, + "name": "Maison hantée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2514, + "name": "Fantômes / Esprits", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000000005, + "name": "Frissons en famille", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000000004, + "name": "Rire en famille", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": true, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": false, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": true, + "weeklyOuting": false + }, + "synopsisFull": "

C’est Halloween, et Ducobu revient pour une aventure pleine de rires et de mystères ! Le professeur Latouche et Mademoiselle Rateau emménagent dans une maison… hantée par le ​ fantôme d'Anatole, le plus grand cancre de l’histoire de l’école Saint-Potache. Ce fantôme farceur va entraîner Ducobu, Léonie, leurs parents et Kitrish dans une série de péripéties ​ aussi drôles qu’inattendues. Mais attention : à Halloween, tout peut arriver…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 80625247410, + "startsAt": "2026-09-27T11:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "BoostPos.XpEtLabels.Avp", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019249&tags=Localization.Language.French,BoostPos.XpEtLabels.Avp,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=11:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": true, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000031247, + "id": "TW92aWU6MTAwMDAzMTI0Nw==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3MDc0Ng==", + "internalId": 9002070746, + "url": "https://fr.web.img3.acsta.net/img/7f/e6/7fe6fefcab6e4951dac81cebd7c5e202.jpg", + "path": "/img/7f/e6/7fe6fefcab6e4951dac81cebd7c5e202.jpg" + }, + "title": "La Maison de nos rêves", + "originalTitle": "La Maison de nos rêves", + "type": "FEATURE_FILM", + "runtime": "1h 30min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": null, + "count": null + }, + "userReview": { + "count": 67 + }, + "pressReview": null, + "metric": { + "hits": 164932, + "sessions": 96432 + }, + "wantToSeeCount": 354 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 227376, + "lastName": "Zidi Jr.", + "firstName": "Claude", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 499997, + "lastName": "Adams", + "firstName": "Kev", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 134849, + "lastName": "Ladesou", + "firstName": "Chantal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 743062, + "lastName": "Aguilar", + "firstName": "Camille", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 499997, + "lastName": "Adams", + "firstName": "Kev", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 134849, + "lastName": "Ladesou", + "firstName": "Chantal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 743062, + "lastName": "Aguilar", + "firstName": "Camille", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 4760, + "name": "Agent immobilier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4251, + "name": "Lac / Rivière / Fleuve / Etendue d'eau", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Paysage" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1373, + "name": "Arnaque / Escroc / Escroquerie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1930, + "name": "Personne âgée / Senior / Vieillesse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.ThemeDeSociete" + ] + } + }, + { + "__typename": "Tag", + "internalId": 286, + "name": "Maison / Château", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": false, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": true, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": false, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": true, + "weeklyOuting": false + }, + "synopsisFull": "

Un jeune couple pense avoir enfin trouvé la solution miracle pour devenir propriétaire : Un Viager, une maison sublime au bord du lac, une dame mourante, bref, le plan parfait. Mais une fois le contrat signé la dame va beaucoup mieux et va transformer leur rêve immobilier en véritable cauchemar.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 80625247416, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "BoostPos.XpEtLabels.Avp", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000031247&tags=Localization.Language.French,BoostPos.XpEtLabels.Avp,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": true, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000000085, + "id": "TW92aWU6MTAwMDAwMDA4NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNTQ3Nw==", + "internalId": 9002115477, + "url": "https://fr.web.img2.acsta.net/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg", + "path": "/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg" + }, + "title": "Heart Of The Beast", + "originalTitle": "Heart Of The Beast", + "type": "FEATURE_FILM", + "runtime": "1h 41min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.83, + "count": 895 + }, + "userReview": { + "count": 215 + }, + "pressReview": { + "score": 2.9, + "count": 31 + }, + "metric": { + "hits": 589276, + "sessions": 354550 + }, + "wantToSeeCount": 2611 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168216" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 41198, + "lastName": "Ayer", + "firstName": "David", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 982, + "name": "Alaska / Pôle Nord", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4999, + "name": "Crash d'avion", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 692, + "name": "Survivants / Rescapés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1012, + "name": "Traumatisme de guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1042, + "name": "Relation homme / animal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1061, + "name": "Flashback", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966769, + "startsAt": "2026-09-27T20:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966603, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible", + "Internal.Data.AlmostSoldOut" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible,Internal.Data.AlmostSoldOut&perfd=20260927&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 232669, + "id": "TW92aWU6MjMyNjY5", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6MjE2MDg1Mzg=", + "internalId": 21608538, + "url": "https://fr.web.img2.acsta.net/pictures/19/04/04/09/04/0472053.jpg", + "path": "/pictures/19/04/04/09/04/0472053.jpg" + }, + "title": "Avengers: Endgame", + "originalTitle": "Avengers: Endgame", + "type": "FEATURE_FILM", + "runtime": "3h 01min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2019, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.2, + "count": 41736 + }, + "userReview": { + "count": 2124 + }, + "pressReview": { + "score": 3.21, + "count": 33 + }, + "metric": { + "hits": 15595853, + "sessions": 6837156 + }, + "wantToSeeCount": 10447 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "ReRelease", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": [ + "RERUN" + ] + }, + "visaNumber": "150633" + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-05", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToyMDAxNA==", + "internalId": 20014, + "name": "TMC" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-04-28", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMA==", + "internalId": 50000, + "name": "Disney+" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-03-24", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": [ + "EXCLUSIVE" + ] + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-02-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "Dvd", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_DVD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-21", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-04-24", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "150633" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 71968, + "lastName": "Russo", + "firstName": "Joe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 71967, + "lastName": "Russo", + "firstName": "Anthony", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5302, + "name": "Hulk", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5300, + "name": "Iron Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5294, + "name": "Captain America", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4394, + "name": "Performance-Capture", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 455, + "name": "Sauver la terre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5681, + "name": "Nick Fury", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4268, + "name": "All Star Movie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5288, + "name": "Thor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films similaires à Thor Ragnarok", + "subTitle": "films de la saga Thor", + "description": "Bienvenue dans le monde fascinant d'Asgard. Les films de la saga Thor voient Hulk, Loki, et même Doctor Strange unir leurs forces. Avec Surtur, Odin et un portail menant au chaos, chaque scène de ces aventures Marvel captive. Dans les films similaires à Thor Ragnarok, le dieu du tonnerre brille sur grand écran" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5269, + "name": "Garçon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5309, + "name": "État de New York", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6050, + "name": "Méchant emblématique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films avec des méchants emblématiques", + "subTitle": "films avec des méchants emblématiques", + "description": "Quels sont les meilleurs films avec des méchants emblématiques ? Découvrez les films avec les meilleurs méchants du cinéma d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5301, + "name": "Avengers", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Avengers", + "subTitle": "films de la saga Avengers", + "description": "Plongez dans l'univers épique des films Avengers et de l’incroyable MCU ! Découvrez les aventures des héros iconiques comme Iron Man, Captain America, Thor, ou encore Spider-Man. Préparez-vous pour une nouvelle épopée et explorez un univers où l'action et la magie s'entrelacent. Quel sera votre prochain film dans cette série légendaire ?" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5271, + "name": "Geek", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 857, + "name": "Expérience scientifique / Chercheur scientifique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6068, + "name": "Marvel Cinematic Universe", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films Marvel Cinematic Universe", + "subTitle": "films Marvel MCU", + "description": "Vous êtes fan de Marvel ? Les films Marvel Cinematic Universe ont redéfini le cinéma mondial. Réalisés par des talents comme les frères Russo, de Spider-Man à Captain Marvel, chaque films Marvel MCU s'intègre à un univers cinématique soigneusement construit. Découvrez les meilleurs film Marvel Cinematic Universe (MCU) à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5105, + "name": "Adaptation de comic-book Marvel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés de comics Marvel", + "subTitle": "films adaptés de comic book Marvel", + "description": "Vous êtes fan de comics Marvel ? Découvrez quels sont les meilleurs adaptations de comic book Marvel au cinéma à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2700, + "name": "Effets spéciaux / Trucages", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2771, + "name": "Equipe / Equipage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2719, + "name": "Image de synthèse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5291, + "name": "Etats-Unis", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": true, + "hasNews": true, + "hasOnlineProduct": true, + "hasOnlineRelease": true, + "hasPhysicalProduct": true, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": true, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": true, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 80903750379, + "startsAt": "2026-09-27T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Version.Original", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Version.Original,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966601, + "startsAt": "2026-09-27T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Auditorium.Experience.InfinityVision", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966486, + "startsAt": "2026-09-27T16:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_3D", + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Format.Projection.3d", + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.3d,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=16:20" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac. ", + "italic": true + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000028944, + "id": "TW92aWU6MTAwMDAyODk0NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMDIxMQ==", + "internalId": 9002100211, + "url": "https://fr.web.img6.acsta.net/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg", + "path": "/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg" + }, + "title": "Justin le Juste", + "originalTitle": "Justin le Juste", + "type": "FEATURE_FILM", + "runtime": "1h 50min", + "genres": [ + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + }, + { + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.76, + "count": 307 + }, + "userReview": { + "count": 111 + }, + "pressReview": { + "score": 3.15, + "count": 13 + }, + "metric": { + "hits": 232722, + "sessions": 140403 + }, + "wantToSeeCount": 734 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "164658" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 26667, + "lastName": "Barbier", + "firstName": "Éric", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 482, + "name": "Fable", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1693, + "name": "Première guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 821, + "name": "Injustice", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 435, + "name": "Paysan / Paysanne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4489, + "name": "Révolte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4875, + "name": "Guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres.

Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966607, + "startsAt": "2026-09-27T16:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=16:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966500, + "startsAt": "2026-09-27T20:40:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:40" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000013045, + "id": "TW92aWU6MTAwMDAxMzA0NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1NDA2OA==", + "internalId": 9002054068, + "url": "https://fr.web.img6.acsta.net/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg", + "path": "/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg" + }, + "title": "L'Odyssée", + "originalTitle": "The Odyssey", + "type": "FEATURE_FILM", + "runtime": "2h 53min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.3, + "count": 13871 + }, + "userReview": { + "count": 4630 + }, + "pressReview": { + "score": 4.09, + "count": 35 + }, + "metric": { + "hits": 6903479, + "sessions": 3354100 + }, + "wantToSeeCount": 8346 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-15", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12", + "label": "Interdit - 12 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167898" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30367, + "lastName": "Nolan", + "firstName": "Christopher", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5647, + "name": "Ulysse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6064, + "name": "Film long", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1828, + "name": "Guerrier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1098, + "name": "Antiquité - Péplum", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5203, + "name": "Parcours initiatique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5137, + "name": "Combat / Bagarre / Castagne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1046, + "name": "Violence", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966538, + "startsAt": "2026-09-27T10:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966774, + "startsAt": "2026-09-27T17:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=17:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 276608, + "id": "TW92aWU6Mjc2NjA4", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2MDEwNA==", + "internalId": 9002060104, + "url": "https://fr.web.img5.acsta.net/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg", + "path": "/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg" + }, + "title": "Spider-Man: Brand New Day", + "originalTitle": "Spider-Man: Brand New Day", + "type": "FEATURE_FILM", + "runtime": "2h 25min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.09, + "count": 8414 + }, + "userReview": { + "count": 887 + }, + "pressReview": { + "score": 3.24, + "count": 25 + }, + "metric": { + "hits": 2951584, + "sessions": 1570470 + }, + "wantToSeeCount": 5514 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-29", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167934" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 622552, + "lastName": "Cretton", + "firstName": "Destin Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966728, + "startsAt": "2026-09-27T10:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Auditorium.Experience.DolbyAtmos,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966729, + "startsAt": "2026-09-27T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 320681, + "id": "TW92aWU6MzIwNjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NTEzNw==", + "internalId": 9002075137, + "url": "https://fr.web.img6.acsta.net/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg", + "path": "/img/bb/35/bb358019448f4fcd5c37b0d19c04fd0d.jpg" + }, + "title": "La Pat' Patrouille : Le film mission Dino", + "originalTitle": "PAW Patrol: The Dino Movie", + "type": "FEATURE_FILM", + "runtime": "1h 28min", + "genres": [ + { + "id": 13026, + "translate": "Animation", + "tag": "ANIMATION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + }, + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.12, + "count": 256 + }, + "userReview": { + "count": 48 + }, + "pressReview": { + "score": 3.13, + "count": 16 + }, + "metric": { + "hits": 482295, + "sessions": 259429 + }, + "wantToSeeCount": 296 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-17", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-12-03", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-05", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167695" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 447317, + "lastName": "Brunker", + "firstName": "Cal", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + } + }, + { + "node": { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 961946, + "lastName": "Janjua", + "firstName": "Rain", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 1 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 964227, + "lastName": "Young", + "firstName": "Carter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 2 + }, + { + "actor": null, + "voiceActor": null, + "originalVoiceActor": { + "__typename": "Person", + "internalId": 628557, + "lastName": "Grace", + "firstName": "Mckenna", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2453, + "name": "Dinosaures", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de dinosaures", + "subTitle": "films avec des dinosaures", + "description": "De l’incontournable Jurassic Park à des films d’animation captivants, chaque film de dinosaures transporte petits et grands dans des aventures palpitantes. Découvrez les animaux préhistoriques recréés avec brio, comme dans Jurassic World, ou explorez des classiques qui font revivre les dinosaures à l’écran" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3930, + "name": "Aventures animalières", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1262, + "name": "Les animaux ont la parole", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5265, + "name": "Enfants", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5260, + "name": "À partir de 3 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1769, + "name": "Dessin animé et animation", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5267, + "name": "Famille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Lorsqu’une mystérieuse tempête surprend leur navire, la Pat’ Patrouille s’échoue sur une île tropicale encore inexplorée… et peuplée de dinosaures ! Ils y rencontrent Rex, un chiot courageux installé sur l’île depuis des années et devenu un véritable expert des dinosaures. Mais leur ennemi de toujours, M.Hellinger, arrive lui aussi sur l’île avec un projet dangereux : exploiter ses richesses naturelles en creusant des mines. Ses actions imprudentes déclenchent bientôt l’éruption d’un gigantesque volcan endormi. La Pat’ Patrouille se retrouve alors entraînée dans une série de missions de sauvetage spectaculaires, plus impressionnantes que tout ce qu’elle a connu jusqu’ici. Elle devra arrêter M. Hellinger et sauver l’île avant qu’il ne soit trop tard.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966478, + "startsAt": "2026-09-27T10:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=10:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966482, + "startsAt": "2026-09-27T13:35:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.320681&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=13:35" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 323826, + "id": "TW92aWU6MzIzODI2", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjAwNjM1Ng==", + "internalId": 9002006356, + "url": "https://fr.web.img4.acsta.net/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg", + "path": "/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg" + }, + "title": "Les Héros du Louvre", + "originalTitle": "Les Héros du Louvre", + "type": "FEATURE_FILM", + "runtime": "1h 45min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.19, + "count": 505 + }, + "userReview": { + "count": 161 + }, + "pressReview": { + "score": 2.5, + "count": 12 + }, + "metric": { + "hits": 316199, + "sessions": 176267 + }, + "wantToSeeCount": 634 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "155392" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30724, + "lastName": "Chouraqui", + "firstName": "Élie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6060, + "name": "Histoire vraie pendant la guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 175, + "name": "Musée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2454, + "name": "Gardien / Agent de sécurité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 329, + "name": "Peintres / Peintures / Tableaux / Dessins", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1787, + "name": "Sauvetage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 668, + "name": "Adaptation de BD", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 591, + "name": "Paris", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films à Paris", + "subTitle": "films sur Paris", + "description": "La Ville Lumière brille aussi au cinéma. Découvrez les meilleurs films sur Paris, qu’il s’agisse de comédies romantiques, de drames émouvants ou de thrillers haletants. De \"Midnight in Paris\" à \"Le Fabuleux Destin d’Amélie Poulain\", Paris est le décor parfait" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 855, + "name": "Nazisme / Fascisme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4717, + "name": "Inspiré d'une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 520, + "name": "D'après une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966692, + "startsAt": "2026-09-27T11:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.323826&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=11:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966515, + "startsAt": "2026-09-27T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.323826&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie…" + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré d'une incroyable histoire vraie.", + "italic": true + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000003105, + "id": "TW92aWU6MTAwMDAwMzEwNQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA0NDk5MA==", + "internalId": 9002044990, + "url": "https://fr.web.img2.acsta.net/img/9f/4a/9f4af8841cf8a30055df79e676984b5c.jpg", + "path": "/img/9f/4a/9f4af8841cf8a30055df79e676984b5c.jpg" + }, + "title": "Charlie et les kangourous", + "originalTitle": "Kangaroo", + "type": "FEATURE_FILM", + "runtime": "1h 47min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2025, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.71, + "count": 143 + }, + "userReview": { + "count": 24 + }, + "pressReview": { + "score": 2.78, + "count": 9 + }, + "metric": { + "hits": 197688, + "sessions": 117307 + }, + "wantToSeeCount": 231 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-22", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167820" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 105841, + "lastName": "Woods", + "firstName": "Kate", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000001656, + "lastName": "Whiteley", + "firstName": "Lily", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 406211, + "lastName": "Corr", + "firstName": "Ryan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 198297, + "lastName": "House", + "firstName": "Rachel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1000001656, + "lastName": "Whiteley", + "firstName": "Lily", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 406211, + "lastName": "Corr", + "firstName": "Ryan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 198297, + "lastName": "House", + "firstName": "Rachel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5029, + "name": "Australia", + "localizedName": "Australie" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 4871, + "name": "Aborigènes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 897, + "name": "Australie / Australien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5143, + "name": "Désert", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Paysage" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1042, + "name": "Relation homme / animal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 208, + "name": "Animaux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 520, + "name": "D'après une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5261, + "name": "À partir de 6 ans", + "scope": "AGE", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Après une panne de voiture, Chris, ancien présentateur météo vedette, se retrouve bloqué dans une petite ville reculée d’Australie. Il y fait la connaissance de Charlie, une petite fille aborigène de 12 ans passionnée par les kangourous, et qui partageait cet amour des animaux avec son père aujourd'hui disparu. Une amitié improbable va alors se nouer entre eux. Ensemble, ils vont recueillir et soigner des bébés kangourous orphelins et leur offrir une seconde chance. Une aventure qui transformera leur vie…

Inspiré d'une incroyable histoire vraie.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966497, + "startsAt": "2026-09-27T11:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000003105&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=11:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000018854, + "id": "TW92aWU6MTAwMDAxODg1NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDg0Mg==", + "internalId": 9002114842, + "url": "https://fr.web.img4.acsta.net/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg", + "path": "/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg" + }, + "title": "Resident Evil", + "originalTitle": "Resident Evil", + "type": "FEATURE_FILM", + "runtime": "1h 37min", + "genres": [ + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + }, + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + }, + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.85, + "count": 1737 + }, + "userReview": { + "count": 355 + }, + "pressReview": { + "score": 3.8, + "count": 15 + }, + "metric": { + "hits": 578463, + "sessions": 318156 + }, + "wantToSeeCount": 1792 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes violentes concernant des enfants sont susceptibles de heurter un jeune public non averti.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168141" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 124791, + "lastName": "Cregger", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + }, + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2353, + "name": "Resident Evil", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Resident Evil", + "subTitle": "films de la saga Resident Evil", + "description": "Inspirés des célèbres jeux vidéo, les films de la série Resident Evil avec Milla Jovovich dans le rôle d'Alice offrent un retour captivant dans Raccoon City, épicentre du chaos. Succès mondial, cette série cinématographique mêle zombies, science-fiction et tension" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1099, + "name": "Adaptation de jeu vidéo", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés d'un jeu vidéo", + "subTitle": null, + "description": "Vous aimez les adaptations de jeux vidéo au cinéma ? Découvrez les meilleurs films adaptés de jeux vidéo à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 678, + "name": "Zombie / Mort-vivant / Contaminés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de zombies", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants au cinéma ? Découvrez quels sont les meilleurs films de zombies à voir d'après la sélection de la rédaction" + }, + "series": { + "title": "séries de mort-vivant", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants à la TV ? Découvrez quelles sont les meilleures séries de zombies à voir d'après la sélection de la rédaction" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966444, + "startsAt": "2026-09-27T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966411, + "startsAt": "2026-09-27T20:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000032856, + "id": "TW92aWU6MTAwMDAzMjg1Ng==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2OTA0Ng==", + "internalId": 9002069046, + "url": "https://fr.web.img5.acsta.net/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg", + "path": "/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg" + }, + "title": "Tombé du ciel", + "originalTitle": "Tombé du ciel", + "type": "FEATURE_FILM", + "runtime": "1h 32min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.21, + "count": 3076 + }, + "userReview": { + "count": 1380 + }, + "pressReview": { + "score": 2.57, + "count": 7 + }, + "metric": { + "hits": 1363762, + "sessions": 795059 + }, + "wantToSeeCount": 913 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-12", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "165652" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 480873, + "lastName": "Hamidi", + "firstName": "Mohamed", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1142, + "name": "Ecole religieuse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 831, + "name": "Pensionnat", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4061, + "name": "Humoriste", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2047, + "name": "Religion / Prière et lieux de cultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3466, + "name": "Professeur / Enseignant", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2068, + "name": "Pape / Prêtre / Curé / Moine / Bonne soeur / Religieux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966589, + "startsAt": "2026-09-27T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966573, + "startsAt": "2026-09-27T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966557, + "startsAt": "2026-09-27T20:55:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=20:55" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": " " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294281, + "id": "TW92aWU6Mjk0Mjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NQ==", + "internalId": 9002074645, + "url": "https://fr.web.img5.acsta.net/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg", + "path": "/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg" + }, + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "originalTitle": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2025, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.5, + "count": 8007 + }, + "userReview": { + "count": 1147 + }, + "pressReview": { + "score": 3.86, + "count": 28 + }, + "metric": { + "hits": 2154648, + "sessions": 989948 + }, + "wantToSeeCount": 3346 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-26", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "160148" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966507, + "startsAt": "2026-09-27T17:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible", + "Internal.Data.AlmostSoldOut" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible,Internal.Data.AlmostSoldOut&perfd=20260927&perft=17:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294280, + "id": "TW92aWU6Mjk0Mjgw", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NA==", + "internalId": 9002074644, + "url": "https://fr.web.img6.acsta.net/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg", + "path": "/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg" + }, + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "originalTitle": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.42, + "count": 10240 + }, + "userReview": { + "count": 1778 + }, + "pressReview": { + "score": 3.5, + "count": 38 + }, + "metric": { + "hits": 4096427, + "sessions": 1955341 + }, + "wantToSeeCount": 4389 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-03", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Une scène de bataille montrant des morts et des corps mutilés et la bande-son sont susceptibles d'impressionner un public sensible ou jeune.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "159694" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966531, + "startsAt": "2026-09-27T17:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=17:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019874, + "id": "TW92aWU6MTAwMDAxOTg3NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMTczNA==", + "internalId": 9002101734, + "url": "https://fr.web.img3.acsta.net/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg", + "path": "/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg" + }, + "title": "Les Contrebandiers", + "originalTitle": "The Weight", + "type": "FEATURE_FILM", + "runtime": "1h 53min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH", + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.27, + "count": 475 + }, + "userReview": { + "count": 93 + }, + "pressReview": { + "score": 3.13, + "count": 30 + }, + "metric": { + "hits": 315192, + "sessions": 216192 + }, + "wantToSeeCount": 999 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Plusieurs scènes violentes peuvent heurter un public jeune ou sensible.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167970" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 99555, + "lastName": "McKinley", + "firstName": "Padraic", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5958, + "name": "Oregon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5403, + "name": "Camp de travail / Travail forcé", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 788, + "name": "Grande dépression", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films sur la Grande Dépression", + "subTitle": null, + "description": "Vous aimez les films de la crise économique des années 1930 ? Découvrez quels sont les meilleurs films sur La Grande Dépressions à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 622, + "name": "Contrebande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5241, + "name": "Trésor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 486, + "name": "Rivalité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 660, + "name": "Premier film", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966654, + "startsAt": "2026-09-27T18:15:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260927&perft=18:15" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + } + ], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 1 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "4k", + "translation": { + "tag": "F_4K", + "name": "4K" + } + }, + { + "key": "3d", + "translation": { + "tag": "F_3D", + "name": "3D" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "DolbyAtmos", + "translation": { + "tag": "DOLBY_ATMOS", + "name": "Dolby Atmos" + } + }, + { + "key": "InfinityVision", + "translation": { + "tag": "INFINITY_VISION", + "name": "Infinity Vision" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "Original", + "versionDetail": "ORIGINAL" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [ + { + "key": "71", + "translation": { + "tag": "S_71", + "name": "7.1" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [] + } + ], + "pagination": { + "page": 1, + "totalPages": 2, + "itemsPerPage": 15, + "totalItems": 17 + }, + "data": null + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-G0FOX/d-2026-09-27/p-2/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 09:49:16 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "37587" + ], + "last-modified": [ + "Sun, 27 Sep 2026 23:22:49 GMT" + ], + "cf-cache-status": [ + "UPDATING" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=j1dkihQVEkYgJiivqXlzgjwg%2BR7GNlaR3m65U7kN5njpuui92ujNUE%2FmMYtI5YWC9oodRPaVosAilSWPOBKDwjzLjS5Tj7MnNHZpeCDaa6UbhgLVvawTrOfFTOdOt%2B98MA%3D%3D\"}]}" + ], + "cf-ray": [ + "a421d652fa999f07-CDG" + ], + "content-length": [ + "1244" + ] + }, + "body": { + "error": true, + "message": "next.showtime.on", + "messageParam": null, + "nextDate": "2026-09-28", + "results": [], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 2 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "4k", + "translation": { + "tag": "F_4K", + "name": "4K" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "DolbyAtmos", + "translation": { + "tag": "DOLBY_ATMOS", + "name": "Dolby Atmos" + } + }, + { + "key": "InfinityVision", + "translation": { + "tag": "INFINITY_VISION", + "name": "Infinity Vision" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "Original", + "versionDetail": "ORIGINAL" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [ + { + "key": "71", + "translation": { + "tag": "S_71", + "name": "7.1" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [] + } + ], + "pagination": { + "page": "2", + "totalPages": 0, + "itemsPerPage": 15, + "totalItems": 0 + }, + "data": null + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-G0FOX/d-2026-09-28/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 09:49:16 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "438" + ], + "last-modified": [ + "Mon, 28 Sep 2026 09:41:58 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Cvv02NMa1MTX8mnXRfNxB0c1xx7LVhjfQxyNC%2BPdS5l%2BiGm4AI2A1pyUEOj5SbB7GJBQez%2FmKuwZuaorm1mP0in%2BYHDy4eYiWQwtys0vHhUkjqyUEqvz5TkVmTfypMol0Q%3D%3D\"}]}" + ], + "cf-ray": [ + "a421d6532ac99f07-CDG" + ], + "content-length": [ + "202089" + ] + }, + "body": { + "error": false, + "message": null, + "messageParam": null, + "nextDate": null, + "results": [ + { + "movie": { + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac. ", + "italic": true + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000028944, + "id": "TW92aWU6MTAwMDAyODk0NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMDIxMQ==", + "internalId": 9002100211, + "url": "https://fr.web.img6.acsta.net/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg", + "path": "/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg" + }, + "title": "Justin le Juste", + "originalTitle": "Justin le Juste", + "type": "FEATURE_FILM", + "runtime": "1h 50min", + "genres": [ + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + }, + { + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.75, + "count": 332 + }, + "userReview": { + "count": 115 + }, + "pressReview": { + "score": 3.15, + "count": 13 + }, + "metric": { + "hits": 259237, + "sessions": 155699 + }, + "wantToSeeCount": 747 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "164658" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 26667, + "lastName": "Barbier", + "firstName": "Éric", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 482, + "name": "Fable", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1693, + "name": "Première guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 821, + "name": "Injustice", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 435, + "name": "Paysan / Paysanne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4489, + "name": "Révolte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4875, + "name": "Guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres.

Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966630, + "startsAt": "2026-09-28T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966571, + "startsAt": "2026-09-28T17:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=17:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966521, + "startsAt": "2026-09-28T20:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000000085, + "id": "TW92aWU6MTAwMDAwMDA4NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNTQ3Nw==", + "internalId": 9002115477, + "url": "https://fr.web.img2.acsta.net/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg", + "path": "/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg" + }, + "title": "Heart Of The Beast", + "originalTitle": "Heart Of The Beast", + "type": "FEATURE_FILM", + "runtime": "1h 41min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.84, + "count": 987 + }, + "userReview": { + "count": 237 + }, + "pressReview": { + "score": 2.9, + "count": 31 + }, + "metric": { + "hits": 662344, + "sessions": 392988 + }, + "wantToSeeCount": 2622 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168216" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 41198, + "lastName": "Ayer", + "firstName": "David", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 982, + "name": "Alaska / Pôle Nord", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4999, + "name": "Crash d'avion", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 692, + "name": "Survivants / Rescapés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1012, + "name": "Traumatisme de guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1042, + "name": "Relation homme / animal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1061, + "name": "Flashback", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966764, + "startsAt": "2026-09-28T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966592, + "startsAt": "2026-09-28T20:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:20" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 232669, + "id": "TW92aWU6MjMyNjY5", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6MjE2MDg1Mzg=", + "internalId": 21608538, + "url": "https://fr.web.img2.acsta.net/pictures/19/04/04/09/04/0472053.jpg", + "path": "/pictures/19/04/04/09/04/0472053.jpg" + }, + "title": "Avengers: Endgame", + "originalTitle": "Avengers: Endgame", + "type": "FEATURE_FILM", + "runtime": "3h 01min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2019, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.2, + "count": 41741 + }, + "userReview": { + "count": 2124 + }, + "pressReview": { + "score": 3.21, + "count": 33 + }, + "metric": { + "hits": 15597412, + "sessions": 6838037 + }, + "wantToSeeCount": 10447 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "ReRelease", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": [ + "RERUN" + ] + }, + "visaNumber": "150633" + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-05", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToyMDAxNA==", + "internalId": 20014, + "name": "TMC" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-04-28", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMA==", + "internalId": 50000, + "name": "Disney+" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-03-24", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": [ + "EXCLUSIVE" + ] + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-02-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "Dvd", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_DVD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-21", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-04-24", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "150633" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 71968, + "lastName": "Russo", + "firstName": "Joe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 71967, + "lastName": "Russo", + "firstName": "Anthony", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5302, + "name": "Hulk", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5300, + "name": "Iron Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5294, + "name": "Captain America", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4394, + "name": "Performance-Capture", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 455, + "name": "Sauver la terre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5681, + "name": "Nick Fury", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4268, + "name": "All Star Movie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5288, + "name": "Thor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films similaires à Thor Ragnarok", + "subTitle": "films de la saga Thor", + "description": "Bienvenue dans le monde fascinant d'Asgard. Les films de la saga Thor voient Hulk, Loki, et même Doctor Strange unir leurs forces. Avec Surtur, Odin et un portail menant au chaos, chaque scène de ces aventures Marvel captive. Dans les films similaires à Thor Ragnarok, le dieu du tonnerre brille sur grand écran" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5269, + "name": "Garçon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5309, + "name": "État de New York", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6050, + "name": "Méchant emblématique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films avec des méchants emblématiques", + "subTitle": "films avec des méchants emblématiques", + "description": "Quels sont les meilleurs films avec des méchants emblématiques ? Découvrez les films avec les meilleurs méchants du cinéma d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5301, + "name": "Avengers", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Avengers", + "subTitle": "films de la saga Avengers", + "description": "Plongez dans l'univers épique des films Avengers et de l’incroyable MCU ! Découvrez les aventures des héros iconiques comme Iron Man, Captain America, Thor, ou encore Spider-Man. Préparez-vous pour une nouvelle épopée et explorez un univers où l'action et la magie s'entrelacent. Quel sera votre prochain film dans cette série légendaire ?" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5271, + "name": "Geek", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 857, + "name": "Expérience scientifique / Chercheur scientifique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6068, + "name": "Marvel Cinematic Universe", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films Marvel Cinematic Universe", + "subTitle": "films Marvel MCU", + "description": "Vous êtes fan de Marvel ? Les films Marvel Cinematic Universe ont redéfini le cinéma mondial. Réalisés par des talents comme les frères Russo, de Spider-Man à Captain Marvel, chaque films Marvel MCU s'intègre à un univers cinématique soigneusement construit. Découvrez les meilleurs film Marvel Cinematic Universe (MCU) à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5105, + "name": "Adaptation de comic-book Marvel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés de comics Marvel", + "subTitle": "films adaptés de comic book Marvel", + "description": "Vous êtes fan de comics Marvel ? Découvrez quels sont les meilleurs adaptations de comic book Marvel au cinéma à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2700, + "name": "Effets spéciaux / Trucages", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2771, + "name": "Equipe / Equipage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2719, + "name": "Image de synthèse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5291, + "name": "Etats-Unis", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": true, + "hasNews": true, + "hasOnlineProduct": true, + "hasOnlineRelease": true, + "hasPhysicalProduct": true, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": true, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": true, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 80903750388, + "startsAt": "2026-09-28T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=16:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966711, + "startsAt": "2026-09-28T20:05:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:05" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000032856, + "id": "TW92aWU6MTAwMDAzMjg1Ng==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2OTA0Ng==", + "internalId": 9002069046, + "url": "https://fr.web.img5.acsta.net/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg", + "path": "/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg" + }, + "title": "Tombé du ciel", + "originalTitle": "Tombé du ciel", + "type": "FEATURE_FILM", + "runtime": "1h 32min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.21, + "count": 3078 + }, + "userReview": { + "count": 1380 + }, + "pressReview": { + "score": 2.57, + "count": 7 + }, + "metric": { + "hits": 1373412, + "sessions": 800557 + }, + "wantToSeeCount": 915 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-12", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "165652" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 480873, + "lastName": "Hamidi", + "firstName": "Mohamed", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1142, + "name": "Ecole religieuse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 831, + "name": "Pensionnat", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4061, + "name": "Humoriste", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2047, + "name": "Religion / Prière et lieux de cultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3466, + "name": "Professeur / Enseignant", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2068, + "name": "Pape / Prêtre / Curé / Moine / Bonne soeur / Religieux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966585, + "startsAt": "2026-09-28T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966448, + "startsAt": "2026-09-28T18:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=18:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": " " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294281, + "id": "TW92aWU6Mjk0Mjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NQ==", + "internalId": 9002074645, + "url": "https://fr.web.img5.acsta.net/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg", + "path": "/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg" + }, + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "originalTitle": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2025, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.5, + "count": 8017 + }, + "userReview": { + "count": 1149 + }, + "pressReview": { + "score": 3.86, + "count": 28 + }, + "metric": { + "hits": 2167161, + "sessions": 994728 + }, + "wantToSeeCount": 3351 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-26", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "160148" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966594, + "startsAt": "2026-09-28T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 323826, + "id": "TW92aWU6MzIzODI2", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjAwNjM1Ng==", + "internalId": 9002006356, + "url": "https://fr.web.img4.acsta.net/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg", + "path": "/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg" + }, + "title": "Les Héros du Louvre", + "originalTitle": "Les Héros du Louvre", + "type": "FEATURE_FILM", + "runtime": "1h 45min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.18, + "count": 507 + }, + "userReview": { + "count": 162 + }, + "pressReview": { + "score": 2.5, + "count": 12 + }, + "metric": { + "hits": 323900, + "sessions": 180342 + }, + "wantToSeeCount": 642 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "155392" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30724, + "lastName": "Chouraqui", + "firstName": "Élie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6060, + "name": "Histoire vraie pendant la guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 175, + "name": "Musée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2454, + "name": "Gardien / Agent de sécurité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 329, + "name": "Peintres / Peintures / Tableaux / Dessins", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1787, + "name": "Sauvetage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 668, + "name": "Adaptation de BD", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 591, + "name": "Paris", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films à Paris", + "subTitle": "films sur Paris", + "description": "La Ville Lumière brille aussi au cinéma. Découvrez les meilleurs films sur Paris, qu’il s’agisse de comédies romantiques, de drames émouvants ou de thrillers haletants. De \"Midnight in Paris\" à \"Le Fabuleux Destin d’Amélie Poulain\", Paris est le décor parfait" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 855, + "name": "Nazisme / Fascisme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4717, + "name": "Inspiré d'une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 520, + "name": "D'après une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966741, + "startsAt": "2026-09-28T13:35:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.323826&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:35" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000013045, + "id": "TW92aWU6MTAwMDAxMzA0NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1NDA2OA==", + "internalId": 9002054068, + "url": "https://fr.web.img6.acsta.net/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg", + "path": "/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg" + }, + "title": "L'Odyssée", + "originalTitle": "The Odyssey", + "type": "FEATURE_FILM", + "runtime": "2h 53min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.3, + "count": 13898 + }, + "userReview": { + "count": 4633 + }, + "pressReview": { + "score": 4.09, + "count": 35 + }, + "metric": { + "hits": 6918756, + "sessions": 3360964 + }, + "wantToSeeCount": 8343 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-15", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12", + "label": "Interdit - 12 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167898" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30367, + "lastName": "Nolan", + "firstName": "Christopher", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5647, + "name": "Ulysse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6064, + "name": "Film long", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1828, + "name": "Guerrier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1098, + "name": "Antiquité - Péplum", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5203, + "name": "Parcours initiatique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5137, + "name": "Combat / Bagarre / Castagne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1046, + "name": "Violence", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966666, + "startsAt": "2026-09-28T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 82135057953, + "startsAt": "2026-09-28T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 276608, + "id": "TW92aWU6Mjc2NjA4", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2MDEwNA==", + "internalId": 9002060104, + "url": "https://fr.web.img5.acsta.net/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg", + "path": "/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg" + }, + "title": "Spider-Man: Brand New Day", + "originalTitle": "Spider-Man: Brand New Day", + "type": "FEATURE_FILM", + "runtime": "2h 25min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.09, + "count": 8420 + }, + "userReview": { + "count": 888 + }, + "pressReview": { + "score": 3.24, + "count": 25 + }, + "metric": { + "hits": 2958434, + "sessions": 1573750 + }, + "wantToSeeCount": 5517 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-29", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167934" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 622552, + "lastName": "Cretton", + "firstName": "Destin Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966492, + "startsAt": "2026-09-28T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966466, + "startsAt": "2026-09-28T17:25:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=17:25" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000018854, + "id": "TW92aWU6MTAwMDAxODg1NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDg0Mg==", + "internalId": 9002114842, + "url": "https://fr.web.img4.acsta.net/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg", + "path": "/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg" + }, + "title": "Resident Evil", + "originalTitle": "Resident Evil", + "type": "FEATURE_FILM", + "runtime": "1h 37min", + "genres": [ + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + }, + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + }, + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.85, + "count": 1780 + }, + "userReview": { + "count": 364 + }, + "pressReview": { + "score": 3.8, + "count": 15 + }, + "metric": { + "hits": 598107, + "sessions": 328121 + }, + "wantToSeeCount": 1789 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes violentes concernant des enfants sont susceptibles de heurter un jeune public non averti.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168141" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 124791, + "lastName": "Cregger", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + }, + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2353, + "name": "Resident Evil", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Resident Evil", + "subTitle": "films de la saga Resident Evil", + "description": "Inspirés des célèbres jeux vidéo, les films de la série Resident Evil avec Milla Jovovich dans le rôle d'Alice offrent un retour captivant dans Raccoon City, épicentre du chaos. Succès mondial, cette série cinématographique mêle zombies, science-fiction et tension" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1099, + "name": "Adaptation de jeu vidéo", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés d'un jeu vidéo", + "subTitle": null, + "description": "Vous aimez les adaptations de jeux vidéo au cinéma ? Découvrez les meilleurs films adaptés de jeux vidéo à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 678, + "name": "Zombie / Mort-vivant / Contaminés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de zombies", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants au cinéma ? Découvrez quels sont les meilleurs films de zombies à voir d'après la sélection de la rédaction" + }, + "series": { + "title": "séries de mort-vivant", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants à la TV ? Découvrez quelles sont les meilleures séries de zombies à voir d'après la sélection de la rédaction" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966699, + "startsAt": "2026-09-28T21:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=21:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966457, + "startsAt": "2026-09-28T15:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=15:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294280, + "id": "TW92aWU6Mjk0Mjgw", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NA==", + "internalId": 9002074644, + "url": "https://fr.web.img6.acsta.net/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg", + "path": "/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg" + }, + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "originalTitle": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.42, + "count": 10248 + }, + "userReview": { + "count": 1779 + }, + "pressReview": { + "score": 3.5, + "count": 38 + }, + "metric": { + "hits": 4112290, + "sessions": 1962120 + }, + "wantToSeeCount": 4390 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-03", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Une scène de bataille montrant des morts et des corps mutilés et la bande-son sont susceptibles d'impressionner un public sensible ou jeune.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "159694" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966581, + "startsAt": "2026-09-28T15:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=15:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019874, + "id": "TW92aWU6MTAwMDAxOTg3NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMTczNA==", + "internalId": 9002101734, + "url": "https://fr.web.img3.acsta.net/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg", + "path": "/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg" + }, + "title": "Les Contrebandiers", + "originalTitle": "The Weight", + "type": "FEATURE_FILM", + "runtime": "1h 53min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH", + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.28, + "count": 486 + }, + "userReview": { + "count": 94 + }, + "pressReview": { + "score": 3.13, + "count": 30 + }, + "metric": { + "hits": 320867, + "sessions": 219269 + }, + "wantToSeeCount": 998 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Plusieurs scènes violentes peuvent heurter un public jeune ou sensible.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167970" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 99555, + "lastName": "McKinley", + "firstName": "Padraic", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5958, + "name": "Oregon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5403, + "name": "Camp de travail / Travail forcé", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 788, + "name": "Grande dépression", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films sur la Grande Dépression", + "subTitle": null, + "description": "Vous aimez les films de la crise économique des années 1930 ? Découvrez quels sont les meilleurs films sur La Grande Dépressions à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 622, + "name": "Contrebande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5241, + "name": "Trésor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 486, + "name": "Rivalité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 660, + "name": "Premier film", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966562, + "startsAt": "2026-09-28T21:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019874&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=21:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966596, + "startsAt": "2026-09-28T16:35:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=16:35" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000004679, + "id": "TW92aWU6MTAwMDAwNDY3OQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwODc2Ng==", + "internalId": 9002108766, + "url": "https://fr.web.img5.acsta.net/img/05/d0/05d0dcb033bc9dced645815301b59394.jpg", + "path": "/img/05/d0/05d0dcb033bc9dced645815301b59394.jpg" + }, + "title": "Les Ensorceleuses 2", + "originalTitle": "Practical Magic 2", + "type": "FEATURE_FILM", + "runtime": "2h 10min", + "genres": [ + { + "id": 13024, + "translate": "Romance", + "tag": "ROMANCE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 2.42, + "count": 271 + }, + "userReview": { + "count": 59 + }, + "pressReview": { + "score": 1.8, + "count": 10 + }, + "metric": { + "hits": 267297, + "sessions": 158632 + }, + "wantToSeeCount": 614 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 3877, + "lastName": "Bier", + "firstName": "Susanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15760, + "lastName": "Kidman", + "firstName": "Nicole", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 4700, + "lastName": "Bullock", + "firstName": "Sandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 842415, + "lastName": "Bradley", + "firstName": "Cassie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15760, + "lastName": "Kidman", + "firstName": "Nicole", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 4700, + "lastName": "Bullock", + "firstName": "Sandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 842415, + "lastName": "Bradley", + "firstName": "Cassie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5235, + "name": "Sorciers / Sorcières / Sorcellerie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 241, + "name": "Pouvoirs surnaturels", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 148, + "name": "Malédiction", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5234, + "name": "Soeurs", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1675, + "name": "Groupe de femmes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966690, + "startsAt": "2026-09-28T18:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=18:20" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 317219, + "id": "TW92aWU6MzE3MjE5", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NjUxMw==", + "internalId": 9002076513, + "url": "https://fr.web.img2.acsta.net/img/31/b1/31b1faa3ca361d78ca82078f8accda1e.jpg", + "path": "/img/31/b1/31b1faa3ca361d78ca82078f8accda1e.jpg" + }, + "title": "L'Invitation", + "originalTitle": "The Invite", + "type": "FEATURE_FILM", + "runtime": "1h 47min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.23, + "count": 1121 + }, + "userReview": { + "count": 179 + }, + "pressReview": { + "score": 3.56, + "count": 34 + }, + "metric": { + "hits": 424685, + "sessions": 244561 + }, + "wantToSeeCount": 1863 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 124415, + "lastName": "Rogen", + "firstName": "Seth", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3614, + "lastName": "Cruz", + "firstName": "Penélope", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 124415, + "lastName": "Rogen", + "firstName": "Seth", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 3614, + "lastName": "Cruz", + "firstName": "Penélope", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2622, + "name": "Remake de film espagnol", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4603, + "name": "Dîner", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 229, + "name": "Huis clos", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 586, + "name": "Voisins", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2886, + "name": "Immeuble / Gratte-ciel / Appartement", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 615, + "name": "Adaptation d'une pièce / De la scène à l'écran (théâtre)", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1792, + "name": "Jeu de séduction / Drague", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1961, + "name": "Sexe - sexualité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966708, + "startsAt": "2026-09-28T18:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=18:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + } + ], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 1 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "4k", + "translation": { + "tag": "F_4K", + "name": "4K" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "DolbyAtmos", + "translation": { + "tag": "DOLBY_ATMOS", + "name": "Dolby Atmos" + } + }, + { + "key": "InfinityVision", + "translation": { + "tag": "INFINITY_VISION", + "name": "Infinity Vision" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "Original", + "versionDetail": "ORIGINAL" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [ + { + "key": "71", + "translation": { + "tag": "S_71", + "name": "7.1" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [] + } + ], + "pagination": { + "page": 1, + "totalPages": 1, + "itemsPerPage": 15, + "totalItems": 13 + }, + "data": null + } + } + } + ] +} diff --git a/tests/cassettes/get_theater_falls_back_to_page_metadata.json b/tests/cassettes/get_theater_falls_back_to_page_metadata.json new file mode 100644 index 0000000..5d1ac04 --- /dev/null +++ b/tests/cassettes/get_theater_falls_back_to_page_metadata.json @@ -0,0 +1,207 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-G0FOX/", + "body": "", + "headers": {} + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "content-type": [ + "application/json" + ] + }, + "body": { + "results": [ + { + "movie": { + "internalId": 1000019249 + } + } + ] + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/ope/movie-1000019249/theater-G0FOX/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 09:49:48 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "473" + ], + "last-modified": [ + "Mon, 28 Sep 2026 09:41:55 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=f51NTThN2xwVE7hhbioU5bYYcNMG5JpvNudQVJo%2BcmNKQQfjOlzt6bM3i19oADol%2BfPyiY6fae8CtFQiUXeX1mA%2BE28zopzwziiT7Iz%2Bcg7AVXERl73PilK228nyj5aj%2Fw%3D%3D\"}]}" + ], + "cf-ray": [ + "a421d71cfc98d39b-CDG" + ], + "content-length": [ + "86" + ] + }, + "body": { + "error": true, + "message": "no.showtime.error", + "results": { + "theater": null, + "showtimes": [] + } + } + } + }, + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/seance/salle_gen_csalle=G0FOX.html", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 09:49:49 GMT" + ], + "content-type": [ + "text/html; charset=UTF-8" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "link": [ + "; rel=\"preload\"; as=\"font\"; type=\"font/woff2\",; rel=\"preload\"; as=\"image\"; type=\"image/svg+xml\",; rel=\"preload\"; as=\"script\",; rel=\"preload\"; as=\"script\"" + ], + "vary": [ + "Accept-Encoding,Origin" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "1479" + ], + "last-modified": [ + "Mon, 28 Sep 2026 09:25:09 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=VtsGyaf1ehl0GwMPNlAAwKJ5XG7NfdC1JR3FnQxQLbbqFDQaouPEYEYxCkiEMjUjt3ajJBqyqwitRPPIdoY451eBWeqbleGxrNNrU3QllPZqrLyn%2BX9t528%2FxOzrY13Ybg%3D%3D\"}]}" + ], + "cf-ray": [ + "a421d71d3ccad39b-CDG" + ], + "content-length": [ + "386801" + ] + }, + "body": { + "string": "\n\n\n \n \n \n \n Cinéma Cinéville Plourin-les Morlaix à Plourin-lès-Morlaix (29600 ) - Achat ticket cinéma disponible - AlloCiné\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n\n \n\n \n \n \n \n \n \n \n\n\n\n\n\n\n
\n
\n\n \n\n \n \n \n \n\n\n\n\n\n
\n
\n
\n menu\n close2\n
\n\n \n \n \n \n
\n
\n \n
\n \n profil\n
\n
\n\n
\n
    \n
\n
\n
\n \n search\n
\n
\n\n \n\n\n \n
\n
Annuler
\n\n \n
\n
\n \n
\n
\n \n
\n
\n\n ok \n
\n
\n\n
\n Ex:\n\n L'odyssée, Deepwater, La Fille Inconnue, Overdrive\n\n
\n
\n \n \n\n \n \n \n
\n
\n
\n \n
\n \n \n\n\n\n\n
\n AccueilCinémaSéances et horairesCinéma Finistère

\n Cinéville Plourin-les Morlaix à Plourin-lès-Morlaix

\n\n
\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n \n \"Cinéville\n \n \n\n \n \n \n\n
\n
\n\n
\n
\n \n
Cinéville Plourin-les Morlaix
\n \n
ZAC Saint Fiacre 29600 Plourin-lès-Morlaix
\n\n \n \n
\n \n
\n\n
\n
\n\n
\n
\n 6 Salles\n
\n
\n \n \n \n
\n\n
\n
\n
\n
\n\n
\n\n
\n \n\n \n \n\n\n
\n\n \n \n\n\n\n\n
\n
\n \n
\n\n\n \n \n \n \n \n
\n\n \n
lun.
28
sept.
mar.
29
sept.
mer.
30
sept.
jeu.
1
oct.
ven.
2
oct.
sam.
3
oct.
dim.
4
oct.
lun.
5
oct.
mar.
6
oct.
mer.
7
oct.
jeu.
8
oct.
ven.
9
oct.
sam.
10
oct.
dim.
11
oct.
lun.
12
oct.
mar.
13
oct.
mer.
14
oct.
jeu.
15
oct.
ven.
16
oct.
sam.
17
oct.
dim.
18
oct.
lun.
19
oct.
mar.
20
oct.
mer.
21
oct.
jeu.
22
oct.
ven.
23
oct.
sam.
24
oct.
dim.
25
oct.
\n
\n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n \n
sorti cette semaine
\n \n\n\n
\n
\n\n \n \n
\n

\n Justin le Juste\n

\n \n
\n
\n \n \n \n \n \n 23 septembre 2026\n \n\n \n |\n \n \n \n \n \n \n Guerre,\n \n Historique\n \n /\n France\n ,\n Belgique\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Éric Barbier\n
\n \n \n \n \n
\n Avec\n \n \n \n Alban Ivanov,\n \n \n \n Birane Ba,\n \n \n \n Alexandra Lamy\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,2
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
3,8
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 13:30\n \n \n
\n \n \n \n
\n\n
\n \n\n \n
\n \n \n 17:45\n \n \n
\n \n \n \n
\n\n
\n \n\n \n
\n \n \n 20:50\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n
\n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n \n
sorti cette semaine
\n \n\n\n
\n
\n\n \n \n
\n

\n Heart Of The Beast\n

\n \n
\n
\n \n \n \n \n \n 23 septembre 2026\n \n\n \n |\n \n \n \n \n \n \n Action,\n \n Aventure\n \n /\n U.S.A.\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n David Ayer\n
\n \n \n \n \n
\n Avec\n \n \n \n Brad Pitt,\n \n \n \n Uber ,\n \n \n \n J.K. Simmons\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
2,9
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
3,8
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 14:00\n \n \n
\n \n \n \n \n \n \n \n \n
\n\n
\n \n\n \n
\n \n \n 20:20\n \n \n
\n \n \n \n \n
\n\n
\n \n\n \n
\n \n \n 13:40\n \n \n
\n \n \n \n \n \n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n
\n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n \n
sorti cette semaine
\n \n\n\n
\n
\n\n \n \n
\n

\n Avengers: Endgame\n

\n \n
\n
\n \n \n \n \n \n 24 avril 2019\n \n\n \n |\n \n \n \n \n \n \n Action,\n \n Aventure,\n \n Science Fiction\n \n /\n U.S.A.\n \n \n
\n \n \n \n
\n Date de reprise\n \n \n \n 23 septembre 2026\n \n
\n \n \n \n
\n De\n \n \n Joe Russo,\n \n \n Anthony Russo\n
\n \n \n \n \n
\n Avec\n \n \n \n Robert Downey Jr.,\n \n \n \n Chris Evans,\n \n \n \n Mark Ruffalo\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,2
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
4,2
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 16:30\n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n\n
\n \n\n \n
\n \n \n 20:05\n \n \n
\n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n
\n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n Tombé du ciel\n

\n \n
\n
\n \n \n \n \n \n 12 août 2026\n \n\n \n |\n \n \n \n \n \n \n Comédie,\n \n Famille\n \n /\n France\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Mohamed Hamidi\n
\n \n \n \n \n
\n Avec\n \n \n \n Ilyes Djadel,\n \n \n \n Josiane Balasko,\n \n \n \n Fred Testot\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
2,6
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
3,2
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller ... \n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 13:30\n \n \n
\n \n \n \n
\n\n
\n \n\n \n
\n \n \n 18:50\n \n \n
\n \n \n \n
\n\n
\n \n\n \n
\n \n \n 13:40\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n
\n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n La Bataille de Gaulle - Partie 2 : J’écris ton nom\n

\n \n
\n
\n \n \n \n \n \n 26 juin 2026\n \n\n \n |\n \n \n \n \n \n \n Historique,\n \n Thriller\n \n /\n France\n ,\n Belgique\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Antonin Baudry\n
\n \n \n \n \n
\n Avec\n \n \n \n Simon Abkarian,\n \n \n \n Niels Schneider,\n \n \n \n Anamaria Vartolomei\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,9
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
4,5
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 13:30\n \n \n
\n \n \n \n
\n\n
\n \n\n \n
\n \n \n 13:30\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n Les Héros du Louvre\n

\n \n
\n
\n \n \n \n \n \n 9 septembre 2026\n \n\n \n |\n \n \n \n \n \n \n Drame,\n \n Historique\n \n /\n France\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Élie Chouraqui\n
\n \n \n \n \n
\n Avec\n \n \n \n Kad Merad,\n \n \n \n Marie Gillain,\n \n \n \n Julia de Nunez\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
2,5
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
3,2
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 13:35\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n L'Odyssée\n

\n \n
\n
\n \n \n \n \n \n 15 juillet 2026\n \n\n \n |\n \n \n \n \n \n \n Action,\n \n Fantastique\n \n /\n U.S.A.\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Christopher Nolan\n
\n \n \n \n \n
\n Avec\n \n \n \n Matt Damon,\n \n \n \n Tom Holland,\n \n \n \n Anne Hathaway\n
\n \n \n \n
\n Titre original \n The Odyssey\n
\n \n \n
\n\n \n
\n \n \n
\n Interdit - 12 ans\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
4,1
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
4,3
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 14:00\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n
\n
\n 28 septembre 2026 -\n En VO\n
\n
\n \n\n \n
\n \n \n 20:00\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n Spider-Man: Brand New Day\n

\n \n
\n
\n \n \n \n \n \n 29 juillet 2026\n \n\n \n |\n \n \n \n \n \n \n Action,\n \n Aventure,\n \n Fantastique\n \n /\n U.S.A.\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Destin Daniel Cretton\n
\n \n \n \n \n
\n Avec\n \n \n \n Tom Holland,\n \n \n \n Zendaya,\n \n \n \n Sadie Sink\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,2
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
4,1
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est ... \n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 15:30\n \n \n
\n \n \n \n
\n\n
\n \n\n \n
\n \n \n 17:25\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n Resident Evil\n

\n \n
\n
\n \n \n \n \n \n 16 septembre 2026\n \n\n \n |\n \n \n \n \n \n \n Epouvante-horreur,\n \n Science Fiction,\n \n Thriller\n \n /\n U.S.A.\n ,\n Allemagne\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Zach Cregger\n
\n \n \n \n \n
\n Avec\n \n \n \n Austin Abrams,\n \n \n \n Paul Walter Hauser,\n \n \n \n Zach Cherry\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Interdit - 12 ans avec avertissement\n \n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,8
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
3,9
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 15:45\n \n \n
\n \n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n
\n
\n 28 septembre 2026 -\n En VO\n
\n
\n \n\n \n
\n \n \n 21:00\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n La Bataille de Gaulle - partie 1 : L'Âge de Fer\n

\n \n
\n
\n \n \n \n \n \n 3 juin 2026\n \n\n \n |\n \n \n \n \n \n \n Historique,\n \n Thriller\n \n /\n France\n ,\n Belgique\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Antonin Baudry\n
\n \n \n \n \n
\n Avec\n \n \n \n Simon Abkarian,\n \n \n \n Simon Russell Beale,\n \n \n \n Florian Lesieur\n
\n \n \n \n \n \n
\n\n \n
\n \n \n
\n Tout public avec avertissement\n \n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,5
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
4,4
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 15:45\n \n \n
\n \n \n \n
\n\n
\n \n\n \n
\n \n \n 13:30\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n Les Contrebandiers\n

\n \n
\n
\n \n \n \n \n \n 16 septembre 2026\n \n\n \n |\n \n \n \n \n \n \n Action,\n \n Aventure,\n \n Thriller\n \n /\n Allemagne\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Padraic McKinley\n
\n \n \n \n \n
\n Avec\n \n \n \n Ethan Hawke,\n \n \n \n Russell Crowe,\n \n \n \n Julia Jones\n
\n \n \n \n
\n Titre original \n The Weight\n
\n \n \n
\n\n \n
\n \n \n
\n Tout public avec avertissement\n \n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,1
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
3,3
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les ... \n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 16:35\n \n \n
\n \n \n \n \n
\n\n
\n \n\n \n
\n \n \n 13:30\n \n \n
\n \n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n
\n
\n 28 septembre 2026 -\n En VO\n
\n
\n \n\n \n
\n \n \n 21:00\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n Les Ensorceleuses 2\n

\n \n
\n
\n \n \n \n \n \n 9 septembre 2026\n \n\n \n |\n \n \n \n \n \n \n Fantastique,\n \n Romance\n \n /\n U.S.A.\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Susanne Bier\n
\n \n \n \n \n
\n Avec\n \n \n \n Nicole Kidman,\n \n \n \n Sandra Bullock,\n \n \n \n Cassie Bradley\n
\n \n \n \n
\n Titre original \n Practical Magic 2\n
\n \n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
1,8
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
2,4
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 18:20\n \n \n
\n \n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n\n\n\n\n\n\n\n\n\n\n
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \"poster\n \n \n\n \n \n \n\n \n
\n\n \n \n
\n

\n L'Invitation\n

\n \n
\n
\n \n \n \n \n \n 16 septembre 2026\n \n\n \n |\n \n \n \n \n \n \n Comédie\n \n /\n U.S.A.\n \n \n
\n \n \n \n \n \n \n
\n De\n \n \n Olivia Wilde\n
\n \n \n \n \n
\n Avec\n \n \n \n Seth Rogen,\n \n \n \n Olivia Wilde,\n \n \n \n Penélope Cruz\n
\n \n \n \n
\n Titre original \n The Invite\n
\n \n
\n\n \n \n \n \n
\n \n
\n\n \n
\n \n \n
\n Tout public\n \n
\n
\n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n
\n \n \n
\n
\n Presse \n \n \n \n \n\n\n \n \n\n\n \n
3,6
\n
\n
\n \n
\n
\n Spectateurs \n \n \n \n \n\n\n \n \n\n\n \n
3,2
\n
\n
\n \n \n
\n\n \n \n \n
\n \n \n \n \n
\n Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.\n \n
\n
\n \n \n \n \n
\n \n \n \n\n\n
\n \n \n
\n
\n 28 septembre 2026 -\n En VF\n
\n
\n \n\n \n
\n \n \n 18:50\n \n \n
\n \n \n \n
\n\n
\n
\n
\n \n \n \n \n \n \n

\n Choisissez votre horaire pour réserver votre e-ticket.\n

\n
\n
\n \n \n \n\n \n \n\n \n\n \n\n\n\n\n \n\n \n \n \n \n \n
\n \n
\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n \n \"L'île\n \n \n \n\n\n\n \n \n \n\n
\n
\n\n
\n
\n
L'île des souvenirs
\n
Ça sort le mercredi 21 octobre au ciné !
\n
\n
\n
\n X\n
\n
\n\n \n\n\n \n \n \n \n \n \n \n\n\n\n \n \n \n \n \n
\n
\n \n \n
\n \n \n\n\n
\n \n\n \n
\n \n \n \n \n \n
\n\n
\n \n \n
\n
\n \n \n Back to Top\n\n \n
 
\n\n
\n \n
\n \n \n\n\n\n\n\n \n\n\n \n \n\n \n\n\n \n\n \n \n \n \n \n\n \n\n \n
\n\n \n\n\n \n \n \n \n\n\n \n\n\n\n" + } + } + } + ] +} diff --git a/tests/test_allocine.py b/tests/test_allocine.py index 075d473..6b35730 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -1,6 +1,10 @@ """High-level tests for the Allocine API client.""" from dataclasses import asdict +from datetime import date + +import pytest +from freezegun import freeze_time from allocine import Allocine @@ -15,3 +19,35 @@ def test_search_theaters(json_snapshot, allocine_vcr): theaters = Allocine().search_theaters(geocode=83178) assert theaters == json_snapshot + + +@freeze_time("2026-09-27") +def test_get_showtimes_defaults_to_today(json_snapshot, allocine_vcr): + showtimes = Allocine().get_showtimes("G0FOX") + + assert [asdict(showtime) for showtime in showtimes] == json_snapshot + + +def test_get_showtimes_fetches_inclusive_date_range(json_snapshot, allocine_vcr): + showtimes = Allocine().get_showtimes( + "G0FOX", + from_date=date(2026, 9, 27), + to_date=date(2026, 9, 28), + ) + + assert [asdict(showtime) for showtime in showtimes] == json_snapshot + + +def test_get_showtimes_rejects_inverted_date_range(): + with pytest.raises(ValueError, match="from_date must be before or equal to to_date"): + Allocine().get_showtimes( + "P0645", + from_date=date(2026, 9, 27), + to_date=date(2026, 9, 26), + ) + + +def test_get_theater_falls_back_to_page_metadata(json_snapshot, allocine_vcr): + theater = Allocine().get_theater("G0FOX") + + assert asdict(theater) == json_snapshot diff --git a/uv.lock b/uv.lock index 222e49a..143165b 100644 --- a/uv.lock +++ b/uv.lock @@ -21,6 +21,7 @@ dependencies = [ [package.optional-dependencies] dev = [ + { name = "freezegun" }, { name = "pre-commit" }, { name = "pytest" }, { name = "pytest-cov" }, @@ -34,6 +35,7 @@ dev = [ requires-dist = [ { name = "backoff", specifier = ">=2.2.1" }, { name = "click", specifier = ">=8.5.0" }, + { name = "freezegun", marker = "extra == 'dev'", specifier = ">=1.5.5" }, { name = "httpx2", specifier = ">=2.13.1" }, { name = "jmespath", specifier = ">=1.1.0" }, { name = "parsel", specifier = ">=1.10.0" }, @@ -270,6 +272,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7a/6d/db8b86e168fef0cf904737e275bccb683558088ef971e92d3b41ce980699/filelock-4.0.3-py3-none-any.whl", hash = "sha256:30cd166e2aee2c7534ce2c33c6367c4cd051b8368e20e2c4eb0c34f699bacfab", size = 108444, upload-time = "2026-09-23T23:40:20.819Z" }, ] +[[package]] +name = "freezegun" +version = "1.5.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/dd/23e2f4e357f8fd3bdff613c1fe4466d21bfb00a6177f238079b17f7b1c84/freezegun-1.5.5.tar.gz", hash = "sha256:ac7742a6cc6c25a2c35e9292dfd554b897b517d2dec26891a2e8debf205cb94a", size = 35914, upload-time = "2025-08-09T10:39:08.338Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5e/2e/b41d8a1a917d6581fc27a35d05561037b048e47df50f27f8ac9c7e27a710/freezegun-1.5.5-py3-none-any.whl", hash = "sha256:cd557f4a75cf074e84bc374249b9dd491eaeacd61376b9eb3c423282211619d2", size = 19266, upload-time = "2025-08-09T10:39:06.636Z" }, +] + [[package]] name = "h11" version = "0.16.0" @@ -622,6 +636,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" }, ] +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + [[package]] name = "python-discovery" version = "1.6.1" @@ -723,6 +749,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/51/60/5fb1a39dbb5ae314d5f59bc7348a63c1d5c20f3cd83914c4b5cb0be31d2d/ruff-0.16.9-py3-none-win_arm64.whl", hash = "sha256:ed1a252039200f57a59eebc063b54beabea67bfbaaca0eeaa7f54b5fbcda2284", size = 10458649, upload-time = "2026-09-24T20:37:46.882Z" }, ] +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + [[package]] name = "syrupy" version = "6.1.1" From 636a26288080fb92c112ce73e97b9299ccd27be6 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 12:29:41 +0200 Subject: [PATCH 13/26] Skip showtime entries without movies --- allocine/client.py | 4 +++- tests/test_allocine.py | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/allocine/client.py b/allocine/client.py index 3a9a692..0b19118 100644 --- a/allocine/client.py +++ b/allocine/client.py @@ -107,7 +107,9 @@ def _get_theater_details_from_page(self, theater_id: str) -> Theater: def _parse_showtimes(self, raw_showtimes: list[dict]): showtimes = [] for showtime_data in raw_showtimes: - raw_movie = showtime_data["movie"] + raw_movie = showtime_data.get("movie") + if not raw_movie: + continue duration_match = re.fullmatch(r"(?:(\d+)h)?\s*(?:(\d+)min)?", raw_movie.get("runtime") or "") duration_obj = None if duration_match and any(duration_match.groups()): diff --git a/tests/test_allocine.py b/tests/test_allocine.py index 6b35730..4883feb 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -47,6 +47,10 @@ def test_get_showtimes_rejects_inverted_date_range(): ) +def test_get_showtimes_skips_entries_without_movie(): + assert Allocine()._parse_showtimes([{"movie": None, "showtimes": {}}]) == [] + + def test_get_theater_falls_back_to_page_metadata(json_snapshot, allocine_vcr): theater = Allocine().get_theater("G0FOX") From 8a081c4c3bc5ce861397b90b3bebf3e1e842948c Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 13:32:10 +0200 Subject: [PATCH 14/26] Cache HTTP responses on disk --- README.md | 33 ++++++++++ allocine/api.py | 83 ++++++++++++++++++++----- allocine/cache.py | 134 +++++++++++++++++++++++++++++++++++++++++ allocine/cli.py | 21 ++++++- allocine/client.py | 26 +++++++- pyproject.toml | 2 + tests/test_allocine.py | 37 +++++++----- tests/test_cache.py | 79 ++++++++++++++++++++++++ uv.lock | 13 ++++ 9 files changed, 395 insertions(+), 33 deletions(-) create mode 100644 allocine/cache.py create mode 100644 tests/test_cache.py diff --git a/README.md b/README.md index 9d20e08..55e4125 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,39 @@ for showtime in showtimes: print(showtime) ``` +Caching is disabled by default. Enable it with `cache=True`; responses are then stored in the operating system's user +cache directory as selected by [`platformdirs`](https://platformdirs.readthedocs.io/): + +- macOS: `~/Library/Caches/allocine` +- Linux: `${XDG_CACHE_HOME:-~/.cache}/allocine` +- Windows: `%LOCALAPPDATA%\\allocine\\Cache` + +Only HTTP responses explicitly marked as public and cacheable are stored. Their `Cache-Control` response header controls +freshness and retention, including `max-age`, `stale-if-error`, and `stale-while-revalidate`. Stale responses are +conditionally revalidated with `ETag` or `Last-Modified` when available, and can be served after a request failure for +the duration declared by `stale-if-error`. + +Call `clear_cache()` to invalidate the entire cache, or use `cache_dir` to choose a different location: + +```python +from allocine import Allocine + +allocine = Allocine(cache=True) +allocine.clear_cache() +showtimes = allocine.get_showtimes("P2235") +allocine.close() + +custom_cache = Allocine(cache=True, cache_dir="/path/to/cache") +``` + +`Allocine` can also be used as a context manager to close its HTTP and cache resources automatically. + +The CLI cache can be cleared globally without providing a theater ID: + +```bash +seances.py --clear-cache +``` + Example output : ```bash diff --git a/allocine/api.py b/allocine/api.py index d169caa..19f53e3 100644 --- a/allocine/api.py +++ b/allocine/api.py @@ -1,8 +1,11 @@ from datetime import date as Date +from os import PathLike import backoff import httpx2 +from allocine.cache import CACHE_MISS, CachedResponse, CacheOption, HttpCache + SHOWTIMES_BASE_URL = "https://www.allocine.fr/_/showtimes" THEATERS_BASE_URL = "https://www.allocine.fr/salle/cinema" @@ -10,13 +13,19 @@ class AllocineApi: """Client to process requests with the Allocine APIs.""" - def __init__(self): + def __init__( + self, + *, + cache: CacheOption = False, + cache_dir: str | PathLike[str] | None = None, + ): headers = { "User-Agent": "Mozilla/5.0 (Macintosh; \ Intel Mac OS X 10.14; rv:63.0) \ Gecko/20100101 Firefox/63.0", } self.session = httpx2.Client(headers=headers, timeout=30) + self.cache = HttpCache(cache, cache_dir) def get_showtimelist_by_theater_id( self, @@ -30,31 +39,77 @@ def get_showtimelist_by_theater_id( if page: url += f"p-{page}/" - return self._get(url=url) + return self._get(url) - def get_showtimes_by_movie_and_theater_id(self, movie_id: int, theater_id: str): + def get_showtimes_by_movie_and_theater_id( + self, + movie_id: int, + theater_id: str, + ): url = f"{SHOWTIMES_BASE_URL}/ope/movie-{movie_id}/theater-{theater_id}/" - return self._get(url=url) + return self._get(url) def get_theater_page(self, theater_id: str) -> str: url = f"https://www.allocine.fr/seance/salle_gen_csalle={theater_id}.html" - return self._get_text(url=url) + return self._get_text(url) def get_theaterlist_by_geocode(self, geocode: int | str, page: int = 1) -> str: url = f"{THEATERS_BASE_URL}/ville-{geocode}/" params = {"page": page} if page > 1 else None - return self._get_text(url=url, params=params) + return self._get_text(url, params=params) + + def clear_cache(self) -> int: + return self.cache.clear() + + def close(self) -> None: + self.session.close() + self.cache.close() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.close() - @backoff.on_exception(backoff.expo, ValueError, max_tries=5, max_time=30) def _get(self, url: str, expected_status: int = 200, *args, **kwargs) -> dict: - ret = self.session.get(url, *args, **kwargs) - if ret.status_code != expected_status: - raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) - return ret.json() + return self._request(url, expected_status, *args, **kwargs).json() - @backoff.on_exception(backoff.expo, ValueError, max_tries=5, max_time=30) def _get_text(self, url: str, expected_status: int = 200, *args, **kwargs) -> str: + return self._request(url, expected_status, *args, **kwargs).text + + def _request(self, url: str, expected_status: int, *args, **kwargs) -> httpx2.Response: + params = kwargs.get("params") + cached = self.cache.get(url, params) + if cached is not CACHE_MISS and cached.is_fresh(): + return cached.to_response() + + if cached is not CACHE_MISS: + headers = dict(kwargs.get("headers") or {}) + if etag := cached.headers.get("etag"): + headers["If-None-Match"] = etag + if last_modified := cached.headers.get("last-modified"): + headers["If-Modified-Since"] = last_modified + kwargs["headers"] = headers + + try: + response = self._fetch(url, expected_status, *args, **kwargs) + except (ValueError, httpx2.HTTPError): + if cached is not CACHE_MISS and cached.can_serve_on_error(): + return cached.to_response() + raise + + if response.status_code == 304 and cached is not CACHE_MISS: + response = self._revalidated_response(cached, response) + self.cache.set(url, response, params) + return response + + @backoff.on_exception(backoff.expo, ValueError, max_tries=5, max_time=30) + def _fetch(self, url: str, expected_status: int, *args, **kwargs) -> httpx2.Response: ret = self.session.get(url, *args, **kwargs) - if ret.status_code != expected_status: + if ret.status_code not in {expected_status, 304}: raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) - return ret.text + return ret + + @staticmethod + def _revalidated_response(cached: CachedResponse, response: httpx2.Response) -> httpx2.Response: + return cached.to_response(response.headers) diff --git a/allocine/cache.py b/allocine/cache.py new file mode 100644 index 0000000..cb6b72f --- /dev/null +++ b/allocine/cache.py @@ -0,0 +1,134 @@ +from collections.abc import Mapping +from dataclasses import dataclass +from os import PathLike +from time import time +from urllib.parse import urlencode +from weakref import finalize + +import httpx2 +from diskcache import Cache +from platformdirs import user_cache_path + +CACHE_VERSION = 3 +CACHE_MISS = object() + +CacheOption = bool | Cache + + +@dataclass(frozen=True) +class CachedResponse: + status_code: int + headers: dict[str, str] + content: bytes + stored_at: float + initial_age: int + max_age: int + stale_if_error: int + stale_while_revalidate: int + + def age(self, now: float | None = None) -> float: + return self.initial_age + (time() if now is None else now) - self.stored_at + + def is_fresh(self, now: float | None = None) -> bool: + return self.age(now) < self.max_age + + def can_serve_on_error(self, now: float | None = None) -> bool: + return self.age(now) < self.max_age + self.stale_if_error + + def retention(self) -> float: + stale = max(self.stale_if_error, self.stale_while_revalidate) + return self.max_age + stale - self.initial_age + + def to_response(self, revalidation_headers: Mapping[str, str] | None = None) -> httpx2.Response: + headers = dict(self.headers) + if revalidation_headers is not None: + headers.pop("age", None) + headers.update(revalidation_headers) + return httpx2.Response(self.status_code, headers=_decoded_headers(headers), content=self.content) + + +class HttpCache: + def __init__( + self, + cache: CacheOption = False, + cache_dir: str | PathLike[str] | None = None, + ) -> None: + if cache_dir is not None and cache is not True: + raise ValueError("cache_dir can only be used when cache=True") + + self._owns_backend = cache is True + self._backend = ( + Cache(cache_dir or user_cache_path("allocine")) if cache is True else None if cache is False else cache + ) + self._finalizer = ( + finalize(self, self._backend.close) if self._owns_backend and self._backend is not None else None + ) + + def get(self, url: str, params: dict | None = None): + if self._backend is None: + return CACHE_MISS + return self._backend.get(self._key(url, params), default=CACHE_MISS) + + def set(self, url: str, response: httpx2.Response, params: dict | None = None) -> None: + if self._backend is None or (cached := _to_cached_response(response)) is None: + return + if (retention := cached.retention()) > 0: + self._backend.set(self._key(url, params), cached, expire=retention) + + def clear(self) -> int: + return self._backend.clear() if self._backend is not None else 0 + + def close(self) -> None: + if self._finalizer is not None: + self._finalizer() + + @staticmethod + def _key(url: str, params: dict | None) -> str: + query = urlencode(sorted((params or {}).items()), doseq=True) + return f"http:v{CACHE_VERSION}:{url}?{query}" + + +def _to_cached_response(response: httpx2.Response) -> CachedResponse | None: + directives = _parse_cache_control(response.headers.get("cache-control", "")) + if "public" not in directives or "no-store" in directives or "private" in directives: + return None + if (max_age := _seconds(directives, "max-age")) is None: + return None + + return CachedResponse( + status_code=response.status_code, + headers=_decoded_headers(response.headers), + content=response.content, + stored_at=time(), + initial_age=_header_seconds(response.headers.get("age")) or 0, + max_age=max_age, + stale_if_error=_seconds(directives, "stale-if-error") or 0, + stale_while_revalidate=_seconds(directives, "stale-while-revalidate") or 0, + ) + + +def _parse_cache_control(value: str) -> dict[str, str | None]: + directives = {} + for item in value.split(","): + name, separator, directive_value = item.strip().partition("=") + if name: + directives[name.lower()] = directive_value.strip('"') if separator else None + return directives + + +def _decoded_headers(headers: Mapping[str, str]) -> dict[str, str]: + decoded_headers = dict(headers) + for name in ("content-encoding", "content-length", "transfer-encoding"): + decoded_headers.pop(name, None) + return decoded_headers + + +def _seconds(directives: dict[str, str | None], name: str) -> int | None: + return _header_seconds(directives.get(name)) + + +def _header_seconds(value: str | None) -> int | None: + try: + return max(0, int(value)) if value is not None else None + except ValueError: + return None diff --git a/allocine/cli.py b/allocine/cli.py index 23201b7..0337d7d 100644 --- a/allocine/cli.py +++ b/allocine/cli.py @@ -9,6 +9,15 @@ from allocine.schedules import get_showtimes_of_a_day +def clear_cache(ctx, param, value): + if not value or ctx.resilient_parsing: + return + with Allocine(cache=True) as allocine: + removed = allocine.clear_cache() + click.echo(f"Cache vidé ({removed} entrée(s)).") + ctx.exit() + + def extract_field_names(dict_list): """Return a sorted list of field names from a dictionary list.""" field_names = [] @@ -20,6 +29,14 @@ def extract_field_names(dict_list): @click.command() @click.argument("id_cinema", type=str, required=True) +@click.option( + "--clear-cache", + is_flag=True, + is_eager=True, + expose_value=False, + callback=clear_cache, + help="vide entièrement le cache et quitte", +) @click.option( "--jour", "-j", @@ -47,7 +64,7 @@ def main(id_cinema, entrelignes, jour=None, semaine=None): http://allocine.fr/seance/salle_gen_csalle=.html """ today = date.today() - allocine = Allocine() + allocine = Allocine(cache=True) jours = [] if semaine is False: @@ -64,13 +81,13 @@ def main(id_cinema, entrelignes, jour=None, semaine=None): jour_obj = today + timedelta(days=delta) jours.append(jour_obj.strftime("%d/%m/%Y")) - theater = allocine.get_theater(theater_id=id_cinema) requested_dates = [datetime.strptime(jour, "%d/%m/%Y").date() for jour in jours] showtimes = allocine.get_showtimes( theater_id=id_cinema, from_date=min(requested_dates), to_date=max(requested_dates), ) + theater = allocine.get_theater(theater_id=id_cinema) print("{}, le ".format(theater.name), end="") for jour in jours: diff --git a/allocine/client.py b/allocine/client.py index 0b19118..5a6d983 100644 --- a/allocine/client.py +++ b/allocine/client.py @@ -3,27 +3,35 @@ import unicodedata from datetime import date as Date from datetime import datetime, timedelta +from os import PathLike import jmespath from parsel import Selector from allocine.api import AllocineApi +from allocine.cache import CacheOption from allocine.models import MovieVersion, Showtime, Theater DEFAULT_DATE_FORMAT = "%Y-%m-%dT%H:%M:%S" class Allocine: - def __init__(self): - self._client = AllocineApi() + def __init__( + self, + *, + cache: CacheOption = False, + cache_dir: str | PathLike[str] | None = None, + ): + self._client = AllocineApi(cache=cache, cache_dir=cache_dir) - def get_theater(self, theater_id: str): + def get_theater(self, theater_id: str) -> Theater: resp = self._client.get_showtimelist_by_theater_id(theater_id=theater_id) if not resp.get("results"): raise ValueError(f"Theater not found. Is theater id {theater_id!r} correct?") movie_id: int | None = jmespath.search("results[0].movie.internalId", resp) assert movie_id is not None, "We need at least one showtime to get details about a theater" + return self._get_theater_details_from_movie_id(theater_id, movie_id) def get_showtimes( @@ -68,6 +76,18 @@ def search_theaters(self, geocode: int | str) -> list[Theater]: return theaters page += 1 + def clear_cache(self) -> int: + return self._client.clear_cache() + + def close(self) -> None: + self._client.close() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.close() + def _get_theater_details_from_movie_id(self, theater_id: str, movie_id: int) -> Theater: operation = self._client.get_showtimes_by_movie_and_theater_id( movie_id=movie_id, diff --git a/pyproject.toml b/pyproject.toml index 1fb8b7a..537b09e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,9 +28,11 @@ classifiers = [ dependencies = [ "backoff>=2.2.1", "click>=8.5.0", + "diskcache>=5.6,<6", "httpx2>=2.13.1", "jmespath>=1.1.0", "parsel>=1.10.0", + "platformdirs>=4.3", "ptableunicode>=0.9.3", ] diff --git a/tests/test_allocine.py b/tests/test_allocine.py index 4883feb..8a79f57 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -9,27 +9,32 @@ from allocine import Allocine -def test_get_theater(json_snapshot, allocine_vcr): - theater = Allocine().get_theater("P0645") +@pytest.fixture(scope="session") +def allocine() -> Allocine: + return Allocine(cache=False) + + +def test_get_theater(allocine: Allocine, json_snapshot, allocine_vcr): + theater = allocine.get_theater("P0645") assert asdict(theater) == json_snapshot -def test_search_theaters(json_snapshot, allocine_vcr): - theaters = Allocine().search_theaters(geocode=83178) +def test_search_theaters(allocine: Allocine, json_snapshot, allocine_vcr): + theaters = allocine.search_theaters(geocode=83178) assert theaters == json_snapshot @freeze_time("2026-09-27") -def test_get_showtimes_defaults_to_today(json_snapshot, allocine_vcr): - showtimes = Allocine().get_showtimes("G0FOX") +def test_get_showtimes_defaults_to_today(allocine: Allocine, json_snapshot, allocine_vcr): + showtimes = allocine.get_showtimes("G0FOX") assert [asdict(showtime) for showtime in showtimes] == json_snapshot -def test_get_showtimes_fetches_inclusive_date_range(json_snapshot, allocine_vcr): - showtimes = Allocine().get_showtimes( +def test_get_showtimes_fetches_inclusive_date_range(allocine: Allocine, json_snapshot, allocine_vcr): + showtimes = allocine.get_showtimes( "G0FOX", from_date=date(2026, 9, 27), to_date=date(2026, 9, 28), @@ -38,20 +43,24 @@ def test_get_showtimes_fetches_inclusive_date_range(json_snapshot, allocine_vcr) assert [asdict(showtime) for showtime in showtimes] == json_snapshot -def test_get_showtimes_rejects_inverted_date_range(): +def test_get_showtimes_rejects_inverted_date_range( + allocine, +): with pytest.raises(ValueError, match="from_date must be before or equal to to_date"): - Allocine().get_showtimes( + allocine.get_showtimes( "P0645", from_date=date(2026, 9, 27), to_date=date(2026, 9, 26), ) -def test_get_showtimes_skips_entries_without_movie(): - assert Allocine()._parse_showtimes([{"movie": None, "showtimes": {}}]) == [] +def test_get_showtimes_skips_entries_without_movie( + allocine, +): + assert allocine._parse_showtimes([{"movie": None, "showtimes": {}}]) == [] -def test_get_theater_falls_back_to_page_metadata(json_snapshot, allocine_vcr): - theater = Allocine().get_theater("G0FOX") +def test_get_theater_falls_back_to_page_metadata(allocine: Allocine, json_snapshot, allocine_vcr): + theater = allocine.get_theater("G0FOX") assert asdict(theater) == json_snapshot diff --git a/tests/test_cache.py b/tests/test_cache.py new file mode 100644 index 0000000..1776f34 --- /dev/null +++ b/tests/test_cache.py @@ -0,0 +1,79 @@ +import httpx2 +import pytest +from diskcache import Cache + +from allocine.cache import CACHE_MISS, HttpCache + +CACHE_CONTROL = "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + + +def response(cache_control: str = CACHE_CONTROL) -> httpx2.Response: + result = httpx2.Response( + 200, + headers={"cache-control": cache_control, "age": "300", "last-modified": "Sun, 27 Sep 2026 20:55:44 GMT"}, + content=b'{"results": []}', + ) + result.headers["content-encoding"] = "gzip" + result.headers["content-length"] = "123" + return result + + +def test_cache_is_disabled_by_default(): + cache = HttpCache() + + cache.set("https://example.com", response()) + + assert cache.get("https://example.com") is CACHE_MISS + assert cache.clear() == 0 + + +def test_response_cache_policy_and_clear(tmp_path): + cache = HttpCache(True, tmp_path) + cache.set("https://example.com", response(), {"page": 1}) + + cached = cache.get("https://example.com", {"page": 1}) + assert cached.is_fresh(cached.stored_at + 3299) + assert not cached.is_fresh(cached.stored_at + 3300) + assert cached.can_serve_on_error(cached.stored_at + 176099) + assert not cached.can_serve_on_error(cached.stored_at + 176100) + assert cached.to_response().json() == {"results": []} + assert "content-encoding" not in cached.headers + assert "content-length" not in cached.headers + cached.headers["content-encoding"] = "gzip" # Existing cache entries may still contain this header. + assert cached.to_response().json() == {"results": []} + assert cache.get("https://example.com", {"page": 2}) is CACHE_MISS + assert cache.clear() == 1 + cache.close() + + +@pytest.mark.parametrize("cache_control", ["", "private, max-age=3600", "public, no-store, max-age=3600"]) +def test_response_is_not_cacheable(cache_control, tmp_path): + cache = HttpCache(True, tmp_path) + + cache.set("https://example.com", response(cache_control)) + + assert cache.get("https://example.com") is CACHE_MISS + cache.close() + + +def test_cache_is_persistent(tmp_path): + first_cache = HttpCache(True, tmp_path) + first_cache.set("https://example.com", response()) + first_cache.close() + + second_cache = HttpCache(True, tmp_path) + assert second_cache.get("https://example.com").to_response().content == b'{"results": []}' + second_cache.close() + + +def test_injected_cache_is_used(tmp_path): + with Cache(tmp_path) as backend: + cache = HttpCache(backend) + cache.set("https://example.com", response()) + + assert cache.get("https://example.com") is not CACHE_MISS + + +def test_cache_dir_requires_managed_cache(tmp_path): + with pytest.raises(ValueError, match="cache_dir can only be used when cache=True"): + HttpCache(False, tmp_path) diff --git a/uv.lock b/uv.lock index 143165b..ebe7d9e 100644 --- a/uv.lock +++ b/uv.lock @@ -13,9 +13,11 @@ source = { editable = "." } dependencies = [ { name = "backoff" }, { name = "click" }, + { name = "diskcache" }, { name = "httpx2" }, { name = "jmespath" }, { name = "parsel" }, + { name = "platformdirs" }, { name = "ptableunicode" }, ] @@ -35,10 +37,12 @@ dev = [ requires-dist = [ { name = "backoff", specifier = ">=2.2.1" }, { name = "click", specifier = ">=8.5.0" }, + { name = "diskcache", specifier = ">=5.6,<6" }, { name = "freezegun", marker = "extra == 'dev'", specifier = ">=1.5.5" }, { name = "httpx2", specifier = ">=2.13.1" }, { name = "jmespath", specifier = ">=1.1.0" }, { name = "parsel", specifier = ">=1.10.0" }, + { name = "platformdirs", specifier = ">=4.3" }, { name = "pre-commit", marker = "extra == 'dev'", specifier = ">=4.6.2" }, { name = "ptableunicode", specifier = ">=0.9.3" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=9.1.1" }, @@ -242,6 +246,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/60/e9/6734502f67533a752ea8b1c8f7f227c94eecf300252ba8bf23e3e59d8a36/cssselect-1.5.0-py3-none-any.whl", hash = "sha256:1d1aded98e82bdde447ded990a191fd6916177c4f0c914fb62eccd58e2ffcdcc", size = 20797, upload-time = "2026-07-27T09:17:33.04Z" }, ] +[[package]] +name = "diskcache" +version = "5.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/21/1c1ffc1a039ddcc459db43cc108658f32c57d271d7289a2794e401d0fdb6/diskcache-5.6.3.tar.gz", hash = "sha256:2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc", size = 67916, upload-time = "2023-08-31T06:12:00.316Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/27/4570e78fc0bf5ea0ca45eb1de3818a23787af9b390c0b0a0033a1b8236f9/diskcache-5.6.3-py3-none-any.whl", hash = "sha256:5e31b2d5fbad117cc363ebaf6b689474db18a1f6438bc82358b024abd4c2ca19", size = 45550, upload-time = "2023-08-31T06:11:58.822Z" }, +] + [[package]] name = "distlib" version = "0.4.3" From 1bd3f19856a27d4a10404be1f65b85d9a7f8da1f Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 13:44:10 +0200 Subject: [PATCH 15/26] Add more URSS and Palestine variants --- allocine/nationalities.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/allocine/nationalities.py b/allocine/nationalities.py index 3f05a68..4bd9cad 100644 --- a/allocine/nationalities.py +++ b/allocine/nationalities.py @@ -388,6 +388,7 @@ "pologne": "PL", "porto rico": "PR", "autorite palestinienne": "PS", + "palestine": "PS", "portugal": "PT", "palaos": "PW", "paraguay": "PY", @@ -427,6 +428,7 @@ "ukraine": "UA", "ouganda": "UG", "u.r.s.s.": "SU", + "urss": "SU", "u.s.a.": "US", # modified based on allocine value, originally 'etats-unis' "uruguay": "UY", "ouzbekistan": "UZ", From ed578bde43bfdc1d0006ce65635264ac31938e56 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:09:15 +0200 Subject: [PATCH 16/26] Clamp past showtime dates to today --- allocine/client.py | 3 +- ...wtimes_clamps_past_from_date_to_today.json | 449 + ...wtimes_clamps_past_from_date_to_today.json | 14961 ++++++++++++++++ tests/test_allocine.py | 8 + 4 files changed, 15420 insertions(+), 1 deletion(-) create mode 100644 tests/__snapshots__/test_allocine/test_get_showtimes_clamps_past_from_date_to_today.json create mode 100644 tests/cassettes/get_showtimes_clamps_past_from_date_to_today.json diff --git a/allocine/client.py b/allocine/client.py index 5a6d983..5b10c3a 100644 --- a/allocine/client.py +++ b/allocine/client.py @@ -40,7 +40,8 @@ def get_showtimes( from_date: Date | None = None, to_date: Date | None = None, ) -> list[Showtime]: - from_date = from_date or Date.today() + today = Date.today() + from_date = max(from_date or today, today) to_date = to_date or from_date if from_date > to_date: raise ValueError("from_date must be before or equal to to_date") diff --git a/tests/__snapshots__/test_allocine/test_get_showtimes_clamps_past_from_date_to_today.json b/tests/__snapshots__/test_allocine/test_get_showtimes_clamps_past_from_date_to_today.json new file mode 100644 index 0000000..3cafac1 --- /dev/null +++ b/tests/__snapshots__/test_allocine/test_get_showtimes_clamps_past_from_date_to_today.json @@ -0,0 +1,449 @@ +[ + { + "date_time": "2026-09-28T13:30:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.75, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T17:45:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.75, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T20:50:00.000000", + "movie": { + "actors": "Alban Ivanov, Birane Ba, Alexandra Lamy", + "countries": [ + "France", + "Belgique" + ], + "directors": "Éric Barbier", + "duration": "datetime.timedelta(seconds=6600)", + "genres": "Historique, Guerre", + "language": "Français", + "movie_id": 1000028944, + "original_title": "Justin le Juste", + "rating": 3.75, + "screen_format": "Numérique", + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "title": "Justin le Juste", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T14:00:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.84, + "screen_format": "DOLBY_ATMOS F_4K", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T20:20:00.000000", + "movie": { + "actors": "Brad Pitt, Uber, J.K. Simmons", + "countries": [ + "U.S.A." + ], + "directors": "David Ayer", + "duration": "datetime.timedelta(seconds=6060)", + "genres": "Action, Aventure", + "language": "Français", + "movie_id": 1000000085, + "original_title": "Heart Of The Beast", + "rating": 3.84, + "screen_format": "Numérique", + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "title": "Heart Of The Beast", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T16:30:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-28T20:05:00.000000", + "movie": { + "actors": "Robert Downey Jr., Chris Evans, Mark Ruffalo", + "countries": [ + "U.S.A." + ], + "directors": "Joe Russo, Anthony Russo", + "duration": "datetime.timedelta(seconds=10860)", + "genres": "Action, Aventure, Science Fiction", + "language": "Français", + "movie_id": 232669, + "original_title": "Avengers: Endgame", + "rating": 4.2, + "screen_format": "DOLBY_ATMOS INFINITY_VISION F_4K", + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "title": "Avengers: Endgame", + "year": 2019 + } + }, + { + "date_time": "2026-09-28T13:30:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T18:50:00.000000", + "movie": { + "actors": "Ilyes Djadel, Josiane Balasko, Fred Testot", + "countries": [ + "France" + ], + "directors": "Mohamed Hamidi", + "duration": "datetime.timedelta(seconds=5520)", + "genres": "Comédie, Famille", + "language": "Français", + "movie_id": 1000032856, + "original_title": "Tombé du ciel", + "rating": 3.21, + "screen_format": "Numérique", + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine... Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés... Et ceux des autres. ", + "title": "Tombé du ciel", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T13:30:00.000000", + "movie": { + "actors": "Simon Abkarian, Niels Schneider, Anamaria Vartolomei", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294281, + "original_title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "rating": 4.5, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "year": 2025 + } + }, + { + "date_time": "2026-09-28T13:35:00.000000", + "movie": { + "actors": "Kad Merad, Marie Gillain, Julia de Nunez", + "countries": [ + "France" + ], + "directors": "Élie Chouraqui", + "duration": "datetime.timedelta(seconds=6300)", + "genres": "Drame, Historique", + "language": "Français", + "movie_id": 323826, + "original_title": "Les Héros du Louvre", + "rating": 3.18, + "screen_format": "Numérique", + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "title": "Les Héros du Louvre", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T20:00:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Version originale", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T14:00:00.000000", + "movie": { + "actors": "Matt Damon, Tom Holland, Anne Hathaway", + "countries": [ + "U.S.A." + ], + "directors": "Christopher Nolan", + "duration": "datetime.timedelta(seconds=10380)", + "genres": "Action, Fantastique", + "language": "Français", + "movie_id": 1000013045, + "original_title": "The Odyssey", + "rating": 4.3, + "screen_format": "Numérique", + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "title": "L'Odyssée", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T15:30:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T17:25:00.000000", + "movie": { + "actors": "Tom Holland, Zendaya, Sadie Sink", + "countries": [ + "U.S.A." + ], + "directors": "Destin Daniel Cretton", + "duration": "datetime.timedelta(seconds=8700)", + "genres": "Action, Aventure, Fantastique, Science Fiction", + "language": "Français", + "movie_id": 276608, + "original_title": "Spider-Man: Brand New Day", + "rating": 4.09, + "screen_format": "Numérique", + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié...", + "title": "Spider-Man: Brand New Day", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T21:00:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Version originale", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T15:45:00.000000", + "movie": { + "actors": "Austin Abrams, Paul Walter Hauser, Zach Cherry", + "countries": [ + "U.S.A.", + "Allemagne" + ], + "directors": "Zach Cregger", + "duration": "datetime.timedelta(seconds=5820)", + "genres": "Science Fiction, Epouvante-horreur, Thriller", + "language": "Français", + "movie_id": 1000018854, + "original_title": "Resident Evil", + "rating": 3.85, + "screen_format": "Numérique", + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "title": "Resident Evil", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T15:45:00.000000", + "movie": { + "actors": "Simon Abkarian, Simon Russell Beale, Florian Lesieur", + "countries": [ + "France", + "Belgique" + ], + "directors": "Antonin Baudry", + "duration": "datetime.timedelta(seconds=9600)", + "genres": "Thriller, Historique", + "language": "Français", + "movie_id": 294280, + "original_title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "rating": 4.42, + "screen_format": "Numérique", + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T21:00:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Version originale", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.28, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T16:35:00.000000", + "movie": { + "actors": "Ethan Hawke, Russell Crowe, Julia Jones", + "countries": [ + "Allemagne" + ], + "directors": "Padraic McKinley", + "duration": "datetime.timedelta(seconds=6780)", + "genres": "Thriller, Action, Aventure", + "language": "Français", + "movie_id": 1000019874, + "original_title": "The Weight", + "rating": 3.28, + "screen_format": "Numérique", + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "title": "Les Contrebandiers", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T18:20:00.000000", + "movie": { + "actors": "Nicole Kidman, Sandra Bullock, Cassie Bradley", + "countries": [ + "U.S.A." + ], + "directors": "Susanne Bier", + "duration": "datetime.timedelta(seconds=7800)", + "genres": "Romance, Fantastique", + "language": "Français", + "movie_id": 1000004679, + "original_title": "Practical Magic 2", + "rating": 2.42, + "screen_format": "Numérique", + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "title": "Les Ensorceleuses 2", + "year": 2026 + } + }, + { + "date_time": "2026-09-28T18:50:00.000000", + "movie": { + "actors": "Seth Rogen, Olivia Wilde, Penélope Cruz", + "countries": [ + "U.S.A." + ], + "directors": "Olivia Wilde", + "duration": "datetime.timedelta(seconds=6420)", + "genres": "Comédie", + "language": "Français", + "movie_id": 317219, + "original_title": "The Invite", + "rating": 3.23, + "screen_format": "Numérique", + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "title": "L'Invitation", + "year": 2026 + } + } +] diff --git a/tests/cassettes/get_showtimes_clamps_past_from_date_to_today.json b/tests/cassettes/get_showtimes_clamps_past_from_date_to_today.json new file mode 100644 index 0000000..6ee41df --- /dev/null +++ b/tests/cassettes/get_showtimes_clamps_past_from_date_to_today.json @@ -0,0 +1,14961 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-G0FOX/d-2026-09-28/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 12:08:17 GMT" + ], + "content-type": [ + "application/json" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "cache-control": [ + "max-age=3600, public, stale-if-error=172800, stale-while-revalidate=86400" + ], + "vary": [ + "Origin, accept-encoding" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "age": [ + "101" + ], + "last-modified": [ + "Mon, 28 Sep 2026 12:06:36 GMT" + ], + "cf-cache-status": [ + "HIT" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=kh%2BQMVCEiOqgQc42ERIIoN8z1uGq8KD7TGrr34FjjUhRWvYZknhn6wQARsizDO8mGXZQYUZ53q4sZezraGYRA5K5dJx2cKkG2YdxSR8vo2AevGd5WGNhOaPBtlwDYLQw0w%3D%3D\"}]}" + ], + "cf-ray": [ + "a422a1f5bafa9ea4-CDG" + ], + "content-length": [ + "202089" + ] + }, + "body": { + "error": false, + "message": null, + "messageParam": null, + "nextDate": null, + "results": [ + { + "movie": { + "synopsis": "Pendant la Première Guerre mondiale, l’histoire d’un paysan naïf enrôlé de force dans l’armée française.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres." + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": "Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac. ", + "italic": true + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000028944, + "id": "TW92aWU6MTAwMDAyODk0NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMDIxMQ==", + "internalId": 9002100211, + "url": "https://fr.web.img6.acsta.net/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg", + "path": "/img/a4/da/a4dac200a65518d1db35e7dba6ddd4e7.jpg" + }, + "title": "Justin le Juste", + "originalTitle": "Justin le Juste", + "type": "FEATURE_FILM", + "runtime": "1h 50min", + "genres": [ + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + }, + { + "id": 13014, + "translate": "Guerre", + "tag": "WARMOVIE" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.75, + "count": 333 + }, + "userReview": { + "count": 115 + }, + "pressReview": { + "score": 3.15, + "count": 13 + }, + "metric": { + "hits": 259237, + "sessions": 155699 + }, + "wantToSeeCount": 750 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "164658" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 26667, + "lastName": "Barbier", + "firstName": "Éric", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 244509, + "lastName": "Ivanov", + "firstName": "Alban", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 936220, + "lastName": "Ba", + "firstName": "Birane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 75130, + "lastName": "Lamy", + "firstName": "Alexandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 482, + "name": "Fable", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1693, + "name": "Première guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 821, + "name": "Injustice", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 435, + "name": "Paysan / Paysanne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4489, + "name": "Révolte", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4875, + "name": "Guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1499, + "name": "Adaptation de roman", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

1915. La guerre, c’est une terre inconnue où l’on envoie Justin, misérable paysan, à une époque où il doit s’occuper de ses champs. Il doit partir se battre, au nom d’une loi qu’il ignore, contre un ennemi qu’il n’a jamais vu, alors qu’il ne rêve que de rester dans sa ferme. Sa rencontre avec Basile, un tirailleur sénégalais, va lui ouvrir les yeux sur cette guerre qu’il ne comprend pas. C’est avec lui, qu’il va se révolter contre les injustices d’un commandement absurde, et devenir un héros pas comme les autres.

Inspiré de Justin-le-Juste ou La charrette de Jean Pompougnac.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966630, + "startsAt": "2026-09-28T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966571, + "startsAt": "2026-09-28T17:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=17:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966521, + "startsAt": "2026-09-28T20:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000028944&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000000085, + "id": "TW92aWU6MTAwMDAwMDA4NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNTQ3Nw==", + "internalId": 9002115477, + "url": "https://fr.web.img2.acsta.net/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg", + "path": "/img/6f/af/6faf7d9aa879bd9374e773f31db44956.jpg" + }, + "title": "Heart Of The Beast", + "originalTitle": "Heart Of The Beast", + "type": "FEATURE_FILM", + "runtime": "1h 41min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.84, + "count": 995 + }, + "userReview": { + "count": 240 + }, + "pressReview": { + "score": 2.9, + "count": 31 + }, + "metric": { + "hits": 662344, + "sessions": 392988 + }, + "wantToSeeCount": 2629 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168216" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 41198, + "lastName": "Ayer", + "firstName": "David", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 12302, + "lastName": "Pitt", + "firstName": "Brad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 1000097730, + "lastName": null, + "firstName": "Uber", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 32799, + "lastName": "Simmons", + "firstName": "J.K.", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 982, + "name": "Alaska / Pôle Nord", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4999, + "name": "Crash d'avion", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 692, + "name": "Survivants / Rescapés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1012, + "name": "Traumatisme de guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 374, + "name": "Soldat / Militaire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1042, + "name": "Relation homme / animal", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2166, + "name": "Chien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1061, + "name": "Flashback", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1699, + "name": "Amitié", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Après un terrible crash d’avion, James Belmont, ancien des forces spéciales, se retrouve perdu au cœur de l’Alaska avec son chien Odin, depuis toujours à ses côtés. Livrés à eux-mêmes dans une nature aussi magnifique qu’impitoyable, ils devront puiser dans leurs dernières forces pour survivre ensemble.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966764, + "startsAt": "2026-09-28T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966592, + "startsAt": "2026-09-28T20:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000000085&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:20" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 232669, + "id": "TW92aWU6MjMyNjY5", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6MjE2MDg1Mzg=", + "internalId": 21608538, + "url": "https://fr.web.img2.acsta.net/pictures/19/04/04/09/04/0472053.jpg", + "path": "/pictures/19/04/04/09/04/0472053.jpg" + }, + "title": "Avengers: Endgame", + "originalTitle": "Avengers: Endgame", + "type": "FEATURE_FILM", + "runtime": "3h 01min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2019, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.2, + "count": 41741 + }, + "userReview": { + "count": 2124 + }, + "pressReview": { + "score": 3.21, + "count": 33 + }, + "metric": { + "hits": 15597412, + "sessions": 6838037 + }, + "wantToSeeCount": 10449 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-23", + "precision": "day" + }, + "name": "ReRelease", + "certificate": null, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": [ + "RERUN" + ] + }, + "visaNumber": "150633" + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-03-31", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-01-05", + "precision": "day" + }, + "name": "Released", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToyMDAxNA==", + "internalId": 20014, + "name": "TMC" + }, + "releaseTags": { + "tagTypes": [ + "TELEVISION" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2024-05-24", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxMDAwMTEyODQ2", + "internalId": 1000112846, + "name": "Pathé Home" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2022-04-28", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMA==", + "internalId": 50000, + "name": "Disney+" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-10-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VOD", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-09-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-03-24", + "precision": "day" + }, + "name": "Svod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDAwMg==", + "internalId": 50002, + "name": "myCanal" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_SVOD" + ], + "tagFlags": [ + "EXCLUSIVE" + ] + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2020-02-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDAwMzA=", + "internalId": 161200030, + "name": "Orange" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "Dvd", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_DVD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAyMDA=", + "internalId": 150000200, + "name": "Fnac" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-30", + "precision": "day" + }, + "name": "BluRay", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNTAwMDAxMDA=", + "internalId": 150000100, + "name": "Amazon" + }, + "releaseTags": { + "tagTypes": [ + "PHYSICAL", + "PHYSICAL_BLURAY" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-29", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDIwOQ==", + "internalId": 50209, + "name": "Rakuten TV" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE_VODEST", + "ONLINE" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-22", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-08-21", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueToxNjEyMDA5MDA=", + "internalId": 161200900, + "name": "Canal VOD" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2019-04-24", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "150633" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 71968, + "lastName": "Russo", + "firstName": "Joe", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + }, + { + "person": { + "__typename": "Person", + "internalId": 71967, + "lastName": "Russo", + "firstName": "Anthony", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 2 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 10976, + "lastName": "Downey Jr.", + "firstName": "Robert", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 81795, + "lastName": "Evans", + "firstName": "Chris", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 25190, + "lastName": "Ruffalo", + "firstName": "Mark", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5302, + "name": "Hulk", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5300, + "name": "Iron Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5294, + "name": "Captain America", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4394, + "name": "Performance-Capture", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 455, + "name": "Sauver la terre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5681, + "name": "Nick Fury", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4268, + "name": "All Star Movie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5288, + "name": "Thor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films similaires à Thor Ragnarok", + "subTitle": "films de la saga Thor", + "description": "Bienvenue dans le monde fascinant d'Asgard. Les films de la saga Thor voient Hulk, Loki, et même Doctor Strange unir leurs forces. Avec Surtur, Odin et un portail menant au chaos, chaque scène de ces aventures Marvel captive. Dans les films similaires à Thor Ragnarok, le dieu du tonnerre brille sur grand écran" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5269, + "name": "Garçon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5309, + "name": "État de New York", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6050, + "name": "Méchant emblématique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films avec des méchants emblématiques", + "subTitle": "films avec des méchants emblématiques", + "description": "Quels sont les meilleurs films avec des méchants emblématiques ? Découvrez les films avec les meilleurs méchants du cinéma d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5301, + "name": "Avengers", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Avengers", + "subTitle": "films de la saga Avengers", + "description": "Plongez dans l'univers épique des films Avengers et de l’incroyable MCU ! Découvrez les aventures des héros iconiques comme Iron Man, Captain America, Thor, ou encore Spider-Man. Préparez-vous pour une nouvelle épopée et explorez un univers où l'action et la magie s'entrelacent. Quel sera votre prochain film dans cette série légendaire ?" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5271, + "name": "Geek", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + }, + { + "__typename": "Tag", + "internalId": 857, + "name": "Expérience scientifique / Chercheur scientifique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6068, + "name": "Marvel Cinematic Universe", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films Marvel Cinematic Universe", + "subTitle": "films Marvel MCU", + "description": "Vous êtes fan de Marvel ? Les films Marvel Cinematic Universe ont redéfini le cinéma mondial. Réalisés par des talents comme les frères Russo, de Spider-Man à Captain Marvel, chaque films Marvel MCU s'intègre à un univers cinématique soigneusement construit. Découvrez les meilleurs film Marvel Cinematic Universe (MCU) à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5105, + "name": "Adaptation de comic-book Marvel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés de comics Marvel", + "subTitle": "films adaptés de comic book Marvel", + "description": "Vous êtes fan de comics Marvel ? Découvrez quels sont les meilleurs adaptations de comic book Marvel au cinéma à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2700, + "name": "Effets spéciaux / Trucages", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2771, + "name": "Equipe / Equipage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5238, + "name": "Super-héros / Super-héroïne", + "scope": "THEME", + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de super-héros", + "subTitle": "films avec des super-héros", + "description": "Quels sont les meilleurs films de super-héros ? Découvrez les meilleurs films avec des super-héros d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2719, + "name": "Image de synthèse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5291, + "name": "Etats-Unis", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": true, + "hasNews": true, + "hasOnlineProduct": true, + "hasOnlineRelease": true, + "hasPhysicalProduct": true, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": true, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": true, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": true + }, + "synopsisFull": "

Thanos ayant anéanti la moitié de l’univers, les Avengers restants resserrent les rangs dans ce vingt-deuxième film des Studios Marvel, grande conclusion d’un des chapitres de l’Univers Cinématographique Marvel.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 80903750388, + "startsAt": "2026-09-28T16:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=16:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + }, + { + "__typename": "Showtime", + "internalId": 81950966711, + "startsAt": "2026-09-28T20:05:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": [ + "DOLBY_ATMOS", + "INFINITY_VISION" + ], + "comfort": null, + "projection": [ + "F_4K", + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Auditorium.Experience.DolbyAtmos", + "Format.Projection.4k", + "Localization.Language.French", + "Auditorium.Experience.InfinityVision", + "BoostPos.XpEtLabels.Orium", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.232669&tags=Localization.Language.French,Auditorium.Experience.DolbyAtmos,Auditorium.Experience.InfinityVision,BoostPos.XpEtLabels.Orium,Format.Projection.4k,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:05" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": true + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000032856, + "id": "TW92aWU6MTAwMDAzMjg1Ng==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2OTA0Ng==", + "internalId": 9002069046, + "url": "https://fr.web.img5.acsta.net/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg", + "path": "/img/78/a7/78a70db88122966584f6dd674da06a6d.jpg" + }, + "title": "Tombé du ciel", + "originalTitle": "Tombé du ciel", + "type": "FEATURE_FILM", + "runtime": "1h 32min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + }, + { + "id": 13036, + "translate": "Famille", + "tag": "FAMILY" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.21, + "count": 3078 + }, + "userReview": { + "count": 1380 + }, + "pressReview": { + "score": 2.57, + "count": 7 + }, + "metric": { + "hits": 1373412, + "sessions": 800557 + }, + "wantToSeeCount": 915 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-08-12", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "165652" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 480873, + "lastName": "Hamidi", + "firstName": "Mohamed", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 997796, + "lastName": "Djadel", + "firstName": "Ilyes", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 8124, + "lastName": "Balasko", + "firstName": "Josiane", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 74197, + "lastName": "Testot", + "firstName": "Fred", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 1142, + "name": "Ecole religieuse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 831, + "name": "Pensionnat", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4061, + "name": "Humoriste", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2047, + "name": "Religion / Prière et lieux de cultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 3466, + "name": "Professeur / Enseignant", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2068, + "name": "Pape / Prêtre / Curé / Moine / Bonne soeur / Religieux", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5257, + "name": "Rire", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2703, + "name": "Situation comique / Gag", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Ilyes mène une vie joyeuse dans la banlieue de Roubaix. Seul problème : le bac. Après avoir échoué deux fois, c’est sa dernière chance de l’avoir et de rendre enfin fier ses parents. Mais un incendie survient pendant le bac blanc, et on l’accuse d’en être à l’origine… Exclu de son lycée, il doit quitter son quartier et aller dans le seul établissement qui l’accepte : le pensionnat catholique de Saint-Albert-le-Grand, en Bourgogne. Entre choc des cultures et quête de rédemption, Ilyes va devoir surmonter ses préjugés… Et ceux des autres.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966585, + "startsAt": "2026-09-28T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966448, + "startsAt": "2026-09-28T18:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000032856&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=18:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + }, + { + "type": "paragraph", + "children": [ + { + "text": " " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294281, + "id": "TW92aWU6Mjk0Mjgx", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NQ==", + "internalId": 9002074645, + "url": "https://fr.web.img5.acsta.net/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg", + "path": "/img/fe/af/feaf214ef84e96e437f8c65e7c540e86.jpg" + }, + "title": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "originalTitle": "La Bataille de Gaulle - Partie 2 : J’écris ton nom", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2025, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.5, + "count": 8021 + }, + "userReview": { + "count": 1150 + }, + "pressReview": { + "score": 3.86, + "count": 28 + }, + "metric": { + "hits": 2167161, + "sessions": 994728 + }, + "wantToSeeCount": 3353 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-26", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "160148" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 230890, + "lastName": "Schneider", + "firstName": "Niels", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 454402, + "lastName": "Vartolomei", + "firstName": "Anamaria", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966594, + "startsAt": "2026-09-28T13:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294281&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Alors que la Seconde Guerre mondiale éclate et que l'invasion allemande est imminente, Babi Maklouf, gardien de nuit au Musée du Louvre, se voit confier la tâche de transporter certains de ses trésors hors de Paris.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 323826, + "id": "TW92aWU6MzIzODI2", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjAwNjM1Ng==", + "internalId": 9002006356, + "url": "https://fr.web.img4.acsta.net/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg", + "path": "/img/5b/2e/5b2e76c638253f412a5deea5a9d849e7.jpg" + }, + "title": "Les Héros du Louvre", + "originalTitle": "Les Héros du Louvre", + "type": "FEATURE_FILM", + "runtime": "1h 45min", + "genres": [ + { + "id": 13008, + "translate": "Drame", + "tag": "DRAMA" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.18, + "count": 507 + }, + "userReview": { + "count": 162 + }, + "pressReview": { + "score": 2.5, + "count": 12 + }, + "metric": { + "hits": 323900, + "sessions": 180342 + }, + "wantToSeeCount": 644 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "155392" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30724, + "lastName": "Chouraqui", + "firstName": "Élie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 38439, + "lastName": "Merad", + "firstName": "Kad", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 16749, + "lastName": "Gillain", + "firstName": "Marie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 967059, + "lastName": "de Nunez", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6060, + "name": "Histoire vraie pendant la guerre", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 175, + "name": "Musée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2454, + "name": "Gardien / Agent de sécurité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 329, + "name": "Peintres / Peintures / Tableaux / Dessins", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1787, + "name": "Sauvetage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 668, + "name": "Adaptation de BD", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 591, + "name": "Paris", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films à Paris", + "subTitle": "films sur Paris", + "description": "La Ville Lumière brille aussi au cinéma. Découvrez les meilleurs films sur Paris, qu’il s’agisse de comédies romantiques, de drames émouvants ou de thrillers haletants. De \"Midnight in Paris\" à \"Le Fabuleux Destin d’Amélie Poulain\", Paris est le décor parfait" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 855, + "name": "Nazisme / Fascisme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4717, + "name": "Inspiré d'une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 520, + "name": "D'après une histoire vraie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Paris 1939. Amoureux des arts, Babi Maklouf Benhamou exerce le plus beau métier du monde : il est gardien de nuit au musée du Louvre. Mais alors que la Seconde Guerre mondiale éclate et que l’invasion allemande est imminente, Jacques Jaujard, le conservateur du musée, organise le sauvetage secret des œuvres d’art afin qu’elles ne tombent pas aux mains des nazis. Il confie alors à Babi l’un des camions chargés de transporter les chefs-d'œuvre hors de Paris. Babi accepte, à une condition : que toute sa famille l’accompagne… C’est le début d’une aventure familiale épique et dangereuse à travers la France occupée, qui va lier à jamais le destin des trésors du Louvre à celui de la famille de Babi Maklouf…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966741, + "startsAt": "2026-09-28T13:35:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.323826&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=13:35" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000013045, + "id": "TW92aWU6MTAwMDAxMzA0NQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA1NDA2OA==", + "internalId": 9002054068, + "url": "https://fr.web.img6.acsta.net/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg", + "path": "/img/a7/70/a770a3822c90a655af05961cda53f3a1.jpg" + }, + "title": "L'Odyssée", + "originalTitle": "The Odyssey", + "type": "FEATURE_FILM", + "runtime": "2h 53min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.3, + "count": 13901 + }, + "userReview": { + "count": 4633 + }, + "pressReview": { + "score": 4.09, + "count": 35 + }, + "metric": { + "hits": 6918756, + "sessions": 3360964 + }, + "wantToSeeCount": 8346 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-15", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12", + "label": "Interdit - 12 ans" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167898" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 30367, + "lastName": "Nolan", + "firstName": "Christopher", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 1192, + "lastName": "Damon", + "firstName": "Matt", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 65719, + "lastName": "Hathaway", + "firstName": "Anne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5647, + "name": "Ulysse", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 6064, + "name": "Film long", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1828, + "name": "Guerrier", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1098, + "name": "Antiquité - Péplum", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5203, + "name": "Parcours initiatique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1108, + "name": "Blockbusters / Superproductions", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "Blockbusters", + "subTitle": "Blockbusters", + "description": "Quels sont les meilleurs blockbusters ? Découvrez les meilleurs blockbusters à voir d'après une sélection de la rédaction." + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5137, + "name": "Combat / Bagarre / Castagne", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1046, + "name": "Violence", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

L’Odyssée est une épopée mythique tournée à travers le monde qui suit le retour d'Ulysse vers Ithaque. Pour la première fois, la saga fondatrice d'Homère est portée sur les écrans de manière spectaculaire avec la toute dernière technologie IMAX.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966666, + "startsAt": "2026-09-28T20:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=20:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 82135057953, + "startsAt": "2026-09-28T14:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000013045&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=14:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 276608, + "id": "TW92aWU6Mjc2NjA4", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA2MDEwNA==", + "internalId": 9002060104, + "url": "https://fr.web.img5.acsta.net/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg", + "path": "/img/cd/90/cd90255ae37ff659dab73bd1c422c9b5.jpg" + }, + "title": "Spider-Man: Brand New Day", + "originalTitle": "Spider-Man: Brand New Day", + "type": "FEATURE_FILM", + "runtime": "2h 25min", + "genres": [ + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + }, + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.09, + "count": 8421 + }, + "userReview": { + "count": 888 + }, + "pressReview": { + "score": 3.24, + "count": 25 + }, + "metric": { + "hits": 2958434, + "sessions": 1573750 + }, + "wantToSeeCount": 5517 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-07-29", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167934" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 622552, + "lastName": "Cretton", + "firstName": "Destin Daniel", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 588862, + "lastName": "Holland", + "firstName": "Tom", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 512064, + "lastName": "Zendaya", + "firstName": null, + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 665139, + "lastName": "Sink", + "firstName": "Sadie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 6, + "name": "Spider-Man", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": " films Spider-Man", + "subTitle": " films saga Spider-Man", + "description": "Quels sont les meilleurs films Spider-Man, le héros emblématique de l'univers Marvel ? Entre les versions Sam Raimi avec Tobey Maguire, The Amazing Spider-Man porté par Andrew Garfield, Tom Holland et sans oublier Venom, découvrez notre classement des films Spider-Man" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

C’est un tout nouveau jour pour Peter Parker Dans un monde qui ne se souvient plus de lui, il poursuit sans relâche sa lutte contre la criminalité. Mais le sentiment d’avoir été oublié par ses amis qui avancent désormais sans lui provoque un changement chez Peter qu’il n’est peut-être pas en mesure de contrôler. Et pourtant, c’est cette mutation qui pourrait être sa seule chance de s’opposer à un adversaire terrifiant, capable d’agir sans jamais être repéré et prêt à s’attaquer à la ville et à tous les proches de Spider-Man. Car si le monde ne se souvient plus de Peter Parker, lui ne l’a pas oublié…

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966492, + "startsAt": "2026-09-28T15:30:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=15:30" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + }, + { + "__typename": "Showtime", + "internalId": 81950966466, + "startsAt": "2026-09-28T17:25:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.276608&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=17:25" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000018854, + "id": "TW92aWU6MTAwMDAxODg1NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjExNDg0Mg==", + "internalId": 9002114842, + "url": "https://fr.web.img4.acsta.net/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg", + "path": "/img/1d/65/1d653b3f832f0f7ca7016e650207798f.jpg" + }, + "title": "Resident Evil", + "originalTitle": "Resident Evil", + "type": "FEATURE_FILM", + "runtime": "1h 37min", + "genres": [ + { + "id": 13021, + "translate": "Science Fiction", + "tag": "SCIENCE_FICTION" + }, + { + "id": 13009, + "translate": "Epouvante-horreur", + "tag": "HORROR" + }, + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.85, + "count": 1788 + }, + "userReview": { + "count": 367 + }, + "pressReview": { + "score": 3.8, + "count": 15 + }, + "metric": { + "hits": 598107, + "sessions": 328121 + }, + "wantToSeeCount": 1789 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "-12A", + "label": "Interdit - 12 ans avec avertissement" + }, + "advice": "Certaines scènes violentes concernant des enfants sont susceptibles de heurter un jeune public non averti.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "168141" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 124791, + "lastName": "Cregger", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 606912, + "lastName": "Abrams", + "firstName": "Austin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 586132, + "lastName": "Hauser", + "firstName": "Paul Walter", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 825143, + "lastName": "Cherry", + "firstName": "Zach", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + }, + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2353, + "name": "Resident Evil", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de la série Resident Evil", + "subTitle": "films de la saga Resident Evil", + "description": "Inspirés des célèbres jeux vidéo, les films de la série Resident Evil avec Milla Jovovich dans le rôle d'Alice offrent un retour captivant dans Raccoon City, épicentre du chaos. Succès mondial, cette série cinématographique mêle zombies, science-fiction et tension" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Versions" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1099, + "name": "Adaptation de jeu vidéo", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films adaptés d'un jeu vidéo", + "subTitle": null, + "description": "Vous aimez les adaptations de jeux vidéo au cinéma ? Découvrez les meilleurs films adaptés de jeux vidéo à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 678, + "name": "Zombie / Mort-vivant / Contaminés", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films de zombies", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants au cinéma ? Découvrez quels sont les meilleurs films de zombies à voir d'après la sélection de la rédaction" + }, + "series": { + "title": "séries de mort-vivant", + "subTitle": null, + "description": "Vous aimez voir des morts-vivants à la TV ? Découvrez quelles sont les meilleures séries de zombies à voir d'après la sélection de la rédaction" + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4920, + "name": "Survival", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1679, + "name": "Peur", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Ambiance" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5254, + "name": "Frissons", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5275, + "name": "Jeunes adultes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": false, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Bryan, coursier médical, s'engage dans une course effrénée pour survivre, alors qu'autour de lui le monde s'enfonce dans un chaos total.

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966699, + "startsAt": "2026-09-28T21:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=21:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966457, + "startsAt": "2026-09-28T15:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000018854&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=15:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. ", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance. " + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 294280, + "id": "TW92aWU6Mjk0Mjgw", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NDY0NA==", + "internalId": 9002074644, + "url": "https://fr.web.img6.acsta.net/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg", + "path": "/img/61/de/61dec3511b1ef0a65757a438ca898bbb.jpg" + }, + "title": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "originalTitle": "La Bataille de Gaulle - partie 1 : L'Âge de Fer", + "type": "FEATURE_FILM", + "runtime": "2h 40min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13015, + "translate": "Historique", + "tag": "HISTORICAL" + } + ], + "languages": [ + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 4.42, + "count": 10250 + }, + "userReview": { + "count": 1780 + }, + "pressReview": { + "score": 3.5, + "count": 38 + }, + "metric": { + "hits": 4112290, + "sessions": 1962120 + }, + "wantToSeeCount": 4391 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-07", + "precision": "day" + }, + "name": "Vod", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VOD" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI3NQ==", + "internalId": 50275, + "name": "VIVA" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-10-01", + "precision": "day" + }, + "name": "Vodest", + "certificate": null, + "advice": null, + "companyLimitation": { + "id": "Q29tcGFueTo1MDI4MA==", + "internalId": 50280, + "name": "PremiereMax" + }, + "releaseTags": { + "tagTypes": [ + "ONLINE", + "ONLINE_VODEST" + ], + "tagFlags": null + }, + "visaNumber": null + }, + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-06-03", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Une scène de bataille montrant des morts et des corps mutilés et la bande-son sont susceptibles d'impressionner un public sensible ou jeune.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "159694" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 658205, + "lastName": "Baudry", + "firstName": "Antonin", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15884, + "lastName": "Abkarian", + "firstName": "Simon", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 97483, + "lastName": "Beale", + "firstName": "Simon Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 941845, + "lastName": "Lesieur", + "firstName": "Florian", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5001, + "name": "France", + "localizedName": "France" + }, + { + "__typename": "Country", + "id": 5014, + "name": "Belgium", + "localizedName": "Belgique" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5276, + "name": "Winston Churchill", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5717, + "name": "Charles de Gaulle", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.HistoricalCharacter" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1000001736, + "name": "CANNES_2026", + "scope": "TRACKING", + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4764, + "name": "Occupation allemande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1145, + "name": "Collaboration et résistance", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1128, + "name": "Fresque historique", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5183, + "name": "Londres", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.City" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5117, + "name": "Bataille / Champ de bataille", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1328, + "name": "Ambiance 40's - années 40", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5206, + "name": "Personnalités politiques / Politique / Politicien", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5229, + "name": "Seconde Guerre mondiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 786, + "name": "Biopic / Biographie / Biographie romancée", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 908, + "name": "Portrait d'homme", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4633, + "name": "France", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location", + "Tag.Localization.Country" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": true, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Juin 1940. La France s'effondre et signe l’armistice. Au milieu du chaos, un homme refuse de céder. Seul contre tous, ce général inconnu s'échappe vers Londres pour sauver ce qu'il reste d'un rêve : la liberté. Sans armée, sans appui, sans espoir. Mais avec une folle conviction : la France, sa France, n'a pas déposé les armes. Il tente un ultime pari : convaincre le monde que la bataille de France n'est ni terminée, ni perdue. La réalité est têtue, et lui donne tort. Mais peu à peu se lèvent autour de lui en Angleterre, en France et en Afrique des résistants de l'ombre, des lycéens révoltés, des soldats déterminés. Leur foi, leur audace, leur rage de liberté défient l'Histoire qui semblait pourtant écrite d’avance.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966581, + "startsAt": "2026-09-28T15:45:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.294280&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=15:45" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?" + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000019874, + "id": "TW92aWU6MTAwMDAxOTg3NA==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwMTczNA==", + "internalId": 9002101734, + "url": "https://fr.web.img3.acsta.net/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg", + "path": "/img/14/20/142026a9ee3fb83800e19232c9cc0998.jpg" + }, + "title": "Les Contrebandiers", + "originalTitle": "The Weight", + "type": "FEATURE_FILM", + "runtime": "1h 53min", + "genres": [ + { + "id": 13023, + "translate": "Thriller", + "tag": "THRILLER" + }, + { + "id": 13025, + "translate": "Action", + "tag": "ACTION" + }, + { + "id": 13001, + "translate": "Aventure", + "tag": "ADVENTURE" + } + ], + "languages": [ + "ENGLISH", + "FRENCH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.28, + "count": 486 + }, + "userReview": { + "count": 94 + }, + "pressReview": { + "score": 3.13, + "count": 30 + }, + "metric": { + "hits": 320867, + "sessions": 219269 + }, + "wantToSeeCount": 999 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "UA", + "label": "Tout public avec avertissement" + }, + "advice": "Plusieurs scènes violentes peuvent heurter un public jeune ou sensible.", + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": "167970" + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 99555, + "lastName": "McKinley", + "firstName": "Padraic", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 3336, + "lastName": "Hawke", + "firstName": "Ethan", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 20966, + "lastName": "Crowe", + "firstName": "Russell", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 154714, + "lastName": "Jones", + "firstName": "Julia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5129, + "name": "Germany", + "localizedName": "Allemagne" + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5958, + "name": "Oregon", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Location" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5403, + "name": "Camp de travail / Travail forcé", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 788, + "name": "Grande dépression", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": true, + "scope": { + "userRating": { + "movie": { + "title": "films sur la Grande Dépression", + "subTitle": null, + "description": "Vous aimez les films de la crise économique des années 1930 ? Découvrez quels sont les meilleurs films sur La Grande Dépressions à voir" + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 622, + "name": "Contrebande", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5241, + "name": "Trésor", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 289, + "name": "Nature et vie sauvage", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 603, + "name": "Périple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 962, + "name": "Ambiance 30's - années 30", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Time" + ] + } + }, + { + "__typename": "Tag", + "internalId": 486, + "name": "Rivalité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 660, + "name": "Premier film", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5324, + "name": "Adrénaline", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Envies" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Oregon, 1933. Après la mort de sa femme, Samuel Murphy est arraché à sa fille et envoyé dans un camp de travail impitoyable. Lorsqu’un surveillant sans scrupule lui promet la liberté contre une périlleuse mission de contrebande d’or, Murphy saisit sa seule chance de rentrer chez lui. Il s’embarque alors dans une expédition de tous les dangers, au cœur d’une nature hostile, où les trahisons se multiplient. Jusqu’où Murphy sera-t-il prêt à aller pour revoir sa fille ?

" + }, + "showtimes": { + "original": [ + { + "__typename": "Showtime", + "internalId": 81950966562, + "startsAt": "2026-09-28T21:00:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Version.Original", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "ORIGINAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019874&tags=Localization.Version.Original,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=21:00" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966596, + "startsAt": "2026-09-28T16:35:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "LOCAL", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000019874&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=16:35" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 1000004679, + "id": "TW92aWU6MTAwMDAwNDY3OQ==", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjEwODc2Ng==", + "internalId": 9002108766, + "url": "https://fr.web.img5.acsta.net/img/05/d0/05d0dcb033bc9dced645815301b59394.jpg", + "path": "/img/05/d0/05d0dcb033bc9dced645815301b59394.jpg" + }, + "title": "Les Ensorceleuses 2", + "originalTitle": "Practical Magic 2", + "type": "FEATURE_FILM", + "runtime": "2h 10min", + "genres": [ + { + "id": 13024, + "translate": "Romance", + "tag": "ROMANCE" + }, + { + "id": 13012, + "translate": "Fantastique", + "tag": "FANTASY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 2.42, + "count": 271 + }, + "userReview": { + "count": 59 + }, + "pressReview": { + "score": 1.8, + "count": 10 + }, + "metric": { + "hits": 267297, + "sessions": 158632 + }, + "wantToSeeCount": 614 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-09", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 3877, + "lastName": "Bier", + "firstName": "Susanne", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 15760, + "lastName": "Kidman", + "firstName": "Nicole", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 4700, + "lastName": "Bullock", + "firstName": "Sandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 842415, + "lastName": "Bradley", + "firstName": "Cassie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 15760, + "lastName": "Kidman", + "firstName": "Nicole", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 4700, + "lastName": "Bullock", + "firstName": "Sandra", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 842415, + "lastName": "Bradley", + "firstName": "Cassie", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 5235, + "name": "Sorciers / Sorcières / Sorcellerie", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 241, + "name": "Pouvoirs surnaturels", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 148, + "name": "Malédiction", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5234, + "name": "Soeurs", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1675, + "name": "Groupe de femmes", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2512, + "name": "Suite / Sequel", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.SubGenre" + ] + } + }, + { + "__typename": "Tag", + "internalId": 607, + "name": "Famille / Relation familiale", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": false, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": true, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Les sœurs Owens affrontent la sombre malédiction qui menace de détruire leur famille une fois pour toutes, dans un événement cinématographique mêlant divertissement, magie et chaos.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966690, + "startsAt": "2026-09-28T18:20:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Showtime.Accessibility.Dubbed", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.1000004679&tags=Localization.Language.French,Showtime.Accessibility.Dubbed,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=18:20" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + }, + { + "movie": { + "synopsis": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.", + "synopsis_json": { + "__typename": "BodyJson", + "body": [ + { + "type": "paragraph", + "children": [ + { + "text": "Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes." + } + ] + } + ] + }, + "__typename": "Movie", + "internalId": 317219, + "id": "TW92aWU6MzE3MjE5", + "poster": { + "__typename": "InternalImage", + "id": "SW1hZ2U6OTAwMjA3NjUxMw==", + "internalId": 9002076513, + "url": "https://fr.web.img2.acsta.net/img/31/b1/31b1faa3ca361d78ca82078f8accda1e.jpg", + "path": "/img/31/b1/31b1faa3ca361d78ca82078f8accda1e.jpg" + }, + "title": "L'Invitation", + "originalTitle": "The Invite", + "type": "FEATURE_FILM", + "runtime": "1h 47min", + "genres": [ + { + "id": 13005, + "translate": "Comédie", + "tag": "COMEDY" + } + ], + "languages": [ + "ENGLISH" + ], + "data": { + "__typename": "MovieData", + "seo": { + "__typename": "Seo", + "browsable": true, + "title": null + }, + "productionYear": 2026, + "rules": { + "rating": { + "has_warning_message": false, + "has_mandatory_review": false + } + } + }, + "stats": { + "userRating": { + "score": 3.23, + "count": 1123 + }, + "userReview": { + "count": 179 + }, + "pressReview": { + "score": 3.56, + "count": 34 + }, + "metric": { + "hits": 424685, + "sessions": 244561 + }, + "wantToSeeCount": 1862 + }, + "editorialReviews": [], + "releases": [ + { + "__typename": "MovieRelease", + "releaseDate": { + "__typename": "PartialDate", + "date": "2026-09-16", + "precision": "day" + }, + "name": "Released", + "certificate": { + "__typename": "Certificate", + "code": "U", + "label": "Tout public" + }, + "advice": null, + "companyLimitation": null, + "releaseTags": { + "tagTypes": [ + "THEATER" + ], + "tagFlags": null + }, + "visaNumber": null + } + ], + "credits": [ + { + "person": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "position": { + "__typename": "Position", + "name": "DIRECTOR", + "department": "DIRECTION" + }, + "rank": 1 + } + ], + "cast": { + "__typename": "castMemberConnection", + "edges": [ + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 124415, + "lastName": "Rogen", + "firstName": "Seth", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + } + }, + { + "node": { + "actor": { + "__typename": "Person", + "internalId": 3614, + "lastName": "Cruz", + "firstName": "Penélope", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + } + ], + "nodes": [ + { + "actor": { + "__typename": "Person", + "internalId": 124415, + "lastName": "Rogen", + "firstName": "Seth", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 1 + }, + { + "actor": { + "__typename": "Person", + "internalId": 104785, + "lastName": "Wilde", + "firstName": "Olivia", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 2 + }, + { + "actor": { + "__typename": "Person", + "internalId": 3614, + "lastName": "Cruz", + "firstName": "Penélope", + "seo": { + "__typename": "Seo", + "browsable": true + } + }, + "voiceActor": null, + "originalVoiceActor": null, + "rank": 3 + } + ] + }, + "countries": [ + { + "__typename": "Country", + "id": 5002, + "name": "USA", + "localizedName": "U.S.A." + } + ], + "relatedTags": [ + { + "__typename": "Tag", + "internalId": 2622, + "name": "Remake de film espagnol", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 4603, + "name": "Dîner", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 229, + "name": "Huis clos", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 586, + "name": "Voisins", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 2886, + "name": "Immeuble / Gratte-ciel / Appartement", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 615, + "name": "Adaptation d'une pièce / De la scène à l'écran (théâtre)", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.OeuvreDOrigine" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1792, + "name": "Jeu de séduction / Drague", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Environnement" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1961, + "name": "Sexe - sexualité", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Keyword" + ] + } + }, + { + "__typename": "Tag", + "internalId": 1728, + "name": "Portrait de couple / Relation de couple", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.Characteristic" + ] + } + }, + { + "__typename": "Tag", + "internalId": 5259, + "name": "Art et essai", + "scope": null, + "data": { + "seo": { + "browsable": true, + "friendly": false, + "scope": { + "userRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "pressRating": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "popularity": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + }, + "ranking": { + "movie": { + "title": null, + "subTitle": null, + "description": null + }, + "series": { + "title": null, + "subTitle": null, + "description": null + } + } + } + } + }, + "tags": { + "list": [ + "Tag.Type.PublicVise" + ] + } + } + ], + "flags": { + "hasDvdRelease": false, + "hasNews": true, + "hasOnlineProduct": false, + "hasOnlineRelease": false, + "hasPhysicalProduct": false, + "hasPreview": false, + "hasShowtime": true, + "hasSoundtrack": false, + "hasTheaterRelease": true, + "hasTrivia": true, + "hasAwards": true, + "isLesIndes": true, + "isIncontestable": false, + "isClubApproved": [], + "hasClubNews": [], + "isComingSoon": false, + "isPlayingNow": true, + "tvRelease": false, + "hasTeaser": false, + "hasTrailer": true + }, + "customFlags": { + "isPremiere": false, + "weeklyOuting": false + }, + "synopsisFull": "

Angela et Joe invitent leurs mystérieux nouveaux voisins du dessus à dîner. La soirée va alors rapidement faire voler en éclats toutes leurs certitudes.

" + }, + "showtimes": { + "original": [], + "original_st": [], + "original_sme": [], + "multiple": [ + { + "__typename": "Showtime", + "internalId": 81950966708, + "startsAt": "2026-09-28T18:50:00", + "timeBeforeStart": "PT0H0M0S", + "service": null, + "experience": null, + "comfort": null, + "projection": [ + "DIGITAL" + ], + "picture": null, + "sound": null, + "tags": [ + "Localization.Language.French", + "Format.Projection.Digital", + "Showtime.Accessibility.Accessible" + ], + "diffusionVersion": "DUBBED", + "data": { + "__typename": "ShowtimeData", + "ticketing": [ + { + "__typename": "Ticketing", + "urls": [ + "https://relay.mvtx.us/ticketing/dbz?code_theater=G0FOX&gid_entity=movie.movie._.317219&tags=Localization.Language.French,Format.Projection.Digital,Showtime.Accessibility.Accessible&perfd=20260928&perft=18:50" + ], + "type": "DESKTOP", + "provider": "relay" + } + ] + }, + "isPreview": false, + "isWeeklyMovieOuting": false + } + ], + "multiple_st": [], + "multiple_sme": [] + } + } + ], + "params": { + "experience": null, + "projection": null, + "comfort": null, + "picture": null, + "sound": null, + "versionDetail": null, + "page": 1 + }, + "facets": [ + { + "__typename": "Facets", + "name": "showtimes.projection", + "values": [ + { + "key": "Digital", + "translation": { + "tag": "DIGITAL", + "name": "Numérique" + } + }, + { + "key": "4k", + "translation": { + "tag": "F_4K", + "name": "4K" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.experience", + "values": [ + { + "key": "DolbyAtmos", + "translation": { + "tag": "DOLBY_ATMOS", + "name": "Dolby Atmos" + } + }, + { + "key": "InfinityVision", + "translation": { + "tag": "INFINITY_VISION", + "name": "Infinity Vision" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.comfort", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.version_detail", + "values": [ + { + "key": "Dubbed", + "versionDetail": "DUBBED" + }, + { + "key": "Local", + "versionDetail": "LOCAL" + }, + { + "key": "Original", + "versionDetail": "ORIGINAL" + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.picture", + "values": [] + }, + { + "__typename": "Facets", + "name": "showtimes.sound", + "values": [ + { + "key": "71", + "translation": { + "tag": "S_71", + "name": "7.1" + } + } + ] + }, + { + "__typename": "Facets", + "name": "showtimes.service", + "values": [] + } + ], + "pagination": { + "page": 1, + "totalPages": 1, + "itemsPerPage": 15, + "totalItems": 13 + }, + "data": null + } + } + } + ] +} diff --git a/tests/test_allocine.py b/tests/test_allocine.py index 8a79f57..8359eef 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -33,6 +33,14 @@ def test_get_showtimes_defaults_to_today(allocine: Allocine, json_snapshot, allo assert [asdict(showtime) for showtime in showtimes] == json_snapshot +@freeze_time("2026-09-28") +def test_get_showtimes_clamps_past_from_date_to_today(allocine: Allocine, json_snapshot, allocine_vcr): + showtimes = allocine.get_showtimes("G0FOX", from_date=date(2026, 9, 26)) + + assert [asdict(showtime) for showtime in showtimes] == json_snapshot + + +@freeze_time("2026-09-27") def test_get_showtimes_fetches_inclusive_date_range(allocine: Allocine, json_snapshot, allocine_vcr): showtimes = allocine.get_showtimes( "G0FOX", From ac816f390bd86ff09f5508d7ca1a28a419c4d981 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:15:58 +0200 Subject: [PATCH 17/26] Treat missing showtimes as empty --- allocine/api.py | 27 ++++-- ...eats_not_found_as_empty_without_retry.json | 85 +++++++++++++++++++ tests/test_allocine.py | 5 ++ 3 files changed, 112 insertions(+), 5 deletions(-) create mode 100644 tests/cassettes/get_showtimes_treats_not_found_as_empty_without_retry.json diff --git a/allocine/api.py b/allocine/api.py index 19f53e3..37a875b 100644 --- a/allocine/api.py +++ b/allocine/api.py @@ -39,7 +39,10 @@ def get_showtimelist_by_theater_id( if page: url += f"p-{page}/" - return self._get(url) + response = self._request(url, 200, not_found_ok=True) + if response.status_code == 404: + return {"results": []} + return response.json() def get_showtimes_by_movie_and_theater_id( self, @@ -77,7 +80,14 @@ def _get(self, url: str, expected_status: int = 200, *args, **kwargs) -> dict: def _get_text(self, url: str, expected_status: int = 200, *args, **kwargs) -> str: return self._request(url, expected_status, *args, **kwargs).text - def _request(self, url: str, expected_status: int, *args, **kwargs) -> httpx2.Response: + def _request( + self, + url: str, + expected_status: int, + *args, + not_found_ok: bool = False, + **kwargs, + ) -> httpx2.Response: params = kwargs.get("params") cached = self.cache.get(url, params) if cached is not CACHE_MISS and cached.is_fresh(): @@ -92,7 +102,7 @@ def _request(self, url: str, expected_status: int, *args, **kwargs) -> httpx2.Re kwargs["headers"] = headers try: - response = self._fetch(url, expected_status, *args, **kwargs) + response = self._fetch(url, expected_status, *args, not_found_ok=not_found_ok, **kwargs) except (ValueError, httpx2.HTTPError): if cached is not CACHE_MISS and cached.can_serve_on_error(): return cached.to_response() @@ -104,9 +114,16 @@ def _request(self, url: str, expected_status: int, *args, **kwargs) -> httpx2.Re return response @backoff.on_exception(backoff.expo, ValueError, max_tries=5, max_time=30) - def _fetch(self, url: str, expected_status: int, *args, **kwargs) -> httpx2.Response: + def _fetch( + self, + url: str, + expected_status: int, + *args, + not_found_ok: bool = False, + **kwargs, + ) -> httpx2.Response: ret = self.session.get(url, *args, **kwargs) - if ret.status_code not in {expected_status, 304}: + if ret.status_code not in {expected_status, 304} and not (not_found_ok and ret.status_code == 404): raise ValueError("{!r} : expected status {}, received {}".format(url, expected_status, ret.status_code)) return ret diff --git a/tests/cassettes/get_showtimes_treats_not_found_as_empty_without_retry.json b/tests/cassettes/get_showtimes_treats_not_found_as_empty_without_retry.json new file mode 100644 index 0000000..5e77559 --- /dev/null +++ b/tests/cassettes/get_showtimes_treats_not_found_as_empty_without_retry.json @@ -0,0 +1,85 @@ +{ + "version": 1, + "interactions": [ + { + "request": { + "method": "GET", + "uri": "https://www.allocine.fr/_/showtimes/theater-C0125/d-2026-09-29/", + "body": "", + "headers": { + "host": [ + "www.allocine.fr" + ], + "accept": [ + "*/*" + ], + "accept-encoding": [ + "gzip, deflate" + ], + "connection": [ + "keep-alive" + ], + "user-agent": [ + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:63.0) Gecko/20100101 Firefox/63.0" + ] + } + }, + "response": { + "status": { + "code": 404, + "message": "Not Found" + }, + "headers": { + "date": [ + "Mon, 28 Sep 2026 12:15:00 GMT" + ], + "content-type": [ + "text/html; charset=UTF-8" + ], + "transfer-encoding": [ + "chunked" + ], + "connection": [ + "keep-alive" + ], + "vary": [ + "Accept,Origin, accept-encoding" + ], + "cache-control": [ + "max-age=60, private" + ], + "x-cloud-trace-context": [ + "5288f60676e1c95fc917e9dd0f4f332a" + ], + "server": [ + "cloudflare" + ], + "via": [ + "1.1 google" + ], + "alt-svc": [ + "h3=\":443\"; ma=86400" + ], + "cf-cache-status": [ + "BYPASS" + ], + "nel": [ + "{\"report_to\":\"cf-nel\",\"success_fraction\":0.01,\"max_age\":604800}" + ], + "report-to": [ + "{\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=nJnmNWu9RcNGbXUbEFOxV%2B7iBuXQ5%2BZnf%2BceW5z1fEYuag1R6IIQvTdZ30wDFsNNIapPTZqGsK1HlhP6Yc7mWP2J6G0yNYvDTxZoHtIDzqJSCqRlSRT1paRRWoiXyij7FA%3D%3D\"}]}" + ], + "cf-ray": [ + "a422abcca81ad08f-CDG" + ], + "content-length": [ + "104795" + ] + }, + "body": { + "string": "\n\n\n\n \n \n \n \n \n Erreur 404 - allocine\n \n\n \n\n\n\n\n
\n
\n \n
\n
\n \n \"allocine\"\n AlloCiné\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n Erreur 404 - Page introuvable\n
\n

\n Cette page s'est perdue dans les limbes.\n

\n
\n

\n La page que vous cherchez n'existe pas.\n Nous vous prions de bien vouloir nous en excuser.\n

\n
\n Accédez à la page d’accueil\n ou contactez nous\n
\n
\n Copyright - Warner Bros. - Inception\n
\n
\n
\n
\n
\n
\n \n
\n

\n Retrouvez tous les horaires et infos de votre cinéma sur le numéro AlloCiné :\n 0 892 892 892\n (0,90€/minute)\n

\n \n
\n
\n
\n\n \n\n \n\n\n \n \n \n \n \n\n\n\n" + } + } + } + ] +} diff --git a/tests/test_allocine.py b/tests/test_allocine.py index 8359eef..8c76aec 100644 --- a/tests/test_allocine.py +++ b/tests/test_allocine.py @@ -51,6 +51,11 @@ def test_get_showtimes_fetches_inclusive_date_range(allocine: Allocine, json_sna assert [asdict(showtime) for showtime in showtimes] == json_snapshot +@freeze_time("2026-09-28") +def test_get_showtimes_treats_not_found_as_empty_without_retry(allocine: Allocine, allocine_vcr): + assert allocine.get_showtimes("C0125", from_date=date(2026, 9, 29)) == [] + + def test_get_showtimes_rejects_inverted_date_range( allocine, ): From 79538c232f518668bb365c0caf0d4a49ef5eee2b Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:20:49 +0200 Subject: [PATCH 18/26] Hide tracebacks for theater lookup errors --- allocine/cli.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/allocine/cli.py b/allocine/cli.py index 0337d7d..c8804c3 100644 --- a/allocine/cli.py +++ b/allocine/cli.py @@ -87,7 +87,10 @@ def main(id_cinema, entrelignes, jour=None, semaine=None): from_date=min(requested_dates), to_date=max(requested_dates), ) - theater = allocine.get_theater(theater_id=id_cinema) + try: + theater = allocine.get_theater(theater_id=id_cinema) + except ValueError as error: + raise click.ClickException(str(error)) from None print("{}, le ".format(theater.name), end="") for jour in jours: From d7f38d9f5770d27588ffd94ce10b8ae2f26e99f4 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:41:13 +0200 Subject: [PATCH 19/26] Automate CI and PyPI releases --- .github/dependabot.yml | 6 +++ .github/workflows/ci.yml | 67 +++++++++++++++++++++++++++++++ .github/workflows/release.yml | 74 +++++++++++++++++++++++++++++++++++ README.md | 18 +++++++++ allocine/__init__.py | 4 +- pyproject.toml | 7 ++-- tests/smoke_test.py | 12 ++++++ uv.lock | 1 - 8 files changed, 184 insertions(+), 5 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml create mode 100644 tests/smoke_test.py diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..ca79ca5 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..f7204bc --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,67 @@ +name: CI + +on: + push: + pull_request: + +permissions: + contents: read + +jobs: + quality: + name: Quality checks + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Install uv and Python + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + with: + enable-cache: true + python-version: "3.14" + version: "0.12.19" + + - name: Install the project + run: uv sync --locked --extra dev + + - name: Lint + run: uv run ruff check . + + - name: Check formatting + run: uv run ruff format --check . + + - name: Type-check + run: uv run ty check + + test: + name: Test (Python ${{ matrix.python-version }}) + runs-on: ubuntu-latest + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + steps: + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Install uv and Python + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + with: + enable-cache: true + python-version: ${{ matrix.python-version }} + version: "0.12.19" + + - name: Install the project + run: uv sync --locked --extra dev + + - name: Run tests + run: uv run pytest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..5b8de34 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,74 @@ +name: Publish release to PyPI + +on: + push: + tags: + - "[0-9]+.[0-9]+.[0-9]+" + - "[0-9]+.[0-9]+.[0-9]+rc[0-9]+" + - "[0-9]+.[0-9]+.[0-9]+[ab][0-9]+" + +jobs: + build: + name: Build distributions + runs-on: ubuntu-latest + timeout-minutes: 10 + permissions: + contents: read + env: + RELEASE_TAG: ${{ github.ref_name }} + steps: + - name: Checkout + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Install uv + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + with: + enable-cache: false + version: "0.12.19" + + - name: Build distributions + run: uv build --no-sources + + - name: Smoke-test wheel + run: uv run --isolated --no-project --with dist/*.whl tests/smoke_test.py + + - name: Smoke-test source distribution + run: uv run --isolated --no-project --with dist/*.tar.gz tests/smoke_test.py + + - name: Upload distributions + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: distributions + path: dist/ + + publish: + name: Publish to PyPI + needs: build + runs-on: ubuntu-latest + timeout-minutes: 10 + environment: + name: pypi + url: https://pypi.org/project/allocine/ + permissions: + id-token: write + steps: + - name: Install uv + uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 + with: + enable-cache: false + version: "0.12.19" + + - name: Download distributions + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: distributions + path: dist/ + + - name: Generate PEP 740 attestations + uses: astral-sh/attest-action@f589a42a7efb6fe400b4f400de60b4bc90390027 # v0.0.6 + + - name: Publish distributions + run: uv publish diff --git a/README.md b/README.md index 55e4125..2e16c5b 100644 --- a/README.md +++ b/README.md @@ -183,3 +183,21 @@ uv run pre-commit run --all-files VS Code users should accept the workspace extension recommendations to enable live Ruff and ty diagnostics and Ruff formatting on save. + +## Releasing + +The release workflow publishes version tags such as `0.0.13` to PyPI using Trusted Publishing, without a stored API +token. Before the first release: + +1. Create a GitHub environment named `pypi`; requiring approval for deployments is recommended. +2. In the `allocine` project's PyPI publishing settings, add a GitHub Trusted Publisher for owner `tducret`, repository + `allocine-python`, workflow `release.yml`, and environment `pypi`. + +The Git tag is the package's version; no version files need to be updated. Tag the commit to release. The workflow +rejects built distributions whose version does not match the tag and smoke-tests both the wheel and source distribution +before publishing: + +```bash +git tag -a 0.0.13 -m 0.0.13 +git push origin 0.0.13 +``` diff --git a/allocine/__init__.py b/allocine/__init__.py index c98bc70..b30db02 100644 --- a/allocine/__init__.py +++ b/allocine/__init__.py @@ -1,5 +1,7 @@ """Top-level package for Allociné.""" +from importlib.metadata import version as _distribution_version + from allocine.api import AllocineApi from allocine.client import DEFAULT_DATE_FORMAT, Allocine from allocine.models import ( @@ -27,7 +29,7 @@ __author__ = "Thibault Ducret" __email__ = "hello@tducret.com" -__version__ = "0.0.12" +__version__ = _distribution_version("allocine") __all__ = [ "Allocine", diff --git a/pyproject.toml b/pyproject.toml index 537b09e..e337ef1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,10 @@ [build-system] -requires = ["setuptools>=61"] +requires = ["setuptools>=80", "setuptools-scm>=9"] build-backend = "setuptools.build_meta" [project] name = "allocine" -version = "0.0.12" +dynamic = ["version"] description = "Non official Python wrapper for allocine.fr" readme = "README.md" requires-python = ">=3.10" @@ -50,7 +50,6 @@ dev = [ [project.urls] Homepage = "https://github.com/tducret/allocine-python" -Download = "https://github.com/tducret/allocine-python/tarball/0.0.12" [project.scripts] "seances.py" = "allocine.cli:main" @@ -58,6 +57,8 @@ Download = "https://github.com/tducret/allocine-python/tarball/0.0.12" [tool.setuptools.packages.find] include = ["allocine*"] +[tool.setuptools_scm] + [tool.ruff] line-length = 120 target-version = "py310" diff --git a/tests/smoke_test.py b/tests/smoke_test.py new file mode 100644 index 0000000..459fd12 --- /dev/null +++ b/tests/smoke_test.py @@ -0,0 +1,12 @@ +"""Verify that an installed distribution exposes its expected metadata.""" + +import os +from importlib.metadata import version + +import allocine + +package_version = version("allocine") +assert allocine.__version__ == package_version + +if release_tag := os.environ.get("RELEASE_TAG"): + assert package_version == release_tag, f"Package version {package_version!r} does not match tag {release_tag!r}" diff --git a/uv.lock b/uv.lock index ebe7d9e..89bfd89 100644 --- a/uv.lock +++ b/uv.lock @@ -8,7 +8,6 @@ resolution-markers = [ [[package]] name = "allocine" -version = "0.0.12" source = { editable = "." } dependencies = [ { name = "backoff" }, From 96f580eb1b921f812ce521a846d09e8a8512e4b3 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:48:14 +0200 Subject: [PATCH 20/26] Cache requests by default --- README.md | 51 +++++++++++++--------------------------------- allocine/client.py | 2 +- 2 files changed, 15 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 2e16c5b..3dbe9bf 100644 --- a/README.md +++ b/README.md @@ -94,50 +94,15 @@ seances.py P2235 --semaine ## Package usage ```python -# -*- coding: utf-8 -*- from allocine import Allocine -allocine = Allocine() -theater = allocine.get_theater("P2235") -showtimes = allocine.get_showtimes(theater.theater_id) +with Allocine() as allocine: + showtimes = allocine.get_showtimes("P2235") for showtime in showtimes: print(showtime) ``` -Caching is disabled by default. Enable it with `cache=True`; responses are then stored in the operating system's user -cache directory as selected by [`platformdirs`](https://platformdirs.readthedocs.io/): - -- macOS: `~/Library/Caches/allocine` -- Linux: `${XDG_CACHE_HOME:-~/.cache}/allocine` -- Windows: `%LOCALAPPDATA%\\allocine\\Cache` - -Only HTTP responses explicitly marked as public and cacheable are stored. Their `Cache-Control` response header controls -freshness and retention, including `max-age`, `stale-if-error`, and `stale-while-revalidate`. Stale responses are -conditionally revalidated with `ETag` or `Last-Modified` when available, and can be served after a request failure for -the duration declared by `stale-if-error`. - -Call `clear_cache()` to invalidate the entire cache, or use `cache_dir` to choose a different location: - -```python -from allocine import Allocine - -allocine = Allocine(cache=True) -allocine.clear_cache() -showtimes = allocine.get_showtimes("P2235") -allocine.close() - -custom_cache = Allocine(cache=True, cache_dir="/path/to/cache") -``` - -`Allocine` can also be used as a context manager to close its HTTP and cache resources automatically. - -The CLI cache can be cleared globally without providing a theater ID: - -```bash -seances.py --clear-cache -``` - Example output : ```bash @@ -152,6 +117,18 @@ Example output : [...] ``` +Caching is enabled by default. Responses are stored in the operating system's user cache directory: + +- macOS: `~/Library/Caches/allocine` +- Linux: `${XDG_CACHE_HOME:-~/.cache}/allocine` +- Windows: `%LOCALAPPDATA%\\allocine\\Cache` + +Clear the cache with the CLI (no theater ID is required): + +```bash +seances.py --clear-cache +``` + ## Development Create the virtual environment and install the package with its development dependencies: diff --git a/allocine/client.py b/allocine/client.py index 5b10c3a..90ad7ca 100644 --- a/allocine/client.py +++ b/allocine/client.py @@ -19,7 +19,7 @@ class Allocine: def __init__( self, *, - cache: CacheOption = False, + cache: CacheOption = True, cache_dir: str | PathLike[str] | None = None, ): self._client = AllocineApi(cache=cache, cache_dir=cache_dir) From e35ac97125eed1b37832a02ecb770445161263c6 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:48:24 +0200 Subject: [PATCH 21/26] Translate README to French --- README.md | 63 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 3dbe9bf..e5dc1e5 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@ **Avec cet outil, vous récupérez les horaires des séances ciné directement dans le terminal**. -## Requirements +## Prérequis -- Python 3.10 and above +- Python 3.10 ou une version ultérieure - [uv](https://docs.astral.sh/uv/) ## Installation @@ -20,17 +20,17 @@ uv tool install --upgrade allocine ``` -## CLI tool usage +## Utilisation en ligne de commande -You just need to look for your theater identifier on [allocine.fr](allocine.fr). +Commencez par rechercher l’identifiant de votre cinéma sur [allocine.fr](https://www.allocine.fr/). -Just search for your theater, and take note of the identifier in the URL. Here, it is `P0645`. +Recherchez votre cinéma et relevez son identifiant dans l’URL. Dans cet exemple, il s’agit de `P0645`. -![Theater identifier](snapshot_theater_id.png) +![Identifiant du cinéma](snapshot_theater_id.png) ![Capture terminal](capture.svg) -#### Help +#### Aide ```bash seances.py --help @@ -50,7 +50,7 @@ Options: --help Show this message and exit. ``` -#### Basic usage +#### Utilisation simple ```bash seances.py P2235 @@ -64,7 +64,7 @@ seances.py P2235 └──────────────────────────────────────────────────────────┴──────┴───────┴───────┴───────┴───────┘ ``` -#### For tomorrow, with interlines +#### Pour demain, avec des interlignes ```bash seances.py P2235 -j+1 --entrelignes @@ -79,19 +79,19 @@ seances.py P2235 -j+1 --entrelignes └────────────────────────────────────────────────────┴──────┴───────┴───────┴───────┘ ``` -#### For a specific date +#### Pour une date précise ```bash seances.py P2235 --jour 29/12/2018 ``` -#### For the full week +#### Pour toute la semaine ```bash seances.py P2235 --semaine ``` -## Package usage +## Utilisation de la bibliothèque ```python from allocine import Allocine @@ -103,7 +103,7 @@ for showtime in showtimes: print(showtime) ``` -Example output : +Exemple de sortie : ```bash 27/12/2018 10:15 : Astérix - Le Secret de la Potion Magique [244560] (VF) (01h25) @@ -117,34 +117,35 @@ Example output : [...] ``` -Caching is enabled by default. Responses are stored in the operating system's user cache directory: +Le cache est activé par défaut. Les réponses sont enregistrées dans le répertoire de cache utilisateur du système : - macOS: `~/Library/Caches/allocine` - Linux: `${XDG_CACHE_HOME:-~/.cache}/allocine` - Windows: `%LOCALAPPDATA%\\allocine\\Cache` -Clear the cache with the CLI (no theater ID is required): +Videz le cache en ligne de commande (aucun identifiant de cinéma n’est nécessaire) : ```bash seances.py --clear-cache ``` -## Development +## Développement -Create the virtual environment and install the package with its development dependencies: +Créez l’environnement virtuel et installez le paquet avec ses dépendances de développement : ```bash uv sync --extra dev ``` -Install the pre-commit hooks once, then use `make check` to lint, format, and type-check the entire codebase: +Installez les hooks pre-commit une première fois, puis utilisez `make check` pour analyser, formater et vérifier les types +de l’ensemble du code : ```bash uv run pre-commit install make check ``` -Run individual checks without modifying files: +Exécutez chaque vérification sans modifier les fichiers : ```bash uv run ruff check . @@ -152,27 +153,27 @@ uv run ruff format --check . uv run ty check ``` -Run all pre-commit hooks manually with: +Exécutez manuellement tous les hooks pre-commit avec : ```bash uv run pre-commit run --all-files ``` -VS Code users should accept the workspace extension recommendations to enable live Ruff and ty diagnostics and Ruff -formatting on save. +Les utilisateurs de VS Code doivent accepter les recommandations d’extensions de l’espace de travail afin d’activer les +diagnostics Ruff et ty en temps réel, ainsi que le formatage Ruff à l’enregistrement. -## Releasing +## Publication -The release workflow publishes version tags such as `0.0.13` to PyPI using Trusted Publishing, without a stored API -token. Before the first release: +Le workflow de publication publie sur PyPI les tags de version tels que `0.0.13` grâce à Trusted Publishing, sans +stocker de jeton d’API. Avant la première publication : -1. Create a GitHub environment named `pypi`; requiring approval for deployments is recommended. -2. In the `allocine` project's PyPI publishing settings, add a GitHub Trusted Publisher for owner `tducret`, repository - `allocine-python`, workflow `release.yml`, and environment `pypi`. +1. Créez un environnement GitHub nommé `pypi`. Il est recommandé d’exiger une approbation avant tout déploiement. +2. Dans les paramètres de publication PyPI du projet `allocine`, ajoutez un Trusted Publisher GitHub avec le + propriétaire `tducret`, le dépôt `allocine-python`, le workflow `release.yml` et l’environnement `pypi`. -The Git tag is the package's version; no version files need to be updated. Tag the commit to release. The workflow -rejects built distributions whose version does not match the tag and smoke-tests both the wheel and source distribution -before publishing: +Le tag Git définit la version du paquet ; aucun fichier de version ne doit être mis à jour. Ajoutez le tag au commit à +publier. Le workflow rejette les distributions dont la version ne correspond pas au tag et effectue un test rapide du +wheel et de la distribution source avant leur publication : ```bash git tag -a 0.0.13 -m 0.0.13 From 5471427f79ccb43004335b8e23f357c98f44be35 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:52:07 +0200 Subject: [PATCH 22/26] Rename CLI command to seances --- README.md | 14 +++++++------- pyproject.toml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e5dc1e5..6a8ba70 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@ Recherchez votre cinéma et relevez son identifiant dans l’URL. Dans cet exemp #### Aide ```bash -seances.py --help -Usage: seances.py [OPTIONS] ID_CINEMA +seances --help +Usage: seances [OPTIONS] ID_CINEMA Les séances de votre cinéma dans le terminal, avec ID_CINEMA : identifiant du cinéma sur Allociné, ex: C0159 pour l’UGC Ciné Cité Les Halles. Se @@ -53,7 +53,7 @@ Options: #### Utilisation simple ```bash -seances.py P2235 +seances P2235 27/12/2018 ┌──────────────────────────────────────────────────────────┬──────┬───────┬───────┬───────┬───────┐ @@ -67,7 +67,7 @@ seances.py P2235 #### Pour demain, avec des interlignes ```bash -seances.py P2235 -j+1 --entrelignes +seances P2235 -j+1 --entrelignes 28/12/2018 ┌────────────────────────────────────────────────────┬──────┬───────┬───────┬───────┐ @@ -82,13 +82,13 @@ seances.py P2235 -j+1 --entrelignes #### Pour une date précise ```bash -seances.py P2235 --jour 29/12/2018 +seances P2235 --jour 29/12/2018 ``` #### Pour toute la semaine ```bash -seances.py P2235 --semaine +seances P2235 --semaine ``` ## Utilisation de la bibliothèque @@ -126,7 +126,7 @@ Le cache est activé par défaut. Les réponses sont enregistrées dans le répe Videz le cache en ligne de commande (aucun identifiant de cinéma n’est nécessaire) : ```bash -seances.py --clear-cache +seances --clear-cache ``` ## Développement diff --git a/pyproject.toml b/pyproject.toml index e337ef1..93084eb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,7 +52,7 @@ dev = [ Homepage = "https://github.com/tducret/allocine-python" [project.scripts] -"seances.py" = "allocine.cli:main" +seances = "allocine.cli:main" [tool.setuptools.packages.find] include = ["allocine*"] From 66b19525fac68086644a0381c49d809d0f9970a0 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:55:49 +0200 Subject: [PATCH 23/26] Ignore third-party test warnings --- pytest.ini | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pytest.ini b/pytest.ini index b5089e7..6e8820a 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,6 @@ [pytest] -addopts = --doctest-modules --cov allocine \ No newline at end of file +addopts = --doctest-modules --cov allocine +filterwarnings = + ignore:'asyncio\.iscoroutinefunction' is deprecated:DeprecationWarning:backoff\._decorator + ignore:.*invalid escape sequence:SyntaxWarning + ignore:"is" with 'int' literal:SyntaxWarning From bde6b38f7f80514808aec11914d9c2401ed41691 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 14:58:46 +0200 Subject: [PATCH 24/26] Avoid duplicate CI runs for pull requests --- .github/workflows/ci.yml | 1 + README.md | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f7204bc..1dc807f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,6 +2,7 @@ name: CI on: push: + branches: [master] pull_request: permissions: diff --git a/README.md b/README.md index 6a8ba70..ecdd7ef 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,7 @@ publier. Le workflow rejette les distributions dont la version ne correspond pas wheel et de la distribution source avant leur publication : ```bash -git tag -a 0.0.13 -m 0.0.13 -git push origin 0.0.13 +VERSION=0.0.13 +git tag -a ${VERSION} -m ${VERSION} +git push origin ${VERSION} ``` From 2ae9bd4aaafa946a391aa0f1268e8a861f8658d9 Mon Sep 17 00:00:00 2001 From: Thibault Ducret Date: Mon, 28 Sep 2026 15:37:53 +0200 Subject: [PATCH 25/26] Update captured demo using `vhs` --- README.md | 2 +- capture.svg | 1 - demo.gif | Bin 0 -> 163426 bytes demo.tape | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 96 insertions(+), 2 deletions(-) delete mode 100644 capture.svg create mode 100644 demo.gif create mode 100644 demo.tape diff --git a/README.md b/README.md index ecdd7ef..f568c01 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Recherchez votre cinéma et relevez son identifiant dans l’URL. Dans cet exemp ![Identifiant du cinéma](snapshot_theater_id.png) -![Capture terminal](capture.svg) +![Capture terminal](demo.gif) #### Aide diff --git a/capture.svg b/capture.svg deleted file mode 100644 index af644ca..0000000 --- a/capture.svg +++ /dev/null @@ -1 +0,0 @@ -bash-3.2$seances.pyP0645GaumontToulouseLabegeIMAX,le27/12/2018┌─────────────────────────────────────────────────────────────┬──────┬───────┬───────┐│AStarIsBorn(VOST)-02h16│4.5*││22:15││Aquaman(VF3D,Salle4DX)-02h24│4.0*││22:00││Astérix-LeSecretdelaPotionMagique...(VF3D)-01h25│4.1*││22:15││Bumblebee(VFIMAX3D)-01h54│3.8*│21:50│││Bumblebee(VF)-01h54│3.8*││22:30││Enliberté!(VF)-01h48│3.2*││22:25││L'EmpereurdeParis(VF)-01h50│3.4*││22:30││L'ExorcismedeHannahGrace(VF)-01h25│2.4*││22:45││LeGendredemavie(VF)-01h40│2.4*││22:30││LeGrandBain(VF)-01h58│4.0*│21:45│││LeRetourdeMaryPoppins(VF)-02h11│3.5*│21:45│││MortalEngines(VF)-02h08│3.4*││22:00││Secondechance(VF)-01h44│3.2*││22:45││Unfriended:DarkWeb(VF)-01h28│3.3*││22:45│└─────────────────────────────────────────────────────────────┴──────┴───────┴───────┘bash-3.2$sbash-3.2$sebash-3.2$seabash-3.2$seanbash-3.2$seances.pybash-3.2$seances.pyPbash-3.2$seances.pyP0bash-3.2$seances.pyP06bash-3.2$seances.pyP064│L'ExorcismedeHannahGracebash-3.2$bash-3.2$exit \ No newline at end of file diff --git a/demo.gif b/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b447af0265543f706030581e7e8ad7522ea1a49 GIT binary patch literal 163426 zcmdqHXH=72+bw#h_mI$AFjOPW2#66uL$6{$R7B8FRKP|Pu_vKdgCK^cp&E)15D{sH zB1Aw8MFndpDuN|gu{|7~=R4;ed+c%EG0xe0yx)&K|0VaIwdOsqd98Kb)7jODwlPo$ zZ3ll}UI(ne6ac6Ia0md-Ab@ia;JyY31OkJ>5C{ae0yqQ?ha(UOBoc{2q0neF25p7K zVsSVe9_xn3BrBbQu{>Dx-Gc$8@a|;U#OH0cQ8#d53SZ&<6 z(FzIQv}u#|#)H-y>ug{M8ylO=*7ch=Z{D(H3*ClAr_*h1ZSCyr92^`R9UYyVoSdDV zT~?65aCLQccZqR#OLKR3_i%0Z_!~z(xB7T`dT#T`WiS}t+j_jcy|-`QzQZSWhfmIq z9XodVr0m?ebJwn2zP`SGyRPn8ZLr5hZqJ@Q{{H>}dvf;f-Meq!K4yR^3iJ-n^Ncn|s@8IX^%D{{4HI zO!oQn=WpM>{rvg!uU25$(_^^}SYBQRmI3W$jHjc|c6(cfqnRlc0$M2t?H^Dm6j%iq z|6Ln@mkEGe2L7NlU4;Cuc%*`%zgSq(lT6TcD{^Tly_>FT9{x<+P}YBeY@ep-+E{)s zhqAre|6XIo;ALv?K#}W>%KL@1==o>&Zd`kCl^%~Kxitw!%3N{`0|uI^#;!5S+=|_9 zRzIxqy%GL=;AYL^dS*`=$-TLD@%D)4&6T7WRL_-WSkBLtZS`*0zs=Du{A~sAK=s?oqS*O07cYMqzkjVfFMPgAP+2`+ z9f~g4UQye(Y`9R{^eBAcdP7p{SW(Nj`GtBB+~}Rq`-4cKL2OX-u5rk6;a!7SC;2^Q zc;}(_Hzy9%yw8#J(M)bWO)~n>GMjg(F7bKP92;TO)YjdqmPPHp_31!d56*mcQ%}d6 zZwnvq0Eok3tr~R;AKJ8fH+^jS8WdOG`RfH))~mSd@Z#M-`HaA}pp+>zRn#&X*{0;S zkf6Yy2*OZSyYC6?1S6>c2#O^{cdEXr{XA^_{atCFO7m&4=^Mqf!=}kxkCLVohQfof zMMiuIM(W913y;t%IW8Z;WZihcOg8y8VFNi*qLM5t`}QP!)wE-xC%N&#=0D@lA3RH; zc?ANhs>{;vFV6)NfXM`vqf1jy3j#`1+JyJNnI79d2VEci^z8S|<8xaBfd~Lk(~Q?O z{W({D*|TO^aX2b#=FnAh_e8$L{QJ8bV-UAQh~CtXm#$dm&yOO++TUe@Z7xIewV$K$ z>y)N-Hod<&;~fZU{dklv55v~~`S$EY{eeY!t*h;yhPKaHe;L`f@6U&c(;xr(CF{SV zw?wSo+_@m!a-s8mOZ~@_A3tIE0K!G2H1YtJp|NUK>a?+S^2pKrr+ePiB3i+IGLGsH zKLMZ8ym%XTG%A|;TvmA-wRry&oKOVcCGJ)}`jKU)TQI_{Y(lNOAI8X0f4J8YQhOxx z(B48eW;xlVS4SS7WHdL?Z)e%4l=}|0+I@1sZ|8bcm&XB%8~H%zfnL*7i|OD^%mnOf z)3`vFy~wp^=ctyi2Q#CvQhd|v>wITb->%yEw|F6!f==CYM;hW zmxLLwF8Qw+^n3Ct@3^u)cvy?2$*#Hq@}GHP>&kUG_l6FXLDtFclM-@aT&RSoydaNdjY5ZI)8^5w?#`VFew4+zP z4PD#Zm9+fe?9b0vl@?ah5pIlVR1+V$b?zpx(@ra9AB)lj8lQRMqj4qxrx{ zR(N=s7Ou)=8)_)K;7j=}@EW&W1KyTZO%>G4D&Ahhv4ST)ZWbL?o+r}Ei#~n1M(@bp z7VkD*+8ioy+FI@HoG@Nt^|eZEbU((Au7hMuYb}VwcfJh7A?ROgTrU~!a1Pl~8-ASR z|JBgU z>XoUih`DJDN?IG3zwqqS-k1h&Nxb$fGf}%7Xd@ch5+Cu?V{`4Ai}mYIeqWH>1y5sb z#UO+)lYg3Dei-Z}rlKulfF|F2SdW;FK0RD)-O~@y(KW@mYia#ssjU z!yG7I)^Ag3{pw6y8OUWg>Y{sV8Q#a17>|tRVQiD}p+ANehN`euWHzeh$MSt;E~wy* z|8V8#kKy?y^DEyqJ#9Y!crfwBoR1)FwN>~j5nEW4s*pS!&3}%x#8{NCCb_$A|2bOS zWKp@n#%*i#&#{6p76NA*SFfC(<7pP_t9OxHcHH>+kQuYS_F#a+?y;YbjGNZioj7Y7 z@cHLs@R#+%uoi%H`{KqZW{MTf8v}Mz^BebyXzn%o$ux!3{-~34Qucs=X zEnE6YPWy9yJ&RJ@(E50*>G2!CoN}U(m{P)yIEUkC--Xp2oe@{;~)A}~NIFcFtduHkzP3*k)XfgNq?55@I zw1Hh&t1sR7{pv{6#-W2*2Ki&ZUk5jC96phyU;O#^o9&-AN|Hb5l_>m~b2YOXz5GJA z!u-!$T9noJwavO!+yBhpvDoHf zo1VQi{eHW?<3sG0O)oxg{?_sN&%(LoUymSbmueI`W!tw{PhYKDy1TYxF>8y}tnQXC z_qPA_ChyMgVe|SQh0&d#&6lm`_L=@1sc-*Mxn<-0_AQ?t-uP>#?);y=;I+Tf$2z|$ z+_Cwvs_xhGwe8pswx5r-Z1{F# z%ZK;T%THe{|FzuQv-Yn;Id^`KZQk

h-_Au5J7CVTrj4eO@c4xWnbN%w3 z&v%w@d^-;;g@b9Vnw>0oTsV@)Dr;t8m%{K%tU_hBd|a5KFFPlet-2Jd-oj3Q#MX)n zC987cEjfBi2Myvlr}H?5aR-ejIMLrY)VKp?wD{dS<1OPtXuNn@bG)@n(B`FhqH=;= z%RUF+gjdHCTqgY8S`wNcCU`FGW~e5ntWWge?b;cac<551-_j2MiNtMR6PYbOLA0d6 zSFs0pC-(D_9Bw8Zp4b_>loX?q92IvW#y9!YiR8G66Q^2|S&x&?(c)ODDM=er5_oY* zaVZ&>Q__~=GL|P&E`Cqp`kuTdI1Txk_4T+^KTkwCWRS zf{9brEos8XX?3*ILe=!<4e3q1)6H?|?U&PAmrl1&q<4Q$7x|v)re%nCW%RY25%V&J zZ)FUro*iDw7+1+0jXOK;oB8BK=ETI=CoP%M$C)o^=cKAxuQz1P^3J`E%X)V?Ykuk6 zyNRq%-?L=C=ReUdEbY4Rt>yd@@4{cVF8o$y{k3!fs>%hQWI=ax(Q#blBny3;OPJu| zH?j$8*~+wR#eBB%$!twtw)zjY=47_cQZ{)vM`zD|z>%ElA*q!LT z@sh9arJc7Eee*BvZMo#HmbCZBr4ZG;pp!{{yYeRE@jln6-gjSKQq_f&eBPfHUIvPr^@9gd%fA@L&E1`k zI+@SA$1S*>FE^QgWlc6;tw3pGL3wI+<;en#{DSJY*|n1e+CK_}t`{3O7Ovi1*j#n7 zCBM+*c40dzr}Ialxmrx1 zsS5OgeMf2Kcea;1`B}LXl$YHo_ei68{w!B=zUpo0<>glq5?$e25b4uefv%|7J8#ZZ zuOvOL2ytTspQ_xLQyH!vb>K*rGQv-*W%O{0}donK8yR832PcT;OkWO+^JDXR|k+6K$o-g!sS zsoL6$wFA|LLr-dPh$@Md#{;YDB_Xwsp4dGsxPGPa`m=#GFMeKMm3VzR&34MK?s8P! z9D2=sYhBi8-G>2+OuatMto}J@G=U4xJQh(-CJy5e6yh&){TnAsUffWjm zHwv*D(a2xIPl^rlM%MT}4Pj9Ys;3Rq+Zy(dHfR+_D{3?nS6|m#sM0;%$S7zu+*A?w zq%pIvky=<`w&{ld^3O)gHg|I24clEetoK-M{&i!GN|Rk%rNf@4qiHu>Fz%b$nmk6E zJZtnA8aHi@H~DB#x1YYb`QlB#L0$i+H?2P1WNIAWxv4omyz#)EL;DMxXLOnm?>T>9)}DcAmzTjKbTi8gCap)xPrUcG#}lrGquRJ+03aS_P-ItJ_+YMqBGPX$v*l zh-Pg~huRv_+v;lCY6jZ`3vCsc_EMwvtM2VZhuZVg+w*GLa|YYF3++XZI*++`9zN6=mfm@wrZaf3ley3tfVtymbZ3|Q9iKyY zywdM@*4%L)yyLQP#}Om4GZJla7g-+?ZA=$g)`-jpMbrh638u@?sB5)*m)@Z+?es3K znl6pOF4cuDB}})xQMa6XH}+6BD!m(C(+wHy1{S*ipnHBA_I!8i`4Zl5x@Tda zXKudd6}orYu=k}~@3ZjU$+X@_)xBc_y^{If`{=s^hIjkj?)HY??Ml1bS$(%{;BL$O z-J9sXM#H{(x4zo&zN)mo%Idzdfj<6xUopDBz_9^>DrTNg?XfV74N~ zc0|9o*5#O)qQk|Z_;P)xDRRxbAt$I_%Mf{@=>C)T`_G=;fARaiRC9RRdU)1<`1P6L zxuW6u_ThKWhClosmT5ltWc}ca|ATL59xN3-_}Tv8_p=9o{eA$DBw!l}G(ZABD?t`Z z&>a%&a|!;Bgg_dRw;53k7*ReuqFOwn-Z7&2d_?Qd2$?jhV>7B3Flumilu|ru*fDDS zeAM*MD3vs3W;14?6)S$h^Lri%*e)5^)h@{L54$VF9x~3PQnE{sI`yN^r^nMZ zD~+sGN?AhKTMg-1O)9KL-#O35t7g%H$x9HY@n zkL=>~Cn@V5C?bOg%%fg4+sqTZOOYgXfyJPYSiMEx62Esy9L7l}?XY<3{buzW#|*5q zP3R|&XSa^b={%IIxmZF_iyy#so4GzOuW~jI&nB*U&eItgJzFtzdQkQ0u4c(leRZd*2#4MVNW<01ljl8O2{wV@;0 z4j6S~-#KZJPJg=q?ox0 z**c&(Ka@UvuglvYp~p?qx&twbbj{AwTjZe%qgqN@%6WqBfPh-k6o$GA z0sr?Bci>-j+4E0ba&7BRF320yeoq70a^OTm|9;6-4+pW@`!G!ypLjt>C%iVL`z~bb zlY#s(AKS|giAwJNT*adrm44;nEt->(KFERjIWa+}*S0TJ=`>BeGcygYNO90PBKV@- zVyNN}!-!Bc*n#YLmOo0ryEVCZyV@6mZHQmn(bv8u^o2`otcpsb@LsN90J3+jN|fT< zNYc(a_69#q-_b-)@XrsfdG9{vanix-`K}g%=r<1gESRy{Gual8LkPdoZA z?gswhP6n!6@ic=otFQmRa0kPvxY5P5hUp7)t%=la`9`yA*NiHm!^z{FMOl966A)@K`xyWw`#IpfL7dOm+R2``fGk%~Z%PPw4-w zGDbq;1=5Pjd`l9tT&1IIqYCm&ZyH5!_DAL62NW-?zhSNF98h+mGsb@+()LYvQmQ)R z?N?9D#tnpwql$|V$JA8^yekx9>EVtPeN;03(f zZ{|fGcxqyk4ns^BDM`w}=sR@I(g-j#TV-OY&G~ktb-IeX;)=>{yrExMi#FB{b5~L5PQyK2|DWl9N&nhX``=rlG3++1Y{{VAIkcNjBxtu%Qy5cLN%(*X@>O&r0?V0H9gmQF=s|scRZpykkKO9f*V7Slf z4+XT-Y{QHu!FW>ZF|pN=5!-cdx8-*5e-qfHMi1-f!*5fxCACBK-%d?ZXkU*wsT~oD z`A=_zIH{;u5n>iTueD_p#8YkkyoN1K@_&)e@scI{!OKcE#Kmo&Le!KDQnXCi(e(dF z1^rtcT=-XMJ^DunTwCEk27arWO;;r4iV0KQWV^%#RZF^8soTx-@0sguBM8BLNn5mN z+b9QIN%RTn>n>DWwoARI*7vMYb?L%_uiA)zWo3}E%lBgFiwhqci z*E^|DVluiE=hE;nGj^ZjnG&aDJjJ;CIE`?Z4jcONT*KzcRbx0570$>B>1wrN21)*d(<6`0?!8fPIE_?qeFtsZR()OfQn$mXHVkFJZxy}0iC z%0qi1WL;Q~v0vTp?ZMhA%|@52O%KyxDNVuK0lxgLq>H{e>Z_pJAHNy68AvhfxGyN_ z);RjMFEiaD>X^MEmgL+*c-w7M4Z9YJ5E)fm}5-hntHioYLn>atObanU7aq4Sv*gN=k7U;XmO2LB7Cx{e8SJ`i=R| z9BHrp%k+l+%f}PB|M>X#a)&Owj!xPNLxFZl`s7f`7{0hQ=Aq#~rq^fjE~p`O%(2(y zqUyHFnsKQeDoyY4-EmgmmDY&S@s`?9Vlag0dn#c5p{aVpWk(HDV&F^)o>C(Y1lh#| z+WX2``S1iTq%y4l_dH6FedbmCk-Cz$?)9skpmq)&GnOBUt4m@v(gf@D3D?|K=6bC8 zhb0)IdhEE6n%&^X*?^J1ccT8r!LweP3Ywv168@M#;VXUdm_-*#7~FG!^xu3E`?ux% zfBu6N`C$LKGgAMS&)+!+wlZGcxI|cDn}pY=#bm=0dz^GMgBm6XLH1b+_Ex_)EUt1* zTn7JdT{JcTM*tK+T)ED>11d;GG2J%xe3!hTkFsNLdotnk@wdXd(z~Y=O!f{5B1ukZ zq%E;u#9n1$uKos&MSkP7YaVI#UeTI{o`yo&)vd%X{>_sKqI9LFMl3&YK@bk zey-_F^=zZ=S_Stw8=CSVdm-b0Op3HMgCKAmna{t+NP?r(Lo^kMckjzxM>^*6cZ9vO zRg?SRwv)iqNn3SV3uegS>2E{IZz_KqWPd1?l!0dH zjT}zXgxp_OKrc}xW*{M%#%F!`T=~`(?FnMNg@Olp6JOG$a?QF7tM5D;x(}6BE}zJ| zOS|E*#&4DquiRm=Jzd=jrJZi}VD@4%-YRUFdvEQCMZ8l6_I33_UHd;tkpo|bH{A5G z$LnrtVXy)HPmd<=p^{*(*Zcn|10x6G%q1Mog@#h#a@33hTH={e6un5VE8 zXND-zP(Ut*%tPu>KMlw~&_4{?EBD2c2Lbjicp-eBbq`tJ=au%ze`~i#pdXFTc*xNo znmyRGE0hdYd=U|S7e5*^mLyV`B=qZk47tca$xY~YrG`8tV=ODF@%Ys^e-WJaC}aA* zIqK;_h|%Xz&`Xn#O*&Z{+}f9SVm4O0*yBmJ|7>TgJ*959N3DDUM6aD6AEl$5sbzSh zw+_+o6{lvS253*n+TGC0{4tN!T`lZG!rEIOel7_6O;0<&{$l5#B4vJdfF-t<4w|F^ zfwoG;K4qR3w;Y0cAQ!ox(IyqS>+}?baprDXe@sJq@H!!5?n;)%br9WK&+J@ZhMxu} z!U8fz9d;6|8}Pb+HnRsz>U*{0eXhQ1=z$iSF=yfYthBqGW4PKB z0Z4ryf^Fs>ueOpV)RB6bY|HJz+S`GMVj}htpiS!Lu`E8=rm7pWeJLW6F^jnd8OPD& zMu-G27#xb~jK(E9h_&|!D5_-!w+wJr?d(ZCv1AKZ7CD)h0xWgHkyydsNs)U4JNxcx z-sAy5GcjuoO{6j=akLbTBx8)H6ee7p*C%+To~KKRUnlz3OCmAw6e+TwlDxJ#5J#dp z7^7N}Omi7m5%eI<7XZRau*BM$P=>=&98z0!ImSb4v+l4E7SGt3l;1O;sg%1!dH!;y zpC$;*7CWtvSV@a|&~cA}elt-v2F8ixD0#TRxWr8V!#x^DWlX9xJM)-eMqY_a*APx+ z1`!s(Dk8Au1TizF-OH-gC3#)bNTxo`0jk7L^K@*^!M_8M*g`rgPl(^o(^Z&8CKKHO zSTt2f^CqBxw%}uq)b?D}s7^@{rf|`T`cOc#kk?T92C?`K*-CC0OId z;6prH$}p%sJyzeC$r0_rs?O9NnocB$XwjoiNVuR}&d$)96+l3Cc2vUz&wZ}`;`v}jCUU;QD8|UKX=Xy5LyplpQba50)ymdJd zwY}Y5QRwG_x*|+=P@L{hZL#~-Jc{6lGX?XZi5uHXFclx@kTOOxJ_&?3iEsw9fqv^x zB362XE7E_fs^Vxi&Lhr_^wW4D&q0X} zHlbhjoCtkld_e6rGN~Y29PlxmiJ9Qv#RF7y)JmVuUrN$Ylp-PpQym|FJL6OvvMgiB zplKH;qNWUYR!gMbMDK=ZfwB$>f^w84U^58_cfdbbvw|zKUlZ4WnblSr@=dY|ZGb{m zbv5<@EJIDr#QnUoDY<32yIXv^GVy$}yneMU<;gnSL28fY5N*iLn2-|6>d|qWr(7(QYBFq%XP=!HFTLsY>^uNOgZU9pGKc7b5Ba$BjJUPcL%qf=JI;f zY?D}n`&lP<=GtlA;n^X`+|)>BHwcjp=!+JU;7!MIbiSjN=OW6>KS*xUMjYE_v=Uk> zQ?depw>B%nS2j5syFr5wQZOAx#I$qgPAX*R3T4ncaTBE-d*eAt4 zr=qXQP&r(g&q0$49c$x4D7<)bU<_*)VvG6MUU5LHFSpJu>Dgt#&S`YIVU_6_}% zOvzyASTfO~uc$H>ip|%@EK&*>=rV461($B~b^AH8kNZJ%=W&qNEr=BXKQF|+q{>|d zpbC803o7<83wMAV8RH1s72y_yIB=P+sLw@ZE1=8xs8l+1|9()U5H}hDlcVpN*#$>R z5xaGLZ1^4v*}Gm-nF>-|zXVDmLmxgwO^UF4_#i9;HOEJxn40Q**n?#NA5LCnB|(0s zBG{WfS<+PQUNUiGW*AW<<2oOvg>_c@NR>60X z&&bP=({!{A+a#BOkC6bUg(mtU* zEyI0m*7pVcw`)W80CGYyqCYt_nXK`pj#xMcoF_06*eFXqR8Mf z5vnl;>MY%Vp#(&b0&>(G+|0!bi;%=+EE<;{BD83sSg(5IVuc3#6!_l}OEoRWAtGZCqWf6!ngU?GweAiFV%B z#k>dbhnE?4?jr0A6P?OcdMLtI$#63axEU4HB*ZsRao_0}HwjQ7#qc69QWlB;fQ~%G zc`0I#aCgXm!5`hR`MLyRC&3M|&`%@eT4hiK3;RQe?PB4}`5?R$F(brX6`}8l-~=HI zn8VBw@S$YV2sgD*gw0`Y)f@rs7GZ{|auP1uN&@}NN9TFthslr;K+Z;((aMn9Cqlj# zq3HnVrU;+OASE*J^8lZ~25%x`UkTA%21K5Keb2?@^RZVL(BN#P4yoKj5xQN9a+d)| zSonuz^fM;TPL@0(!sR3pd@Ar)CAgPDD2WOxlc388_?IlW?eZjYR){*0N2N$ne@SuG zd`y*y=Pbp}icm9D++%szSF&6q1Jlk#Sjhl^2;a`czTzSS-xM@j)in9lM0jD${S*{L z$S&FH+YHpD>9uDim|+RZiUEq0q5Y_!ePoQ?0mu=$(I_7y__U%F^d)A}9x&{x411rC z4xlQ!Fi`g*u=U)kjU2EgAAXC8ts;{S^Dz%)7@ly8jtq8Pwz`#IO#n~>4BQYIy+f9| zg|Ye}0awF|Ghgjta_=u2xe-IRKzPYp@R@F#E|qTSQ24gs_Thv5AY= znTnleLAw@Vw*lN30eg~>r&$6DSQhDdg7xhpF!3_QdLe3Agzj3u>y9+dXuu=D^xIQjIQVQu8;=;*PeE^y%!^j0;Z}H(epI2H0?zRkW zr5`EgJX&ORXt& zVWdi~$$vR(saEVU-g%+~kRy}) z%|VvZ&SfDalZ>?}AZQpv@xpcRU9Ka|{~Mv8;3i7#3Yl=~0VVD6bR2T;)<0vW`r9S~{`Hd+rh z`42Xq8Eh#UY;7NGe>T|pdr+h~)NMV~>p#?YW=LE#G|)aYWPFeBVkXhNKWcq{-2eWg zGxz@&k|G~6lu_|e9|r9Idr}0l6}DY8qPh|mu^IJ|JYN?bct2uze`Gsz)TDT1 z4QWheIbhVnWNgFPkzE9s6~c6ArHw29-$@atv*Rws<8B?}9?!=;|BN$854~+3`UE`O zdG?`i@k76khxS|X3xFK`{==O%azO!)W<~gqgh%_YKb)n?&G8={I{R>zkN*Tbjy&>k z7Lc1~K0aadaF&I?H1XJXEB>Phf5v3Od+Vc=BM;}O_=1RJWj@{!09oyr%sV^DE1oRq zm@IledF9U}pY){E=1F*WiFI5$fKN=anYlg=Oyc zXPHj`=1St`nlcN|00!>2zrdP-E>Ll2pD0s=c$=*%Nio>Ptt#?V{2tlBu|UvSKJJq( z`Kgi*bkuW}5d-;TTf(5lG(Z-ZWIPw$PL;kXe(|n&s&?ju?2q#2fS1vcFMrsm{CfTp z3YLQRl3`aaMX{x5PZjJ3X*6g`-g8Ph>&5)_DXYz7&CS!{i&Lew$~t?=`X62%Wluvk zla0SUAtL@;Ys#h_9Xk9n^7Gu z@a;7ET~v|$j#c;dRq#7Cs{`^UOkeJ;dvk^L(qZ_elPNK8n0Ve(${wDMEO`x$nuA=N zgEY=Xy_kDl19CRlq|frE9A5}nhu$u|r&j`MJqNNm+)y5hMQ8|J(~zQgS1Wzn2nhd>@bc)ww(JF_^^Vp$P-TsVBRAW1n$p(k z*Peq5rQal#fVK!BuS~(~sW4}<&$|+6Apy2mTgi=Yan9;pY5Q9_qQS>bMdtUpk*9AV zjc&q|v+(cu*u(t<6(RgKfO5M^loR5L zWR7wr4UZXzU$;S?NwD!FSSetjBtg$o;iw4A4B_iM0nZkG-IoEaX5j0|pe<6=91}k+ z!n$y&SLygz1_aMv>E|%a0#GT!zvjoL%DUbwq0z%WKnkAy5sRM!hD7)U2EK_3lb68; zg!tD0zEFC6*B#s|oV*SLdP{_V&%he#fxcJZ^FK2$e5&?21b->@E~Z-$WY||s{97*m z7=IoOTEurDr)5|>La~YrHblTD^1qy2)+C<1vUv5wOytNLY@~XD6gMM8Ev(acUx9xo z!k$=3ZAiW5$@mJ!AM>D%?--bnJD-6O=RNV~VK^-Z9%ITb38!Q!QWkUU)09lC6tfeH z64FUFejyBF#e@s`TXmi_e3*61!Fw<2EIj~QQS{X}ixY;gP&gE0f9_(v0}N;D=)q8G+5fcqg$R_2BQ>-1Y)sl%>f7v!%NHw$z zBz-mR9o0r!Z-k4D@A$ZIBAW?pZG>B7e^HE6B;8=cmtS@mSEuyMbpr3*_Lu|XRd!GW zC(xM~FsnAZImwtnSvH`mtVimkswP^LWs(yu%Cjl^E%ZIqj-x6$2db+|pnFI93iqB9 zFw>cP1L^VWO4m7p)gDb8&^&6rh|vgW2RUDQY(i{eefb4XUgsoaR9{bii<1{4Q% z-)iM4uwrICOu$ zY2}9|;}|FV_?H&E_aU+QD9V#OWW{rm{YAQ7JTS>KcIk~qKrVx<8Z{m&0!OK|GBKgusMT%n#oE)!4ioHh zq4oGwdEt>d=^`J_1RcBpw}|Xl1dzM0DcU=VFQ_5TS$UV#c!iSjkq&S98Ao=qpQ#>d zjT-=Oku1)-<{>v36zH1Wev`k>RA`Gpab^28v`v?$N&7{U203O8zRtPm_O~(wq6w9R zL{@)TbWV1Y?tdMg5i$pIty4p2ItdEsAlCxo1c$F){b^up!?VW0uXhx4Jd!NvGnlQT z+IK;U4lR0`ma06_4+a^!SFt9_F&@yJm`XnXP82{9C)%7TDNG`VlRpk#ETblM<+!*l zAJ?=_t-!+UazfJ*jNbZq(3M)^W0>esnxkRo2x7&mlqOp^kQdx6XF3x-J?CVQMa1hz zIFjak9oLVup)(YF(siMejfXZA$_pa3QtxhHvN`fDQsOscKh=8#jqvGGf1;XT5DMyu zccH7uSba(pzFY*;PHV!~$s&ARB8uOo_0spQWwWh3>5RQ*1)+b_7ceN4Ow{;_gb_3& z&;g32O0TJRq3=YQ;n-l!u_Y%%f(#ZFqN^|@gMTwS;1WumakAk7#*f%=*Ol?uwzqaB z;=l}tUR$U#)qbNeJM};W1gTF0TZ>E54spxi6ajtx06XpIkiEi|Wf!{1I1#fWC0LO+ z2;IaTNk2)8567rU*Ecsb<5>`Ox@xc0gmm>j!HoKlU}g7JT={oWg$Xh=wka4L^_vg1 zWA>Yz+6fLxfoO#a{O#c1GuHzmh4RKj z$E-^)G{g=O^=ul119`w={6K|k93VSdoD6?badDx#1fP;_%0=6(eJ*rJfWW!FX)zP% zi^g74?YH81K~vi8HD8Jo2)-#?)RNd8oy}Gs?}Cd3X4*OwaBav)IYiG+qe$dnK25;w zYeJpfnKp;oG}?Is-K@K~r_e5(404k`0O^o9%Z8FJY$R>QOFWdciMftMr0OWYAUi9Y zQsI%-I`U8B`YlGO1#xPWJR#x39w;mVwa&~vnrvK)FFkMj0U1Hno}e((5*f(1y=*un#Dl3{?dVX zieS4^p%`vC0kHi%X3)XBK8xY7+d3&TYGWfTsu+~8r#u*A`t`0=lQ!;%e{`)pvxZVf zo`nzLkdz5qtGp3&A{|VcqT2-#M}eIp-TN|TlDw9P)?ZawHp_KdUpjR)kq#(Z1;V>` zqFdo->`0f%_h6&4%-|)Z>nE9x!rde29g3^9RebH!qNmbpZSBBHLVMc0c9xS1;3$(M z;?8`Asf7fQ!YBy6-jV=R`?P`p>1_2#TAP%+uj z94D(S2$D?`7@!%mAoXi;NgG}WyApgEUh)TB4o40Xo_r|MzV-EoU5v(;gfBY{?(9zi z`%dBaJ+mVvu$>Kj>a#wgQ?j;H&3BsDMM0r8C)i-jyr=Se3 zKgUU9@KcV*bb;MvPHR{az#~*w^C>;qtdf8@62l=rc5yI2RRReJJ*)8ya5naJ-x-mx ztcdm@*f9*K4Uz9`E0?)+?e6R}I3Jkl5T4y2T1;!YQKq0HU|W$FFE|V1(duz_H0wpV zEphgmPbEn-;Z%~5KSUWTu{Ek&_a@<4hQ?!_CrWkKfiQ=zZCwCOkI&Jev@4f#n6e}r z5%f4cY4se4bE-+*H+kQj8e9O6i9^^4LCL=mo~M%!2@-AToP*jo`|n){WpLJ{fJvb# z@^PFss)-RID2^KcfCz#uL1P4#8;HrBK}ayrm}>G-3e;0InP&$g z3&2}=NeAXYFLonb1+3M~WV*ETcuD~YiP%pA6X~2)6Kp%xWKRibS!#$pVN@G0WN-6L zcIC%MNZ}ji)YOCkss(5g0#?*Z>*o?Askhv5ZDNcIso+2;c*e-!d zQqg&;N{kl^BVox)SnKDq&^*p@CV7i*@^ZlhL@AqXN=0l@y&geM)RM46kt_Wa5}E=x zWZGzG)8sRS%yBMM%_aUu+12&AY#K7zcZp*n2CsZW)N_IFZDHw1VTbrz5>mSN1Ig8D$v!R! zkCt0ow398lEBT2!3^m?aJ~@hsh?#>;krAX8mKhV_&1GXKusCu2;U&0!%et69uWih;1r$-?jx{CGmsZs;AwTg6Ru!u$q^}N5mx>wQzPalDEbILq5rotRx*H&;|j*j{<^= z~R@OI3qalWl2$o;ZFr0dzVheuQ30=PCu$5&Qhpe1PQT zy;Qp%`*s~3$6x{!GMJ9$gVPj2Ms0~C7x)QDItH11h!Vd+9oE$Y_gg}^P!IIAef1fV#p?Pa#gUJ`0w+GDGJ>1D zmZH#FwDHRiwkZQ*&VwGOBvIn%QF9yzancE2&iOcSq;HZ|Xnc%sBIzX3cL~0!rEP;= zLTnsNhX6Q)@oNA?qaJ57AA)m%%tk;^E<|sC@LYSraRLHPNIXf2mrvn1EP=G+60aWaiB;I9 zcbjA38*jmCTQLqKGbvUzX^qHTUp0RH9A_^b;VogCwj`{RC4^6a?fB5xU?iaL1j0Fi zuW!*1g1i`r|BIq?4@>g=|MH7aYYTm!Xct!;Lk?OXH5?;rkx>$$Jz;y!%d@7L#j zFEOhbW+1)d!4%W$E)Oi8s?K%PM(cF}4)vl6>|HIqz6r}WBDeKi(>CDg!Rg+=&hhzm zj_uVaj=ixq4KX*X_4679o6CbD+>*%%@t{@AvgqAy%YLj z^VD}$26&61Mg`QAozNt3YKrBcKcz9P0|;4OwH>HgK7}B{npI6TU;eKevID#xYz{=+ z-GgG9;lg*At@fHs4Q$dewoF#dbQF}yYc}_|Hwew3OwZ4($rIs7qN-g2Y&icYMvfUk zEiZoo&wCei-V0o8saZ|MO89CTrNG$(uWqV|Rs>-N(d84`vE7X_d(E~fjC)8cRY3TZ zMH8u?CM%H7A6IYVvrvyQ6_lE7lQY* zB6q_mVu@yVChCL}Rndc~5LM5p$oy=)dKV{m(&MKc%k^YC@U;ND$$>ag0dKTpH&`^C zszD+E~D@Oh{Mv%Lqq!;DEU0mAv1os-pD zR52z9RP|t2nDKN!-4-WilL}ip0iMC3$|kF~S*l~9vHtIk^gpi`m5w&exKL*I&4!OEk}Anvs0@M5wuruh(V|YEvsp_C;wk zaa9>pn$M}4SQwS5N5(nSTA7+rQnlUO9BM?yHDYJ2=snjSDZz)N?KLbu+=eX{z%+_rOF0xkIjLdapfRs3kkp(}UZk=Q&_PkNf1{o~1EdNPFpuHsKU7M~=O^ogW6ctI_(4;q1Tp`{TVy~-kREYe(I@$_jm>GnRap_)qzZLXjAPZ|G{6f zRmd4pIHnw#V%G%aYElPLIfe&oB?u;8o2}4AO}r#598naH%&T0RRkt?l6F%CmIy}xJ2$c85e5<{17J)dq zWkzCM>4hzk-ynW8@1G{((7}KE3IW2QvRN(87NYaE)$gg1KYE3|^~#4WLopsdI9^@; zaMqoL@ThEgOsH?r>{^C^xaAdo4;^uvQX5{gwZ@fFDcF7R1X)dT;!fsi>{|AXMQ)95niOs*)HoL8#K{%vcM`UtrLk#dpnV~K}t zGOBunLF`Zm7H(frytZyd?!hVJ4e$LESIUY~2Uu7yhyAO0P1PHnXbELz^_WNaXYc>n z&nFG)*!Qa-`I%|mTG9R+N3`c?w=PcY|3Tj>8pv@49+(QAAC2GlcX{nv)1hy0|GrPU zxOh_W*VLwOaQj1dUT&zUSUIviWWYc4DkJnNGcs1l1iFg=0{#F4i~ zS7M>c{u&_hBXM?J|Dg%^`wKW~2bf^4t9A@77vO%#Ao@4Ks1;o|*TO%n{6j{m%0?cg zRYc%BDlcRb*mijOMtEIF3G!VSj#P5(r;QCaH^Y~G|96b@zr(9w?8MUxle;Z5K9v5@ zzcB+xt$?5H+jaBI$KTS`Yrg}YoFfrofI9WR{Tp_#s{G%Iy0Wa{o#*8r88D0&(Z(#b zUA})36u@UD(nG8s!~c&OQDWd|SD84h(uqlKzn;eYD?jm7;6NRP-8T9FHloYrS+bW< z@bGz|ukcdo^Vcm^iQkuhA}rbPQ`Y{#3wOVG_4*tp@0(p8XiGZx>ucB-GFKga6N*}M zXuC(9$dnrsJa9TW;;b@ebM;U%3gz^_m2;86V+Y;IYp|A*%7&EowMk7 z+q@!C(jFmU# z8-HQs_VxVr{S9WfJ>$fR*W*kDu~?k8lls}2z%wG(Ta2B z(SfMx^9^^^xJCD-0>lizFMyOfhvDQQ=tA+?2AZCu#X-q}Ak>ckTAv;N?QmSZ?tA${ z*&%NaAp#ZLpn_PBD?#AcKE`txeZ>T~9!{X~ijY8MTN2 z_8?%SZ(F`D_NAqzJ}#lwawqZXICzV?Y?Em7=GJ2gRMd~dUz4ccv3WK`Q_uZ7K^~tL z^?5B9Zl`X#dYAZUv-OuyRNNmHBzcQZ19E=!w}Y=`3u6o5qP4WQh&%B&JI3aM(~Q!x zgQ9OcS`UC;>d+^))5mKH@0_{#d*M$zZf2a>lTo_pcDS?h{&h4Zd*Pkf2Teyak+FmJ zpd*8ywjyXxhPT$WNN#_f6ZNgR#U}G%u-?vNT>7-AW_y)zp$u;fBqv|Azek1ae~X_J zs_Q~kgWGP%TJ8u)8-P@&O^Hu{0Hwy68+3z%l@zp4h4eU zF&ua+C?gL-2X}SRvcjAC4@kVf7~GP@B&G-vqU$)N8bd2F_J{7CkR!O$r(|kW@Q-ap zKh6}Gv~KU4_{{4xM()m=f?B*g2es|(0>Wo`8rG>P1j6eT;WI@Gp3O&4Xk210s+F;* zVzKn~5yIA~@fm!TE%{$LlBjC+&y_=h!Hd<{0!s>ogBHDahW%tTA{{*go`q`9C4ehG z6R`O9kH!HOHfjg$4N66-eXx5sBv@rS2Roy}R54X>&>)CkHYyab# ziT4KDgwyZp#PxVPM;+22$5Is9NgOxqMwui(wwLp}^gy`&zTX?(@;9F(PO5#w|ClHKcj zZX{k%*RLKvhZ%rx2nS!)Kh1G^|J5^)_!qZ!h7k64;0EIRxcjjVHFJEjI(Yy=&T{YY zH{s^QlVzEjY$wx!Lx+ge)r^U0i~kd&#J`{F5r|W|0o$5{+8Dyj9HswwesyA#t0QPQ zh_%pGy)i;g+>tM3y|JSf1*tE&Jq=n8Q6?HtAKW1t(-lx9!d`VBZSWm-wV>t%W0F|j zJ4!pHLXQ9U3dnA1_3|_y!h{%?|4M$v3G4wy2{F|rw}TjKdSG;ep(eLt%qP$-JiV}z zN{w1y54$z!b}nX4kM{C31(AHoTAN#Ls(L02Wd?&)WtAXnD{I5J<`uD6ucZ<)rEkMy zNRg^h+V^P&?oUkWoF)5lzK(RBIFP)lw}oERVTA$=wY!Ruq_ot&7@Y~d%%NrO=c~i6 zTtv^mEoDug89b}+L(WIsUudCP&mLGFcc!r2e#Dd0pUmfKLKQ{cD@5sO6${mP)GGEf zxF1!Z*QDuM>5k!NDHjeCatqW3PwLt__QE?6Gf=0dn@;q4EJVzPk+l7sj1WN;ehXiM zY5_95vg|dxBDB=6N@{plTikY}k~S%~ow;_gF1D?O-C;jCw2+H0%^M^7`cY@K+^vr8 zSAr|@Z?M$%YQcfy^xp=nwym$(zpHMHIVw;04lz{k64)x9^FczxBssrS>Gx;;X5f8%b|<`FkvD{=^r zs7Xr_kKWQ}M=woQ9oX35WIo70C@r?b85K5iD<>n6GFhb*jh(qRm>ybkvJcq(JqHyv z*OO9rk~sW{@lHSBG*`93YVzK;psy5`$< zy)6`1x8SE+`^znu+rSOq0CV+b1?Y1ddcg@%AQJOi8G9;zLZ7zOtzvQ6*9-t*FH9;f zZ4KyyRaNv$3HLT1e_M!&lljRB+fTN5Jug9{LJZh4OACG^69d${Azw)Ae_N0t$l@Tk zSz1u+$?c?JMSWT(O!zgwiqs~~i$}()q@q*}Dih*$+k#oZmJjoA~B05gXl&+b()vjHC%83u^amFiHOEmm)f zm5JL_5^jN%D?mmM1CiZGVZ^j8u0b1>dR^S`AifynQXyn@4USRnJsTh78+j(;wmV2Myt z%DcWq)UW6+aTpGnP};XO3``b)paYR)MC|QAMpoKrZBjvxJV0jk8v#@Gcb{J*InJ&K z=&^;$5F!QAhoT#NdlxFVc;zGGN)Qo7X~;({sK`$nlqO|LBE65;PCohVmkejH!|Jfo z%cs>57F&Q3Am{=5TQQ>xGcLBp%WUBgn4H(=Ij#}C1%;J}lwQfi_eW~uTc4jQd~x{6 zi#am?(;Crx2yM0|@NEe)O}HM(EuKs5SF`));okzGMr~l1TQt{h8ioQOHREGn%GC0= zD>CDjto&`o485uf?JlY-YzaNK7)XrftD{n-+y-eV1kmh~37OKc21(yGF*Xwj)*;#BM?A_A5i(mcPCNGljgC_v`!?_52SiUM zgfFo$+H9OWh~6dT3<4n?HsBb-<1ck`lNb$I6C3(G3*eZFX=&t1Fj0i`?pG&NfI$>x z+*=KK5=?3X-H!=*DUP_fKrjp-b@P_;fS@|<<)<=*-WJxBj+LpS4ao5RH6i0-EDMn$ z*Uaj)@jgnqW}7!_o~XQUw!uHH!7bwV@lwU!+0qE1g>2CTu3Ektrxxm$h>aGS@u8@z zZ>0z#o5UbwLFZjBeeiH2JJXXV2|o#{_pVj!_4QHM((D@Cl$(sS`sY{>6Of=->MmA; z^jfwEVm8>AA8kRmk$(+Zl6(8CBH(DbI7u)0Ojz_&YS0{%E!9IB+k{M-0NMKih6jjg zfl&pLB2cjp3Hf_B3;stF4iP>Ye*$9PKFSU zXrm`A;gxO;q?W|D(p0OkCF=NYZ8T&{hP7e1@Y*bZ*(D7&=ExMkJV%`U8Gkl8z8~FS zg_^;zRO#w3GjA7B&oo~s@q=0l4PUA6A%l#=s*EX zlUEgJw9Ii?VKxF}sf8W3lL7tcOfa@iLsK!tj`>M4kN}81_1UXJ`rdbGXEeBtZe+;E zY2-|^G;kOq)!8B=)S(?V{!4&Xf}9CKz6$r!@N8ZCnn0oL)raRCjs?N7UYLdY9}nrx zJ5L(4po*;@VjlTIum^7-(GE76y+YfxGgtt~K~Ngtt*iQ=4lS?yMAAu(M|oeeN<;QL z7$ZagdVuDDu)|TdYn{y!`|2&^VogdZ z_~_dSn`J`mfO!3ys0m4u9vRtCh58644TFOP5Ys4$qD)6##hr*bDVdpvvsX4O zG{U*-9&yEqrAUe+omy_)CkInT6!?6I>!%IxArJ~IGslr3sX*QwHCh19`UnCBNm8Y? z_LFVmm*+dXT7Q1}#m|3!A#I{1qonq~S}`o-tX{Q8o^(mM1zl$yyCC+Aw1$jmqCB+8 zibflz7x96x8L%=*mC@f+CPvDlC(_F4VVX7kP$)%-7OY5wb3lgg9vMa z0U1^-iRDR_4%+x1!&53Ho+3D^TPjf4Qkygs4(y)laSBa@UE*5;pt?R=@sQvnl!g{- z;xmyA|5gi}w)kT8uKJmw4ryHXG#F{_3rK~S7Hwc2RhU7W)`NGysSNSSb)Q5s%>oK*=@c$Tm(TTGtjmjW@E zr%C2ZqerCic~;7s^$h+YaRC%{Tbt4|G+StiF-u9lGOW-V!_y8`4IrB&$!(x}|6=nY zpYguv3b)LtjreFmLYm~4YNTDA(yvBmj*1i#aqw|=s+QlYNv_oTbVQ9lB(94%QX+tm zoN0JXQf=uv>8w1Y5AWt+M{RgFk}G>j6Ig;Ess9@5n}oXL6JCEXWQB4`WS2I%U&0%N zm_lTj8BEqm{S7*#1)P7;x*LMHdRt6Cm~3#Hwie$KZGujcgpz`e>{CacoO*xi-4_4% zqiBjzn>HeuIii{I7D5(ll7=OM@xa;WaK^EO{IewxqKtEGlFbxGy_3_JTvOFk&qmAL) zVm-7x2=bYfFm5l1t`p;jA#Q^`@}q_^4B-{la7sc-wh)Dq;D6NdIaVLhooAhhuo4Yw z!V4 zM?0+0+dk$nj2l-!doB^YRg>+}VYoJ7sfLzs@ota^BeYQliQ17t5^59uWcXfnREMPZ zqZC~tiRw3tAt(EUaft#Dl27)Fe%mT>25N70GipxPs62~Mz zto7{B#1;=+9=7>5q>|e(&`7?5sf1bG{8u` zg_*RN! z07no&^D|R3`9M$3?xhWQ0!w^RWVoMnN-4$lCkD49&~^6yI$SP^F>7; zi~AeD3sS)%X~tzsoD9o{DID?9)K5LL;WIt*)P^l2V_cDg;Tux^%Ew)xjL*>R(L>il=51N+|0o1Sgl z_1mY-ji2rPX)q(S7i9Y#_&aFR#OD^DO3BRZnYWqKrM&Nn2lwLN3YNay_j*wh^wCRX zP>8iye2YLY;fkpw-@pdZ;Z<|A|1U}^4j0|1OH5J8|o@qwBMt)O5Tx&razaTV>|=@a{e=;mb`s=OT}wjAb~S4 z!e^a(y{%RUj`&=OkVvJrz+(LbN4iO2X$(GncHR~3@_TF3md@YM^Yt@w)i!h3!o}Uc z{K6<6giN3|v^9N2fY)^eujb(YaQa0#z>)BE5>%sVYgXX$71c|F(IIJ4e)2=AS zYRL6|V??g;qlqX~$V@d+S39^jh1V!19sl76-S@4H<|0FsPEk^m=%+09;9>4n)iVg4 zN}^<>h1^O=tWDjJv9Sr4vI){nGTy)>hv1$DI%!0IgU-3&*ULOkEltNR5tCC_31@*L# zwc`BgE>XM3h|1#uVbwP%=G zbFwtx3+LD4;QTw_4nKcd)xQ6ES177x-T4NoA>R6Y1%B}OT2|R@{F>UM_dAzzaTEG# zFU*}2U;Vak{($J(I1N}!=S{nOpC0iaY&#L&CGEg(U3K?-^G;ra!f&@-rJ$4z5-3o(|mj?(@ON|DB;7yNa-f z&ki(-?_K6xG@nPb^0BE4xoUo{3-9^d>fH=A29&sn%jFX3B?>wJD)?qTOc* z?!1XU-_A*1AQeGeU|FQyYq3UUs|9?y#>c1#+Mfz}J?rWBYzB1rkJ7n|CNw_vb_%!D zM3l=j0!xRH5f(Xd4u?d$GFcVvJc~+Gjry3)RqMjWu}WRb$`F9OrW}D^kXcW@U`E|b zbrI6+2wJkZez{Cdi1>)5jQGu2yH2bNU`=OwUYe{5f^A-zU%PxeEP-@~6Th-T5_Tcx z>msFu{T+89?~w^j&jgr`o<3wJm&|VyyF1uHR7p&IBEa#i>wwA4X5Cz)l$M#VS!pn$ zxAd+ePM1JJC-q?Pge2gxUW;bg@mnop-ir=f7(;3gz95KsL4xpci1FKZwtY38P?A&`n(k5GK@YK;I&8jZBq7w%m$fp z_`oimmP(_G(W6HE?_FOD9wjNn9Xl3k3OwB-y`FeUS)W_+6R57ph|V&q6H?D%a^+m{ z;6)M#8VgttAyCtu;`+#5a7I%H>A$~P@2Mvjbk1Eg^i5~@g-$|$!SWnVzK`QHexlF+ zu6%&bGosh>ia>W&Dk^*h2Pib`=TJ=)JrKFQK+F1Dp8hJzs4wenWxnQL_l%HN6?M0= zf6J7i3uAAu=_z7cODvv(!{n_EQh(p3L6ibKwHgFm5430RN|4a@)h?V;ok)(Kq4A$G|$&geeyNd)SK~^c?K60zk z>;elI5urv+xV5W1c!irmP0GHgrHLSh8=nn2a*=IY2oE~|Y)9Q)$1 zMOGs1p7w0wvyQ@foq5Mz zOke4I@a6W)ohw&-E{lSzHRtI-$~XBn{@GuWw+csn zUU&2zVE&3L>Rp5*PoPtm#Nao3wBiB{mY~U32XlEXJC?ay+%MRx=PN$rxNqKyH73Zi zMGmGbbHFwvNPH8>R_2-6ie#pPv#(q+vqK2$y5EJP2wtk-Wt#Ms&uZ# zl$T(YvT7%;r|2gS5p_k(Dt&co!d)#^&^pa-wa6mX7I;zj7`;t})qTyJ5m-9L*nSa8 zxP;JUcNY;oGf~N}1!~NMhP4-fL&sgD1qyMs;-)s~Bj@G&w=nA*01{Yo(#lFC^Y-L` zfhn)vP`8RUZtTyCuvcwxjQIhMP(r<#REj#yNfCiG!=aBgKK)z2FG**0y&{#>tpbDj zl1Q_QyvB%OKdX>MjvuZf_NrNXDz3-hR+8cXqxT<~8EL0uFn4E^*s+JzyxV2E%{&H| zc&C~-U(ND!0R#kVlZ)Pl@UmDh4N2~|)!uI#xEy z;4Vs^@}7xCv$7Vt5IhCtHp1HgFj^3R^E_MQ@-DHmR9To|m+yZj>=2i>-iYs4(u5Gn zBK9tah@I-+7m69I9FS)@mE{7$gTgFa=0h0wer{kX*~ibiv!3GB66U+tN^dZN!%lX# z3vnA_KLpVC6zm}*(oe~zi81XE5N{#%tLZS5*5afUTA2+d{HTJN%B5aVQ=7%USsd?& zR^MeVpCOaavqPK^C(}pnt5bTu9tD=U*e|SJ#^PN#E=w*(bic&qE7`l$-qYnKR*4C$ zx3D+4zy^p7iZLAk8{}>uGBUUCbqSm=BEzjGFq|`6N#Xrw0dZy3R3h*d zg3%~umy59x3gT(8`vxagp%q~;`p7OYI$i$RCRDH8YyJh+Y7TW6K?*nGx|QDRVRAQ@ z)ut95;Ci}c=MXXLU&Znk9kox)wwvgRBfJ2G*Pxn0w}8n~}zH8VKKMc z=_bCZ4ka-P!1tQyum!P7$+no>o2-93hum%T@^dk0CjVVZ>@GFCT`f8xremsntxCU! zLGZK<@hWfQ*7>ecp|*{hVE z=lTsOh-Q~J9m3{w8x*vy7nDpegm%}$)F|;IRV2E^4RJLt$l(x>-0E`*v;EHaN}?5wP$MNv<8L6{aC?`I}t~dOWk|K1U$% zdEsL6l^zeRUK}F2B-`78`1Lz%|aE_S;Zzl+PfXAHz^gx?GaJ#q1i zv*ORz#xEXlXi{k+sh?I063YNWqbo3xl5dL85~r5mBYAX zJEl0)yPQM3p!ThWK(ds}gK1ZC-fCKr4wyNhEWo!QM=W%V>uq(W7s?Ka6ld4j#B_R# z*QCjp?4%AUSsOXgcP_FsU7Mw1YzQ2;1HfIf23&K3&T@hb!mfwhZmNHma?ieuh(lFA zeM(keI{S(%JKQ;Uu2>Rcq)x48*-h+0F?HC;Y~!NO&iC!bE^Gb00Q`Dc(df>VE#N%Y zmi0z2c^)_dv-{(-rfF9CJtMc>$a-YL?uA%|V%&BoqqY-lagEOE=DfVzIe83z`>t(j z@!5~>+JNmDy^GkfVg%hu8!^#YMsNfZP%lQnA;c$Q##KK3HRspZ?M1sSh;}tAQ2jJp zjHAFl%~RM3j@KncbpCsijx?OJ0&$#sM5U$`Zhcv+d`tvTQ)JPdN9mkAY!@%sBj=&HF<%!G3Y+<%=5qpgkxtcJ+VGeT1|1F^pejc~af@o5+ufg;uR?h%{ zkYMsO8-HCTzV+9Rzx%(#D3SDepe84J3N>UgwOQ7(M`|`%*`;g81J&cJk!nwLEqs zca#ExQObbg1MI8?h+&w8vCg`y^eoNx9u|v#Hc?6;Bu2dPl8YUy#4J*Zg(#TC^Vp@|5kN63+Y=G>U8~m$Zd=9ok9J$Fe(SH$ z23!oIB18y~x?Jq39*=MfMsk4d5HGxO9eip0IB_g?=xEC`E`ebzpE$+)0W(Om{ z2n*>7!sn5(&EJT;#L1lj4>hWpjPH0dpwj7Lf9wLY{>OeOW?PioP%WyBMzCM(waeM_ zm5J>%`F1G40BpcR7rV*o@r1SHm2Vhps)YkEo+wRt&CCHYwFz8AborD=?D}uvvLA}h z+m~^85cQgg{U4DPZbj&g^e3(#zBrUwZ)Dt7d#@=XS=8(ileZpHm=%l>M1aOc=)YR{ z=J&#B|J~;UPQZcxgF{Zh;Y{wM*jb#w$78LS$^NJ-D{B6MSfDs?j&W%tki8y6uU8xp z`i1uV8sevUY-2z9&L|*^g6*;7)bl8qLn!Z$Q?&?ErP$<5?eBY@U<01mbWe6TiQUGv zqc-jp2uqQoj24f2XR1Ju*Kz|>y^g!S1!d*=Jj7B<{|3hrdX7xv_>7n`oTl&vfrz6C5dF{Y0wSv@Xd zzAe(;@Z`|bt653lWe6aXc2$h)|V zSeKSCgR(Z35hXq>nSPr)``zWyNo(+{Tf1K6rfI)<@ye6`n*F~{*!=o`zrTJL`lf7F z8>t1e-H5I358m=(r}*V5l}z4|>lg_V=mTr_1&2W5 zG9|}KNIN}f=SXE}B0Vw>o{DZwKjk3XO*8+|f~K+>zoi_{mDL1ggzKkjT5hz5C*|hx?^&PT#AlV`M)t>_fB0p=ce_3j61p50 zi@%#+Av`Gl<#K***Z)k0FGsrEO6;PP#J}g`$F8s*5Sxl-Y$Soq|9%FRbBN34$X{}T zf(WF*mh7qXmr>W%o}tU=)THzJh;bf^eA}4M$DKp`o&Ph#tj+5sOn(iNhlWo24shmW z++nuU2+`)}4{wP}y8=&F&Kz)erIsE}8KM0w)B10CG5oIfo(pVV^=$a^eUy=wvURNQ zaM6z233uAY2dkLp<{zwD_reGnhJTD(UZPMl@2bAeK#$HDBT_x>;_3P*a=F1>XARz1 zf}h=Vj~%xTH(rzUyea6%0Jc%3OFG(LHSGPfv8X<5j4Q1QH|WY2 zyhk_quj8mu-r44b*yBq$)|K=3Ts`8!Rfi+elTGdwf4unBVe+M}t;6V%idGczZj*K( z?1k|40`Rio{vfR@bJRlL^RkSX)cW$`Ku+=lGnV&qM3U+0NZM*|PW8G~xqkn%pJ{0#``qLki zl{X!Q2Ya>Tk8i*vZPG0kp^4*FT2reu=31k$G@Q^PQwu zH@h7S#QOK?+DB_9Hi?3-=7a|qm~IP~r_QMr{j6WLY~kU`H#vd_j3Sx&9)?kdX6@kkpxN z$i)_Qv}XOZf$B?4TsEcjOeig|BWcqV^^j%rk&m@mtjf~u=lo>8r;c=RsZafu;b97) ztiXg)=hp--xmR1N19$qXfv_tv^_%hzBCd4|__zzE0cV(|_yFe-r{{{~>A*(jTzaDX zRr{hkEyW8``xM8J@t<0ei#azE^OWSR(>(|@-+@VzBgi|2608RWle~m`U<;%<=wYl% zwU~%23IZ1-Q4!u(Vn~y#i?QQ^Y7dT!9APYFuX9I{HM>Z00;k`f&N++_g?i8kfJbpR zn73=ZgFA}6`c6RZZVKWCJ#v?qo5@coJFu}w9pjUU5{<;v(aN)kqfm9=j(chXf9vr) zkKeout^)}X$bcsXneRM1B3KZ_V)L!kCt~svg_b4QsZAa=?_U`;hF?6H&X*art4oSV z9d*XEzdvil@4XIw+mY^laBg^4xk(y0% znAjat^Mp>%<~eq0usT_x zKDeP$jcDR$1aNZe=fQK4`J#c;`D)m%Hxhm^W4K!vf(cElygTLS4d=|4i0BIw^s{Us`7$|G2l(Pbk!?Wn{HhpRBMAlAWrbaKz(n#-eGzZ;o; zS3B!_jV5@?9Zmp@@arvBGfTJ;zsD)L|4{A~K44}Zw*-X$>q+fW27K?Z#SfPq_(8vl z(PS5=(-n0a0GHoyQyMhSj$hKSiuq?#|Ba@v`;T|7*}CTIb&ph!uAF+GhiDaGgR+a% z@stNGb4t)6%jei_Jz~sp#SPDNZGDCjrjEL?o;3$E>`E zVw6fC#rZa&QXa}Rn9@bF<6(*avcvVu=`OxD^5qiBclhg9U;CV`sPR8?Hv||NU3Rsk zCX6)zi#w13H~qFwU79?&_M}fJ+pbIOr`D_VQdWt|Z@y4fRn$<#Jnbi&PLAaw=nWR~ zxT2cms6cHmm!RV1Sl)kB+!i;WoY|8ee_;}a3WC_9nKkj-fBCiGk6od^{aNebXGaqr zYkeig&Dh^oJv?zaapT|d%PYCK+^#(5H7RjXgk5Xq%Lbn+ET0zd70DwF80lz4LI&YiN$C+uL zJyba~z!I~ML$xz^mQ}^%LH-WT$zjSTw>x4&thNlqCQQG2jFhD#mkVm5x*s=$)R{aA zqP1?U!;AV6_W5A1LKhsvwHmps2LM21{dL2I5~J5+{(z{~bg(opGWw7B$CrM5Sb8z-f9ku1$58xbM6|odc(q(RV>o92 zu@Ww2vAzzy1TjDMGLls)Z^wiKsG{sKV*Qi3y~lf$p?x8msaXxzzH#>kSPFeZ@3}*f zEeDqa#^2U7Wkg&HGb;b>bO*coJc4wz5*7nFR7a6>$!#Sl^sl%Z zDb1F2x(>;VHzJeeuaL8i_}vyDi$c0%pN0}M@{?-3V<%CojpTMY8vTm&yNOzs|73SHcD%3m< z#Z-;o8j6qSfG#tcJ&BtX;P`gL3J!{Fj6TcpuF0qxIaaa!E}~9=U*IGiS76SnW;fK7 z&M5Yc)$ZJLxG?bRo$K!JOv*(j*l`n1V#4IQ*_`rBi^mJ+Mt>9WHw$5K5twJjlqoO| zIOGO1GQ)|@o%C!rlCJ@%$wsB8Z1cLJ&8rqw{+P$#U?KetxTB*y@*!%u{Qo0W|4@-G zJAo{f$Gb_AOHM8oOj9lao=$)~X~DVG^Uq;&X$JYyB&spbW6saJH>xoM_se4C#D6Gc zNI>y6;$Ip_&z++K0QnyS*(Jbu!Q>l8)MrabP73-P zm8aGM-~s#_4q*@AX*HzoHO%(lfb;A%|Hb+GOroi8NaJ!m$&55PJ^wb6ep8Wl8WEW) z&t?JTy$YXTL^Qy)e{o2A{sF!;y0fW0ZyV49OR8pm5x2C%o6kYTtHk?_2*`+x;rkp5 zP53-C;rO|@4J8R1d#FA}%#RB4`$_W82D~SXeq>(%mmJToAx*&^nSr3M3gMOwCgjr? zvO5LVyzjIh?s|vU59gG77A~@3=X6^WK2$H0Sui>Xw;Ndg0gc`-$L*!yYAM*1g{X~Y zY?p$ZW}v1SF=dnZ?bp-YcFJ*xaCj0u7&NOCKs660$?U{2Rra(Ty~m8{)6ylA7}F$f zjVdixjyWPAG*GZvoX9`{dZ!B2cyq~?U$ANeF4MejwdyF_h}mpLt~O);bR_Lmp%+28 zmV8jAz?M2S>+EjSdvozC+A=x*gauQy26^5WS0%@(1?XTSa*qJ*e;1oe@lT^*TP(Qc zlk0Mt@U3>-QchUJx-*pVBgfTXpaPQxc!`c5Ez-+Z`$0Q#y3^o!A8_>Iqn;O z+&^!SS^?p>+Z;1fH`uX7K=azOnC%d1)eTIuf^bBRnGKx~$LwFXXg|BXG4Xoi!s5zg zHSHEJ^26oqp$1Bph0rP>jKCyv5VBoCXjYL%jVFk&JX4&SlP1L6Ztr+GS`CNX%&UvB z9-do{V5>HzzlsmP=$%BM`*6J511aBpL!;eAtY`Q)mmvgYD6J6%bQb!m=uk|$m!UPo zMc?N-OH?8wt^VXzWX`TLHR}^T-1PP}v_-iR-Be;bFcCMMX1} zYt>9E+GoUs&2{-5Y+gBYeL`e-!si`v$NAH~9?kO}7zyhw{v9yMAt&xu9eq>Nx$JQE zio4m(>F075Qr0=d*PH!wUY*y!=*n&BSkiJd*>*H}>}Vpg!E@UeN-+!b;L8GKV}oDi zx^)Z8;Xdy0Y4T+IH0SJ23KlZ1$bqmsjVL+6=V)2$E_Ly@A;{v+t}kCvs@8^+jp66P z_T(TC#bkVDS|_aSj0F%Yiv2t{bQIq0;%R->Oqf@QyEeppIpp)jU-4f|F8-pl=gT!- z7b21`ynEj=!>2VVzEwn}QY-+;4s_&+fNb2}62U!D8x6@>=)Gu7a1BieP` z_fseE;T_=nn8&vR_rt()Bl=9pbn^2@K*p^gwj8tENR6EYR+KXm1lwz2*+PMxgNpnHvjW)N2Bkh+XXH|&qxy*Zk>YPCPQSw;NTLil^@ zl0}nI%BJor2sc=py#l~1JE*=2%q^I}O85EUA?7RCUG!mGmzl6w z<>hH0To#}c!`+RIM0Eq+6ogzZC)$jJm6o0Y>X!)+aRB!Cl7eM7dwEgtHls%`fERev z(f>R0)p!3#(cQ0JNR5TuX(IJjbwxFGeZJlm zzU;L9%|4`G>Zy}rqfvj8<6UXqR5|X36Kmd^81Hbo2>|I^>8=jMzvi56ymTq{pc=3f zhKvNDZ86UY%yJT|otr!Wu#s_AIDD(Ede6({lxKF*FLv^3Bh6EOo~CRkP65vp%zRXR zr_siDg?|pII_>HNR$dMj0j|HAkddcFNatD1Cf8~p_}C}l=l=oBh>#94*y?iOOm*q% zEtdhBOE--1hfzd6;VOhB@wrJHN5U~NqpoN$t7SeGeUhrz(9y_T{Nx7uNJdO72b0TRS$5?js zt~L^)Dx;rb-tjF*Y4}}S)FBg2)j-TQUHC2=)IiiK2j7>5?RONq(nw2YfidpJ~;1^8+@>L1HZmGQ=!dA!Qjg+wK6A#a#YgtOU$cx;}$e-jcHtl$3iMmk}u?&FM;W_&t(O z>N0q^^9gU{)SYbyK1U3D%#XTDBmZwXDnUwVwYc>0IaG-BmuZ6X%t$>(d*$(o`VjER zv4gRuXZ3ZI^_Sgg7UJX&l;9e~X%2qoa9NoR`U98)@=3qKloBO4SGwc;8VVZ8;21|! z?J6=gkY*y$&o8EN$iE|NB$~^eHuOB;K_myvaZ+35po;I>%=ww9r2BKgQ7I`w*+g-Y zhwZo#!p7;BPRD0uZgS$DJE<m9sc&b$6MoUQh=C>Psb&Y9Dj*U4HRtOpp?vJF(SH z>I)Nz*7a)jVGl1UPGvzZz}E@s!ZZkfltw)v1#|c$g_3yRh&{j|{yW4dNIg|JwCDU! zTP_@QmzaQlfO^I6ABsi(&#uq)0L^Kccz43-n(XSf=GMnz=NX&lmb*z=dFqkhldHX_ z#Uibv>J%e4xi)a=f~NnkQ`YA`zIRlDyCxErExo_yrth1=_oJ2l!qAnJ@MXvWXnV=) zI?Qx4R2MIyrQCUbO;O*G=owwzzxW-V?ly6<>$2y%frJI$amI=_lWwu&lfp_kF}3$= z{bnUsNHFu4h}{Yv7QLpmJoREMb*#`Ny*}LH=NXe{SJ!y%YQrTQD*yY{4!$xcu=&Iv zZ*QM0Ns&AB;aZZRQq3)%I}CEB9nUwM~FVO z1Q_#Yt)|+cnoWg8aK&0jKW^{Lc#A}|@COG)z2qLZLcp;*b6f-eh618$a_e&sPd(SK z^I5x(C)84J7d;Qa74G_DPweSeM=?a)V_ZY=K!3B!e=+eLdu3n0?j~j8fMeG>CT}(_ ztM|ko^)FL)JLnr;gOhh+`k-S6ayo{S+3Ab@iMrBlt)Ca{;W$T`Ga~-X2qa#AtiGEz z_kziFz1Dv=hH{K}V@~x&((xM;O~H~}_S!*0#LR?SU*Ak}JL%ASD;x-zakQblYFB`I_HpmrX6`HxVv=;ELBS!+#ic$x zp!d$XRhdGp?NVi<$YGFBkBf9$OUHE`mQyzT@D3VWE3G)j#up$2$GUwt;~E0GYA)<3 z$aV8SPd!2lW(5MhO}_J)aD+SVob*O*(_j4L1G$4AbMb_$ZYdSGb4!E7yXNrxcg`?6 zWlbZs9aCNVpt6-Og> z3$>&$XNQ&)YI4VtnQ=G4RWn`s)p3`;YIhY2X3LY;_;mm&D*}yN@0Xjw6wrgagB=HgZW9E zY>$n(uYyUXW!wwL6Fv`}-?Ib>T#^p*&n~?Wa_<>OSb$3o>k8B2@FyPec^^bI|rTlL5JeJ<&w6@Q{t

Is7UO5NZ;Bxb&=aOo+SNNNGJzftkqDZGMpeoMan4fr?O}u z{K%oQkfEUTB)Kd9HHL+@Ixi5ufD{0W-nr(dXMjgNT!+<{{S(sc5S z96X(8OIQ{GhQ$EbT}lJ5+K^ZsZSfizyeBfll}lPhEv+UkEy^Dq-}2n|a0?_*_eU_I zVPx1?EM(eutW|)(i8j4wv>YTbn)BC<&k90JOW_xjZ|j&(+CPs@=vF#FVwo+0FN|}m zHoLB{tCFR5kO;tp{xTe+PFcAMnc@DmOvjFft#cmSshswTlR0_$9@_g4=Ym7bCsWk% z>)@RIIH5J>*je2TRu68D0L71pR0)h?FPAn6-bbmLAiHGyYK>u%y43@B&NWw9PtB%R z{%?1%-_JqP(T5E2?z;6YBY2fVA6X^WEYWHxfZXEd|GYzyE5^{7gRFh!An*+$M8ZJS zfUtt}4Iq{5u>|%E6Y<+dHxeODTpkFJx1A=x7T~70^KZs>iQPRVAIg(=!^@ik==4FM zr`EZ1adnO>QVW>=%?U3E&i?+56OAkrY9ph8t>?8sRh0=Su#6BIYV6G7q8-tk9Rd+z zTK?e7@#UJq%;|k?o@kHvlvgtzzM_RRk_= zq(evBL~|)90g*YFZfYnEzllH5g!d>@)06C&O&N`tSlNw$Fg!Kqt%>$hqF6ows%BT) zyl2!HSr%1I(ijsvtM__bZ2$5a8PdSz)`%j_u3cUNVRl3tCUK0!g-FxihH(StqJ_F} zC`034o)Rrhphr%J9$h*DyCgMYN=;2*f&50`Sg?ltt=ne{;r61YejU1{k+l@EG8#;( zaF+m|H60fA`*aE*>Gs`V`7-}mJl#9YO#bO6IzcuZKx{wlIZtqqb`io*q*m`oV`|p! zvsFtna_D_<@}$WgOJAI8K1WWXEBRU^|B7j#gu3% zHl+>a`#{>`*Gs^zA40QF(uL6jDw2fJMBnwc#`mI%GOumKbBzSx4sdH0*V&jG3(<*; zbX90y&fXPBZ?%Y9TVB_Qcje%x7Cx?7R_z%`mtYbfrV|^Y<`F&+@KcucS1qtp0$t(c z8CP+@yuRn|fb?42LnDw{_XoI&FiYU?QX5$UAsxfB5E$1*Qtuw<(xQvc9d_9!hyttY zClZ2Ecafu09mGpgLwINrIbPu)ezx=+`GZUR887y2>d?>N=Z@ic*zalh6k{D}5dFRJ zD6yl0E>oA+8#4LP)jW`E(GT2qA<8ku9ry)uz`GuZWg7AaF-20G@e{g;iJfEW81W`; zGKSwQBPeM)U!$dgrplHWW)I?&%mdV3O}Z0T=8WeFfUGuL%vNkc2TDZJr%Lo|Uc*#a zo!`qYGU7D0x{dCYEFNZ^6SIJZFH)f8<-q!0L!L!VwOm})qDw8qZIWPpIqG0JJPX!O zaWiWUUN~&4(7h4YCGql%?3~mCA?-rVThI=!H;3KatuP5g<7vp zjpv2vVFpmeFyTBt2?I4209nN?flWb5*g^uP~g@O^fRD+ z^l?>6nZCfHUk=eUvR~H9^}LRXX-;f@uYN5@%Ms7avFP(nn7dzpN)qVvX;|NSARgAQ z<>_-XL9Xy9h*@ zZq+zy-W>EwDF!3g$}A{CuV&eV2}KzLMLd0uT(4|vVM#SvV>eb0q95fQi8kr-1^Vm` z4A%~DEn4R#{o)RkTN@DM&?yiN6f*kL^oc-7RvFqGf!4-!`Mua238oueN#tl(n{+Yu z2+FuR*RF$%(f$OzydJZE$2IC_&2U+Lh7+4GULnubBG1Pah^lK;O_S+=@X^mJn`Ico zrr57+2PTc>9GPoYuk6LGkzy{L1yZHBTpDhzLl-WG=RsJW5|GHSL1U`a4*lseT{yI_ zF;ibaKtx{Q!NG20iz*Ij!tT(^Ef~$Xfh5J|^0DnXyv1X))=G3?G+(z4Al8Cm)4)3u z-@>$-Yu{;;g$36t{uj1Tq0eUO*H-9icfm{KSe|@0`WtpB51o7S_DUr#3)1J-Yw1j_ z^PGNV8Jcyw;&*kjd`mK6@3qCv*M#lY3f(Gy-2!0cFpkzZUJv`*L7Y9+O#!$*pi$(o zpFsWX9KqWNV|XYsXIga&fRn=5I+e$2VA5)U;EZ9^132elSr$Brr*;h@w#)_=l>ly% z+jyF4k^~0Oo;W+)9@f9345k`Eyd3y94<<61c;3R2`!G%clbsiS{U?3W-V?`n!SubL z-@kTN3&2Z`WLEZtM_t~!z2L; zYj?JMsP~jyRaW$@F zK)vA43seO>Jp*V6s3$p)Rf#SY=B2&@a6EOCuAc;@Ptx6E8DTtdf;7080mEbkiru>) zZtoO--h&0gyGB_$2MJ=MF zbCm~PJlV|yPY3UYWZ4x4FAo>#qG){QS4-ic3(LE?uU^S3EelBJ+CC>67z1 zPU)m)ut{z2#Akhz&if{{uTQ>!O}h9_{PP8C>OJ7zdY|ex&|lee1OkJc=XSTKLTKh+ z?xlw0LX;LT{UGGK?tv=HN|r(#JR7*={}U zyp8SY!}i?q?YaBT_UqG5`?U+fOid&o9nC|_wlEjM7)N(&22TsQ5h?ZR92ocHwQ8D0 z-P8hx$$s8WQ%{p)qF@x)LmlSSh~#Ka88e!%iD06mq?&J9c=Qc=*)@iDy*jZ%6JnVa zq|gX^HK7&N1`~EhSA{QAGlQd@R-Z9;O&uZE##P*Ye=2)QZRZCp(SKYWCcAa~G1u?< ztg#orefF&k9#>D}p*9FXcD*_R`B@EsVdJQ&%KP*|6tgfZlv?@qY3D!JI{)|1_U)bR zUu@5RPdg{BbpoE1xCsSztK3k;$17VfrL90zi++i;vF_=POWb2udaLK9!1-m^K4vAk z40*O;(Ep$|O7_wr^%MI&sS&R%!>{(`jbe9><5%M^-1+G*`(RT!_>!rsB$43@wmpS_^I~a!VT>z5l&- zLyJMlKTc%g%Xs)=8ooZPa_05U?@o6@&pL(AIz{ho;_IDBr#q9WM7$Im1EOsARP+fu z$Qx5f)T1_hRZZzthjPZYn^1u*DAThJ-+Fb}xGGuW0(Pdlr0jM-=+!frG2ntlz?0679dMz5R7ZLLON0lC>g`B z2hqhc91->3|PY=+F?3;_{gHAy~}3fUtl*laT^tw*`2%7+6+Y;-OTJ9o=M#wOW<-0c{F?> z|2WBc0GTd-c&l#S+14{2dw*KpvHN=Gp6i`;&pP*>?%Y?~xqss2^aFRbzA}`*qkk$B zw^?eCjWr4B*fKf3l!v_ufu#gou?#t}YLWy~REFPBW)Qg($qG%O6N{Bwns;ld6`E3} zcDq7bsziI2!N{72!$cR`wZU)$@9LqRX zbu#oR%c-C-Y(WKz*wU3xh+Qo2Bk_V$ekBdHxXrLmrrBPBD(}<>NjCl!qcGCIuzEOMVwlB;BoifA0}(jT^@b zyvr~frRoj#;zKWR^X-_;lZ`U~!!o{30Y_%>lg8y6XXn8g#?O1}9XTyJQT>J)k5KEG zh~4h*W(U_#@Je3w;Wo+*TP&r|U0yY4z8Lm=sc-sHfBs8@?Tg`liT?SQYG+CHO>9;# zh9jsV$u2i^}pkQ?(@!R+H1R)}r@w z>hn5)w+ry{d%y-eE^zR(e0+mas@a?iY;f%)nb68HtnpU@+lVtk4xnFn|NfYlSKHF_ad@Q!XAjc{_4kKshV(7nUv(S^u`YVs*)3%OykFeyW*ofsuatE zv?Es1*6R<7Ikaok)Ztq#Q4g&8`s{NjVEp0F14+?cY#OUtJm>Vn=Sz55L!Px?C%kfnlb$4EOe$0iJdfk)qc9Pc8UutHT%6g`#eo@>7A=iduw#PBA*=)2vYw~2btgZzcMHNM#mCypH~ zKKUx|)Ro1z1*69EcjJdR)@PxQszr+q^*Z*rO?xE&sE>O<*f_7?lIhRPlKZ}2pwNf& zq@eG8lb9O+w%&FN9WcXxj@N(0cH0)ge*xn1pgOnOusPDLwD12aUH0UMfA=OJTSvzd zmZ`}X*-tcX*V)T-UJuDn^k3C~WvSfeW%MUc#*L>-B!ysF)Y7np^H~uWz7Q`?Br0p- z^1ejw3=#STirm^W+<%1pGd|8s_$`$qrMxIOFP{3Y?PD6_2JKT?;LDP8=;UmD41?5E z5`{Z(JVr@Q{GQ)D;3W|(Y-;IAaHiGwuM6pk-wWaca#9RNH^Xq?E zU|fON%aSk;-(soWY|(h<82_KxbX|C50?jTev#|TzDr_wQt`j_M!a&x^O+yk)fm08f zi*$2^(+u%LS&Esu%i0Q4q3j<#rV-q^T1J|^P>RDHOvnBEZxgE0uDcumxuczuggQu@ zl`!y;y5W$NLzgGT&rxyhrQ#o4L{`^2E436s`fl1)?4BaaW;-hLVCP}#=KZ$Pd2MC3 z+ruAAIudAuAFhd`xqcVa+wFenb1w@xk3&Bm{Vw+FZMmL~T?L3jw~Y0z z6`fC2es+oYd&#`sT#z(jX*jy}^jNPP6}7izU^Hgu(mN5Y!}ue^In;j%GoaT>qkT#) z)%AcaNwi@XuyNAbP@^FqnIJBJN1%pR68j)$#^DG>aKb|LGpEtqe~6d7^$*+7mZ%j& zZ(S11f82d(jWT>H@S9;?n>IFle#<`vfr>D>A+IN!{H>KYFF)`8!HaJi3vVkv$3N-X z89c4o&R+Lv&XcY^vD1#;Tpsdgtk_RA2oPo%dB4mt&fT&?jwI$Z3Xvk{>5=Hx>^uAC zdwj~6qP}qOms{qvJ@}0N=0Cp^t@le8yFXGL+RND-okIiZ%{A;7-kPMZwM~+qaUQ?+!|#X?CLi!rfH6~;`@byTUoV*xu`f%9y+qmT)R@C zN)4*tP{NIS`p>tvOW(K=xdqb7f^BGbrbtNq3!ugYJO>ZDS^X}4tPZYofYz3X6aPq6 zcT7u+q)R7P=1U2I$5G-So;sv^SMB;h^{+`;`g7gsq|+4;;Q}FY+BxHp`rFTC@YEyn zkD=&QytzKD6>8iZepRt4$LETaBg%8)l!*IR!z6j0POmN6=6~(rW4?$%Pk@QKh>h91UpoN!%o|5F;==mJeq;oCQD_wD!_%?P7iKX&;FX{jduEoY*STs?x! zxWW;AA927poyS&5kDrO77M$>B%S;>Bu`E@awxK+o77UuBByMgF@Lj9A#lF{%$3RdR zkJcSuB_xRK!g}}dlxU8yVup)bpJ>u0VNd1}SyvY2AqPpL*bOf;Hqp#-L-70is_;?O zea+s&w2wnKW-Q5N@VpL5!`k%9Tn%N71;bdB@IlQ7*dGS<*VueYfjpb`y%bdv<(v5D znq6+Zv>Q{kjVckbiTu=&5;Vp6*GGogyFr4aAoL@9V1UOvCU(j*B!Fy6;3MmArOtB7 zfk^}#Lou#Ppbx_{UWq8j<@hPks;trpaq;itIA4n!_3T6@uykt+F5#H+jV^k0RoIn6 z_akmK(`0hI#IAa52C2%xCW;F(B-wg)-v*y1Ok@W(&T^KL>PSIZ?a47$xjRCtAA(!t z`VWiJF?V>`YzK@?n|>vgxTF)uBq4wmD-%a%fG9*p8wXLGN3ulG^i1`tUHb7Eny7C; z$PhX*SB0ro`AXH(TZgb6!UP|29Afcp+e@q4g(=wwz0C|Cw4igD{f|u))?pz{g_Br< zx@;`|!0bT& z0#S)DzsAtI6dfcmVB6Jk)#!;>*&%d>ErKUR4{(nCJ3n!K1FzKT#}`d!tR#N3Os+$|bVp>~w%#b8?0CN8V@BR7*^sErh1pP;^i@zHs+a z7#nRtm%y+<6I|9E$G7dP06YgY0+}sD`=d*=CX|ngHj2H!Y0$lg!xNFP2rDLcR!p^R zibXWFM1>j`PEWG&GR08?R8cSd=L&C^Y;jDqm2K4cmq6&Q?)Xe`gg`v`P|^Vx(e!q8 zV^Gh;TAgREZxTM&8e5^BG;l5Et&Wmm;h1cMbE+9-;;?PDm_$q86?A-oEqXNbz&2Za z89Fw)8+ztQD_=_W#E_!9rxa)e(V*v*?AT^h<2QAj$@*PZcaT8L=4-;`&1VLeKH4=m zLA63O2xAafwrqauQT22mO&rJOH z9H9gVY_F~X@dKh@40?J-_ffDpE>n{>9}YK(8Hd#Ij@{@kM3TG}Ti>0u z81~hQr(y2#Ux1;9y7fo8dEP1}_8skDC@3W{r{AJP|{(%r@C6 znwHw&&j?-Be_Js!cikpEjs`{%81N>T+SM({#P60OSz|W8Tqdm^L1u;1Gt|?W8W%}- ze2Y+!D|#xm79Gp^G;inPd62(R91K_xb5@XwLe+ztifxE6?3bDB*?|s8^qN%%OjX$8 zaKgRboCYMHVQQ((YJpbVTcwHf5kBdC83VuZtJ6+u?!z!pJI)=7k49m5 zv;8=87=V>tElL2gHWO7ei6~wo+T*#d|H;5EdXiVOa2jm$`l5Fc9QkGMO{dvr$g=tQ zz|k-- zh$%z6Da6r9s`J5(!gy^rD^L_)kD^(A zy5bK<4|UTyaCo!LFL4J>26^&qF?ON1N#!}@8A7!QEIrZ+IIc}CXy1trb8w>J&ecdG znp?zcx zy6Zgaoy#Azd;YVrnHCJBdLc3361%4`)E5ubvbPB%Qqi8=K7$E~9+Oa(BTV)VEHM*NZ)zoV8qQjEi^;^Szn6 zsFAu4Gb%)EP68R@)?#I2)bU8;Ao5z9D&(yIrq$mWD(j1MXhI-h3KD||v`jwoKK z_)m8vMliVV0F+?~G})&1B6spRuE+#?T^MN)p46v7`Y5Qa=qbGxuR2>omlabc=7*_1 ziKYa^Jdm!0rnQL!0n5{D5#Az-Wq?Rzx8RGl<1{)Tv&yB-n!ukwwN3o>$cL_zXXrdQ zq{}vS5T>>W-7|p@MDgXpxE`U0U`kM%%{{CqQfo`(&yNq6b1lCWt`Pl|cNoDT5s6bS zgd&DCEV=4u8jFAUM93rP0j+AnY=S*8A}rCCIH+<-vT_DsT32^sZui7J=j`v??>+le z_YDZOXeL`Qm@pe6+J5?HzbE1-R!<9)SiDL^Y^^A!P8gWm9kk);;@b5~$_JLj9(38J zj&BoPltBTCR7x{ydMbrPv+|Wi+;-pHD{ z6h6v{a%X?9!Z3u9Et(gkr0_CL=(i8(p6k3MkTvZQBE$N0DZ^~BOzmRQ{wjy0vK{ZKcnXmTt7{3sP(FA?-z|2nAe_%$Wbw*C z$3r$jfo+1F2nDv-V!KvPcleJDi31%{H`q3}7Co~KMdQQgLabncZ5kpD)2!39_R_Uh z^w`COp{FrDRwFCPtqwh~T#K*L|Y0!G!@ zX0&UfB`EZ$H8D_)DNxO@Qv>S7F$LloF1Cspzs1PKGcq)uz5F>_JAUJ=ryRN&lPONf zM89bch#NznQvAPkD?Eojk_x#Zx^1E;wlOKQa((^ocMA@#Py3>ZYPQX2MMn=1!=C8& z@+(HQNY)-IEwu^DgFl1_vGrj0N=+i6Zodf0Jo4~k_ZWHT>4TbLc{dt5KM_-4OUOkD zv&1t4H6?Wxk7o2t1SZ#NLO391P!%UxDi~M6rPYeY_a{#lj>TA!0}?32g061*TR37I zJw0jT$T|zQ6--d1-fByq(kqVcvQ1NJ2?eMRm&DOyyF_6dgmsWtDhe@+S>Irs56D%D zg5FyFAXc55h#|m}I;=q@-F^&_SHWL?bt-Bm;9C#ouds5oB3_$t+aTnHWPxf$e$8{n zN?kJ{9Ag}`rzhd7tsI%pRLYdV+!u=bgS`MP9Ub2JyB}Eng-Wyl!5#h-+$sN+6#=H5)Zoh$dPzT6uR`JaM{fnwE3Kf{Tl{f&f zwsi+1$)DN9x##cX{xN@b6XZ53eDLGv-S<#g8v({98JSN*mnKa-}5~#-|^TybA!iig&Em`g(y9qD-ZmT zrp(pdgaYTRzrRW$M`12Pp8t77m$fD7h~y~>WBN#U?RNJ$KJENrwN*>@S_yr0P1bGq z56ws{J7@a;Hd9l{SNfXN1CibgGB#_?{KE;W-peMtUrVm_OV4x&tm>OJzSP|V5vp}o zx_e3VH{SjKFT|3NLhQBNR7TKgR#Lhr@5zC+X|;>U3$@yxr>`zC^=_QJyo+GVdwbbS zDYt5fUa{MlMI#5?ClF1Qf4*l`eIc<)_IJ+dY#TDezqQr7U0bv~3FDVgUp$}ueR~o1 zRHq73!#5Y-tzHmx`%y#wv!PRie|*@pd%|t|fztd(XRhl$%&0l1SkM(2t>}1~c$R=a zdUmrR1l_HDqdvfH&40SJ{LcvQ1byb!cjFiKzc{n`=Hv6r{}b;{J}V!{xS{&|&os>EzMO&!n&pKaK=P_EGloy~B;bOk*IY1*9EqaF7#f%ZOdL z+`3&VYSNg9%znLbw$|IXo^$p@sF8b|UMJO&+;Uq?Drzq6tcsl1Ay4t1%83jPGU7YGRn_ja~FjgJQ3&q_6%>BU<^<2E|bQ8+Ce~d9}yl+*dDlU}RgcRV{y&XYXC2 zm>xtkx`=IMvTWrpU0vcR3bi-oAG*+eQLg#uzKjN*RVBX|A`a}S zU|#c*jX__Up!w5-$j3Oep#7m7+zG=>nRoMwpoY6izbfwk6dlZ7NldBFc+vuf^LVdx z`{$h=j}7wpBjCaN?eo`nnHF)kdwklyM(1O_Suhs(bjhc&;Z_!NILIrdR{r29FEKrt z-ZQZd<*{mUdceT`2A$87>&O4ai=T(d#D|u|%N>j|p7qs2ydU6(CHP3MK2`g*IKUU_ z$P{cwhjj#al-^*f+0fB{^bqo!`$*oBniWVYUqTG7-`pcy;~fP^a1E2G#tG=AdiTVI zO)n!fGfqcT7b=@b3wBvPzxQu^{cmqz@|I`%Tzg_*(sM5WwvTI-**ZXkEAtF!1uEKOa!Q9v{Y%r?;yxm$fLL&#+-q zQa8L@jwZ7L2a?VKwdG?XnM8t1cxkPA32rvJff$@0dv|(fs)VK^e@u%_R_*7M8 zcy0=Q#`ulcvUHvA0E|@1^dWOT68N5LU794x!55vgKUZh@R`RTV&-yEUjg@Z41lS{a z*Y#;FC=VS+O_-UjPjAg;Y-j^$|0s79mE|yw(7M-01H{s1b2MvE9XBTnjUPh!YyqI) zfng%H0zSS+XbpHMtW}J*xxJCw7*&&rz7sqS{qL~-8_n)=vv|>z#SX-oGoopMH|m*DKk5_X>aNd*I3dv1EC-@9yzg*nJ>1REe6@38)G2eBGQ36uIS{I$|-mb`9`q zQhFJFTBxID%OI${|Aq4YhXtJl;cE}BLy}QByDGA((RAXVD2n4vU6BdbKW(`liG(Rv z!acr&yc;o=v)XW{|Af!0dVTaioI4tYiF8w@ck!VaHrIE9iz=?i-m|*oG;^bZXhKwb z(T;#JEqFyXE4C-Sc2?>Jmwx7~m~P>Yh|VNjjvPPLf4H(Jup8%Y?-8{2QUvgJ9ps9Y?#HQJwr*k4Y#ne)BNle(yC`7F;9RnI20r?n)$n1bui*#;mfe`GxIy6^Uyvo2Qf?L*eePx z**@(PirL7*0kt7hbMeBJizxBD=8>0Wm>-ayg}^~CNsK)o z>9ndX9YU3$POoV{?R^TpgdD{F>3X~cq?UAi1gl_wOzt1C9Z&b?C~gRPid>7dG{VR@E;v?2UB)w`3X!y@SRr*4!wl|)XH87aQ|h8i zOlu0q^ikz7X5jl@y&V-Bgra!$fzcWmN!qt1u7&a{El;^>j16J-!YR;?QQB6r!^Yy0Oj ztiSJt!LIvP9aFBl&4Vw17fi8=<;Yf4hnZC+!~}E5hlV{bLcZDN{r?HkMhDwI?V zqCAj!-R!p;OkdfEA`G+bD&IaX4VmCZtW13tyEuz20hbhGFTD*OZd^Tl=;(0ci{V2- zBP&I-jfe*5$U#a!hd}n#ESk}udU}{OM))rbB1@^*k_pItfJ^RBdEElNsqX^|j~C_L zU0Qfo5Q}3sfbRaFH)3toa+u|<%tn_^zvxTxenBIese;?kB6uws@e;WYu%-(f!Qmxge-poXNyg6A|vj6Qt zp;xrZ!#?buYohfIv+B6a9xn1>)H#@5Vr6z`d0#YvpG@rbVfRlaLZ}Fl*AVp-^!dmM z=CG~~lRBDEq%0qlnbFI23xxlAXl8P_?l>!H!i;k{>)r_YoE#=zs`0Jb37!_R+vR2c zT%TuI^zK_hp&ZxODxaDF)a8__2no>#NjtYUWg zFz1f{X_?vQw48l1i!{duemV0*bela00CUV0xfaHCtLv9JUZI4*S_gQ4D(Y+w>TD`Q z0kU@w6J1a;yZDBh}^r|jG%lTA}cjqP8qa%XIs7QWzk>reN%*Zst8pm^yvefq-^GMJI>ES zeKs-77|q6q3w=cWL5}yHqwgm%<;;EDopLVA#33IUW|Q`K%;Zv2L!A$~G#>!4WU+sM z=zT(_%0liO?e_JvTw7>rCTHx4S+U3aoCC<_vRW*-LM!_g0QkU!Zr9aP5?u?CEyFA=hm6>F1ptr>5UP{d zvMkRtAnVw9Lb(GNk^3|VLDmaW>qHhSd?Y>^a33(c$gp6EnLQw6l)VN!LK$6q_Lf8L z<-@!034IF9xO-KUeH`~ED)({|s+{XPU~=s5fj@1Y#xXDQ02iFqh9ayT+ohg0odOPP-Rv&l3Z0k z>>)R^LP1tGn6-3Ws@v(PCwD?-p}iLd&C6LmZ~4)Alx`Hx>a!apF4JEzf|Eu}$QHi$ zk$LE=@?84_vZ{5E5zhFZKS&Ot50w)gu_L(UL~(oD;xG4}4gfwfGn!>#JjtR17HTh- z9msVr8>Ym|UGJGaQb6CKVft&QFYoiU5y0mMGyNPCGnaS=&0Y+vdxzPx`~>nFX51QfN1542M~FRK#;ptX_$=S>DIt^O?hX~hQyCcu zgG>i_D~n}9(Vq#u%7wnC%|suLn_cKx1)-`hvi^vmy}tWRK=iw+I=o=Q>VB-5-IJ9^ z_2>R9^!PN&4~Lj9ovcG0@k6ltMbNLxOg{#Ig>WAm-fcAje}Lz}NvPTonx!_~9JpMFTp&cI!_6e@eMaP= zeqMYldhy-%Mf9H+dB!bbc?E7V`Me(XNFDYVljB(yce~1?nCr_?fw>Th4k8pJeOV)> z7NQrLeY=H>zaUJB#T#K>yR7WYzD=3?EwtI2(ou>+F1=u}o1W_$?7(xfSgZwJS1qV2 zhv#W4tI*8+WTMuXX$6kKIUL5JEH)#Hb82D%A#|AK_lc6!Nc^A0i}ZeLUY5JMzeoal z95MAT9v*;A^ph&~#bIFGT-<5M`w*8^JIv^9#GIBNx;)GZR}o6eyxYx8J)(g+z<*%# zS+nOophyakqw~D?IpTddUe|}ojg1@gtzLFcKq!Y+YvpWi#BJkd&gD?mT-Fhl*D=eQ zMP~1Ii2F(I&B%hh`IK5NtPnm6xjp@kxw#jL15&tM~ekys60jQ)?RWjBe@|}CeLGBZ=We1f0aEQdLEPqQx6H* z=Z4!nj-i$z<*f;B@ivHl-FH-z=i3MHCwq~Qgs_KU z2V?|fgr!NCB50VRf`*|+L=1?Et3DZoAtN9v&W0&iw85gHMVk;n#1#-VDqG+*6O;qlj_fX5=Yg_Xg=!3VlWfEGWhEyVsbHwuzmC+fBv8U$iH>dyx5j_|yie z7l12JP^MeTp5{rulfg>ZI2U$!9^jF$g46UjeOpqk*+qqW6ZMhEUbeM=46UwxWkpn! z;h$eN4}}HNZ&~YCq5E%c_!h4$D19)ebLcO-?zC0@+Jz2SL`|1a7jsK%!RyO&R&F^n z9Hvr*MQh#;hRe=hhXA-GXD&K!fO3D!tl3zpKJk*%R@S6TrvwHW#B94&ow;|3g&rvB z(G9LwSD_kHq8nG0HO3CyG1m`txs_j)3~m0_-|lpG!@}t1Z&)imHw&J87PTkW^;Goc zp63JAr86N)1j_Sl_#EZG{8=3C?zkx$*ro(?(rVl~hgx>;v#bwrwcF=FBv_ql20$h+L0cP+ld zV(f8x`o1;pzq%w4X6s{+uxBdU*Im)Y(~e z{PNMPdTa3|D@;vfKaD#6mrAPR2 z6tG+juq5^r-LF7_8(Hq|1Hu2I_Emb^RnTXZ0(*5)RTK0J;g;&R^KamjeA2%m%se(u zrzf_k)*l84SLu;f9TubXBoNZN74QGc#`UrZ2I}j>OPHBi=o<=Ccs2oB>c5|kpH~r~ zE#B#!9$Q~t`CZazvevDNPGGGNgKWYR1-WUze=pw@Jx!1UtMd7OJyPI`m$*sKaZ9tX z8y72Y7U70LvJ%ARv>-3gO|dZgs8`pg-@dPQ+o@xZiCPqza@7Con_w+NN353RPYUWe zJv?#%-1?}ysX3jv_*QZGHU9Qt#-7wM@nvL#Pu8u2`;x`8wYzw79Q`I)JRTpdi~2HmH+ed`5RZ<@z~au-97rpEoiTiH^-J*UVtYM*T2~v z`K05b1~-21*lCRE+5QMX9<52{6mTwP{=2*}dw42TeW!|ry!+U3?!mdc9TVgsoi}!M zV7}@}K@}ErW#0UhQI&Et2?%<2AeMBtFPR*buu}FxoYz7MObtQ*`0^UtES`o-yEJtf zv+1--)28kjPxx&x>#ZW&WY<248-3HmTQ~pt(>S~0j8R~Ns0p2@vAz850fl^qvs zXfq=@?@_mDOo8>%fl!lCcgGlVY4N>7W?L5I$k_r%Zj60u(vh$~nr2jMBMv&5hRj7t zvN-&GkJYTX>e*V~SV*v3w3+H$W*U%{sjNpG5*%%m#RdH@wwmX{HS6k3sqZ?2oIKM4L$ov^Rz|Og;tZKl zo@fVYsccF%hev}A(Rd?T3Hg@XEY6Ibmnw4mJ+B3^Y!W&V#I*^@t1Y<(-g#UuQ16~N>-YuqjC^)QP8DG?H{XQlz?z4obQ9VL} zCfJk*R_jVz?~*dtY0++$r6O=tjle@T>|z6!7}sC;akbR_7`8F*iP(Ye?AQ0&{sIhVY2-U6%J0vJJU1}b%P!~npHZ^s|F-yuN?(0vEvYb4ao4H7N zo$34_2-nJgPr;qga{NTx;9yoYJ^Rucw)Mk}9kD)-X))gy{*IsTYDuEoevANcDpbeqr$C$^1)tghHYyGmJ6}5D! z?%&pMgQ9GIK=F^u;ho4ZLv+A7Htv8xV`@f+(=IS;bF~Gy-xifIp}J;5SQTjf0Ei6& z-NfE;pt*r{>hGA9@qdI6Bdy0&mjZ^-VSA#i9>+yeB#58ag!_*y+N-9Wc`@|Jst zDZcJ(ebo8Pc4|z#QtH&*Y}d9F_TPXblGfI2e_9ytH|0o>zf8h}G6q>pk=P;1*@_!i z7I9$=z0dRa#NQ6$J_k67J^lk}a|>c@z7a(fAP$gvRNhmcj<~Wm!+&gw3065SPXV1N zD>`Rac^yltRqjmr?dOs67wSnnOPr;3EO5~UYDJF@kk}?_0b0p)c`z%|eysqDzc*H! zV=`kNr&Q6ZIJL2j9IVT?@{?_!pyv&I(~o=hlPjCpf;R=dDJ7jJJ zs~n!7Q(nns7Eu@Kar8*Lb=b)jHY!3Dz-!I@QqL(xff3svz+QMQ##0;?2$}=P}^nn4F`c=%`t;cjR)qt zzWejYnUumPbO(qIySgZ%;C@eao{Kx%B0pWVWiv^_HrBBgG8+%KmzZ;1O zc7l8Hoo#(RMWm~uD-?!%N7x^OLK$*zzG-7}6&a`TZA7w!)Rm5dmr70JRuiy3yL+_4xIz@N1= z0h_||V6a7+K|!4kR;sDIXx@;J7Sh%H;h)P1v8x7&;F}*~`cGHz|&X96AoSugm!L%=_?u_MDhPX;ArJqM$P5xny(D%I&M-$Xt8#lNSMp7Kd|wJ0-XbX+g7jBjbLKrI9v7H!?JUa`Tkg}8W3LC~qt768m< z7Khiu>K>z}5qty>QLSvEYe%VrE_X~cb$V$T4-h zgVJvcGS2T>e}akNF94Oiz6L`?fk)YbPU61(MDgP1li$Mg?&T6F&{c*_9=Q#qJ+P9R3X;P|s6K z_GB@q$>wC-tdLL%5Z`L?YqT(a5iHS2ctS=k+LcoV&hHw$?J<0t*hvnMpbp#;64Usw zylMA2EsCMSzSkatTI(Ri?ZWxP z-z-t_Jd<%U>W!hoQUumO0d^%(Pe<k{Msc=(;U$fEaPB!{25Ppzmk?pr8kWBcCkH<3cdOjxc zvh+5O5;z;_%1696Vi_v@4BhITiZsoSF%@nS@j-sm@nL6~SqLMZPwD}w=5qXFGCrgj zwnas}2)z-h_U%!j7pM3{4TQoP_o((}Z#%l>@Q6TEL7|d!+Kj;6-*Gc?Ou}u_S(Qa7 z6Whu|dpIJHA~+jz&3I7dBJoc>nrbxptGv!ay*KR7O6yPQ3oeZs3A{i_66tCCnD_!F zLt(uuP)NMXMlJG9762SxPSEkum3y`XJWJ`vQj7ywqn2Q*k6%_X`GaU>& zp(noOk=|)Zul4)<6%BDh!b^H|)z`8YR;d=BJf^U<9dMwIX?lZ>ky{-G}fIM(hhc| zn!mKbXxhjmt}r4G=ueTx%d56I4mED6!BHS9E=`4hCnTh?kyJg#s3)wWn@o|JUVEUY zU-;Ey=q?bomT&SKh>Oqyqk7UNIj%PTsIqI<<+t<*9%}KdoCHPnV%d?EO5_eY=@mce zzKYauTmnh4=b7j=a>8$Xe3Sy{rJIV#*tdMAf{r7h!Dr9Spg;47TZCN^j)+tv`jwGb zNJjPK!hX?`MwFT7)W8+8z*K>3AY)hQTZj1dzdzgihxN8A!^AG27P8TaMr1Ew`d&|Z zp+}qZP%rhQcl>i7E8y>xij6lA!wS+@NL7}nLo(nIN#rqwgP#aDOFo;~N4(BIJghRw z5CWIU#55*s`S#1d8FO3m$q+I(uO!VpSz|B9MEpehtis1>8E@F@-T`emHtwT}^g%_e zruQzgF>`v7o{SoBhK=)xU(D%?2ZX783rFA6@mII)9AgsI3l8>LDGF(h)*KTHTXQve5(InlhHci71K}M)fN{;mY5g3>mQks^*_ldG+R|f&$nRsvmQPkt{1pgEG9nB(6R$*PY0sg?5UD~` zeiJj|ASJ(Pa5)Crr#jVhS7FzTm|8~;;v@XFB0~AGpDv>}&<9!lh@5I3CIgYBLQgug z;^Zi(-~lB<3XDTfk7>e`L$=MZ0}9eME2K%eK=?S zY{I=kl8CowP*XjB`_h3sMev_{enxEJp(A)ho;|WlsR(~L>S{?=ATVkx3L06OFuEbH zYk%jF@Zsg*=s;oCk<6ixaP$^tAg016kv(cReQO)~m+*kQIpGYh3cW!;T;DI-Jc(Mo zJa-S(gGvL2uQSxuvL8=p-jRs!X$yv?O(^T_!al4-6@e(7-N7RrHGw9ntKaP!J`#{J z8t}f_?#}|US;)hvB*Y4KHFx?UB+)cwYV*79gbzMsnJnq<-}U3Y>>e-LAKx~8>(+9Q zhxGilcfS51D|3uX*?;Kv{jcG)XCngJ?OMithl}0e9xumz>}lAnc;cbm9nbet?r$2* z%o{$FO}}}BHo4dJ>=yTnyQm=?PpO@gw*TS=_}C|E^oMq_&GjOu&Y*?y^p_5PAFMBa zn|SZ{=(~(Z>u&dlop@w-_0hM-kIWL>!z?GFgC@*^VO%GK4IO6BAB$>+y&0h}_?C;& zMqu|%YkMB{G!u2(5n%>BqnGPYPm>PGF_d_kE2yiyS?Re0R(3BbOHRz?JzeDv|L_b( zRlxj$VS#kyclKekyJ2xk1eLt2>Z0yW3hW8Ld+B}3dv_#Rx!RQnt2|4!lw)_0zq9Ch z(YzzpUZ}I+KVAFs#=3t^slX01)h&`EoT^3mlkGp$ilmZ+N1p$7o%ndck*GDf4i1n$?KXzsW`@EyV+b)nPi{N;I9%iOLR$|M7pqlH z_f&46H*I6qg&k&3iduI~e;_BS2$M`=oWgmJK5GUbO&bXt=r2=C@UNJ7DjmL-Omg)h zJz{oPIKKKj`qehK@oz&i;3sh=J*ZG*2T9dDrs|w_#%>eR3_{+sT3TzdfG$zE=0Vu4pHxUGm7RFlY z-zjS~n~kI&wbD(t=IglZMGAOoIiRMfq6_*t88_NGBNR zI60m4gTBIEi7L_0Y>dA!Nqhn_o_se|xpj8OTRO?d-0YAFE9K+g@$nHnID~Rne0U~C zz;>_&KLW6%Mba(a|1|eS_2Aox*Kb?5z6y1JXC3qITm$+g6K?_lXZR#JnJNK^ue2s_ zla>u=iD)zIjWYN{E$$(o303iFjZrQSuv8?)iH_{m5(NOPK~AbO0_%-Ly@K?DNBp^x z(v=B|BcRY~;1>n)p^DgVL>+I%${(5>0$x48N^&$5`>ls;Zo&&aQK>}Uj=()O5+~N6 zhLaF=LZTido-_h+Y&_@B=rIM7SPW}ckWNR0M+u1x7uZdZxLJYtMObKFd|;7>2Vj@t z5w?lEZ$D(WVt-ByE%+v3W!wJb?nK`>*p$>7v+M(F8~tfvGLh17InHeDP!2-yxUJ}i zW6_J66}Xa)V}#o{amCUqbiM6Y{w%L0y2c^;RO;L0j>IGXt9TNPIa|^*_g{+{=ArLg ziXIbouRDe_rLyCoRX^pJxy=<}j$vwzE=|Qj*W0iyJa#i|M`2QnjCcO!eC>Cf-+9qQpKIuD5%|JpW57;(lD|R!?%! zRjKWDcjkJIxCpikF@mAKRou7JY%$?@KNdpEIOho|6Dxl`UcLuZoNP?bL7(HFS{GZ7 ziPwovY)bHmb(cn2<(^SgAp%pAHcR3?TcH@=v4X*U@L#G6XznN0kA$>~*d5Jn)U8k0 zZ!DT8#djYky}z;a$Lv4fz5g-yPp5m#);&#Z8=+0gk5c@(o;ODx&_@Q(?p*x4N&h{y zfIf68{+{Fg-u)wLx0C+Tmm`6?nrls6Aak`-7Ac=+6w~5wy;Gf?Uw5s6~NH2hS z{8iORlpSpk0|IIsG6$T{2RZH(*QQU=<@R|==PeRs*6t1XxPVW#JKlJlC(wGyw@)Rp zC|gf14IsB*gQH+utr%8)$aCv?jAkr4%qq8qv`6q)i{R#UxDvB^WqEBZvgK z)6(94k3L7aO=4Wy*N#ClKDm*j$L~ai5XOObPY<8idTye#+CCmFc;0p1!uIo36|rEh z>sQ-QD{{-x?YA7=Pj7y1Fwym$T082~uUqT6?up*_!n)TM6MUOt{8c`A7sEr%5pz_D;bhG zOB!G3`rmYCiuw7c4agnb0eOriKtHlIz!8GV%ZWE(q{XCCva@T>ZTDMXcx1HLZfXP_ zG+ghE3UIQSQprLZdr;oq5__E@8m2i~w!_Q$NX$uK*+6|6BTGTl$03)h#xUqMm~B=A z;5^wJ2|;kgrUi7cQg21e@G)zW*fh#=L_qo}-#3_A!o5jpUgem~J;_CuA$C2$ zKT;7>QuV<1%yK6=XtHCTLo8SjbH1@z!3A9VqsEL-F6HOo=57dILCM)JRHd?~~D&8pN7+bdW2P6hJs#mpUC@kK}U+4NLPHz8_gEQ;nE~|EwB3)YS zPk}0wo#H`wZ!7KWw%4zja8bUXbx(;W+-3$M&W9Zdm_rG~zv*>Ff@bu)(xFJ6oKXZ0 z?Rm6-qLG-@IgkmuI4dX*=K9yJ`PKp7Y*o&*QVgBCx;A*qD<0#?7vZ8f_MHY8K0sBG zhII1z`&o?lL3cvYU^8L3Qx@1?Z&E0o>9+pleqaTI_vh%3H*wxoSK4+<8I^kM3oKM? zOS=}-CN!2j9ADb7rFmx?j-DvqESV)xj;5%t`uz!fT(2#HttzPGzJUBXG^l- z>lYT`zzu!P7KVNav{bU}@+VW&g0-_fLmH~%G0`JAc1CR!q*sd8DqBq#*~39f5FVVz zMVjfQp?}kxCvQ=mErHwKa(;frz2|VtJ`m-lg?)G7JpOkb8ivg6$$?qbm zMa0cYHQa?X=n&UK$}O2*lBLw3ZYZnwG;szzcI>Qu@$>B0uNfUHwya*g7@Q*tte!Qu z=L4Q^ig3t-%{CvK76J{z{*nTX&D$o7TgJM&WCO6m32JbI5LoVnVzW6DLH?n+Ha(-` z*l9s*!VxI%fo#QDB!SB=^q>F(+;*J+u(_nJ-I|$eQy8}?CJ&SysF)4aGbJV&4@iY^ z4d!v3Y~Qbjnggk`1Y8r6bt=0?SUnRQc3K*C$+6m1K=Gf_msxJ3;&wy9*I!P8wtarJ z+uK@cW}PrMyRhL|86ez90#BS03*W%&Y30n5W<8hxk_ z?Io9^7my_*vH~7vjTW?DfMFmCR1TxC;kYAA`O@R~Wu1hj)&IP8PtW*ezY(345roFJ z{cxiKW0W3Xlyk5rLc0Kz0&$?T3;~D}7#M+GwohA@{|MWr=^>5#HO=_V2z@&V{xuAd zGgj)S{m~~*y3_#JF2EBqP$^ic;+cqTl&&!%qWhpN7^#o`Je7}#8<7_0Td%N|tY($5 zo5YMRkrxB`z!6V0A_7&X4{O0-1%j>w0!9#Ypv!Lrna)71$hg|ffX7rwSMsGSES*M& zudqU;k06)nLrmn}I-KH&=C zea4})9LXBGJwtKTvlE%ZDvM$uHb-G&wD9UCU?*Qzcd90NzcfuCEi^m9l1pRw$apKH zqY{h|NF0=4uu$?%Tmczm(K<1S0dt8%CLff>WgzCbDrpHGHG#G66vwg3QuxvU;ZaC~ zjcpo~K(v4kkz|yzOW{FFVZ0QHjn$pj4D~7e^;0$>Cq1t>DVESbcx@8Dz3V=Xy{gRRK?gss zhMfQj4!Dv2UHk7{)7+bKxqpN#x)*t;F6E8|?YgDQb*uUA=Z!5AmixK`ty8r755|sO z)Pi^e%$AqfII3v-X`o#*(D7*CYfF54_%T4t#GNMet+VL+wC38#QnbkOzwX5o%BU*J zoeHXU&CT(nupLzx?+5sQPt3NN;Xjz+vdHs|UB?=`j+bf2QL3_9i`xyJPxz_3^pY zC%!!R%1!FX7+3LpL@$EmtykSlwV&}f`4l)cY z05C$}eI_1Ls=VG0pqoy0_opnmS-}{AFTW0`Gqv^%WLzg`Ht{Gx1O#+Z!mgxH#=#`M zQR#G4bPnFusw~Fv*t}S>)*vDDtxe8A*bi0MfMwajL<(OLMTRe)0RwgD zECE1Kz?1pN-BfY>LWRA2I9;)BO=$&Qg%;3bpUGhiCMt_j=GTX{_}NM z8~#KIgl3@9OUu?`k(JM3Vf@IN_O$g^7Sk#^VRMEu==U93il;S7llZzdtykLw;~TlK zP^+@C*TYmm%wd+X4C&Qm@k&Nn0{sO^i%gY2PY2;!Zeq#1Jt)zPZO1(FBhGpokmKr$ z4kMDZg|Z~=sTR42Lq{bUqX}4Kn*90N3Iw9wRh| zpfV&T#G!KEfr!#Y)D9jT#TX|>lobjjTO%bAp+H|`c_9coWk5W-ESH5&uQ*G>B6k}R z$0^n6GpJG{Y7ZZcdkdypmG9%1-#RJZZiRM=1EMyA=}HWwe&&`+#TNljBl>^=rGD|; z`Q!7$5Hx5&S=Y-BJJloQ(%q$)IC3+UC-&4n-}sqV(*(pDWc!-Rp>JAjlN5E9r!E|G zSh?vBgJ>f=tcclxqhpFQWVu+`D<}M*D`N=7pt>?{|4|*-2_c{u(b$C@kaw6-&bWas z@wX>1%7jhj-3AjB8NE-A&Sj!kke4x|Uz(@AwAlRe{I0AsIadt^bg~ct49H#Jq7C zEG5PN01uN4)ldD6#DMU4My8WWnqDvR#-dh($U{p-K9B|#hbj9*WByJoFqZY?KT0#o zocq@9%|HZy}ehp(9zl!8AQO zSckiA0O-uJeOBe`bx)nIYF&4+=X9=ov_sfnw zJDk>pqGO;bl~sAhN72d!S?O$h-?p-1UjJrAP?%6w#4Z;!p~D-l}OL3tq`K_QEr z*r+02`6{v_R)O57m3>`6p%~(tr1~woDjOrRSWvlLZfl_bx@P3)2BVC{2YrQ*U|OAl zO~$?#?HjhsgGg<1c|jcFI|r0}+afx82WCwi5XvuS_XX@5L5wFLwy`mV6=$h&k{oh* zNgUI7_cYE*`s_a8bSh@k&(dPnrG_`MC_XYqAifHMC*;%34AITTplusAV1I&fdF6ph z$!>^I?K|hn0ymGmMGMfoMr6fSiaolyoUhVe@1I&eD5D9f-a-yq08@AJTA&q<%s z;1b69X10iAK;_C^V)#JiNAapo+0s&J6f^4&Lk>1fjI=5%DMd~)e&;bR7BNuG%o-tB zp47C_MGpSnG<)5wEM5ms^{!IC=@^*m(7fpwjIpQiB*mrkR5CmTTW+rf{RPm`GZD~p z4n@IS0dOOB@x$2HvLZoQyZ~`+*;C$=@uWB7$>&B>(EhrJs{x&|-B`^3R9@XK*(xOD zblw{km-NY;+2ROQhbt)Cse(&bSfNf9ZsnE1UXO4>6^}?a)q}Ar%yxq$pi{S8iP;i| zTqnS6yb2RyF1IeMq!0>L24CS!tl@VHl4tQ@&ZzP+N< zy4X-=FOcns189tGyRol?3dDmT`QgSQM+PFaLedfJGne1KhJo?c%Qi7F*`P|Gv7CT0q*>6pY$7?6Q3(3`wCi7XmHLLOP1usi|40+udz*^7^B*ZJkWIk>x%(rvdiCN=Nd z4}zWOpX;$@IWkdbb#oe5|97*x$Ei|P4zd%KR5+gfMux67TpidKbQ>8Bp?sM5uvydU@dUQOn%ZyXE$ zJ_F!*zv?X-TBaX_8kt&k&9JrJH>F(Mm6k<%B>(0_&I9knC_(+2*V=jv>uGf^Em?Z- z$wW#ZbJ?+I^KVp=#lE2+j^k`^gDXBT4!+v?4U?L;VVniPkd%0!CV1_){q^V#)x`ww z-ihQ@&gMp`m{g@YN^*1ROd;ek;+W59`vRFYzC3`L;FnawQzNPK3PMm?iHI1|!~E$% zP?J8x^^WUlFUOs?hSDKi*F||dtkJ-JZ?Th~Em0p+q!7KIb~kTHm`d z%I5kt>8c=Hs3f`Jf&SRK!e{Lp`NfhdEU`M7bjme=7ZZE~`=yQ)@1htCn6IwpGG|KD zf1pkyTczaZ^pt3fy&budbpp_eOsG6~tu3oXiEw-OrCtSFG0&sWB!t|D)Sa7wbGrUG|+;;$To9*YhyWR#4@~+`!s!TsmD&HaSqCVL+m_`+wQ^ zU99L;Hav82l)~40Ol-HgN%eF3z=`dK7Up{Y$k0oE#}<0qZ9e`mg6u0Y!4yZMoj^9i zjy{M^rMrdywKx#o4+EOa#ZLYV^|HaSvWs3`R!J2$QR+mb3%_~8j*Qr)s%5Z^70wp7Zm=ElMJBl=x%N*>B{t_Ak7T4G z%))myZ#@2{>)40_-p#x1;-wJz^~0@4`k?S(5sv2LXx={}x$>VQ!V#L~aurze1;uET zBGSBYsa7<%F#LSN8@8mdAU1kB>k*e2K42HbmA@nGfq#+tWNA*UzO@^%M*YqYtguF@S7+cyYR zW{Y2$_~Ha-(?TfdDf?8xWg~1?Msl3T>+#VH4w`5c6Bbu*vYXd}wlr`Z3Y$q;^UVZ% z5O5o&U`Ds`@p>TEl{$8W)2KiX^bI;x!)l!ql2`3m7+$vVQ%w60S)7Jgsp_+|Kjt7(ywk+m^ZtZ7Bp!@_K4Hc6{911IU2<$EZykqZ*WBptVmDv6LQ3U8}S^ ziT*@NGNdE280F!qeq38xj>N!3Ip!%K#cRN9h7oJ~@p?nw+soIMzHJv>r`|*EYTr4W zS&3~SSMvLvZJT%!)HyAFW#f$fu<+Nwk44qtyXmA;hT*W1Pgp2VYH_|ZDsW0&Ngo>C z^)62t{k(Ga*x;_)D*yI(eJ*;tZ5+#^&`rWd1ic7=q^Er`%UYUiHU!Y|WBQojhWd(Y z9~2gkb;CCKT9N;k0b5-KiWUIC68Wt*_d8>Pucp9OEFxzKrjJES+Qx`GnX|;eh~c1q zO3kWy#rcozWq}v!t0RQz*rq;NaKD;x^j$ROPN^)gyQoG0nE=gA=wR`f$!fdlb5s!N zKVt-ajd1I#Cb0FQsAeM#K{RBegU*dryCbFpyX3N9c#`B?IuiaJ)LQgBRqP~eu|B;( z#)EW|b(2c?sBxH@9O7u*IBh*uI!tFc!BbLat?%{4_$r{VOEnxvWR-bHg~+s$SzBEx z$|7b&+ndw(QRpQqTHz!o2ap=C^q^`W2294YKC{s!rE{}Nu>7-QIhG#>*TUf&@ z$FD0&e>d62j2v5f@x1+USS8N5brFA)9plV@OkKy`_q0c=wmLptQsTcHtVSz{K)FzlUG{>>ptx@a%zI zdz0^|5L0k};U$FfHkA;r$42ql<92+BD~s>F$C9(d8p7p|18@tTm}JE-IiGY3c1_I2 z6fj}vrgQH8+Mm&RS{SB#D$op6k!-YJzXG@+x_0O+*a=>V?8A0slo67Y|KJAO{*rfZ z^>-RW$lu2xNQ-RvjJLn&7sP+Cz(XK1-xG!#{1wIk#nFK~>vctk4gdK*Q`x5=$S?{E z_%}^z!Upv(d9EL_5&|6VK9=o$c6JJN4uM<(|NHFgv?v_;75Y>S9PO|dn&!|rW^wG_ zrW+=ac4C;_IPA>$vzNw*?_XD{kPOb}f2-hMHzLsI{&`kQWQ(vY5Ib)XdT6!kroC$D zY~B5{5w4X(&t$lj|MuAK!L-{zj48meY5^!;fK@v7V&=@t2^GZ)M&%!krmO!l zT9Kvq@64+L({WUOD>7)c8JT1CF52`PutSSqwi=7qsm#ghbm`1?Y0Dw$jBiIXQ6LIg zzVf0mwp82t4^6aaHEbt~#bvBwrsF&>pY{A}degQk&hY4MROZsD=9hhnGVCJ z5ZT0~>l135I1Hue*1yR(FPJA*<6WXAz8#>KwxSnAjMB$>Pz?pk2i!`^$zGhNXHAAHBb^gem#;V<{05jaVEZ#+7I_>CKJ3XcHmy6-tz=S) zRa^GLXkT1@i&C4jIi(|9+tS>#^C}vT^R!t-N#)oLs=coyaW_hdsW96)PS|(t&*(67 zoyZm|`loHyb4C{hpIrJe!)r$8HDeX~cT?=g44+F;W(tnOK~6wnG^Lv3(5a>-SQHol zS|*34M4D&9Hccg1e|FLavX}NF!bddW6I@tx>qX_D%hz1Y7jDoZ4aPan-gXmCnMWeo z+~7=c*jRjNv3`5sLzhCQP}!WBN*thwbQYX8>5ueHb#Ce92J6|hUcDvHwW7dq$1ZA*Wg(Ql_M{n3Gw(7D~3(P7fWXOUiH>pZVr zbq(?1^k0xDAxZ8VxIJNhZ58`uiNwaR!E}E6hOa8K61AmLN~MW3RnEWYK(9uP04BNv zTCx%__zabeFw)cRd$&%B+oBzNNhiXW#xYOeoKGFJP->jR=UxR2ge&1Ty_&#OHU`2t z^E9kf#IJ3U9#Lv)fAZN9c7RF~+$}<}*h>q#P&~C2`OVATF3&WMZvl+LM1+UKdP3OV zy^-z-Yzv+ZJ}=5OQ{}$j?$JV%;-giwe^axYRf}6w%Zyd4e^V=W$g~&kI01T$Al%|W zq5$r00GyRE+1l-w3Zrr1qENns#gFW&()gBe%)LZ;#nC_fcMLVh4J=WYpE(tpDG95P zxOESaAhNkLGSo|QMJHktSjgQtk_IWmp&6QmW1zJ#GIbkgqd;YO@M3s4!Y14@ zpZ`DF_>bW#(m{y4j0{prpn`Z-#eiu57%YdAftQF1cyNK&VVc@Qr3p)2BiF7CZIc8X ztYRe~Li#2C;T%*y37~^2J0jC2Y$JJ8Hi2yausgV83F+C^=%-j(ODWoQmltt*1qCp&RP!g=M4>pkFj}A*IwT63;2wy1_{BmJ5YEBKg;`1P*9O(d9?3h>Pb>qRhUKuU%2$nN z`NlM$bssJD5Eces&PKT9MFx_y&2=v<=QtkW(Kw|#V16QQ>Fw#s_ZZZ!GDnQVFigYu;!yDDhR&adf61PSeRXHaPXM4*Lt*KEE?HK~?Hu0g; z^vFSp2oY+6SqO`HsRrzUUfi)gjEf{8-jP*MG9@xxPF0$ zr^4=bidcgjKM-NdW?Qf$Ss-+LA{`EXnJoDnJvr#SE4n{b6D-w)#c6CAY$s{t4^bND zgOPs1KW=ILrx%|$7tAzAze^n7=A!zmSPc6~g!}35eFLFU;;=L}-FOT>A8lOa;g9X$`)v<*Q2#3dyFd18aD6{BTROp7+9@g=_D zFkliM+zSJ$;h{`1qJkU56FnbQ*>p;*6@Xi}hFB-@JhOZKUbnT#Pvpa&P37F3VQkCA zK8btjLsGb8V=lB~hzKr^bgO=aXd7V7bCAaq=A@Cfya!0e080RQpORDQ>?LiKi)wDx z=|oDx=eoUsJ=7gWi}bUS_;st3NW09fBmorzfd@Z&Dl?NGT#ati90>4OESBp!kR)*!d?7fw)rWS9cs{cZC5s^Fy! ze=1G|du^Q4ek$JCb4_%8?@sl#%7d^VrpChMekC?C_{fSREdTeng1SPuB-j~??d zSIBftZ41u5vr4wBo7pGXZdx0xa;TOheFa_Qh%Nue(Y?pD`2YU{zpkCnt+h_u%C(MD zB&nqGwrZWjIv_c%gCv!eP7ZIbt<{!87NL@CIVH&ua>^=_^P&>M7WEEc&hf#1*YEp( zx2s*dZo6Ku>v=t&_s6>He{&~n+@UHX=fI=gh{|$8GD0pNVLHx}R2c>YF;? z_Eb?9ZK>9}wacBq#4O_1F(umVH;mrYHCf|=X$(GA)a2IBA8%+kZ~B`RsJ-p-BQY>& zhDOSROXBX<_+Jl3kEb5sNM;qZ!Ef3QMLtd?h>d-d2Yreal@+oDpNvBk=D;tQDtiQPKNXLXAZ-u zk-M2wzxEF3)1vp`*&=e9VdcG@4ri3RMY~4Gx$ofyM&Gb1s2WM35=-A>j zme2n0$3a4>zCy(VL+cJRvOAA6&RBLj=hi?9UYz?gYrJG&L7r!NlY;*ibuqLz^l5-| zj$@&2SGhT37c(F~*40#QyiPoKeb4kBsOF42KF8-op1S1tnoH-8oK~UZ+ot&Nj;Hp4 z2AehSVdVjF^wNDayT-If{g|MZoE)HfYdyScronv8VC>`2?!yI=%tnZlw7J@$En|o%n8h-6-XZN z0l}DCa{1b3Zp;B;ezk}*Ur2DS%h$yov&$RiCEKn#&ld&Hae;0hBHGuaJ8sqRT=&~C zn)Fo}fwLM+81v1FFxx4#;*tG6gT_%-YRkn^yJZ|r6L->|uNICwqUN6SsBBI+cdTk* zUjKvY^j!tKy8JT*jR&O<&$%9Qa|^&qlyN#;q(|D7v`^ccIWVVgJybB)b^ zH4aIo1S}!L{68{T2;KL4UG<2M3VSFywy*R!`@bFDo!nIccEPJr*u{Os2a5?k?}kxK zmfxu9T6oW`5d!vgbV>W#54(R73Y9e|b|KKJLYjYjMh?U?oEGoOUtSr6A%AZSx1OpZ z{zu*=d#{n5?-k(AK-$A~ z>l2d8BVG5u&p9Btl)YLi7_AH~&u$`~E1UeC9=?BCt>4&P@5keYQ!L2OrOwwQ1KL~U zxjJP3@~p;Xi}=_h5%S#bTOm7qGW`hB4E^Gxqz^3J4ZDaj<54T-QSqU&sH336)_*o^ zQ*h;*R_>0cy1~A3Z@S*r;haqh zEqJK<=G1m=*|$HhQ0WuhetsPdEP;fkH%jufpMm+UsqB1VjS1Ef3mQXg{~&fm z^{22xts@N(;bv4E+O|p=KV+e@(Ib#w(>o>0#l}D|V^24m&O~%Pa0& z_dygsMPOZt$AqvmRojw~T~VPZnCFohJ~jBp9tY+t_RyPhLWOp#leEN~z5(U-a{9gH zfrsrfYT;Rdz34OEfbDQb3D#SQP1mOGFV`-`Tny(c`XKuBWpchi{Rp3M$o_t!8h0L` z7PlQ@OR8Z?nh*^Anu6~+(_?a|?bu2Yo^+liy8Co1V~?k2i`9D3vRPh1SAJo5Hbd^A zzJz&G(;N@Ht41cYg_z{QLw4`raGwFOgskFn#!RBdvlV)ZXIZR`R}b31o@AEf*W?gF zv0k!WA+;lb1U?I1Mo)$iw|31!nYYW&5(9cezB?nAMs5F#p+7*!SI(x17<&q_A6-f5yz06z1em03x_OBADmF!Mcd?FGJ5{|h1+v;g4+UKlvZ173CBVD^6hj>G#G1jk1oww@Eu#%?-4IMQvV7r*j^ElGxOf=cP+L3H!8lj?zozDuB^tPYxDV2{n_JwJDYTbt=m$Av>(o6YXMavcw^?eTe*>fHBd}z#xz4L$UAGW;UxBT?7ciUd= zdA@G%jP{Sq)&_pu*uwm=PP;C+L-J$KFm77@^=*vr-oJ8_J)@BY>;2kInF6hS&sT9-gD)p>&)^;w)O8S2v=TU z)?OG`Ig%IDwP{$d<< zm~gx;v@r^hoC=OdG5qW>6ca!UOhff*Wqs=%P=w!lBLRW`AppFv6ryL_Y^!*gQ(Qmk zHOgwR10B&hKWc~On_#ljB%OusN`

zy~b4XR(k%D$pilR#_=$kHU={w{=bTR0JZ<-qEFLQ;oFStm&fT#H1*H+nECk;@qrO?1;pnwfkexP4yf*X{{1ZQbj8A7|N zepcV2ew~slzVV0Hy&Zje@}j zEiJ;mIqnqb74qlBI5K}`$Kw7F=)oy@sLXjtG?sap+Rm$k+hw-cX_v#)hoH+xloMd9 zNk;iIRyb)v79Ukdi%U_n>h*yd5v#=j2t=fZT$UTWx7}b4fsD_9HcCb6=33-O4Z(bN zHw9&)#xfdgzHmP|sR^HItNU`+A>rrNw+g`NUYyVWeHgHz81zlx{7-)?5n ziAa}bp8@vuAcE!|n1V2>+~kA~(cd6n``6|{50+#aj`yj}c@a1p5na!<8#exlGOI=G zwuc?;%q)~v&GG~p48#72GRw&y{&&ThIcP8)5921_zOdVp&BkC0NRiCp<4i$dv%&7X zA(f+z_fp#oC7WRw4r8ZYj8Ee_LFSqWJNu85yaDoEuI+%H-Kt*fq6O>E5*m`3;{dBK znd+tjqa=25K~^ug7EHjofBK?dC+*^=nl~lW-PD}=4p0aau7mkkk_kJH0|gWyDad{x z@1Otevi$4iIaLb%ybHNIH2VhG{bK;DuUohBQGI%w7X8n=ux%U2P62<~1R*S@mvoTX&^a(-ay=r2&l=-=4}p}bC`XSL&#jC20)GT zZ5s7I2lTd=Kz5?RgvtUKXVl2+3B))g&pU?C1d&s+tOCp|Q#?QT30 zJO3aw3~`#0QBIb=P5`@>ORD$=#dB+k&w@jz9u5b=4U`?`(=@P&vc7m;tQI^iy*2n4%}s6H6VX1v2BDVo9oS$ z9XK29=LU~g9wPc6Z1vD!&dWeO)Z5VrdmJeCnM%v@m-EP4DH%kBR z9J}=KfoulX1EPHwF&`TIVpV9DAkH`duvB+py=6Vf*mNB=&%o{h*?k&ZtHER=R9SuC zS~tYCRG z1QHu8g4Kk-25@r+N2Ip)?VjP7g2E+pmUE|iYY`vV#Qdvfc7rPW0?uZGwG^aYAtPa1 z9A&=4yi=c>i+*pqhqDQ?YX@Tbxz^nc2*Ya|v&UmMXurL~cAkaHT(y0>nw6j?dhiJg zx$H}@RpA~cKui32K_ct_$^b1}kbNoe%${%AskRaYZR2RoR9uEzhi#w8Cesk`FO~6U z6@q;-+Y4O3zOmdJgwUo-=bR;Xs_mjceRnW>^cy5TJMV~^o@ksId*tOWA1<=&d?;gb zpkSdId8@|WETMJ2CbWX~DM3C>Dh`1guGS+%1PlU~tw%^ zn&2TK8du_L4eY(5t93`v8OV2m&pnq)+{?Au0N`_j^Kws6ht#%yV9eSMuQ`jEem_8e z1N$lBy>dAZ`KWH#?l8D&pPn1VCp4(p3jTUTH@t2@o=q&S2iY#ET-3=GuzLyKh@B zsF9dB-yu>9*DA-1u}NatDv37-NE-~S!91ppYc<}oWpUENzmMDN)plxL&jm^uPYIl1TjCBq~N9?4?u6(0NUMh&O6zM6G-e@K{jch z?N-&Ojlj;cq~@xG%23e{Uqn@j>To`^oDf`{gqk+?sNg5d;M;?Re2b@Q+w*Gt?PQzfI~(Tj z0qZ5UO?p78wyC!vssO^6idEZzs{k?&2ia&~yTRi}_H5dS8p-7bQ^z5jE0Q_l6DWIN z70m%mkg&bE!ZeU*!^dYPBmOw&yNZAITx*=#RPs1}!81N{Ky3w!+%rYQM&N5c|Ach| z3E`|ggAnH3u*u9Xd&2S!bi{s~-UCxdOne0jx0##*6m5D^#QkQQPKmc74L*)#uU0LpP6g*lqyE?+@JHy3x2P z48syx*ev++K}vJdn_pK?`x`_+1zDb%9$weMPH*$L{b{eQ-nuS`OoJ_t8W!B#Z)YR% z$WmDhfEL62O_zX4@81pC!X~CK>5E@SjWb}Ou_!sR(w%y6IgqAE>G6~RIKMX@poI+(mR+m7k5Xd-XAY4)*-go1^zz^BOM*>u+ zDST9;$PRfM=M9<9>oDUqpb>UHM~$be(uetEsl@Fn*Y=FsB4WRLMN&Fb&wMB`htHTT zy|wm9GA9N^?L9#rQeB<K{Ez#K0{Cp%G^Ne?Y6= zE~>*cITIoeLt-`YKs%@$=t$WIus?8Jw{@^oeSLF1`u~KZKC3vHL0}7+_!*)zlih}- zq%l2l!+liLqv_je#A*b78&*2_>&b0gcD=q)Ir0@mg_dtI3HjwA zN4n<_4-8bkTi9aP7Q}E%Yz6N;t0iLsHaNAVKEGM%6kQuwzUwej?_|+ik$NY87i&-y zhmu%bj;1?##@&o0wyw?cAe27>Zk#S)5gHm-euyfenbP=xGHR(cz+(O0aDD_hv3has zUS@8n-6^tJ+EU4}XgoY^S(fsO5ob|JywW#&7hs6H6fJDZjZRf7*f{^{8q$F5%Do5bJfrmtsRfr#hcqmRCL{IdrC#ldU%V7=TKg zw(>q-0VkY3MvK`2^*fdz4Z^L-@wDH;xRv4TDaf7g#QC&NXwy~t7;8~l`t5Jy&n|B< zo74XL=hylFX9`5xE<^o!Hk}mM@D)a3ZZ&?1W;#@fLcAY)Cx^`FPwT}_-nc#P9;-GV z^(2zljD8yFqcU#wuOYMw?8`BzJN_N{y%ItKv~Gt}`kzBx7DL5fWHj7+E;5?fbLbZB zZ6!wHdUI^iirwRpp7*UTzL!f~-!{idDb|4wW|K|T!8F!Ba|7AeRChNa4BAThO!ce! z>M8O07ML71>qw9Ib%fPd^^WLyf7i#M2QeufkzPG2g8x;OXNp-;pfSYrEk}|x^=b8) zkPI_T!~MzgA&C^RAl5x#&mAoLFVZ0`r~(7GM={VhWGG3bwJ7)A%)+l?f!Z&)cgM`R zV|*R0CzXFS47x>U+_dAqgv0wIxgEDphP$8p8W*#^Frfo_ChFQAa9607 zU{|N@p6C5x`>SqDBK(NrWnk`pKPO9BLiJwRBa}?;R>VK>xz`B7UXQaD-0@8s@{1#e zk9FRkaYA8a2KIB%_gyd*-V%rBOJCg$=oa)!usP!R3UAX#+1WD83b<>#m*ID3?1J3G zC3)6f5uT)gC!8--_o$dzagA#Dto)QijQQMu?gt8$^tZ(`cHzn!&xQxhYtVGL8=*(@ zym%^I2hZ!-s~sM(95~048uI8m<7#miW!4)}iUc>K>D68TQ+~Sa;jPo|`@Q-xvMP?c zWBZpF?{U#?Y!FR+=z&k7u%FKxTe@zC|G^9mnobMs+)lCMNope}l_kbuw|nlsKl>H) zOBu#01^^tt*GXXtYm>TSc5{MIN7IOAJO~`TlG4R~!FRkD_&B0GZdbJLU)QRk$Mtxx z*Fz;0UNUcG>5TUgGv;}g?u7+@6JuVxaTYN!;Ahf9y%JKOl=Fx#pZQS7-93JMzJA>< z6=9|O41y!)dt&$u9w>27=(2rWEO*`XZD-bNM_bk84&=6DmX%n-R{M3Le;KLSND^j= zwzes8qzN|=zOdCTl9;b0ZqXpoO2yr5e_cr;fBwc(&_Zl=<<3mr*d!2B@A1MQ$HXMB z{Wm(?g`cr2`;F$Gm!Bu{J`+KNSDz!OP4w~@W(qVPmbopjET6_pb3z(@AR$Pe zpAS~>i$izri?kv-3?6*M?y;_f9romDN<}ma0gpB32au=yOh}|V(JQ;w> zePeFnwi+LVJ87sHQ`9Tw?&@H;d?G~=-cNEyT6tY6BSM+U^9v^=*fFKt?yHt|R9RYD zp=8^pNi0qZuQT0db;G256}*A7JHi1yWvSHigc8HPJ^;=UrkL>wJCI&TLVTY&iA9gV zH|ok*Q{0`;Zd>;FHorVtfU>A;3qJ2J#zs_0+?=6c2m9$|t7#4vyCTw{Ox>-8S_g}C zjU=-2@Zl0h>+IpwrxE@tY^3HZqiRBm%hZ+5YnGa?D85I-fkYq90*nm8Wb~ZJFI03= z=KvYuR%6FZN6!Bz5&iB7<#s%bN(iP}L&46X+^vG&TE~rw>ujb}>dXsnsu>j6!;ti? zx|6vck}e^hXt~>K$Y4RiH@bo{o=PpYL0L?+>@1;hq=Fw; z?F~6aHLfVa7_7ZFxBN$yTk066*dvNw7)*;MbM_As*s3>9P##zU8-+QWGIVyjR*UmPH-xr4e z;!MgedG@sMhWaA$;bLjo*5{Lcp1ip1-|qBh{it8Gv!6WHy-5f-j$w_>+}P?Qw%e-G ze|-ZWda@KRm^HA6Gc&5pDl>71`;dR(MDtYIKda@o&qn`#zHH4nBAb6{=wn#X1;>9s z7tepDpQJ9h_vXF%#v=AhjR&#A9vyMEC*?|@sVGq-*dtTN2oi(MU#}|ce@e!Lg>7s?j(Wc1P zuDvk&^*b(^zIj;x&*#f?|9)6ow0~r@a8_&b-<+C#PDsc4hH$|M(7W$2->w?YJ>VtL zuHHA;^v};Z#q*Z#LRjGay3TD=5p8Q+;`r4aJ2|d$Ydi+!lVdDdmi8N1pcy6}Z-;HA zpNNtF`%T>}+U#W^q0A{}3F$UC$4%Gmc@TPqh;&R$5_}WCn-1>QQVNA>8>8tJ6NFzJ*Eqq<3X ztiqc4O%iB`=Y*uyq68m0@syH$l#f?|;1MH9sGD{Z@joun$x2TwS&BIR1uZE;0mRg zK}op_Q?|n>mJzrrrmAK-?^y&g5PVa<+RO;-9QBX+4y^iKl+}@TGkl)C%X%j@a0{Rc zmB8HZMP_ttvnR3MD(zh3@?RE|e$|EydY%f%fylXf_wIP}C*MQ~81Ninl@r&^ z3;y==qHVwNlVk&u!=Ppk1XJEQ{W0P%~Mysnb^%19p7k*DWj9zwKpLW;qY zeoaHUCp0tYC=XSTH6Q;9CThRBI%`NqA?2Nr$`_?P5mB#s(w=$ZthB)62rNOn-9kxt zt|RvfX^lYs3fSzWigE`cPg^)?MFhhFqI}m;1#p^$j_}OW?3<9dH*Ai*Eu1r$tyz_G z2A`cz$SxeqDjv+Ah%Y>82Xw^wK+GH^!Eg)b53dQOtM)0ePx1n{D)F^i zV!m?4d@-?JNL=O|5M?AB(BTbqQg$gSS3|6aqSF`Cy@bSJ70zGi{V(5=PbYTY!dcxQ z{0kFn`FIR!L6wHMOIVsvh25>Klc_NOp2Jrwi93YE9e|sU23u!>iRC(TXB{E5iI@w= zfahFaX$c%P$jT@C8i9jC+71A$)Bk_h?6`=QqXX9)X-WW4Fj&VOF(X=1G=QOh2YNM> zgI`>OwX|Cz@UhtJ+hep+iM13H--{hcD)M6^v9=FGMq!sIfmk8+iALOWmN>kpa$K^v z@ErcFh}JL4cLu?uO7cCJwu@do)(=Ruq{Y5jr;qN_b?bK(WA)>j;-geXT(>;5CNlf0f9=eHa&Gh(wK5Z1D_N%a%N5r>A>PIDYC4_Q-F{k(lb4!@@6{s`Pp7Log zm1H7vm2#;DF(qdu*r=oJpJjFcz?kXr&y3U;blMIhjEW$>fkPLV!?n!&CB3cX4Ib!M?m}-{`jsb1& zOgd^jzhOHXY*f$nU)`Gp?mt0U_mOtg{QuR{BNp`8$e<$zhWZUG5e*$_-SqC)?9 z2z1bC+1e6puSdJNpGyaBT!UW;(LUTqQ`mcZWVT)kh)0Y@NUri!mq50r0mOY zv#!3)y5_&S<5yPKTl29a;B0-X7Z)An2|fi*uC=6m*HFe?Q9=#%m=N17Go#(L~fQeDZ1) zVSz5Ehjb+}tFm3$NTSx3qeQ%7_-9v^FjsXIiZk3uKh(KDZo#LaqY zt1gyDs=;{RbiDq$mnU*z@w>IOMtnq-p?Q2|&FqMqUx%-iyhIM{Acrt%c^+N7Ih- z19tx)jcM@z3olrv$7S(*vouizOX52X_Ax|xt)m1DB{?JdtZ*7dNd6+?K2wqH3cyTH zDuVGI(wtsQuYC=eHNx7j+-ue6NG~Du<1@O$eZW!uHQE5KS4nACQcvrsP0%JHr;kjL z|2tVeitA{0>DU<7aX-BS?}Eyt({96l35U_o=$$t{lZKJuz+y0)j?j$c`#S275htWm zw-i(R>9iVM`OHl%0sC6IMivH+w-heenb3zdYAJO_V!MFOQc+%L&@+)#U=1}^xlKpJ zmeR=`M(P8T4oifIBT53GA{ca7A1%?KLOaljZ?rfsm}nbMX-DK{F=mhVo+m~uASCY( zvb50SUKnpCtyWbKfcOZVl~>CuznTypNvvK}YGL zQ%1Fv03kR`r+gTp9)@;O5Ox^4cgpcZr;<8o#4h%vUV^d1di*s{YD*{YzVQAHFWOZR z+5(_8h*Mm+C`oFZdm*?!ZpBE`tZNW0NAHfPnlFvSts+{z5?E%UQ}2q3OwHu+Z`d~4W3Za%%-vyBknd#9aK`E2+990v)rel9ffHNjMQHG^{jP>vQ2t$ynG18 z0Y*}<*5l@vXHPvz*o&2s}2Y@%v2fXbOP6 zFEsnCq}3Yxg!k@aZfGBjYMTrDckk^_KHuLw(0^?a_69&(t@U2{@4)M?*eYd%dl>#D zVrA+G=jgP2KDHO`YXyi0b4F+Vc-&|^c*^Qu$Br%uAcB6Fe|t(hC^ho~ zddc%RHW|Fgr`;BlU(l(kN}vXLXx9P~6GU6BL!UHKmA&}4^k;`Phzm--07RYnW=`>> z{7V8fbm~y=g+e3s#ywt^kn&thyP%ul3m^+bl!FfcMz{sf7r6SZ->-WfcZc}Wh%3$O zyb9AU2+8MEq^(M^gNiVY!1qSX^uK1F3DjxR^bRZ5xwz4;&c%EXQg|vPIEf5CAng&~ zeI+LGRlsu%>CGoIGa<=lGs}wKcUMeKslX*dNCYj`Y4Z-=3-klcut^LO|DY*GYNM*q z@+@YJ5ot#&Q4imt@nAS#~;dJ1YAY817_z`;p2D<4AX0)0SB)=>l#{9fRy;nx$J9U9Q;TP?2!L#}L_?naW5*{U{59ax+aH zi?hn9~#d+ZzuKt9y$InPpwd!Ark`BT-`Ca@3?rWZDsD3g))fXbsM zwzcs)nj-nhhJ!P*t;SbCMQ`OLYv-8U)$edgY^S;FzI%n9E9(LwrNA!C+b@M;>sBqbTi`eRpbAOwYO2Y+WU|?QnBkP6 z1s&{^qQ=Tvp{pICUFf>o-mN&KZuLV>7sMyB<_XZ9<+&#{g3hIvtraLsj2sMZIZno zv9us>`?~mf0V4#|{EE|$;^U(2BBid;k*Gya0)2CzAswF2TK`s7hS2$CflRsq{LgtEU-CG z(zi{DMnxtThsKpV?-My7t98cuoBQU55m!=)p>J>1uktq^v6$0hk~!HS&vq$|xGTLk zgnjv*>8z*?$HQyA=sH22pAB@l&c{g`%n`>;mvelhc;Nm#-&-Npk%jPXN32p3Mg}sE zCO%=^fAdY@L-3X=1phz&AGRKvOlvM~QvS5>@bjDMcxv0lD6zUgN-jasO8 z`8Yd2`Fa@%@n{t|ZF1@5Ef9pgLX6U=_hx%muC&j7*we{c(av*KrnE@-cz@iJu)5iw zl?GHn!q5423H3w3$xrRA}w&B)g(L{3u6_ibTjGM{7qHEAe{2tak_QqA-6>>tXq zCx3e-(*zEzkA7i}NBJ_Ix87XG14-?|3zed%EuW;;je;8jmxibXLfPXJDWRdoPe_Xr zDGN_+zHvijekai>NJ3z!cjm;TFl!Q}Z&1^>=2fLKHxEW)t8#Z{@Ig1XSh;Iv>|Pun zHXqTIx_TD@P8Z#sL__^o(!TAguEL;9HJWZ8jRYAwA5L^I2UD7IZ>{MGo;5S7EnUEZK2tVRmMuNzS$WZpZy7>)F6$!IxY zO8ntr%UBWMn)XSC#{{#VXt&PHP{UKIKeO-ft~bHDZEKLyxEEc*+Wv`}-IEeSx4Gfl zV!mSyT*9DN1B8DCRd!CDRr-uD_TO;2IYnywQWWN6(~G7Cf>uMo&6#m(m*KA<8=3d^ z@-_h7SGcU(SGu80F}QMR1D;L@bB2Z8n7T$fyArmm{X|_2g;*!SsHtJGrKuVN^FlS> z{P5`=s|8*4{z(3-m&<81k&?=Y{;I&(A-{*M?J9KWz?PyXB^HB&uE8Lw}cefJR`tJAkF1_PdGh;uGN|v5Mg7ZR!PrWhzueI=nAh`+(u6LL+hxpCdNx?csNJ=fkRK2Q=9` z2_3O3sC->r1e5P~+Vu_Ja#t_D(YfY9M6d+oEvhC{MzZFJ@`}vQncmF*mcl&AT!?3B zWcc5++}LHF=%_^{M1pNkaLYIBUJ)Ai`qDoPxYPU$_0&MlZIG^2QXnlb$>MdK>sMgg{gUJ7D*I=Hly{97 z>V$;Q5>u7>UIp5zJR@H$5LfXgCMg3E$a&Aw3Wc6DpbztpJ)P7i*tgK*RTV+le%vPK zt!m|!Sy55Ymx@5h%3vd(Tp_&RAmzYj#XpYx{qe=GhJ8H-^XusCiEDK?-G`z~_^TKH zVT^7*;PgMM%i+J574F1v-cSCq=hWlPVo#UnjzhzJHy__OuQcr*O2}U|d_G1hwWkbQ zooov(Hof?Abu2-(Mc21YiB@Y_2)qyPaG|&JoG%j9W9R}CdcCAeq5>Jm>;zV zJzwWoTq7$ip3D@Y-n{dNo+2Z@Qbrw$v1u}4P_|Z4vfz=WtsiQ}nAD-VeanQzRe|DP zR8JL^x+^bEQb?U4#We3=h5+>;V2*c8*TTqamDQ-3ni3veTJc5UFedd=2D>>SnKW0< zow#=S^0i6;#Z!dXy#aY+$T%SC`i$!?gXQ*4U6Tj3yKS`R+_jaOP99I1=O}gWDRG&Q z>@E)G!KhVn7aVvc)BL1?PUQ~|1rnDAkd_9Jugu1^l@>%`F6@T|#qyXz1x<%47RlF( z<+;40Ezhj3Jql^inOlCs#SA);BhV{tO7S}Lw3u#Fc4cXrPO?z~ES$i3XY5;pIh!je zwm9DyyU z#xDdWlc8-v6EpmdgYnh!HN2K!8@Y3`d?OvlNeEF=BIhM{8J6JJdCChE*huE7EjGAf zKE9|J=WV33ZJH+zxwU@jI)}bqF$TL9mm&v@1CBEWB{47pvB@(uRV%O9QhP8(6S#XB zaAqUEpe<^Sa^^0Tp!KZaX@E4=Q@*|js|@ZDW#HE-Yx{${tJozgVR@k+mD+>KD8{eX z;IOmG7hbu%NN_n(aCvcExd}1Yf^@gH=t2v%vK@Sot(6KAUSA?_Miu(UFV2{5f# z?#w&UAizfI!1=}UIA|ub4favW$PwMwc3->wD6;icfqoAd6e=3gI7`@ z!kD?^U9#mX;O*g_a&OV}f@Cy7Ax$op=fapJCs50a<%pYCAjUy$u=`+Hfk>V^hB0rH zL`6gw@Z<%F=)zypERlSzO-V;}bUKVLhH?oP zSw0;pFv-Nlr9v1NX2hjd4>_?0?_HjGCm^w*7>*JpS_Vj|on=Mhu>bKSj+(Ok4D1m; zIHHwi_25`5%L+5_#VYJ}uku}gF70;SN*pZNTL3TzCDAtWX}lMOqSBDl%aP{*w0bOiC|2NkIX(Y5`FY!;4#a9MoZ%HJqsu!ist7@1@ZV)jl|JYp1uLzUn>>x z<@|^#ghouR_}Szrh|Cw4g>A1oxL8_VE7c%q_I(+1Nrq?vv=HvmR%sQ!My zT%kO&7??X&<_6E&sR6}}WrG@+DwQtb;ZJ7(2wR#-z@_)dCMk*k&6@l5J;4r^B@=Mr zR=8!_NZe_(m|oh>Vp@)-gpEC~JX=!ai6sgjOdkWBJn>15lGo=B#uww)l`dZt7V>7n z%yb)kA&iauaLZlHn$ZRmRV7))_}1o9@FMfu`;hPNuO!4?(UreckHeGorRzmyf<~Mv zM|0o4N4C5NO_>blS4qBXl`nJ{Q5KD` zm~EvY<+2qJW{_%U-tv$vF8LdUTc|9}6=9~WG)yBsnl3eXEx5X;*l8f-QAgcVzgx*I zRP0?Yex71i43b`H!}KNC5ZYF`6xO>ge@^R>iiP;KgJpRzW=izYsUL=?wFBP9vbYI6 zF0nM1hXKZ9YsF|>giIWPM(1ubVEpI&#WA@$|YCohj*-A*jW4d5{?J ziHIrs;2$rP&lSnm666tyku9Ig7Sd5S)`(g*ilp#=#4swPCk;8{$OCOM*JhL)n)mjIm2f#EA0*iI=Ebi%lew-q zM_Yker^BQkc){usQ}Med8TSfA@Cr@YbS3?Sbj>#k#&qfYJG%+&&luzeE6*O}nI7PbTxQ8G1|#+iQggA2vw%?@iene%YEHY#|h#(w=+d%lIku z`<3(X44(r+x;(HL_Rf&cr+eEWDrTVAmOCQ~4#+ z#mk=zf-_)Q0aQ9o>s0`JBpJu3G9Z;F-_TP6zu6W^$HxePnh92h0_OmIi4g7ZFyhv! z)=K?K^E1%h+qUA0vAI0-uMBuahTJ58Fu4Srvk0DNV?-@_JKs@Oppy!A!721;9~%l` zpYa{1G>4DAmt&c+4?h!jKmN z7o9FU8(i94>Iz7S1cbINoop;!>xbG`Lt4FHD{KvB>&pCEP;=Yn?|6gx`?@#a)D?V- z-nB=T?}?jIH_nGpGXS|bW8X@l+^l_4x!=K)yUdbo=mueCw94#O9pE zS3Xpp7^@V)i5k4AsJd_d=(_dKQS14lBFH6m1HPgKC>WDbTY*TPJa=&9h-YCD98EZ) zf0l?ZR+Krk!BYWz5g#v3#77FZPB!8SisdsKL1IK%e&eP)_t7{_NfwMxoGK#~!$N}G zR|tebaTZ@l2DnNI12j5zK2Wv#0~yR!e0oihu5FDO-gpYKtncDVwqhUIW>{Z4Z$i@zvj- zp4@$`d0QFF!sgG@*oN+FTdk%o6rBEmCvCT%Bc)8va|$EWS4@YF=Q&3!8Qt0D=5f*n z(^_MW^u%l6)`|6RyH7S5PhB_9{+PB$>nB-qfoFAFyzW@e@-tIeVM$|$P6pj+Ssw1I zwdx7(A?2QbE}L1AP%_0ZaMI$3%jz2$#?86E7pW~Twm!Zcq5V8=cO`R8&sJt-X`Sp; z#iT`P!YNEl&)&-)5{uS^r<^QXu_u%bDc08dhe@7=gF_!6y`<3!V`vdQr?_2^^gTW(B85ck?vde>u5vS!98z0aHQnlgb&+%u;<;|->kN5 zirC>xX^Ggi)M?H_$+JkJLP1Yo(PeBZl>WU6g;lB%_O*s(e+M7GcnQ67+^w6kFt9ak zg#`1tgQDH=dBIFx`Nf`J)QD#)w?mog+s-TNw-m8Bnd%hBs7z3kJ2&%D(RqBcx(#$h z*?fyn+Qrr?;TxZ7Ns$>@J)}MFKlhThXL$Ch(YTqWslawU;M~nbp`uLFUlW4+U8?exEC%MWuGg<~0Jkc! z2R@*Jw=y1{2+p>rJ&+efHD%&53;EPic{r>s7R~H<3u+eK@lz>~D2|x;ig3#>JGL18 z(xW{2_u`MCgNO~k>*h1EfZ4sCM*QZ^F|-94^uA=7eF@Vn`OadiFFa}Cio^ozFcudv z#>Qpl7uY=46;V__7}nzw>tR+%ihxtJG2?Xc{j^iz4RFtCZh!vdodQ1%2%plyb@Gz) z=Cs6?Kits`xn-$>6WGrC zw59qyKv!j%4k$!sA9XNruM(f(EhQc-;m4(_inq;x4)4FlvD7GV;W9oID^pvx$Ce5h z2Leez1d5#b_kJT2LTiu-9H4O$o>Gc$WFy?DzP-oC+IVX+9{aw`!m+Lwk`yI;k0A*P z(J=?Jk#K5%*}B#s*NpwB_pjDps;WHY#!TaccRMoF=$ytegd=O@%i8bzQBWTJy$~@+ z_DtfTO0lY{DV)`^&OF8yTa6~Yu1}SfY+%`uUZ)j97*PDSMy<`eD$u<5%gs^cQc{+o zD8LFNL2&HoU2IrjLKa|L0u`f4PIV>L`?9chM=3|ecKWK)yh#ReQrHdE87hSiMK}|a z;XeGiWY3JmI#$PlIe3MIZ!2ZrT?8c7kDvd^0pHqXQN z!@bnyLITr7lS#37B|K9JhS6m`e%JMTcgCmOwKw0W3Ez1WUh8|s%Ge6ft3SgJS&Ulf zSzJ`1s!{~KKz-NIf-r5P)Q38Odo&Y-6C~NV zR>1xIIC~Wf0>kvO#_$}iR$^!Rq!m1ofH+$ zc=ln?l#}&cgm?Rmv-q^ zc|O}=XFY-_gZtO!n@oSX^%K#L1q@l~_WaXkx7#E}6WD=YRdUUCw4`^=bx}}f<>q^~ zuV#lLpMvbjDYSRQ1HRufs?gXJ+x}clo0|x}h@qv`$W+7wqx-zOZ`yR7^k#>Bv)+yS zVqX(_A$_hL)U6GksWyZ{gqhH6@6*t5(Jkj{Wm!%T4}ldI`!(t*i~7W%i{dbrx2}K? zAvZTngoGSsfax5ttwz;7`>|&ku~|*Ouj^(F#bSJR7gmgi3pyP*$Sw6?)6sn>_{38|Wd72$3t8xFnrgDoOXX#CQE*ha0FT;-sIn0HzP6rO|$r2(e4 z_9(1TWY67xMjegO1$_B!fHKWI`b= z1G}aD)hc2F#6N?(C5q!eVzS>G!@w!WX|IGck*y1wSfboXM;@+-YbEAey|=I zhj&zJ9c#G$CIQU>kuqOgyj<{1$92u-vwjyqrd00z+90vkmZjR?D%Wt9RH@}Xz=^P7 z27ZMAY|sRBa=lt3ETSavz;ex!-@x2zZBl%<-z6!5CH8IO{TD8Vg^LN^{JE(TSRw~jgL5t9 z)7TclE8beYd$nLn%pTJE=0cJe@{#KSrc7fy9)e2Xz{pEI6Zw=3?i_*EC%?cevB1fD z^?hr5O{#ff3$6?W!np~@@c}ARqDiBq&78q2%gt;7Hi6M6iM*oyx`xO1)_Mnk+U?) z%O|wex2q42^?>JbG^U)dY&{x1tPYY(!5Nys84#Mx4eXR+$EAVZQn-)Uqp)B;TUwXR zv33IiQy_}3*l`;O5UG6=3c$bljD9VPqXJcP7bSyCW-AWhSh}qZPvD%a0^jmEVOLWy zkH(+B%P9a0IsPFupdP&E+RD78s`{nC%^d>7xOzSf0(A2Nyww6EKOkIV#**{{&gN{D zuadXfgeR;52N+D|r0F6xN?_&cxhBuKQNL|E-D=G`oYEAqqOtFcbx4yz84yi~1X;}? zO>xPI06nw7J5g;}%VWrRJ{??EzNRvL-~A+q2RB9gIrp$-g*ZUsQ>di~-#|0Lfo$Gj ztpzi_z_U>@;ecTFKamZqC=*Q-azS9Dy0~FEdGa>-Cn`LVV`1V6rzBa7Vtf$SFI!6# zzJb+(eLFRUhg75)H8D|TD~8M!aUu1*;6xruP~aWjy#)SnfAJz&9uzVH4z6kNNq{)A zU0*QNM0`O2yFl#5oLkQij*`NQ&iU0BSj&nartrSsJRdRNK~8|;OiKV{Hiv_71I<+# zwO&?QUk9FU1RNybv-7o1@`m;j4m%3+uoP~S%MaG^BGSax{rtK5L}_aQ<+oL2Hb5q8 z18CZS5e;OBLz~bB1@V0n`OIN4R0(k>NWdi~yiZK={^->m!UzXu?|^t^76i0O=YN}g z_cA)?kM_B0|GcT?asGhcgw{v5=E!`AFN5zd=R4IOF|8){-r5D3A4*oGYNp<*XPi~P z*M-*bygT{xMFnoyI7p&)@W5S2u4aBUgc%imj?l|Aa?fr{rqt?fvz`t7SFm9^R z^5Mt$P6X@y$&USanWmlVlp%G_)i`&kTUH2g84~9qjbpXCts3Oi4R#dqPJQh5>jM+} zx?yb+mm#n#RQln}JysuYHk)VB2Ssg_y7hsbMBFeA*Rhl5o@-+GHg^*={w3hG9uu~5 z!;&;x$0?9=EPfue0C}MhE8?0ILx)6l!g`RCi07QGaW>^bW^){xCHO?ZUdhFgxptiz z_iCOkAb|sFTRG3YhG!QqL7x6-7gIhN+-ILk_(tG4LBT!dAQZ?{j|pgd<~t23LoGtnrvBlG0Tp-xM|_ED0k5)N6&b57(rrAck% zDywphd#BVvq%QdnvX@%E*A`oXH{~UQopLjsvbi3PQs>Ssb_sit;~=LQ$z`U*P6>7| z;W36{wl{NKJ9*6EmvdHSD!Qk>_Nib&0CZyOgs$>=eau8#Kg480*4$f=#<4^41IM|) zWcOfGs$c!lqw!)~pZKZ#Aanu%+V{^4sqo`i92jIj(G&tr>(4ZUDj$Xn0nXX#e{y=Z zPO2aiQHb#`!GHDqmc98TN?8NF^c8y-nx^7!z7RQgOYGf!_KV9?6!#%W*TF+#zoSnJ zO_NsfZ_(28pUXB(XQW=+WGoGj7YF}!IOVnqn(!cmjE4%Y{36V(=_%(%s?54giJFUl zy?OMjm}t?$2>$ft@oGf2^a^SBw#EDh_|8SokQdiryF=1Ac|S2rmZk5pu1}dEM0#I^1#QoB z%^7gJs;*WE_rQ#~o_pf`%G$B(&!R6Yb6UuoGj7P29^9~T``7LX--Yt+2g(SWA?2n= zCIp+cFVWw8+s*kL$!TMD7<=jR6XwrYVoOFd?RR0 z4s6~dx%`pgT?X+Qxk> z4(jn=Y_^Y(3%02CS|}I8CSthz@lc1Nv}FS8`rP!%t#3peiSK_KzW@E>``^Hi zkVG+^@j3T$w|N?mC6hW0bFX(ix0sO-o`0V;Ae|TzyK=NXxm!aLRZi>z-!!RvVCdyL z69-IoX(7+8%?PHKTORzxnJp;rfoclVRL<2u9RcodXhT{5O;1xx1jNlD+HEXbF*w1FLz_ZD!t ztWM2rA&|o z=5=B7y2yE5wCf>ku}7!Y;=(`Bi7!ybufC@RejL-Dt)TXT2Zbvx_PG!8mijt?fj(n7 zw)4S&vHV^w&vl|4%hEWTyx+$9tQ2s-gmlH)LRjvuy43v;7AUBV8^<^iyzFbrYqeiK ze~#OM6*>QnMPUYSLkpdXaBK}rrF9-EM*iSBS^ZOZbJxh`P#9yWw?NqVcSZ0&M-HTk zcfGsZ&ry-XweEm8Zo3Lru9*!q4#fO-U~6btxYjcsv}glwez_FP0UU-PlV;NSZFb)5 z0_U`0GnsUrw`6Me6h#0D5EKN|YC>Og1KE(d%0m;KT2>-wYW6}fyDOkWa`2PdPdMf8 z0FL{Bj$6iI5A*#9>PsxKXTR3RUpp5nrP!(yo|%7vbT5!VP!#W6f>FW!Ur{vt2O(Kd ziufO1nw%V3LH!?IDoP2jLjDggWsbt;-q$~R54!{*XS|ZOesN5a!%&v+rG54IW7jsW zbc;elHy!uODxjH6$RgVPs>NYmED9RD`CtTC%o4!j<$51$xn{GdQCKI4OmlxO;GG6URqS0~B` z8(XIEj)z&A+4TcNve7ACc=cRpH1Hys9{bBI#AevIyE4CF1#_g;d4p=z-8gl*gEnh- z<0FG3A;3fJP(d9Lt)XSut*=LrQ~SUN7b2OB#T>TU0Z(s-%s!3zX0_M+q_?W>*vj-= zJ!vb0t1{b`x`P9^hVww^oZxvev&kMEP}`_W;=RZ1gsQp&^g`s?6OPab#NkNRaxGlq zp|i8u-nslV>#sgf`vW`kpQ`8M?f=(NO3Q033>xx0OJ(|cmq$xc}BEit(#vPL+8i59um{r9-*{(GjLog_?hhYFE-SWrXck61_!E zuJ zv-E1-G=!GXW{o(6M?0orwyj3hn`g1#fuy3&bH%ibVI{C{Wq0hY;~Bgv5SZ8WVl8cP z!$T%v^U#ilXw$*{UT-O_Z>>+clN@q9vkSHNfEZI&dUQu8b6u^^5H;jPM)$Q)RG~*E zgtj*%|)|51J* zmMU+L9mvzD>%r!X2@X7V_#Kat-Sw`4p3%=&K+|&7Z)|)WICjSp8yb6TGrl$IKS}$% zNp=pZ9gelWSLv+#nGp-?v2^dgx~kdia}8yjZ+aIU_iW7S(}D+rJq}?$>-N|!yenPc z5P4+n&kx>rKDR-cQ7C86HEFk4)6>|UGj&`?mByc)Rg~VJV!edG^GWlBtr~ts&Ec%( zi5)F|ZY)e#{x4%$r%F-ixr9`Wt@2I-<`ET%S~Z& zQ=s%NQQ7wDI)sIhBXQ~bjIsl`Q2GyzeU}WGkqtrHsaDyv#a7_Z<)SmzeQM(4rc|Yt zT%|Wj1_YmiY&~vT6hdoxblkNMVpHx93vyL33!*rtYMcPvD=YD1sljVS0!yn_T!uFn zyg59K=_D)KmK(|lf|zl|PTu4afI4Z_S!i=km1oqUGKb~RBl-%g*Ffc3 z=xNK>xp4CaXHZmgfjJ;7>H&Wi+l`Ns)g8UQ&kSNe`78Hj!dtdEkLO0`K`3ubtZ2Ks z;`t^BP3%~LGyx?W6JJq>RmF2YI?K>vK79<>JGa-cA1_EEv>J;1%d%iNe-U{q4GOp! z&SJ79Hd>)-olpo_7yf0Isl_Cqo>{(m^(*xEkr9};kVRjw+Dz@>{B`RGCaXgcZPBOo z3sNAr=8u6aCbR(!t);PvyzmJZo=>MDS(+#&Jm`b(Zmp^a%FklZQPl{6ZltVKje&F z-X(5_)=B)8qnPuey{_JJF^hBB)*wVUuTJQak1b(hJzW}6TjJv^1?SFsgfE^|cfXOE zi+%xw&Cw;{SBw|oYFPZ-08{0znMd0!>J{EmR)`V`NR3u|?fwM))#!bED0_(y_hY~Z z&q~Ll{G!MHV31@?&Vd{hh56)p;xcErt+1z<%eS-@j%jkLo)fxdM^*$fGnrPM3*>za z9bX;)%H|d3GpR+rLW-Rt`Q{#kv}Iu&OH|;UrWwX9ihV0TZB*T$haZO5NxX7X ztQH-OH9H9!Bc|EWZ~5yprD%kb^C znb5UvuTVygq2Pwjydow|eH#Xv{Fk#Regmd^=yCMd|CXBuoyU{*aKNx^20mY5ovom4 zayVG1S|?D|zTsL%$gLYj(Z^KQA0^g@|pHf&xw9)AUrkMz9BfZb`B-4b{1F5G9rC|1iz(C~&*=lsjD9ABEY7 z!rVy@q%tCQ!%$63stJJ;B*7x(mbD;Qj@Z(~blJ*rgA!8l16tqggE|n!n8BH3h-}J1 zXg3a|QDl>+K(gF$=5W&;js}jN!_mN!4&SQJ_GM>Qs;!07faX)_G)HV!nFz z5tIG-y>Fp&E!U^()1_=oJAYbgLC90y~4r)h|1gV z?IfZFaZMtjRh=m(t%uq#0_QPj5xL-EE|pfk8;oOSFvy3Q)H)`;k7-@A0lY<>k?@Le z3W(C_smBzk5fL>z2^9!RdS=diV+Q^3>5p-G^RsUcp8YgqdNT<9T+7vs@N5pqNo@X@ ziSr#N=5fvIQh^&uwlXoYi%BWtK#D=Le#^n8n6_tqkOCMqME5LQ_bf_S^q5C^X&M|* zkbKoxfu826AireNeskVK>o70Xmca_EK`tpHg`WG3p~tL-5xdni_Pbf>V(V@$QLyQEe+GF3 zKoaEfn?`X0HQ5-KG22y4s~kPW!y+4))>dk(Nv?ISxrK=*BS%838IRAP?~8bjW}AAjh!{fCF9dk;~?9|{VvrEn*<4Rng{OwY#X6w zdiBuLxgVh#Uoe+G1kn7FlX{baZ*i^g0Bl&yvsaM36ey^M9?C^HiM)3+yr}?C#-&{c zz%)5&Xp|hmqz5oTa?j;KL}pYgh^T6g;JDkGn6e~$Q%**U-Xg&CC5_U9)Zl6{nyNRi za#6s+cL!& zhTL+9Xrcj7ey7mFbfiOh+7H3oS&?V6wN9*Km$Ai~VXUN$w~>`WrzRoG*S6|zyQ zVa_DF4&9(Q*`T1L%b^Y&GIgzWlY*RZ3Bnqs_9j{6aKM8q>q&d-GA_JAl{JmZiJ)mflm^Bhx3lC9lZmLX?vg`ORk(WfiFU4eH)~ed z=$cM7`IzXfT-|IkB>Pq15)tWu#;S&!5|x5GEU`JPICD~J*`c6bmxJYUO0^v=0fZjg zZ0{kqUaDRM2ZKFEsT#F)y~1K*3D|>a)vjM=jFe;Lqc(M;qlf!#TGZ6BGt0U})?Hkh z2_t<8XGX`{6ie`vqTwI1}-%~5z1FubaSU8He)t1sbJ8K$B|TCQhkIeREJ5G zFLH?BAQ)ViJRgQN$foXgl~qz;{iu2JfVEZ9YeJDlHFGio_%3UpT+%N)w||FS9dt|6 znK+_ND)Vw%xuuC@?i^j4gdLj_ld~CRc2eh051cRHSW7kvms}8{G~mZ_YYxSxW%P9; zhuS@ABLksd7E+qjcwKu@*70U}HO<8zMpo-+bAUyt66{?kxw`Ipi-t3vIuezwHvlmXZID zU|V!7G*u22LD42h^=DJ2lO73l4AA7rV|vh^Eujvkkp%$O>Aw4|C5#Gy!B#LQ5m>Az ze_Fq1-tZnKBOj6grODxgn&(|SxUGB_f(Livm~ILX6Pi3U<{j{(qWwFl9RmCD#5SoB zRH#S&hSJ`)?gqV%j{XcT!NY{+cZqh3j)FEW;%}pIAgKa)fC}Ww!Ts}@IxX(yjTHon zkyi43#!+yz`JNYjpj;mOO${Uc2MBC6-&TZ3SAk|a?9XquvjxDug{!lF1bw`Uh<4n+ zJ^|8TW@n6k@+@xqv!&mMR(u~?eWW-+JF30e%Zfg+gQsp!)pAb z_X^7nKDVm4mK&S7F1GS%VaLqu;i;qBx5UI=jp6DJEW{mLxagoG4_dwaxLI_~tB580 zV9<^K4rM-#**@4K6s??De(LYB<2{9^s;-^-WPK{;!U_JEeDv+9ssw7%h)YOmWa$?b%+u<5}D(g z%0WgSI&TIJev>wGn#8ZdT<){^Rjwa32WUZ^ea;>O>Dxdv!QEtZx ziT(_Z7xjd2JgiZ%{XqQ&`)0>6#S-_rn2mMo1W~J+{mYkZfprLnk{d~Nb)P5e-n*W@ zP;ofs!fEb@(;N86YI!EV4t`i}a!F8|0)#nYWbs^~SZ{78@lEHDvK5xYs&$2pl)@we zHPy8*ic&376agrm9^n88;*O6MTOqLmpOa}UsvhZv_B z#iKT(sHp(y_@*N&rP=Xo5e)Q@gb4O=$kU^HMGaTA@ROobm7J#K>OdS1A>*LBW8g-y z9MjH0UOKj`>n9^egsNm*nfne2-FbGvzSen1?H;0#Ifkefp@KIessYRx@R?W#kFY@t zpL>^xuq^;G{|$5UddtTZEz^0=z8xF-Nxk@o8of!fc>BInf45`w3i@LOtz0cl@|NG4 zWA3!Io|iva528-i!{a5^FV*2^1f()Go!EQiZJu+87(F7v-G}tfL!!z@={l}$x&k@A zz9%U=6q<}kP*{(c?i9~S)ro1lJG(y5yE9@&^5i}oVp3OUH^u_Mqa@qfPG~*L=9$9wfZF7-YF?LVj@;2K!D+dRwC~Hb z%iLEqTr|;W$U;4W@tg5&jC5UO@iK`(-h>c~MohyQ0nHGegyuC$7_c9?b#nv(zTak& zN$MePjPfxsDE{=(M%v3?|1q;U$UOPVJZ*G09a;aAL6cjKGf4~vAy~3{Bk=O}i*=g$ zL3f_7YtVLrXM?0~<{L*}gq-B>)+6*U4h`@TyskIKjeih%qLH3PTqnr-06~~xx)y+( zw1kma!Cls`7pOr0#Hzr%|CsiCV6P-=GksQ`0@cpI9GIHbC2u19$E=OBO_tz#H(ETB zTQ)H;Z4%mjdwS?7(sg&J6F}9E+9%%*Sb)I=vvFj1CYpes0KvyxL|u-eDDO5{+L1e z2qHGsybemwm4y_8rgDTP@e^;~|{3We^(InB~{sxL+=$2D*uwa_Wom*I194 zBlm6wrkYB`pzqOLL44G!_Mne0U<@JrUHCkXgh%rCF=qD(OX`r9vrqTUm{BHErBYwR z5U-H%qT7x?=Nsd4&*II?b$fkrHD{SSaH59;#f(WO9%Ve7Fjku7DU4zfRy|X{1 z+G$~nbiDhn>xE1yZ0Gm^g#F9JFZ__epuv0I*IeRx0gA+{GRV`BOWg}`t8Vz4$1fJiG3nI&MThN=Wg1(MSIVWH^2i5 zqhv(^J39^yM!4T3KU{!=zQVg6FZqJ5TX0*bZN0T=axrYQb8f^OL%l)*ZK$a$c6nbP z$4BAww>$^H(|TXVrQmH!=$!jXbKJbq66vzlA^vmmMH6IyY|!Fr zQ*86-coNn>BS_xk)8M^jQNVLDFSRT4>$jCXlE%d_|K8ENixJBb58ieiXM@Fdqsp<{ zb0eq+U#)y<+=%cl)0cj~vTx#?r6u%G_ggVCtgY_8&!^1Ax1$|tSrq{nkyd>HYlg-u z0`Aa~iv3Fq>nZ{sH^!cgp(OkJmeF_r@Gr4H?7ySL^-}J<63_>?rmXwbC|EC8c7`B}D(&^1pHomghQD zF|NW|qaz!ziy-{3^Q|OaY;U!ALJSdjn#BZhVpAqUJvXHtwhel|J9?qm{`-Ngz|c~-@A+3ddgHKy@D)86qsXuN@UK| zMyY4rKhzDfed8pSHR1RBMxRwQ}JE z2Qr!qC)(=vWtZ67e9*zj0YK2G`DU<$achBkpdzS5w&VWF#F?3TLh!%uqIM4V@~;e3 zq|JZ|Fp7m9?W1Dq4D#7dsCzAySakFgLom=a@0_~;-&;!<5drSC5M?~kK)`N^cE9Vw?@mW zOqE7C`Jdrg_-%dsKR*a1j>FK!JD*h~(TX-$yhDYg&0BtL>O9T3qi+$S&VXHFDi#Hw z2a?i0)0%nBHji1SV?2P;4f*^F{{XjOcdr+&P`$EIu(Sb!Vkvb>LGQ^e4+vF2I`YP5 z9b$*Mf|Dw?5om6(NT#5t&Bu z***Typ9kHW?TKD8l~4CTp=04`()>QKU%ol4Y?G;wm}ZPcuUd6 zNg*^f#VV4(^G#qDvce0jR~XK_K>dZdaF~~oV za0t8#fA2RRH(3&jFr29jS|p;KG?fgEy{(nmji>43@&aU`#B32uZ!wZv=XmA(!qp}_ z_8qIluPa#+>&+)AYgG*9amsmq=hSV;pf4IB z4k0tM0O~XIvU?K@vttwBE#ZTePI3nAYJ$#Zs%kHS{mOcvMOeJ+zHG~ZRm^umH+T`v zIpkBjdIHk3-iea%(WwgTUkvc}s{^pW@>e!N-%!<|Rq)uxR}@Z()IXeCxT2G9xhS~C zFO>6%-~bP{EGrBt2Q8}o?#(tmfn)%!c_~< zOx}I@|3qOsHvWYiP7)#u2=PA$Q6@T2Vwg)IAPfZjF}9bZ96BM!U(jvzhvMNPnl$(12QvD>L9)Vlp_b- zCg5{)AWocFp$a|@U_QK=N86qpJq*!j;ugsX1OhIE3nQmM764GX0sWeRB8p)<03-Ba z7IXyx3HeG2*q$?gd(MAn_Rd#A8|C<}FAx$N`9+3_(P8u=N5W#9$$JFHfk!!bqY6E( zgV`B?`v&|90QHf9n&}~p*5`B%CZ!+ANxzk|?rlygV*9rl3YLNSuE$TxDGjEQwh&JU z!<(qG9espVfZ0bS{&gl!XxO37+^1)oMfsZhnqD;9tW60a3XyMstk(qmP6lX&Fwg*) zP3UlBDLAeTKWwnTaS>1Tc)b#im%$$aW^VwqKG}v~COB4x{UX9MZov;oP#Q4QB3XM<^0>n^ClbdfQG^9An2Y{yN5Pt#Cuk8dc z1~i_42$MrgKbr+Ap;<~qj1H1zF3;A%oSs>mrJwqN3g&QN8-&mZS$cpRx=0MAO)4VA zfj$iA8XY1aukIyi*?B!YO$YrY0WT24)<~fO6_Eu%!`Z8?%IYIjL@$nl+(Zb-gl<$C z5%C5Hs+W{_tR8tZfHLW0R5rB2ttlqL(tup>Q11Q=a=#wZ+TiU-fSJg&c7&am4zkj8 z9*+o~FHHS(4eI;TEYbkkp@3$mQv~`t6ce(*B(X7|Yp-W@Ng^{P&@iP7;W9Ktm66f} z-Eqt^kO95Xx;ORg@!(s>|9J=rk5H5ZoLg>yhvk+Ub#a(t1nAA!-OF2&N}qy;!js4&c@C{XvCk*r2Qba z&ZJYmr(XPd{UUjT+mEJ}>NCoJn+~r{g2brKj(=@+o2?Y;&Up}9zhA#-_WZIDJ^vS1 zneysrrb5a5H9z$IC2jHXd@Eb!^{w4yZJ*0%0V^-M&9-*Ay9V3T7C=0?&hKREvXiM{ zErIJ=T#8$G8_Lpev;qe}FWFUG?k`cNg%0Tb<%rJ&`DB7{IsmWg zqA(y&QMeSsxeJ(Ul-S)TZn#hl0FDh>`3$n(0BsuwOlMl>vYWiJh5w$vj{WW5e3yjR zL3jqh_Ar;A>iU2I+39Xxb-CR7zO5nrhITFJ!%onhIuJG!6s8Ag`8)9d=&UQ~{f(|( z8_SOOTd&{P+IeGZ*M?+OV6x_Uu|P7kj3w)3F=aH;Oi#+`FM{!S5vQ2ni>|Oo&&ZnGmmT0BZnRev^Du zn2$np3o-7M&fZQAEF&P7YG#pu`({FIUK$812NuX&%+BMx#ErWm)OrZ$w>^Ypx_=Pv z`;>zzIslv52I(1$O>o2L711 z@yi!{f$Hyb2K*7gL`LHK2&khR)LKJFpbRx8@?}l~Bx~$>kp&_Xv{6WXFUH0_hJGZV z&^o~WA?O+b)gOXC_Z{eD%sIos9~WIc7W8;reVa9kDVHHl05zGld;te}T!=cy!K*W& z&I7g?vcXH^Y8R&)PD}3!)hM%D_-Tdx8Wrvz8B)SPUz30>Gon!poI!;P8vq{ZaSdYB zAvWyf-Tuli7Y^_{4ySY+dze#pKIch4>EFVDGz#_!XX_gA?OjdqDGsvU3xAyhrORPz z0M{jhk@>S~2u9o!A!fH?Zy*~v0N}2Q@QNhoj|42R3Ut-9{uuxz8};Nr)D<1(5rBEQ zaF)b?ePX~!wvP0 ztyN+li?OAQ=LpvDmq1d47;@#`B7)mxm7vbx)?Nb#UmNoBo}LC zt@9O-*95FD0r^1&-|-nzBgVaE_jDdWjVrO&2>7#x4(qM3o3}8NZ2W^0miNV|ylFrW zkWgY=o5@+#W3*%(Y!DzQ5&LPF=WMKhMHw!pBrFH*c(Qqs3{@tlIf?Z zoQ?Oys~O2_96@MP&uqQtZ5<|!f&HSxRj@(dFBxI4^ka!@4|n~>{lj2b$`B_E*f%ox zNF7E$XrhWy$-BlqW_j0B zVh+r;{D-%D4CK?Mi#w%e*bbX`0C<6fAONDtSuXK&aywbrf8DN15`$~yEBEmg0 zz%3HN*}?_!4D9L3IjiLLsXuUSnNXB)r0XN5FBCSQ!}y3G7nWlV39(~x~TmwLA2 z8T14JQ7*#Q7&PF2g)eoOJ=11%8SFU&7rL3UMuw_YqK+H>L=qw`4X{TXOdY|*&Ek(S zQh+2ye@6=8&!L3r`^yjVK6dr}*v_oEzO$#YM5%lGJaFgBevbG@%y{?#$3-UvN8?^c z9ClyTRcO7qp%1mc!85_-wDpa=YZ-FkdhQ~>1f#bbca8h;j`h0V2??diFU;g~FRU)o zzq7i3e$|=?tE(Y}5o9yhGxo3Lkm|%~q(R3S8vJI+eE?AU6;jn zvH;&D6&^;!=*nh$MAHCI%1OB50i?~}AYF6x`i93Hr8aAB92EAYoS^nj0>mxXTPtff zG|HefpG~)mh#BmK{NvHYYYnosxvis=?Jd`eudgiTua~aXsOumvCXjmxOEjodFtY6Q zYmDD@9jFoCZsI^tABchHw!0=Fpq^%h7?xbMKrEPcg==HntHK7Nc#E`yF5r>%)kM zbQ36+_~xiHZ2=kS;&`s{`j^(`_B%74%I*~?>E*#med$Ww=lZ>ogHKaDtWQqVA*+Pp zsq~oZ`d%A9e0OrGJGha-!~emFxeb=-%U6-v0-Hf40xAt=lf$ z)@|#$(q(1UTE%BuWhGgOLRdFe!epGGptGuFt973x*BrLLII#<{cQr zOcplqaP-y&m}OXk@{`^ScK7h32NSP{O&59UVLEN<;OwZ zo7)faKwN|zj$)|~zASC33%nLs61m$qa1FY{H?XvNa3)~wzYAy5F6V=ukB5U?CuC~J z1|iDh3(a+OnoHIZ9k-ll1)tmc6WRfahX4RhJJ0(*LI|#w7C8WICby{}N)_d@byfjl{0#En{AJPusYrn<096#UoDWb;vUVHv*FZhtjWBQM49}->*pe<-&1NV5f=WLsx}PnlLlkKF&(I+E>E& zNV0Kbe!PGVLJaRapNRi0+Ybz%M4&mNeF-zESsc6<-}|auX$;cgDw=sHhCxnU(x}bO z@pnAojQ)UOxx`$nSY%QCI=AlBo`TIh?{@c{7#d=?unD5fo&@aFx}9r_TSCiaeSv-m zM~UPmcAl2+R4hD_<#RsodvQkW)fkU|OrLfjy>EVVE~Acweep$(EkXS89idVNhk_bX z1H9yTX+Fj0S6rX(e5EpfOy!l_T#x1<4s3<|-B&|^fB(n&l^Oo-E5w0m90jqmY6 zHqUE+o+78);_-A~UU-v4zB;Ff01TsJyNp1rUYQqQ;f4dO~WSDWP zL?ii6rUn#bBLj>tJvVj@qMmm;tWUOh9TY*>bCR9wMpWK6jmhXACA%|3_kH$G&-3lo z*A=xMUmYzn&Kfb*m9@Ph1-6~!YvzY9g=g#4;i{vWF6>$dM-LsXRddeW^J`=p-KJ=2 z?pr@KCb7k1#wI5n=M8CAKF~j{^!2VJI&QD?ci$m4y0+?fm1vKm!9F7a7xSh@g?aI&e(-oC8d>t_NGm#GkRZA z_BNwjkn{IM&WL%$r08`23}Wqq20xc&2BXtgquq+$7Ux+kyxletHhZ{*)GXskoU%1( z1AgSgGQLx&v-Z+rxnm7YiIZ9}IX0zhqs&Z7;b|6VOP2_=s4!_`ExWaWBpl%Tz)kxB zJfy>NQL^it)dyc44!8m)gpAB;TBvj>J?ECIlm*-n8U4@O6^)uw- z!)gXcQAON8PPt@6wY=$4rHcI=%O;KfGz2PZVT)@IGsR~IZS^zYOCIujCeOca81LV0 z#$9D1u7`mHwiV&_gAtd&M3m13kP|*PVdGWNJ^)DFb8mMB3@d!45VA0~6;&?T*r1Br z?c%gshfDi-)blLsus5QQKywO(?W{(0Dj!-g&Iv_hyH3z*gLt%~PB5vHS=u`=SSL&XBz~(Q28}TZJ(_logwSQ_8 zBg(t4?lM@zWf_nPaj~+p9)H@IRbNj1&(0=X{C!``hBS4|_2F z-G4p)`hBeG*wFZzi_@e_N4nO=D zfw#8rXDIC0N#~sv5qZjHS`XgPV$dNgC{ES@g&Ai%1LxwsdUt2hj_Wt54 zR!6aux{H!7>`aXQ!p1Qyru(Q+T0Oza?kYOEd%jZ;R}m@FokM!#42G^VKRX(zb9y1* z7SzP_H60ElOc{0(%&+{<-z8ib_PnC8GnM!JvRBp-p~BowF?D)G0vRFTcso8`a?Eo$3F{4bBy zyk;K9fYL{sVG~uvxkeDEGuzM$8Q^Swjh#R(g4tlNnjV>oCFfPqgVNl+jL1f3MX>+SV4`WZ!*3F1p93BC9R`4ptUFu}DD8Zh{%)wi?q z@kIH2z=(m(IqRoLyv+R9M(_t`YygB@*I5lq$G?1y3?fp-cHUkxO9ARo>uew(K5^>b zbT6+ODh?%`F;;ciYkY{5xUc6)1`c`@T&YvtMhs>3a_};wcv$1#Zg*4N)5buo7Gsu> z_HE76pc>@7=4ufDBy?go%d1W@HB+Mq7(`>Xf6PgGr+SG`yac!Mj{D70jwFR?UTv=a=jO>Nr&wz9Qqs zK*_eID_!oqA;(q>XntZSlN(T}K$HHRiY-zL#3~=$`9vmWbDL(KP<4i{2$P}G-PMe| zG&&i(-hjj~z!+yTaSCKL$EHF`N1AeuaM8S?%i&^mx=ii%J0gau*=WS12-FX`5BLtZ zbXt|fs6KH9DYl_K{s z#=yp#t60v*B?9awsG7JGq_H)y3Au3qvvL%X`#pM#wQ3`T+1DmtD6HOy!)~Ra>2e^> zfceP*n+Jp048VLoAkKB@NZZRv#Qh+91Ymup#j_>H4Gk-)5CSViZ)i}n1en#< z+#l+F<=!>^Ky@CjTDdqHgTqL08VGiAhUK#as8AzntxlQL34Z^zzvfbq-K9Lj(8)Tq zuKvW%unbiN?lH+(*_re-T3nsw?7pTGyE4!F^g3naG^#?2BC?fbZ5oCFz1@IGm>HP= z@69ayT5dJz$v674z04;|-vF7N*i`~`5f00;CZAu1oono0`)}2TDKH}syJWh09?-DL zfLSqJl_da(GPT5trVEwQTi|v{6|W7wWmFZ|CEp+kS|P_~Pa_C|sx54dz=m1P@ZBp* zsc6%DOv6arM}ixw#X@j#b9J&jaf1+>0;A3hHK`L`HP96UYJcGW@!FiW>g7Vz8XIQG zapY`Xa8JTP6WgpUi}VswQVbqA(^W!R#PJ?oXn&E#R9maPzS6}|?{2HH+P8*&w# zy_nq-G^{C=f$QX$iabqkvLbi@vrf|J=#H(JQZ1BM$KtFaE6gfYi)~6m8!&eYQvuVf z18S7>0`#}s-N|zo;jo@iaYj5I+u5<98C#wQqIKX}W>vniYVi~%&ycmhyY#>WMSyZS zIF^L<se{<)En2kVZ_P%T#`heMJzTZbS`{G!X4^2C3{C04K3>Dg zJyS~oG=m zSsdp+N&G{#aX>?2s5gsU&@_1QNB#j}=rUlP0Nqq3U+9ia5d&-bm9FT?HSX05ZHOhq z7!tj4l{4b{GO*}ROgTeoT)qoqMQvuYK-`~`(o%K6@8s*N^H#t&$o&Gf@4a$lA9-8*?A!_R{)FR@mI!G`RpYKdWTt+vB%0F>y^ zH=Hjm7gnztkS^7sPP~!xgw;`nFd+3$q1u#!sN4eQ%CdiVzHMrjCpHw^Fa##JSBY(!3Px~ar^1(Agh2r; z8g|L3f+4Gdm#1I`TEdXDB}=V~q}4^zmz$*aGawW;N0)4qdmCf?+B7TX0N75&{yDe` zEhf+)_ZKR)j@T8Dl4__b5h_zfn{yAK^1hSr{tL5W_~*|LVbmH#3xTrVz3G6n2Q6sP zs3O=<^S!KU6&eA7?GUeoI`ZKD{N3Ogw;!I2pmwI%Rr)y@G5|VrwVLrMs>Xd z0vcZJ+zNOCT54brn~~>?to3=@jK3#G)ztk!GG6e@e(9S^#ItJ_wdzoIv>B>BuR6o@ zi{tXn_%k|0iUa38TW>T+>~pN+e78izipWMEwU5>O>uR5ZCu|&fv#s;9ubrQ*Eb04D zz6I`Dib<}l%^_VA0nCFlJCB=E17%l&CJm$dBd2|w%#Fyx<2AOUwL_nq7ej$xRm?b=>q^ zdu{z#Ixxmyl|q_g-C^IZvpG=bsx8mmyczwYcKU z1LHqLmou9i#LuWNW`f?N7sChwBQ`zp@&3A7nu2NM0toYaEvB}n0Ub}u`%YA7Pa)f( zaGdE8$9IWrda7fqnXq{#Pwq%@qd$^|y&sEC3u;s(nQZNo50TfI1bYLLALD%u^w z^U|d!Txn~p30Y<|JV0;g+*^YVOm1|HbQ=M7!CPFBqh}06%M43lbk>K>(@IR#QOd;| zlxP`2n^0pB)3J`?~Hh>SSbl=Udrqrs?j2B?k-1 ztYK&dY0Xqz&*fwP^6*5Nld7g zbF8T)Gsw<)d6)w8y6%Y5{>S=!^;-Wm^eXptqXmUdvMz_X=apb)umkSG&A3-}7wbH{ z12Ejku{tm_C`sJeAN^APfZ*bY>dNr^v4bRFHVfoR+}3=5$LO2ybpx?4>ozU$Svuzg zf__iCXejo;R~>@VE%#@KFLM9ZF)6Q(r&V}`=#@P|~xn?GX zA?-|ymAuh$iN`1BWJayZuYH3yOK0zj+tVAzoqZJ0KL=0C9}LAjZQFwJQO_la zI-SV=z9f&FE&@}&wxYaZhm>azTzgh$*3{#*WM z&k;k|no&$_?|A+CWFE%5tv_%J@JsqAM1bi;_BBOqkkpDSwV{915w$0OI$IN;(7e%g z5pwl(;f|SRAo6k+fuV)ct~qHsucv zMN4nIE54zwz5saYKGv@_O2|$+WlTTuTuAbi>;DAT9icTCvDPx9=#n8lYKH9|K133J zJ9A5J*FEn>Ykke}oQ$WLH{A^-;`Qe))}p�)zn?%W&pL?=yZ1Ob!?6I<){xol-j{ z>QK4xu&ppF2{%mg&)aDHO;@PEv$*)Q>^clpqAp))EDn@G4lOhg*P9*eCj)YIpX9o) zuaJ&9GZ-whqcv&0DaoXhaEi2>bXv5L^(xOE~ z@{LZvle>z~ru*Dow(scQ7eZ%+i@DA{*#roILq5Bib~O}<#p&^`v`~cal!}@t(k;Z7 z;2zdCW`}MGK3!g}i5N+D-1i_#a5}880#Eu48jL#p$E`K0qR|_)l#@u#of6;KPuiPV zM}OfWIKgVlMAN-)1~a^P)6T|IJ~&v|x6h*|JQ_RX(p5SXzFhU-aevrfA^H{eg`01W zj?HoH>S*#T+5E5W>7SQFe>vg2I%)fj4`o++fBH3ik?QH_IPbEdJ}IJjFX6H6^_HH7 zv+Ik_pV3bSRsGx*ucdZyhqpSub(gcyqQo(kHAha` z4e(^Xi;#K6`dQwc{Gj~}tKW%fPPWdb{X0dfr|)&Rb#Fcsk>9I*bXMeg+6@|Mo6b9j zPVoI!?VuH+X0<@L4x2KghGz300p_d_St#3vOUZlxDQC(urA@cf=hfNsPYednnUcDEjy7{bp zdm_O$vhbeb>O;Nb5@%|Zy-kxiGVZvh)wDZCK9##w^=s1eWoLhSUW03Du#*~#D2{Tw zWjn6z68CyXdAnDSJmwN+vN!7pqmmnmyBg6ae*65m$0eFkGhDN=?bqM0ze6XCH15ir z^o(+)sjb5j1ZK+YGbyT0h|W4Yxc}#CzdbtJbNANzp6?m1uiC7z;G%kbcNyklWM^T3 zZs!(h3rec(BOf|$MShp^Cr5WRvrAVm){0D=$EK;}^^LE{GrsojnAtsWbune;&#{GD z6pg!ykFRjN-$xyEXqnQq7Zp#x@cqTH%BkQJ-?wKiv)Z?;Q~@=ph%RE|tY(#;WQ^0R z{HGK_%xL~@0x_P_57sGfFqDbYO7O_Ngi0{p-7*w|NDwKN+)=dJ!ffNZ<(RhT8U1x| z$v84mh`bf$J!9{qeeip-gM>$>n4%3J>Fa(p#q2o%1sg1ki7HGh*B{9Lp=QPUeb1I2 zJ(|ffhP3h7&8nyW@zIlr1g3@f6{1Z({W!D?FE&%YLQJE|b#n3SHkIc9+h#LlRtMe$2} z(zNT(u9U^d-0EeR|>HD8Vr znAsWp1eqlOf`~e0!sy|6IiE84fIXrNsZx<(*|dWn?)dCs$bFba^~o`!rcE<(-KvBy zjhJRGhppn&fgvb?Lk5!5p^7o6ws-c&w(;Ynit*9f-MuhXXxah+K~f77SP{-LI3+fZM#qNthR z`?v9FUscXhFnj=t9JNHX-Q0b>pmM0-0%W4}acAPklwgzGxtYhF6nRQ@)zdsqr`fO~ z3!~x31^9u}<`|tKC8jDM)HSeu@!Lk1prERtYtQGU!Oi#l=tT2u5l9pRE)p=d6+!P% z7SsT)T7C$QyPpMJH^D+#jRV^lFb1+Jm2qqk3`q8uSz_9_o-(a{tBS({18h8EqC7@t z32IhyL_7xu^xH?|tOm<0`(&EU?2~AQ-BhO>fC@ui#XQ*7Wc&%mODq9$OM>CXTv*Xz zTG;F{fz6!Ify^2(S0(~MV<5X%8KmZcm8Q5HSesRbFrF0TKv8v;;eurFE05jErOGYA ziE`Ct6}wM36Ny@tF6FWVECghAd8{S;3t~<8ZiS?E{_`=C(ZVj~QMWun%fW;W3rB`L zR60PLf@=f?xtwN%oz%pcP}qyi9KhxhQse=j_lgxU<(64mUW`oTn_&ctc}dMkRNE-J zSrIQ#U5n~RW$@$j6(u#WE|Lc+fw%2t$6ZZV!!>RXdti}^9Sr}=#n zS;PvXTaGHCR~c2Oj4$V@rfu_G?}>egaAAaLqB6E-~A0-27|dXvmNKevyNg z*^oI#Z22(|6^!HiCJV7%V7!qZLE)mO5%EG~Y`HSJlJAvMHa=eG^{K8fpML6OpPNxN zI~jfgE#Zv$ffT;EpbyLeSzm!@Io~f6s9`B*8~MQ_EACFb4S4_d`#;(@r@3yq@Vwwi zP;eRK#!zvJ!RI1=u)ye)H^E^#u6EF}>y#VT=XjL!L-SsU>~%}~5nxjbRV>G4D1N$g z*uKpY3N>Rg%nK>3WFQX_C3D}!qRW(j+i5)e89SRPEhZdSRUljIQ z_*qlCwt?3(`x*9T{syxr5qoyD;U5IEWW6fiD&4 zKW$;;KwsY^zZeqNukH(COvU9#v6~kz7DFx+3q6|W*K7&+BKG*o;8)Os7{i=I-l@lO z=!+s=Xf`~S;}}Zz5%al$vp#b%&)%vXZ9r(-c-uY*+e`9ZTNFMiN8=C&jh2``ljpUN zCAXT7#6}D;FcZ5CTs2|E;;^gpnr$@6l9>W)ysl`(Zh2`+!(F(KFd>?7&-ItURBg7MojT6akMYj)D(6NCBi?$6mR-M4QRq8n*!8*A2Xv;rAAMk#iyYe z?BvCd@B`fk2HI7^g#Y>IRK8>Fd%pi4_=F#nk6_z_JhuDAL<=u&r#fWk?Cyv4Q4w4<hOa|f*5$>&p++-Fu&OVy5 z_TeAU4AILpm(5qKg~$T4o3km@$PdRQSM1#L=Cs54vj4^8qQPNvQnza45?2 zT7uWHu~69UIi(y4x4r9^!}aXKyVhRQCNdK&qDIgraBpQe>NOdu0s<9ihJ zA2p%^!1!KEVjH~4DZoxdY_Db5(_&4MGqj**a|7`L_{(1vC+2F<`Igy6c4`hlSMw8$ z&*$Ifhd>+Bg{J6y{(0Z(a#t|%OCh?{=r(pc5m!1Z!$=jmRJ&+`3X`BZJ0DXTgmK3 zUs>_%=rbaDkIT_?wVw=39Q!X$$OFR=;Z2F#Fe!K%B5r^mo{zFaDLFco?Yr;sVmVc6 zxthdxE53T-8|Nf42=3vG9hsBZeI6|4vUMs>1K$Ui5i_D>aqxkW3%$-y4!OQ*N(Ds*gJcuE%VqXCLot3|{q8tk)La z*cVf@pQUdD(|6ZqZNUYQN}QS)N#FE&6=b?gZA@*eNAXE*{XXcBt=Z#Ize~dQ{lLMe z8?Bn;_akEGf$p2++5!bc?E344ChnczQftD&Xl`}cb6Vq0UiA>;*zWxQ=*(L-?}h)^ zoBfh8za87rL)*Cg;FfhyuWbD7(bdD>eYo}iK~~}4H=2^Rwop76v9)`s(#DRDpHn{P zQ<8QK;Ffz{@A0kszWNsj(}N4+FYmqB&s@I~cZ;zD`f2N;^Y*kApTd@g3HwQmTj;ll z+QdI~ehG>)w%_i^)b=6eobFQEReb4M;4m~3aJVky?wq2ws#(abMKwn-*?zSkp2x)> zEN7eRlSdDojsE``^hmpn6FU`!Jh;8r7yG2Zn^q&GxvUKMdIKrdG4#=tWCr&Z>2*sN z#-lAvP(@7!cAqCD({A4Er2cd2wy7(bKA&|WKs@v-wPI}sbEb5tC-g!7rUfxI_cx_8 z&wLF&6?L;XV<`M?$GYlJ$D&P^F}E6U+?^!weVSe;^&G58?OGjE75?S<`y&Zs_z2eV=c=68mwVA+h$DtL^1E{7d(8CFHZ5ws*)?@N4(X#`xcx zpO#dVeG8>6v*Al*I>l8FxoG{SlxDv@3+;$6KS<|GtjB!3a0jD_`>mQre6c}?AQU&i z4dwyXiVt@K#lKgJUk(t_1l|UnnCR7@_(+(sOP{FyE&GV*gQGf?i*(3y8()7}Q5{=$ zi?piuswk+wg!*Hi}$ z?~1mc?qj>t75D%ib#H?a-7l(J%+L|;wxz~)ZFI=9O=ADofB_#YYMdjocv|xK*l!AS zspPol%~92sh|c;x$$~j(98JHe^TP$);&Y zFGh#g#QsrV|NZJs#~xebV*eiMP+o#P(@FPO4AY3CW=goZ!`VsJ4`VbbqHnDCs z(oq6{KJuSC^Jq;DZSpNbiDE%4P&Ff#|L#64KR7_!cDNfj71Vh%udoJ}D?qbfI!6mJ z7wZbLjzZ@ShU3cbBitVxjV{^Rv+Q|Abo8_`juTZQk?>P1i3nngo)DlFA>rq6mLn6v z>wV=4h%E`7ikeJuq0{@*CZ9*+n8`o-ktINNEL-7N5}?DBPW1l+C+0a%TXhC;4c(s+{GQ#h}<6TP9*k7S+dcls6t0&1j>P26`g zS%QwSeMl+`2%MGiWY@eS85nz;C2he+xzaYYcZ!G!py}sb$*{Uj4)?_jHlj~fv^K0x z2pA>BUrte;Z7kY8G3tlEoOXXhw1f6K8`F5RQ)hI%-H;kNDNOZ{j=MdOVM3c8HDbjo z4}r{x3KCw;=<{>CCr)u=$&ntDbdQH3Okk*x7|ZadUXy^1@4gVyQ2taC18GNX(28I| zK{JZj#~imWH5L-~gdji~ao1Oe2|~X%HHw5t@c!B&^_#x#DL|rfnupyM+l=Ya^s(IH z8Sa{BoI1Mwg1rED*&kx49KT(_f7ho_dY=a9eH-x!wGi%_yq`>y<13g-M7f|k0$?ia zoZn(?y6YL6j|U0b_{910YW5T3i|A1u=9u^fH8gHl0Yl|+SfoV<-K!Sq{7*1!#_($w z(7Z8!D%kO+ev|aUuCF?Kib!(HL`QBNuw(f-_b}hy z44u-HwE26T7;eWMGS;q~L|l&6^3b#?yi7XoJJ)?)WT?@8dsAV?ce9FnxT#=1UiT3qnPl^jrK(OV|Ob<6Q)Egzm^Di&RB=hVe5%n zp8&}14{a6e{slZHU*z!6fC<^wXor`I?8cxQk&mJrI!8`>TLEn3IlY=N$@P4xL$fk3 z!2SD$UW2w2b}I474+0U%ns*L!Qc^F0LEq7a`A*Lp@k1A0kvN_5kUsj(#mrX(ZxImO z54X2#Uy-S8kk`2^hwN!3<#^x!(CIov&cG|XeOrN$LA`b_S45d$^f~Py*8c#HM0h*e zKdVe%%aEjFpLbR@#Pb&7>nbO@CIonOL+v`L!sV0m4aTn12<8Q(k5F949*(M8-}K5( z|DOW6()1E9)!_$+H6H3Hr}YfwRrZ#i4bs8J{O28%PokO6#c&R%WVpr69X`faWogr) zv)^ZUCi8sEI#k#rQ;p*nx%c7Wd=9hVKfkA3 zaPb=;@jAjK0^xa%>)>o9S@o{Xwqc)OLf?$S1%FP&?@$*CQWgl$gVIAKRPB5#5B zEv{z|o!TYJkOEXQVqy?SpmE93umz9k=Cpu6%H28&oURqP3?f|HPou7hymoPE5s+8U zIN>?Xds?u-i{`3+kGy83u2fKT<8J*3a^~wdoegm<=lqj(b}&Oo!<-_?$-M;*)CeNQ ziqA7WG{bVI!Z~6?{Kz?f_xaC7s$1Ag>uc0@^9vR;1cUF(d3kA>5O3 z*D*e3L;=IEpcI3I&BjAUBpkU6l{tCny;=Q^nHXy6h?^)7Yq z@a+gM7<9X-aNPo5g@PhCrtR;9)1M^1;za1U-9_fC4Ml`!YTS_muVF~6oq2=U72@&> zX%MsgjBd_URNG{^Xu&~!cTSyCa%{>_hI}Urj!Cl6>?v`DhU3=xWO0lN91QFQoo(vK84y z^DvAP?dZfwh%m;-2aUT9(y3vaXhCZ|YIO)X2JLQjJHjOZB8QsM*x4BhdNZvN#NhTJV-CXG zy`Ut&+@*Eg6{eqA)&QqTAPmly^07ubweWt%IgztFJ=H@`WbAR=ZX~})c%GyYo{W>F zskl9QuQA%*2)S3rIF@Sl%v8{Y5JH6T{s%yEbU2u*-J!>X7I-n!X8kl0Yp9@=)7(e& zPD09ue{^JK;bj0=CKR z06BP+i(n;Vq+IV$A8;qz{KMpqMmm|-k6`G%2FKm9cP4KiU#x(l0|+~g2)l#s9i&eYof0e@$9h3&4#8W~Z{-KSclksor5ha-(A}OdYwV9pZXR6?Xkr7pjTUPIt;Kpyau%dVfEfV|7X1 za=(Q}j7E@U1>SoK93p5E@lGP@IHud^C@LgBA17DvyvFn(Tvf!NBNGa9j-AXo{5t1w z(Bici*5Opv;VRbJ)k_kTi1p(>mkT_Oz-u7_F)Z>NRJf@T|3CTh91Jm!yY?1%@c!^^ zdE|YPzHn;+0ib!n>I|TB?dB3HW_ea{-Hqcett`893hydJR$NQw+X70j05xp%?9;oo z>M2bS!cXC47wy|)rEYR84^zae)R#WRoluwZ=`^4P<5 z{Uo+$$xCh*cuwWIb;}Wc2+#F;cO%`UyEd{|=kSH=vrF&sqsggP>zF0-Xy(?U%rq0- zH?M#lW_5UNa?fjXt4)Y1}wVK=y71R|QkOI#N*t^r5fHxk4bg}_c{&?E=S`KEI=KC7qaR@=ha3j*we9tNTV&)-f0I&?< zL!u+pa-6%Bcm&=8gnZ;*Ralc-zscts-R%)@5f0Fk^gbB~pcn$LLEe)Jm+bl2ZK3Xm z7I}8*YSRk5w{g7;3cH5Q(x?Y#Su>w2gLbdW`Ku)F%If?pt3`j66d&*pGdc=P6d~Ou zM^Ps=I`n0@F$?TCR$K<%ZJUWa46TfSNP=;Skn1w1z>Wr_?iL{@t;AX*GVi@Cl1}JJ z#*WflD#yt-xqJ@Y;e9H`%jlG>cPlnIZh=s8opa&1TN#(Q%b3PK?vPG*!I+TcBKu6e zn{1ri4RzmwC>02Da)Esr1O{+jcNDmMwT8?GaHIlVDV@oTmWs(-mvJz7j#P^pX zZE|vt4m2i%-8v^N@8pSdjh+?-&!dejgUOZp+^#+x{-uaj-=BI6BO@PwKe|CeK5yOMk}CKT?k6 zoQ^IAkkY3J8ZAS5nJzpX+XVT=xEKm{EkK%(u+?4I$nB({ettX97|A+u3K!%EA0A9s&&f z&n}#(^#$tRs=fY7xsdSHvf$iamtGppibxD`@rAJER>XAEW|$AmJ`*eWUunjb)xs;Q zD-M9GGvgpSfId{B<))n16eDdb1*Ed%M-O5^hE9>N~tk<`af^MHUm)GjB zEI(}U`{Sq};Lc_c*}RSSkLJ50H_F~8jtm9ey;-~pTH*K~r5w1r8g;Y;ceKR*S&{S1 zvm(l~qB76yDUGN(^{vEmkKlJP8S1+*f$RA&;$M!{LHNnaRa->P_eI+{fVlhkw)LmC z(X3AzkIW6#+r6!bYf0$chaN(mLG=JBnVD|-MPQM3Pg^>yqKnli~6 zO;}0!w`9qGCCj`^R(h8dUM*aGwXp1J;g0w!AFv*Kt9(n@DC(v(&% z_o^_B{;jl&Hc==AuaJFCetKu|4Wx3MnE5lUmgek($Z=3QCXd6p`p3_{f46ofy?m{e zl*x7R(-W3;qxS2ZG72b@x;tH(`{aa&Kc9TD^!1CRAZyZUtN%%>|7)v%6>CkQ(;Th~ zOA&ZFz=4Bs;h7w3ts5G2r1Wu$yWS4-5=${rnB#D&ApoIE6>X036_cn}2r8JQ&F7~MKd_7M>B zYmA$-&g+HV12EdZ)qCfkrLIK4?G2GTWjyVBH>;ld1mRklj9sGedRyRSy^${mL_SR-juYCdvjmd@~S50`uV8`SZiy$hvzK^4<~L9Dwl^hppPZ5 zs2$*C^6s6O^yUnY^5=_pUOtyw z^Mg0%>fS#isCyg(yjx#h`g{y66~0y`-zyk3L_sZS$IYVq>`cv9;lZr|!~Uu3oxeS} zP~GS^JKFh?$YRUV`3E}hNJE_#?sH^pY2Mm|b9nJX^p63Bls4uEXe}x5pX{Oubj+Aw zF_aj%wCe{l>B7H#BKw{~H>s^bFRAWX6x+OIVD@g8M(IS;Ow;tna5uwx4k;6N;7nEv zE5W%;XtqzZIwKKw-SW>V#77xLs)9vHxB@jPQ!uU~Cq~z&``v7qhb0e0-*ur6p%=uY zR1)umM~j6faQl(_T(p}!E_L=Vpc!wY_fm>zc(5zU%n#S1;ObsNCHyw8jBR8d`bDqj9_NxL#g}dS=@;{^OsFN3l z;Mz({KiaKnypBCqxd@L61jf_i-wnJp&h_(}X}q2IvX?)f$1y%|V871*)oWb!`aR15y|dj5!2?y7=e}VD=56~sEALV%>5kj>0sbxqbpW^y z!r`(Pao>6_E^wvlB;3ebIdFYMF8kGdteY%4lkNhgZM^QfD)FJlV^6V(Qq;D`v6NQI ztcp9{cII|$8H4B*^eBT{?MZDYKK_&YVfCJ>xC0ZfG7@$N6pQBWE}jtbceb`>&)Yds zoHJh)P*P9Mry-~>dhe@nrHdi->|tlR8NFKjU{?_Not>%qph49?cU9Y7fy;B_=lSG0 zs*yD!`Q@L5=&kDGX`qw3#WASv`OKyaA4}!uK6GBwrXf-;EBXNGL%Bs8GL_$D0dKcm zT;{h(Yc+;`Q2QnOlnx%r3K+NTIfL6UI@{j!s^KDL$)xroHuRI&6dd|1tA&NC*ZJE~ z{ucm3*j2529oggMpEU*10`N|~r=F&ET~#@gM5=sOiwb+%+~~lX=&L}ih%L56Zhm20 zcfdCg8m^Ap-od*ASHCq7%5_|VnT8Dvn(9V{N)#FQn(y%ZRLf;WKKE=+g5)W%l;%$; z9lquHNK#)g@{-y%jR_yj_TN34q2O$zf!q5b4Jy3KE`;i^SwlH-ud_4`4wb_#+z#-x z6^*vGEhuYO4#Vm@Lxn3`L?zv|EQIG%_q~3PK5AAoRbInd^Rw7JSLPB|SK?30efvJ* zafw#)Jv00@}uQNv$t&|R3!89&bpNNWsTLr0a)Z=+C1hz zLbRuBHFE6~X7c$fd`0s(B0+XzR67a7<&OP^s+f+A^=p~D>i^^D?&DhC|Nnu%xA(5ET5Hw1v@Wen zt5&UqT~+G>OCf}%Vi6W0SI2wTi^?Lbgmr--3~}P%tQO*MEaHSPxi~}4nTvBy4(HSF z{r&yZU%Pd??fu^CeerxfpZ5pBy@$5kosusvA+=RJpZ3iA=WqTXj^@xt{J>O|^V$h# z7zZ)_E*#&hJ>Z2Em9QCiw>sRe2yIYA8xfSn%+@Afmk&6jm{P)f318;MQNSr?-6pFr zpiSQ=Vs3Y$(#4|iQ;vi` zP6h{P#;}CYR?1A%OX8F2N8X9FjGo%KP;ap|C*h50?3&lZHOl@t6|!YF9?AzXS;fzWArx0oqW* z4vLc(&}`kzP35QJ( z<#lyt497w)ld5NK8+am_q(?1FYbQ+jl;KaM;;RivWGyq339}PSu8DB{z(C;Rk2qo| zfOf!vUZHZu+@TWcU3Vo0F3(n5mP}+pfZydxA`0h4dnXfN2VInz(5!$1<{tE|2K=>E z9Y_@}b7IvPlv!KicgM`9-jI&h7hhgGb3H? zXjcZuqRH7>oYA&P8F#xukL8Hx&SYGRx+j_C2SW#!jJ#vx3e=h|c;tksi%|12G^ll} zgY$S1&*BKV2GA?48VLR5UMJ3N_f2#H^i}RUPN>Q+;k`BKx_ix}E+lP=5sG9spbKh4 z+`Np|u&D#+-0>|XbT{c+FBTl%RD>XU_A65@akvTyB(m&^$!Wz)dymfx`DqPi5oejZjc2 z_g|7y(;or&L=)ncIy*NZW~Yf0AVHrukoTGB0T%RcRN~sh)FcP# z34}Dy^+?}`b4Vx;sJN~H@CrbAVj+M10(vsZ2Tdin9C%<{=BWFQWW`H}Y?gqyAjHqoxnIzTLspe+5DbH_6wGyI6Buk+?pC&#)3GV8 zZxiv=CL(GxA#^iIw3+m3C2;^TUru`JAp01Jd2-Yl7x`K|W&9Ti<84ALgr^mlcrTOc znMCbyk#|dc=Tphw|G^6&6)A7Y68aC!%4s}1=*C3G!|l3KnMhjb$U}NaP!b35P~`0f zq4J^9%Rz`F)AE*Ues|r`snQ+YG6)`~_LTT~Nf8AOAg?qBk3c+~NDE-2Z&>g%KJRd2 zhb%)NhRp6sR&p(~IJY%&rc_242!6ZdbB)|hkBjo{s%2~|FP(U_~!fAS=k8aZJT_)JuQkbzS}Z}QI-320K#>bw;yM5Whf^%* zbjbwK*X@ppdq@)E-*(D72f2Z%`h-HYCGHi}Zs> ztncQYZt^|Np`HGeN(+!+UNUzM+{3=KDk*ZpJ8MCMg>qhkF0-RM8>s6Il+6a+)ShS; zL{PaX*X@9}1%nh&HZ9K=SSd}C)5IXeZ#>BYJA&+hg<;%LsauP6<&InD9y~CQU*=QZ zNyxhhG_sudhZWZ@apUZx`a+mm=}BGde(!h3YA^2n`K$4No=ub7@qfBl$FjXkToj85 ze88skjh*^D=H^BvyBy@DashDywukGLc!-@lLcvV#v?#8f-sZ^+y?bk5CxX5G7-f0Mh8q2}2o zq-j#ZKd=VKrqks3`#@4uajSjKc^|@Yh;@8^&T(%#dae}vT28DELmi<~27kwlO7PkN zB1}qePeg>!VRG|Fl7sjVI(93f^YP!I*KX0KcaYDsd#mEm*O=s)hS-HtvV&UsrxX9q zjvnWsoi2O;ME=Aij=bC&etjRY_|!8yhRha)7Y5wjKx~2t6a#wHK(2ETU-Qr+?d;8V z>=_=4#e@$5uhL3baSiy{MOq*S#yi>MLKC8Yv)c;^u~|wW+tD8&avhcQii+m45LbDW z68qMSD9UOVde}g40}uu~WkgOMb`igXA?E^=JIsYoLUcX;a<2`f9w~OfM0pP3aiPfh z(9i#VgJEU-Z7T(vhb-e!D%j+wcC?2J{mg)Gbj=x(Vt*#}{C=B9x)t=!gmy@JLhhrV zxbOx!dCM^72Y_O>;D4p!o-oe_*X#{_w12MO@p<3&#`x2`EZF!_;JgC=(f}U_+y@IG z;RR{bN;HKb7c(gvt)%CYzAH?0X1v+C_dZxqSBB_UHdxWcC1OnamN1+hrFR%tmaNxW$Q2PjQ*A zN(d(*%8wFcyp{aIilHD8kAK6(OBp-;Z|+VbBSR1diQ8#5!u2oMVy6`SM{x3pVlv`a z7kNLizDY{axNvVQcsJ^AqYiSvi)68{xI{z$29Z~8y0>0Jylf&~vciASEt?T7EYeX2 zDK(5hKcm0fa`pq0ln9~U*|GSIM}st z%8m;L&?oG~3X5OH(xUfrLb4eD-hiF?n*31ivx2l^dNy&?MLNvJaN-el)@=8B)OiQx zF;D#zej>`lxe_VQ)r<-QdDH+OQ>fw!8sOcOe<&E3y(ly1T5y| z8Sp1u@*x_1skX`#LvBmU_iUz?j5mnQ+Z1@Av9BiLC{Tup$ ziSpErNgBnHUEpyC#RZX9Tb4bsJw5R5>6{Z!g|^n2FI&sH>*4{Rv015`U9^s{8e?Y5Dsn+lhYyQ{G#LMoJKeAd*r3V=#dF1#;VG0?wPr zi!GRg*GNMS;yVe^>Prh7eP=iYZ*wn>+G0bwPG0fDz z-kK;Mc$8HVL;zKkDJMO!IPP8TJD1sso{tA_sKSQKIfIB7LNzONh6wR72sPs$QN*J+xybFl;(u%R|1H81f=1*2i)uZ!i_FY! z9yR}cl1#wb-W&V&@TlRSHZN53LX+|}tj-MBt)67I{_;8Dl zyZbDteZ{|jw>u`7FzJG< zb>{_4ZCJ?vugJEss{D_sXACt=2-CkhbEfPG_v(%Q2k(O7mU;x-wZ499N6qqP9&%{_SARLH{hh5cE$tWj}lL;Hm-h;MuWJzj^yA9%ww~VB zZILd}zuGs8qRf6%d`+Pf$=VpJE{Ei*B9sl82jq+t{Wus-|%Tv#lelzAAsTI~QIAV-C4n|+P zxGbRR*~c(KaP7?-0c(eA!t02!;&%TH8BKsDFkYc+Su=>w7^LCymbGkD@&%c#uKRzQ z{`bF-Q!b_NJF&2pg0`#- zjcXpuKe-lNpQjV)gsoM9ZxTxx$*b6;o$kFwfe=8z1K&!n{#qPce1FN&YGyb zjFt}*k2oG_!$zg0cg{s+w$9g2a3!Awq)k8#ZnIa@4ApN!BoP7vZN@kM|xOi;3{tg8R-0 zSME_5re_E3`JS;ah5oXKvvoL8V3YIZ8nuUYqPqK>xtcyWK2iHNIH+UVY=2 z7oUCz5q-1H)bkb0#m;^3?)Ken;&~JLzQ3G$EccHp!I_}^LGE!%mwWx1+?S^@Jq)~m8-qbC+*X=f`JCh)tReyt5s1;!7;oE+Hv5{rCrV3RBYhZm_81H`qW1Kv znlln#nnquh9amSAkxjeSz*4`$hc)?-4#w`!t2~k(`{-)TI3GfgWDqJXlkQjBI(7Is zME^E8qhv`ddEz`$TI(z%Qy=U}mCppnZtlWzd27gw-?i^f6VptXco{Hp<;HvTIbp_*`#o;{Qf7ND6A`~3iYRyf;z9VN zww0D-hHRQlW?7K}88m&uJ-}GVVTH*7LMWhEC5W!lb=AI|u>pZ)n~u1(04T@`RFE|t z@qiK)DxE-2Gl5>!07-N7WM&|Cr|_lkZ3l{8dQ23`wvGD~&)yR%2%0?grj&Nbj1Yxe39GjBbj&)22umv- z?BGe=95M~afx9qGBb{QiW>O@eE>3&tYx@g*H_}qOGWx~YSq*&e<}>7_qs3(c944vz z1u0|n8sfS>-6L&o1E1dRGk=#ju=5PLVz7<$OM3a{24zm`5YzXG<9a*|F~7Bl>2c4g zO=bjLo7wv?7`hz+Ke^pc)NZ)!!PVpLxoRt_+r9o!>v4uBsX#k&`Fo#>ZY?=!Lae}zQpdzx&qO0R=ydXu)OD5I7;YuzZ!L8aNmT#6CVce?#)OP zyVq4o1&DaduiTZBxx`$in__J79P%%Hz44CDXZs=W?D08>Z8{SfdW-gDlPU_}&J!3r zyFTyUo>nVz{Z$^xhxsdptv?CZ@lgy(w0o$7xV_Lw;z))t)GwX8o^U{ad-*?Gnp-Bk z-ib0))^&QFKq=Pql5^l(ry`K(+kGru!!E1Wjm@f|2HRePiJ2sTj*_oFsVp58|`wh&u)h% zRUBtLkZigiohL|s*i*l9=y#+|dL#T&T>T#m%^8}Z*abj2q&$ zxEosf-CDaCo_x-()+{Zn+~spj>GO+OO%<^bxm|6)93Sdk9@M5;%n4y=>^w4V{7h}7 zNqBBC6eA9AsFk5YGG0&7CafCJ5=1|FA1=(8^qq+Df*rOp1vy_%pfarI5BrK5YSC zwZe{8namO#Hl`a$kYV#IP%sr+4nbExwcs7v5?5^Rm~sOfO=Rdcuuwij3Jw)XhF!mE zl%Eum>93ZtG!ca-rkd2VdDuOl16gB8dLeQlPRG(mswZk{ohWQb~Q@CffSanu%InrR$02i~jWBglHx8U_jw12sa$1cqi2 z6Lr<3B#MFTYF(NEw^EMrF=;j%G}Nf=ZBaoUDm_sG&Ty&MbZd@0M&z=wn_5xpO)3*y z*{VhbRGT7L2!Mgw$EBB9wPAMkW|lT6e=;HG;PUv^6{!cRmLrK4P+pBbcvD&SUMZ`_ zeD_eWq?!eK@K1Q<@HG4}OohcQn1@|xfJ$DVh|3wAgpgb3aAc>lf`YP1}< zIaj9q8l=o~!q^>1HbU79T{BfDAJXywD9xU+(4}2u2Z(a8S){FmFqgk63x{sbsYZv5 z>44#nVfITqClxj4ZQZLir=mU=1d zK7uS)&5TZBGBk3kl31u(&($?=;2~s;5hWYbp6i$p!-(C6!dBXm?pEb904cB5#ygd(otlYUV4)0~ z-LI6nG|w0oU#WT{OPf`#x$dE$Fp)BsHq11Bv{eSohji1OK&T`ZrW7}r(OGOvB@=}e zt2QyT6CLWRY9!qWh3K`bc*s;u&_agpQzMW|#ioyGN~P%4a7L?Mv)+Wx;%VhLHAbe| zgwswOL#>r5VaqtofLX;tZaNOF5Mz_8qZ4fYa6Eh-w=)H=D|RZDTeTRT!d--2<-n|# zt9p(>i+H*iUXFXAl5bV#3_Z+|ga5P~;z#RXz&oFXEinXSUem5%oW;m7YjNsH4$N#b zg0u<9rcMvf!oiwi6{I;)G9B`y?};b)NMUvryU5V=eLj57uuElobE_d1%mrF7a=Er# zf+Bo4Tqzo#0s3`tqZ_f^DCa1^>PK(1Ym0HZCEdivZcT+1b=3(Ji*-eGCGD-StREe< zS+#S&?b!Ca^KX*yL#l5rhtiDL*=(@1P&c2ocg_$dPio#~1m?4Jn;}eOHI(SW%rI$6 zq*}RHy{LjlOl(~o-72k$_M^gjB#3!3fo}XYS4xYG(=KP+%b+1w>+|S()Ov<$l|&;q zY9s6e+Z+R}u7TAuOqCOp3PD7xaxV4M$}w$PH}OMf;kE+wI=yy2vyM`&TBAq#0Kltw z5O8W%j3I$)jm(UE9)$?iqc>Qz+rwZqS5K2_SB;%$Gedlrb~O%@T{y19JCS9^3*|%b zIY*-x=(#mnqs0uvn~d^5ZLZMh)L~NrE!sJGbCl| zmWQP#F{a4@9jx_UU|0gjQ0rmun2KCW)vh|BSj@ssliY!++NDM%$ks|_NF4-i4!Dz1 zrka?Kj35o|UUNrhQ1JAqrIHKv15vYSzi_OW)k9#I-Wtt=0(m<&G6uV%8ec{qd=-80 z^<{lF>(Ru1^g0GQXb4qh0sk~3BH^Y%*?8;JYE)^z_7f*#8Guc4YL@*s@0ju~ZTHMJ zRzv%hhb3&?N+xzqHN2{k9GUXTTZqfGtsDZ07VC;3Z6;GwDOPs}Y%jlLztDc7UH>4T zt(ysW?zIDADt6(R0!02A9=WU^lO;uE48a*7P@)(sFhi_D?9^}Aua7bL z&Cq<{d0QV!E*n=ZU_Y-AFP2%g%BfEE58zMxf%jp1x52lED}Dh?RIexYf#4F4s+-Fo z)re7*F4P(mxh#y2|GzG6D$evE5|@jjs9{6-$X-;EYYN?>;2W?EK4P67-S-xNW#BAn zE5?Xf3?TsqW?^kR#-OfZpfP6slUt=R@B*Qa1O*QDEI*2IBB>R1lzvriHF)I*Z$^NN7bOQ~*4r5N$h5aRua-@ii#2#;>VZ!CE$-23a~QV_5zH?YuP1A=9IopBb( zZ%0-YY9<(!72VibMxeM`8$b3?*WLH(X5ak=C~ZuH?*2VOugu+gaETL*1~jm zA{Y+!=CDNXR%|_`T1CwBk+u0?%0JvJ(?M7a?IaHA6;0Bc5X zwx8t!5Vi&dMN13*e2ZRFjl}YP`LBlzu$yNa z6IT8W0+3gz1=7q=6HLl=F7UY-v6z7k!$tqu0R85viv$3yT~`0ACc7Uq!vM@<=%xS= z-i{141G~f3_66}Tv5gL;DlMlw)q^(rn+Ip3ho!4Y=P^U09v<}#7QZtW(P zKlPbn)!7dtJs*N&5kI`vPz)^r5E4CxP0}b$g}={q_|PF_suSVPz%Q;=VsV%)dXQ<= zN};kvwI}j0*FRhs*JF*SHDj6sm2P;8YL!_VJFLi?=SipoW+Y zj-=FC!{2YopGhErTxayZR#K?lHoy&&p%;l^2VFCph43+J7s=2}ze89^bH=5uVxj0_ zsI*%f3qbSjm>AcUZDw-06uZcbUeVv68d6miYKvsn)@ta`W=$D@&0?QO9_ycv)0W9W zoLse0swS9`n;EEU2E|kfwyYZ+4Ta69)~q(@ip`pE#x?GkrkSXl1w-s(m|7C1Osc|K zR2!KKV$86ETMO&%>%`gxW~6vArdWzz;nKR_B+=pYkV3E`Xy1x{-BKxy&K*at6JI9e zY?)^8|CuUUEY%hAbj$SZkw)xh9;UQfJDLrx6l)^@XsJ{Sch}VajoFOT74?H;9C{lA zyI6`@G=}V3_}9aZ6|LO+F=TC(3-cytc%>Z+b!!jXrr`|z^VVj}xQ}9{Gt$;*+k}m@ z@z^D|$K2rQbrwfSidYkRbC+*Wb?S9%=r4O?)Bi8WsZUH?wQA!z??2`QVi%s;L-e9N z(rgPesBK4o8Tpwvyya^=_Ea4S*K`~G#H+qez02!g*$UU1=tsNA7W7&6ETQ+jNADV5 z?hzyRlwC6PESQZbxv=F{+IIcglZ;7~uW&c3P2!?+<*(>9VG+T^@r$R*CYAi}#{X47 zo2Ko2dZxYih&t_e8BZ=Jk_<`?_ z)A9UWlvy9QS0DoDN0{lXp03OcUHBg6O(;IwyL0+}i%fF%-JXbii)4=>DEl||?9K4F zJU>03J#Y8+Dk(p>ff?5mxZA&YVFqhRay_yKRg&#J;lC0vywko*LxSCa%oy7+?WRYt z$s!CqL%N?6o>xS@##&g#6GhCEm~EP~MR`TxmX0O2qR!`jL{H2|(eyq|U3oo}&HcNU zgiDHe*H{ax3Nw+Y(vwv24rEz%H?I;z%56WFt-JVlA&id}qMf^Z5Xq&jlxN!hA zRG>mlH!TbWJ&%$~2)=&Baogb_I2ti%S}rduSdeSg2MY=%*IN&Ft|9o1k2c(jIBEIk z+QBWm<{v+HbV(AtiPssri?rDMX~(3)V`m1Yc}vz1LemQi1a8}1Ylz_mGKmsbfu1GA z-)ZP;$TSOf?8>$a{O;$5ERFf(==&-R zA8opKD>U9D7ftNFyyOODo%TynmG|_yPsL$8%RW*t&$<9h)7urGTNP7?r*It56Stx- z0D+e#L1+Rvb|KoWFw};k_02_~{*9F(P?Mc@;2eu*O}gp(b!(4XKpL}G%gUAXxQ%nA z7jcx1D}RsFCG&QZXx$&yzx6Fx#7Fz`=7s8wpeHD)lQVrC({ozNE`PfsntxL1DC_*I zyS8KX)(<7k?P*Zhyl*tFVAL`k%oo&MD9Yr>6x@LoY)Z{}Fsj{OimegqP$A zD(Sb2wWfN-^R*CZ6I0Q1%%0GAt|%*asgKXD^s+(K5?O|@8F73S@^drqyDxwU-)`M- zcEv%|$nOB=hf~;vn@t&=;Q{ZcrxX=w&(J?7-`J~X){{fs#S%m2x376Sqd&IiWb-aN z>(Vj7mqV7m6JN^|#P4F>e2)4ty#Hm~y--SHXijK<*4{!_{MYg<{0R5-URRX%kUyS0 z>2u~@#xK=JOKUvl&Z9*<-W3|F>KG3>fjN-8yzYlGj~dLTtZOy31hj9r6&-&};QfX+ zJKhYTTe7^C?fsxQR~w!@H!ExUqFEs<%NudhqdT?LpIUg0HF0yBvezx`*yH*hSauLM zv*_2)6Ml-m$*oJCk)l<%tm^ai|M8&!pX)%r2*uM(khoS45VKiCg0Xy8Ic;aPS9fX6 zL4&Do)I?l9CUC<yT@8s6ay~n<74^g1B>J@!C zET0wn210+qjvpU`en*xbr!`J$r5|@b|GPjLp4)?2M?-vJ|2UD{|K;#k{}acqX6-sP zc4zCZh{f1Qi+#;{b&DbQ_cY;n%H0ib@(;Q?%cg!zxx2Og)w&;#ze$fZ?Y*$3F}eKp z!h-$fyA)SXoA_bMfKWa@qXU6kJ!KJVRo;=^_F&qhwOKWGiB`Ve>bBF^7aHr1TXga@ z5sndB4Q1?*F+<27zTZHxdnjwldE`31;L&lDeo}#hPz#~LSnl{l^SaOisVHzcq>P{o zXbntMAB+s7R~0ueG>E+0_BYU?gJ=e$DCoM$D}XgZUKiOD$mn_e%ctXr>)qGAYYEMP zC;=Vb7n?I_mR1Bq0GtME*dllI(i(u!%uZ+h>r&G=PFkl16*9=nKdUrGFZG0jZi`tN zvR2H3d_kb-1%5mk*OPiZcxBP&thv>XJr7nNIJ)S;&EGcu>v<6R@N$~dR5PmxNuFYy z>tjEUPkxmX`lbyPA#Tt|NjtDADtaSvv}G}kV`N^mGP-&wD{F;*3e%zm$5J9sT{^|O z%SmT5j|hkb0Pq`>-k9jPRJTZd!dsqjKU$(L!wC^;&zoQ$V&_V!%I~~MSv=jF`Agg? z;#HSuZv9#OqRyA@Z^+JR7u;*zr$C&PIZzP`0tD8RL5gOpoOt~L|Jsm|IQU}6&MKbApO)*B zO|3_F@sd_-8nnVn7coqt^uNL;5KL6P;1$2eJEAv`#>XW}%yk=x)UYQ~C5yc8p-CSd{8ShFj0nO&Kd*8?1oyg(}g0-%UvGYQf0140LL4D>$CY zP(8U}Z=rDj!g~qooZd%Y)u#x5^lt_WZfz{A4WR;Nb!u+00)|gtz^^raL&cQx@6GP- z`i0(Ac{@elLBs)hW>|0#CI7oesFy`JS&)aCMgIwzDb9?$u(fV=(N%1c6^GjOqBf>B zHQ`mamSj}yYb>cTN%d zYM=g*Jy1S7<~Fz&?MXbhOmC?zk^|AWHcqJmB|=QH2)VVks0uoK7E-Hh$sFNYxRu;&OQ!c^ z769QURf-x+Gb*WK$Va3~sTFd?z0ah|ADh5bBb-Cn6RsAf8f{61Hk!p9RUw4m0emfd z=XnKJFTk>Zh*~g&3sGxfdDIrg1v095-e&Oq9uc}GT;^gdyEoN@_yU8IB1EpI@K?UjyVj6V@f;ov1~`bxX)09h;;&_D zbdiud#`o>&p^4nUVI`N9n=&4dg9TpQ6*t8uA?b23t)&^mLm)emsbkNlad?rP!elcD zdy(K4GC{)k$JvtlhW@Fty44Cf6?@Thn3z9^^s1hS4$wEc1yid?u2o`WP;7rjkAI~Z48!5AObx} zi@-jm@UdUykSdz4Oroov!a;zcHZE*g0>4iiv<7zDn8wl_dr{d+HE9r;+^^zrAFKm< zICPt5qk^+VMvIUsol4|)@V8=Ha*^_%+tVj)0n=Du4cF<-RwXpr5~#lwY3D5z2-iIna%y`( z5r2~OS_~6R=}>~XJx%cfZ*ky5x-FS|WJ8@WIM?dEMHT6^dKapa$B+%Q0Du}C;tzyC zAUs{{A+;qGP_pzR4W|UrLkbF;7iqKwvWi*V6IWm9X*g(>e;S#`wM*6+TDNF+X zPi_RPtRkDIz0`YjZgOq!K}!}#FH~HT^)G?{$&8pZ;iX`ND3O_Q`*;dYm2eqMb}sTN z5KgheiW~A`ujln1X*REgbT)r#dPMT{^4QrC$qOTr%ibzw(1b1Eq%?jDtc$Q0ZuCia zXCo&{5jP0@Ng|MI7r2?AP_r%EWMfpfEgyNyc=#HYD<^yrq*MvOik^6bFpeRN8%Bmy z?+D0MaV^5=%S~~Rs$@AY$ZSgrR3vo@$o8J3D)52tc_G zP6Qy-&~)B^yh&ZQR@khqR+3n~sb<97GFw8C0zC+DDpXvS%4^I!qYwzNg7LXXPqvj? z_nd9$pLVl78K(ewz`5bTl(bSYH87GbjCZY$w-@uSAyO`@Vyk#bY}|LRRzmD35+8&^UyyWengQizIFtj z!|OJvQbk}Ghd;R~|L%;OsZ+{1#bsWv942?-%ogiA6wVTmI{f zH54=B0(}RHR%@F)1kq|$k*{_X@4lug94>brQrM>+{Y6_e>>g2^UZEki%59bM5lg}DPz9&)6g4~#H8RSC;P(SmCPLN0 z|9lIg8HAI+3q5LW5xf)P(gUS+kGy4I^dJvegiJFd0hC}e8}zmJM0P3AJOmsu!SGil zn?1c`JqhwZysD{-qm=PO;Q2r(vKx%4>IpIQda-!nYB0>Lms_<8Penw%TI5w4*S^k{ zR3Qiv3nsX>gZkdo@nN{wfGW%H3Dw(gxRH-e5hYTeN z$b~=>1p55DHgT}m-Qb^72yl#`FI|;d*ol+%1f~fc_YgD|5G}P$-Hc4GPz>CDA6_y1 zFfg4fS6O4bb|h7i$M}r;b*$&#Db~axkfVR{jf7kpw?C9+^(a;FMM4d5nD{9= z@88kFYh5vSx?&!DnfSCT=5<$0SRA1M;=q$Zp@Oi+p0}3;Q^y2Mi84U;0NsH|vDjGS zjdv-b%Gk?_U>F6JTtkl*`S`0+b9+84?VGDQM_ZK}u+Zksx#3l4 z<5q*7mIhR`&0b^U772aW`MxY$;+J+*XfIc!tmQISp_QgD1`gclcp3V)+#TG6z@Zv@xnC4lx9{>QP=(YBuIBP4S~ex?Rf(5-5aR}9ywfj?E%f{jL>OT* zy(6@$nFgsMU=;c8eH9kTHGnD3g^DbQ4S|z}BT#xJ*JR_?_U`i8@$*R~g>*3dJSX`| zRqU1S$vyVMJKTv6#v-4NMTS*kWs3MMApEUToC3Ok&$(@?Vm6G_1HWb25+#Df57v;; zuh$!p(@j>duAdgIKR;LH^JEn{@1tS9b8N)~{%iA{-dz5-+Rj|QbxcxE`%;hDq7Hg% z^>hLbxz1}Vnd3tv+-Z1jvb#q-_^053w!7e&&`ODj`^fHwA0K^&ORHYca}aljx=cCD z)$&01kH-2Jh4nd8{5PY&V|0S1?sX9~JjsymdP1iv zhLUHFvc3zFIruEAM_LbR(9SuTcc=hxmu>p=cNSzH+MZCp^N20L4#n1ilt)JW%UmyNv5C8RN zx6S|aA2yf=Y~+1O3vaXEm1yVvNcckdyMpY8TRCX>J~M-S7g;tm)GE{peWqn>ODa_T zwP+Aq*0Fx8-;X!DqdXt}AlqN|wCm#MPrt@kPTzjHclDZu|2xgL|6a3m>iBO%$NuUk zD?CQ8+JEf%lMu1?ivOI;^#Si!);{l^c(4A2C-?QSxXZ0|cSsLTPy6r#)7>Of*AxF2 z!LO05Dt=A)LVahgt9;D1cMU8bdU2Kb-;?5L>ZIYI#J^_!Bu}zevGOnhfA3bvwj145=TOHEa>RZ!D_#QL}z%gh=Yyjo87GbF#Sa zx97*FyhpBGbHkeWN$rx&!S%$fAaRXTRjSn zGuU_I?tevyb!KACDx&!OshSfUa z)ni8q__Vm+n`cEiZGLOM8?DGhOWsmEmZr$uhe@>xnq_C(vrwU{6xf3+o>@%l0LIrN z2Z~!FTWi)w^8ZxIhvsD-C^U?lne{7qWtj(Mw+pLo*8aIXJ}6)i|DYxR)#L{|S3GXG z(G<_dd}xh6^yJ>9*hAlDWyKwhI)3T*+k-QXtFz6DrVXaQ!gdg|rRYG}p>oxIWp*|4 zpyb9^5tBZM%N(4$-O_0K6b;f_`KJfc$@89Np>w}e1;yKA=bva+l(Wb=AG$bFAkOQ_Ea$urd{h~H<5Ld z4310MxbKBJ&%{!*)o*=S;hO`i66HM4s&`F&$FT8=WsM=mGvV7QX~7--sey;yDrP!@ z4!c)Z7h9ES4!q941T(%$8IaxRAx6#YVg(yFTy^qLG54HpyDGC&BrnIFk1$$&MXe(> zONSKnAj}qbEV)*CgH`yK8`&7-K0ROm%U(9;r7DjBLq6Pl&9 z%d2{jsaAE$(2Kh4TmYU12e}Uw^-I!X-9{KUIC_UWuDCtmVd0GkwF$xO3l8{T)&@i} z5n>4ReLr+PBvgVbum}U*v2G-{@wm9E5}%oNUS_mKw~`}3QmyJF-xok=S6hICdF`^- zZ`}cb<9)~@l1!ha1xO#>OGdthH|h9C4XQv8&@SW6-UMpamG&lhja^Ufi^EiOywnFs ztZdUq@;n?L70gn`UeBnXQSdwTR+^5MeL7cE6hf%AV3S7Kh_J>N#FyOb*1fL!Wd@c1 z3Cr}?u?F0_(2=R8jl8Ibt@FGYq>|U@m-zn0)=+8IsCgA5em|NOV0h(DS>uS`Z3%QP{3E%duZKd^ z@RDvT>Q=}>k11vZXUl*ZybS-2sZNhsL6rG)*MvP)!-8;XZDrMqN-_*&K4fE78<9xs z@=Pw=3A!ll#b)fr-l!5hWntq>#sl09_b?ZFwW!VOsR>M&gstB=tel6O*TSuDIJXq- zaWPo(MBG%lV~V&W;K!#6u-8q~SM`?oAJk(~EAA_@z6f?)Jl>2my4S^aMjw2;^;TMW zdyUlaGVhnV-o!=4Ad_zMD|dn1+*bUuu^_)|K>j)U@xzUs>}0n)BFvNk(15}K|dFp*-TzlL2CqSatfRGGRb&|RlkHc z@_7SeTjS0bp8eMwOho}s=eQ{?PP=U0@$}aC9AcH7UNSH#6e{vND_JKr#o9N#`Gx7| zv1cFdJ>;PW{Zb|!TP>}_j5^rQJ(KllOf~PEHIV=`*}k<5QE{ygMn|nczle;$?m}u( zM=kmAN7sU`6jA1^M=?u8I`&{4j`Da`;rloAd54>nE_eZCsg85ICa8+rUwI!TIDkOm zlAHFEJ$sx-gFHW&iG>ywnZ|$a9m!VA7+%b7+_+&@a8vC}-lWrN0G|Ee!)|e33;kxc z&i&B{HK#G9Z#AIyuU<*BmNq*Zg<-+{AF#>Rk?7RmXj`|ss=^sj=;5a?WPNIa^^}NJ z!>FNc;So#7u175m-yvUU?}`?!^?DvuMXS;gOSDZF9eBt1eh4nRGlKc7FWSY)P?>rO z?ebd%8be#Q?uU6a;~d+*Lx+>+LVF17voB0F_%zb2KeHW&IJ9_=)-*9Iyvd^c2kgZJ zR3U^s8S@-~#p#*4ai=XJ=SIP`lrH~m?aw#*wu=O~kFfKWCLAJSxGuwM0DPHft^KS>lHY(!}whQz5qaJ-%%KB+Ms}PWoZWjJ|s`3~`B0$dNme99pO0L%&jp`zp3 zLM{8t;;R1yD4|{i0JbkIJ{BKh=>Mu^+XT2WhV?0)2&fo$en7-}ik!P-#5JJHQ2Ucn zjtvtb+Q^6@*37+9!V#K44l*@H@bfO`=5dNvL^`I!33Zkcc_s|)%0kdoKIIZ<4!L4(&hC@@@r(n=v2REZq2Chdtb!Y@1vV`a96}n9jKt+?9vm@iJy3NZ6sH zTY1{e5a4c#ED;R+ImW|EgSiR!fNi@&MA!nl_z55(fI2qLs+AEX z$I-(GF$A$Sf_6+ki8xO1Z*oHT6uOu!nE1DE&VMeF|8m;?^PKu`WAvQikvWD$&c|U^ zw19NZ2$gu)K9)J0W0Usl_+Px8uYk5TLTCc8ErE%(<1D)V_+S$=#9|~1C>0$i((a(o zM~|f($FW5N`vthzJeU4LXA2|Q!~UaRZ=D^E>ku%Xie0XWnFxT26|jbzm>(_vA|Le# zFgrg5^A9$WY!KU<94bTC_<)ZVBDgQ?sEaZp{!dWXvK(N9E=z0S=TrW`+ICZqtjt=@cA0rAm~CL=Wbi?k_7fVz~K!X)+;?L=*CRB z_ykkubV*FuCU&uas7%1-so1tPH~C5wOCtl{;T*M1F{R;XE#L8}fTiPDyNiD8(6e3% zTn1%!o<_nO&{o*(;yym(yN)>|w(y!xJ$yGh+v%E^vSw~j{(&AJlpfcNb81?0y@_>L zK)_6ZJ)9YBAW7meGq%K~x{2tg!Ua^d)6E>p$_sUC5A}EzIjh{uJKt{^1j8L4(J-U7(p6p{8L z#RW#f6k`1bAeQj!wFndk;Cpl#*l2q=BcyY@(;~cTEOmYHP*36guB3jn!TNL)dEep=I71MewS1las zvgA78?0;I(KjdxblwR6DK>R)PA0ZzT*MhF@Lcb{Afo;Zw=#Ed6UuquO{!7~V*n)pL zR6EWbuz&gWhsD+Qw^7)s@*T;qcZ{h0w!pFUU>Paq2WPqLXRGb{7|(Zy-0l0^{3>MG z%`u+o-2Jz_7xlq^e)U21nYV}X1LQl|a_{m*4^DbDrHt<+hW(Pac82eJJ+}YJM6Ffpeygln zLP7cXneso^9RPm|?6>v~?oUeF%q(;puXd>OCfBUkS*L99Wjb;q0Tdkuo%pDyU)_Wv z(x}m9y~HXj&UIa%2_;K;&7BFoRJe;)r(hAT;*RZUi`PYeB zM;&g9@z_>3J_3K}37bB{SZCbGSt*7P2 z#5|#iUrpU1cGilmzF){+CuRocqWr~TedCqiy~JMy{~e2Q2=Jf63e@1y~NG;fZJ(Yb%zE|z1565#!iTloX1r%bF10@-k=Ijw^?`8E&4 zX;V^yu8Hmwg$m{*un;g#;1Vozo%zBxUO=DFNw&bY*O~++C=^c2Y?RqQ;MmdFUv>KQ zdcC(0AUu`X?Em|ypV1*)Y-2IidUdE;z*Z=xZu1n8JO9J_eE?YZb`yU}fhZ%7IWG^%r2cqZm|He-L2{bPWe#V2hPJJyQn z`v=JK|HHa|aWFAm;J8%4OaklU5NnmdF~!mk5K5H@bYcO;mydS`ooQ z%6w+SCvNdsk+PF+6Redo!dsn7##vO4k?tpE#_k!cMOY;Q#x{ZV0yMVE=sjbch3EA6 z4WfbstoS1jcmLoOz8u$upq$wAZ|lNBfQhYQ=%C1{wuumF1Jauux+?$u_Vz&c+=CPp zb_Z-nl>ONo#>@jxy4;WYVzdtzqwl{X9h9;9^|tO#Hq(~~T@Yp3neATvyX(Y{`bxa5 z&#ED9Q-t#W!=Of*vV%X?Kg;{WGDQu`KE8WN*7zUTpq{1KBPJ_sod~X$pCkS`p;z1FXC-Ct`ws zJE-t-pWSQry2V;)X9Z>7KeOXHrN&*;3gPb6a|{29w@##auj&<#$F8oBzC0Erc~R_P z`0(Oku=GsYzY_d-v2V(mk3&e$+xt}DME~D)q5-Rbl5QsRjUno&>s^Z1l+Q!u^IxE= z=MHRMclsb1+CLUG_dYS%x|SuGbBAXeJgUdoxYrxk;Y;B`-qmeQOTwP={biJUJ6p`; zWG?eVZSYXly@Vy|({mQjnYyI6CVB)LZp|x7k>0Nkcp#aq34S5DkJ%GHU||x+WQ4iT zR_P5Ze&1g#fG(Hpi*~y3IdO5o+TJ8$vfb%V5u%VXg3Rms_c0B5QI+;~kUt|!7CcUG z+3g%O{TcT8lvQ~RYnEbe`D-I{LME-Xi4qr;9&LsO`_6uvu8b*`OmpR@~x%{f$ zF44h4cDg*PPqI|QNZ100G2hCUSV{H0S}*_qB3>+dV$9ayp22hD{R#%X%?z=M(>7Ko zDc!duaLhePKxxzMTjH*--dBZL(Y~pMW-hU=$4C02?^tsYgMQwXEY7Zw_V37m|Fib+ z8-Zh;GQP)Om;9q<{l5RC-r-SXawYAoD@G9XYTM-P;D+x;KJRx#fC;!f2IoRbIC*yk zu5P`{7V=`_@VpF75F=zWE$NOYna^7sIw?gjz zZCc{_fN^~%hMR6us+e2S6YTa}`V@88-n8yc*s!nQ5jJ<*PrL5uJ-enSs%PG5*<*D> zTOIP{*|0}Aao$h2UFx=dy6qBc@J|Rd@{$wWehX5_4<4HL-{>LnLU(hx)%vzv8~+PD zv{g{zP@v3x>~qgvGKJhjaaXnv5KzL;Nw;187+iN}=1GSzp`dH!U+rSb0Yo3*G^Z-Jx}~$dy-M<%f7^7k>xw=9#P?l3*ljnp zRd;1h+dQpWZ9rmdVr_iY3A80~7f6(ORaWuwPfckj4>s-2(M>wZLzjz3_t*dT@;K=( z00oTdYl69K(p6zhV6&{IsC5F2n^uNY7wwuOeTlj{jq4AgK_!Eh^{4UL_yd?yl!A8p z1Bh`0j6RE)2<_`VK7_zE>-oS|a_*f#mu|Jdl1iaYDdwBM39C-*%taMWU;Fi1^07|~ zB2mNm>-Mpq4oJCj`nSUX#;2RQrcZB`KPFoi0%JGER>Fjrfaf`|cB$O0x_YGF|I(bA zRQF}J@f@os8O4gSscX1bqDV@}gnBXC&A9+yjY=D-4PU^P>BwysdoFlRjkon7i7K$V zbry-QL&-J+?w7{rmt_rD0n@VCujW{7_tuqlWIo~TMulejW3asu_l^&1F+PnGESY36 zL8HOVitRxsrbh?fHEB~35#eWcjQ{=-Y*}yf7Sam3)AippZ>^ti9S^NSZPeG!({x}W zc>@kxcv>zWW%sZTOH@dSr5LnxoDiD5s=}->&q*nZ(?45cSFCFY$&yh&9P=LL>|#j= zw^q|)X2U|7g~KN03U3Rdo%$~!0A)#ExX;sW$g$UtQ@LVXoH5j;S;L`Eh^}I^2)R(? zYO|Ly=R=`0@$cm z^&dF2DV#s7gP~P?adMx^dt)~xH0uUM9zHKN?ApvjVtYHSWg{xR_~<76 zCx9HA8JCbsz-0Kh_0r9TTwV2zZ09en`iadi-12qy#uG!=J>8|%`D}1&J_DL76s5jf*YEX86G=f#s!v!H>t{<= zz*ARMT;VESf2Z%7bJSXu1@GIa<+(o<6Kmr{j41<_PE3+}en$h@CY4_ZqFO0J+1J$ zvH=*M%Bz3EHP-D6oA=D%yXs-Mp9vfGi2whSiP>!a+fOg#j(e|ICSLTrHVme&Y!O8T zKTX`doZbXp62{2)|_I z|D_?e9Po5?5rH1q(E37&^Cl3lbOe4Q$TMY||<`Lk&mMYPNSQ!alg;WI(WEn7LU`mgX z{0PE0A($I5)k3*Bo5SfM`<%M+oP7>C2M*CZOz6j7$yapb!+Z>vM*hzNXKBeDJSkg2GE)0>1b-1UCMEr1qW+FxbJSZ`9^XnFaXdo9tEVvyd_t%Qy;(>a z;*p#AE8|SWetzTzqpiP`cveU35R!hDVw`xm79RPOj<{Kio-vBQpdtUlC&cl<0yZ&4 z2(IQ66NM>peB%8Rn8FIM(Ln6xlg>(sDF(};413rD(UpRELQ*e6JcE!Lv^9Z3+({v+ zktZX304(s=CHsIBEumG5^_A^w7ePQPm~BDEWNzi>pvydR0}os90n?)0*J%bw)d;vq zL(DVUo)qEC8f-gFb6SU|Z!Wj+Z!;e%wwyl{{Xt<7I39D6q{7fMrUY=*QDeTv7buicm8@(gIRvm)dVmtRX!&4pc~3x;~i)~Q#4#F z1HdLWd$7?KVlqewl7R%rZvYFxSSVn(Eg%(cV)0tGy#Odiz}Evk!>QRyNK;P(%!8gI z_RVY`@LVOzXBE4=UBip;tEmOQW?sI?LZM8-;4sIGr+X_ z0E?b|d|h)G0NQ9A{Mq0l;?ixKPgLa5cHCf4wCE5cU`u0ISX?sg1dfBoeni{R+9B%= zx+wa_ikzc=i)=)#Cr5!WHio8azdZ`9&pP4$sHyB+dx#Er_aP?q!4b^_%~sS(<7;R@ z3*NfJH*dYI5L{_)Zaepr^CBJaA!lZ7dCsI`&U0_^pF59*Jpz;$d~J0A=i5ovI6#$x zi}TtzTTV871MEykA${$uiQ|8|qs}IwqJIlpu0+|CoM0J%=NWWYUEAt@*SX7Z?OT4g-!^)ke*?%O6&(#{yYeSqtkX#ElK!JX&jUH{(e((Rg=71X&Pt@C4PXLW=& zdi?axgTahbG?w;E&46}EYRwO6bPpbA%qyo4omOXn9;YnZYXQ%1y3W~pCdfJd?{A{O ze406OGe`+`P3Qz9g^QpwM7Y&jbQEWuQW{iCY=x4J7u^HBRAIyG zs)XxPGgkKPi^Q+wEt&6M>#-}go2Wio|={P zMAF*i{N&Wv;T~*Ep$=ao#AnmQ%MwvX`6Rv}ghnH2w1;EFDVZiUe=oEXxUA7ak-DVy z)}#YMwyO!#15mEPIOz*UT&wQ9(X>bWLVH-?@%_hu_Q|Q$e>lGnvHS2r~ zx9|!CUt_qu{yOEFsc?R=Poof@A_@&ea0(;z+t#vEIzsi|vsS}|7MQTXl96b^)fw>B z8obPaJw>_@yv?pTpO!d9Xy)Uk55rn4qeUib1??>98i4e2rH{Q3bkI1+-(0-f>=}iS z^_u2Ca)0<}c>tRzKMS!A+8eAy-?YDc2WZ6jL{yxS5dImTVc4dDZlY3lpUb z_VCc$tnb8}7ka(b5#z<^R@xmCjqLe_wrN3f>G!1aPRUxB(yhfD5>jWL^-a(~J50D0 znY2h6v_lK!&=_&R{mmlu0urXcY=l-Llv7%Jt_Hi+2<7oH1t4~#2DjaSTf#<#Xs~+$ z>LVJo*?=C_Q*LXpA#9Aj6kKA&$?w^30I;2Ru`(l+U+PT(u&<3V)Fx1-p_T|~3N-bY z!Bxwn%5=a+%5+8f(&!xxk_f z-_ofi!W%+O_x9fa3M9KVhP+1;JR!L%4$+Spb* z&1@7+N`5ZHHNsYBbgmv!Oo0w})6xACK#GDberlqi!<{ zJwz&k!M0(A`$;KtsWrHxKWeCd(5SchPWf8OYa=Bt8$2YUz5=Kw5iy(%W&)I#Lh3k; zU}rFV(o$ZEsI3Md+(4K_s4t8Z?q}6N5M`?gD?!FKvZ+l7NaPVG4R|Uaa~!cq*Tfc& zfc-}^x;50bIvcJKyeXut7NKv7$WZ{6^aV|%;os>9EED0G23mrERE=jrcSr-=1$_WU zw3MOKA@$z-{9lHrU!rc-V5hXyGd%kgDKNyNHr)Yknc37ojMP5>!AK4|(E#0r$sv_p z#rvpNVE*{_H$nae^#~?IM0};eO>a2xlxOj#zzbSR{=c|0+bM}KF57ti?LpnUo?lVE1br zKon&h=9zimV}v3zl9o_07AW?;hFGVg+%#dxe8N{ASw^Eg6oCcS&|@JbfsdtL^nV3A zy)Y1V9VY*ZVC@W~JNz1oxx{k&#R%@j7;9-ZFnQd7ZPf$4d}+|@i17T}8RTcCG0{(Gp$407nobva)BDi*2eF}9)PDZYw%5r$ z#~$D0Sv6@#TYv=QKG_1C9uYALcN1RdejNJm+uY_i{%q3kfYp84hZR1Udu(!w2|Hq< zSTLO5O(d;|(qf{Vr^!W|Mm|QpGiAREQofse{N3!U?+)DsFThlZ5y&x88hFIk0g6m| zYBT@lM^{vgiTF`Qxo<4+fC;ZO*t;~!3nBSiLUNM$O@F(cWBCW*!!qL{%4+2NlI61> z)kBHqEe)jT*NpQi)ON|IH14fhnc0{APZ=hP;4?{2Wqe9FQ0w>L(qHoIS*zTDdc&L$ z1Af&ZD(jeN>lc1xOtYC?fG$6kdU`$QDCV%GN~rWY$`LFmwu#1riiiOn|1 z_Iv*Juic6j!3Xv!;M?a`Qax$K*Kf*d7YtuHzp^Y9sVO~@SJEh*`NV;eMc8q^G~sY> z?)_*1cUSXuZfX79Y|e=Sh}b!NE!*)H;utiGSp9F(-KPFyIZw5LdGW$q=kg$?8RxQU zS~_vHW=71hRhvH&_O#8x`?);~D7sKf_T@AW@^PmOf3N#eyOIs8?6_Zf;?92DU0q`5 zKjx7ge{Y+lEnrnHUAw4=FnNyrWVY@P->HZrI83Cb6Q?B%$}ux6w2;9aPsLi(IqCy$ zp3(v5jEAp`3AQVWURJR-bL`#h;ELz%4QwpKn+=Y$B$c+3dSa#ipMr%bw5P%aLl@Z z*hp4@4>$ZsY95m5T&PL(Y*_h}&)!$~NW`WUJuvVwK0UG=xsg4EbL2R|a2VZjxck0-?iAoM<$72otUzexelwfoW~jC=>S!e3 zKCG>EPscUR8ufW4pOYt3Ip!Yyd+=VZ&>*WTzblTyY$_R_nvu0^3FWY;4bUCRY7@Oj zVfKq&IB~DNV(%$WE21yn{`L9KfBbuR>z&Is?jpdZ!loO<()YJdR1G{(Ozbac9B*?9 z67nYPibv~kHtx;e-(H^ne*D*k-(%a({9+caspX?rtl6l?iI*-7FYYXj$IQEy8@-bh zqH{gGrL_TdpzvcmA8~T=1M!Kkti5dA9|?{tA|EIId4M|fGW*#dFn#ZfXVvu3`5q1Q zA-R{pvx8lbUI*`zG&i8CR`%WqmvPJ|#Ss3SF8b)>I0N9$3E?(XnWYQs^m~eueiQG? z-!b1+)>?BD(>RZ47gH12(${vFH0n-5ZLDt!$FZmp0{Pm*H$3Y-ujPf+o~Bpzj3xw# zE^h}GHDbeRJQ}I4>hk`3Gdtb3lH&EsI-+2+KZ0U{DV`|G&lxz2ctr&&BHscSJ zzG|WZ*;58Ren zDMV7>;Ed~^jUoQJ@DR~R3t_0)xkHHR4$#3)OgBe95)rhwX?I>@b4Ux(aoaY!;Cg+v zJm7oHO{c1e=DyCw3rebonV86)G4lE-Yk|XH9fkXEiy7n3$1VI0fSHjIB&R8zU95Ol zucnRmwE_pAx~bvrA6SzWI{ODr1lF*IEBf8pdS`gh{JqZ$5|UQh-YAyM&YH9fj0HT6 zGUA*I5sqsm5k6xgnU}7gyxP+1RXi8#6A;17X_r%+fEpnyBJaV z{y(1=RHGAj=3fo|!c$J)*E;{Ei*$9WgIxFPz?O7%m}T8gk9}`Fj;yjh*V4XG#gLYXuAgwpTrcoH{YT0rg?IM1FzDIP`I9}|+8VR6@wKb^B7e^WKC*Fa7l)uAln%Iqy{Op?Zp#Y~RC zb^+9q`b_8gv0CylohsD~Foo@~tMCG43u+vdY>1lg^84#o5UYtYPb;q}=UP|Kq$GMQI{53qKRP>$iB zp$eqYL7FdnsJ=~hdrn8Q-G!Bc3VYV$*sIU~6IT`r*KM^MQU-TvR(~7SmA%A6p41ju zy7Y_lvx;kWHoWSUd=7Y4d&j1@skWqgz;OrvlrzfrkK<)y0|SJUnPW4lo9YLgPsi5x zRdc9ox4j2j80wJWL?T$*irOJjQq$a-&3=EiFG=-D+CC<3cTMe>KX)KdH~xF)tZ`JF zK^ZbSvU}zZAFJQ`qB(n`pVZ{G&@$@;ma!>g{HRT^^bK!q-K*tZFYA0SJFUX{nXKsP z0Cu@hjyY#emXmy&h&I8gSWn)RU|$=W2Im~d$mN93Y*JV~K+Iwv@v?NTvR|h*{osZc z*nYcZ_miy26N%Cw#+UCCOg`3Pp zP-pn;8L`6$Hof2T;-8j(zDRzl`&PII$DAKhZnZ*M`%t^$do1ftuqbz7X~*&>ua-N+ zR&5^IwCCI77XJHo!;d%FX%5@NSzW}%-Yg*QvE`QCaz45yJ zrkf>di1Oj`OKq==!;AjrEc|3!b?a2iu(Kvmgew!NH}kM3e0JHS%k#9VEzWonTOFfq zdu{;cwnIPr$k(K+Ee`6xn%>BEb*T_4Oy7gat=$Np91fP3v(+!X!D6oJ*{KGPD(vQT zbuka;njSI%|DW27hXIns_+#K8A-%w$g7~PSbal`wb)Er~BiQ2UV_SP<0!f60`IHIe zh3QZkPc8J3;rdi-Do}toNUy+FNT9NGRev7gwBtBjAM0RL z+E{%|u|0%J-6i|CeKS|YTQp2`7DGK#V)ZuNI+7e`j(1*MO_xCujC;X+da(TS6xPch%4Rqo zE^*!aIM`YuUu9AS^OdDq6=&y-FIw80zM-^axrmQraY00^k_h25>1vS%@L)iebDTgS z`gHS8t_<}uP5*PQ%##N_FyS__Dcp3`f-2Pd3TTu)xJKF&$wZR*O0Ow}JPRhoDoVJ@ z*|C-0hD%EV`ipF-)(rK$&ym+fFxMF>sZv}Xf&ICPo=sMt2j>0tTANC*!Ubc?8PFz% zva1~kiG?n#Kt%-~c%#`vox&Bh+iixuA->8Yy=AnkmlA6KJJn)d;!_FwbybipxF@Gi zCDojHQ)NTv%Edy3*%Obe(4t8aIK4u>n4#RvP*%DVp-#85RlOELOgx6N9IO_=z+WlQ zACGXCBbGG_fz|bDDINnq-XG6E&lP%(oA~olf}SbBr(Lyb8l=QtCI~S_eYnyw+~Rhi zZ?B>RP_GR>5RO-u1Xo2H=D71!2N&RcC1j{Vnax*~@Sz0VRaFGKVj8!8TK?C#lG+Yt zjWLQD$`K8a8>^Z_QmvyOiZS7G7+pr-+&}lV(V=2~V>=!3s!$yyS<6GOsjL^)!~+XUx}(XR=AXXHWsh;FrG_Gclpn$ia3NWtWv)G2F?7_)y#!h|{Pn<(H*=Tw23y=PB4HR<&M& zf<#@Bv|Y343I7faHuF>kH1$$npXH&bGejsSFJsH9U0ZiBpprX&sFDk`v?DcOc0EZuzBPN>?V_HA{Dr=Vo zt@ACOMp}OJoJxZ-rt9;G%8%bwgi;`REUwAoGI=yp&$g_rhjPX$&%R08 zrd6e+-^CzvITiqjc2ovfFhPtIhL{`RoLF@tA6wFgakTio8s(O0T$%{G*bqd~uDW#^ z2%M&Fn!=vnVyQXAB_Neq=}>@11{rV_BCNOq3W+@onG~f4+(WzMC=IlsZ&t35)X#@< zbqWz%PB1Eys?ZkZHhLPu;&EFI%Dguir~+OhRf}P4MLjO!@5N2~bNSfI8MaIR8kJW-sak*|#KjMx2cDolxHfF14j)aTOjDI-NJOATubm=ro3O`KP3MaKMw(_WZO<7*=I%`N} zPPD{Or0Rm{7^897{JclCG?`ZwPTI%3uYdHm8x~clcR3NC4jf;_fO=S1X0%$w`^_j^ z$zJz+Gp$o3QI}bq9pOYQ3?;!pI2#JBpS!t7Wlyj2PFF`7Wbx_h7>$h6g-e~r6lzs- z`T$%zc5|Nvbp#z@)KbaQjCSQpjlz$sUQUCGq*uM3AMw;FmRI~}Vf#1gaK3E$MuyUb zdp;PiN;4)M-v>s)>ij-cnGxs1ru2{D+zlX`Ms}4bQg{$W0E=l*DD1k{B8E$pdG#pY zbX{IR=B3r!k;;PCL24)jarG5#|VW>sZ^%exRkXy-WS1kwRX-i$C(=pY1v9Z(G z@?e$sJ2AN8Vbnir3(0Fet;(BzSj+w0{hTIpNOdr)8+7ULd3Ryvf9HMwtMQ9Who)dI zY>*6Ld|T$yr)7ykm4Hp5w<}7k(8Z#OJia`vO0e$J?qDP#>{@}Px-cF4tZNFGTd&TF zRs6qV=>{eTR$RFU&oruXbSN`kf-YoW#W1f(s7S&*KmKp~GF%`_SGNoZDwv;rrb>}L zgvtCzjWH?<5PAA5v;}?*7b+Ly_oSu&(ma&y@+cd?$UTgTB8JLSV)^UJ##u~YA(rS3 zdWiJ%PstKQY8F>Eldq29%VKEiLfxZA7eCyPvY^VBE4;xs6c`fU)Y6HE_QjLO$BppBvmF1{DrfX558|+&&q1!&c=v7ZJ92 zR5h;x_!Js7KQ3zi-P4DFBAV^$8jR?k%%y@s=UO=9n!aM3MH(oisW%$rYsOT8 zRqtx~D_lD^%Ia$l9f)@2DQiC9iesPYr({=bErZpyLCDXuX=^u^Uo{h+XMJnCbSdrv zUkHiWEY{R}nO4@Y?1+H&F*p`i!VR)E$S`l@S%%yavzlN=Yl2mS=amIhn?nBil);x}k6q0&$ikg- z>$n(;mMvFOt@{>ZS-t}5Y>(dYrR-4lJ*s!u0%MJDjJt?3 zE4GRadX7g9s7eBx*l4#G+>cj%UN_zaGha!P2DYrI-?y03-Iu(?7Vq9dwuc_yjkhCL z@1?pGX_9Z-N$)C9Ht$E1`fc8rwflyxJgWEIW)S+i)iesda+${k<0m3*%Wd~?+w;;- zS3RF?bCZX^9Rn3}-;}HySY$WlzcehjJ#QZ_m1j$i#;w-i=D%7sSD=Zja;s^X+r*~M zOnw{azB6xeEOx;dPkJjfDu7D~*(GYi5!i)?> zM6uswHOqbus>?Y%j5VKm@MujCFozJL$9E4XHX_2SfzL5t_wXi%?nVfx^q-b`u8@c; z@m8jFdsx}k=-t@W4Hu15p`D1QQ{65&-kXT#TS7{d;3(WpFqF!pu zq(5Ep*fu`3wq#W%nURYM{_aKHS}kAhp$iYbP}kjvAgCsMj4Sfj9xCIti{3;%{-CbL zx$A@Nt7-YfE4kc7A?LietR%+RR$Es|S;yJos7r}tE<$s(?ECtE*4GwwRywYp*3UG8 z)KbLF)^v}>jaa--apSq?khP`9yu0RL7~lDC3jl9)m&KK!UA|O6`4%aV5HP_A;RgF<6e*r2#J!?z6+JFN=as6S%136Qgl z^)YiwO281td)EDF`OQmdPB@R`z|Nh2#`_vo`F$-eAE%?aOpUUzs%3?;{XyV6admGM zVhMSx=O6pJ%QIF-ekg=O&xxVHr6)ojp8Rta`)efOUlIMA=6dk(cn!bA2o3PAFL;qy zD|&-e-{^}8Kwuks6(55)C_{02n2R4^jaS43(`CONenxHGG|sAIVw#juda7os(!R|V zjH_y~*?~m73`)ZVREx=3vxaQ0=&EK{H{t!q81^{M&S1VCx8NwsKJUVz8QVYtwp;Je zCZzd3HmWNpYGg^c9#IZ%pvApY9Koa~$YnY~tGbSBvrtSYK`zs^#7T87#uZZu>GL ze7fIZScD6RZ0cT7k1}@gl}=*_F?-0@>6{7exIj-mz>T!$z8)nwRPPU~dkg&%ta@Ot zNXq0!?D$29xpx4@CsyQVpAL*C{`0Kf_sb3cq9oL_ymRDCMjcsW!bKH`BXK8X_IE<} zv3g@D3DY8(omkB^1bMA(`Ez%v|GDE`e_k;M`VH7xBE$iaa@tCRKE8{Vz7sJ*>e~fQ z?ZA&tkuutLM80NIf8U zoDMICQjie0SV7{yM;n)j9!`Eoqv~lfa7D&}0}^Dk*0Lp)r?qL*FFxC0Bj_0#%B8*X zSaGT?u|2|wLIV4Ut7^77fB#l? zPFrdyc%F2@7}CvK_V~%hgB7Qqep_QM+gyMCke%~mPrt6dgmu1|NuSj7!cObYE%*1$ z`yD}dBrT@Ax}9&hZ95s%;O{t}T6F9YAJ-ie)O+CH_qq9RUa&Sa-pVar?`U?O78?fJ|Fy5Bg3-aD(boE^H=M-Lc87E1J^D}f9R*JmON|1 zty_NM;`ZhedEL=j>koxIwYH~cJ!r@-Jz=`~sq4e}(I>ALZZ3XGL2c?cua;;1xM{*X z=kt~wm)|8MEV%EiczG59@YR%%o$0=ETx_FP%bw7(cT1!H35z?|wof?eHv6C7K4HfH z;7s3Kv&ZR||Fw5-QB7psqJWdC5W*!8AY2lXm_UGV4-jr4*i}hTL{PL*xv7bQMny$M zMa1shP*g-{(FO!fxQR9*C@LcO=OT!TEn+~h0Ra)wMjLJQM@8AyFMB_oG0wvtXPk%s zIS&~%*P5$p%(d1x-R4hc&TBPTotZ*PxTvie?2@{2+Y125g@9<^UZxp?ouh z0sA!;90)U{G@rU-nXbZhIlf#*8UB36fL_~evUb?&tbw$4m~qzN{w#)vSV&QZh@s*j+I+t zsf77Q%!~P)WH2BZu=Yw~DxEobI)~BQHVtxilRObwKL`1NUIHf}c}cRm_mR?QM(d%{ z1r;cK8u)a&#wAxlMoGbBC_O_uqaL|pE9c_$-UVQgL^gL)iV@Aju*D|vYr&8?$oO7= zV78u_4g}AXU{NT~OaT!EO_a@B=&$}3s#)N#!9)sY#Ah)aX9)uxQY>G&8{o0zAO~{q z61bsIu3dt_0-Z-OpO%bb?~{kbX=%E6dai&oj*zSXAkjEvD#BU?0hz{Ct)NTtS@Mll z!L4$S0{$!JKa8k5MZm?#!6~P;pHh8$lz6t@Egc9+Qz#S4+zmPxmLOEfCmzud^Ry(> z#{t;YoR&e(y5zv9p}>~pps1msmgHdhN=uG{U1T2mK?WL7UU8tCxq_>dCu5d??34mJ zI;cSrmJV)DM#x41B7lZ?!Jm7T^IO*9J0rc5=Rk6SJth(eHOPINIBbybJIQBsFEWzqy$zb5 zrisLKy>}6?m&OpIsoQY59r| zRSBJRj?U=WqB-X^aqiVyH+1iI?KrTZJIA%-*u>6@Ffm?36PaaaYrkg0fgyqmxhP_h z&a*+*K}37;bipEUI}YXwA9DHyt|OH(l$Y0-D6e>deH;ospC6tk;1nx-Fj#9282SMS z5-G4&NB6$f8bwPv(E@uq`LgP-#j<2u~j-5qLc~XV)e0C2j(m7Tc&YaFBsx5FAgk%AmMaB{fre(I*1?PwP!7%GyTSPeUM>OzVDOf&2~ z4!Z~i_O)^rvaNjgd}`08@zf3Nug>3px2gT}`TOY2?Iy3IlOd#WCapl>E^)lPM~fuw z&14igPY{;L$K2Ie&I*Dho1+?J+;Q1F$_l@fge3)=mvA7jWW7Bu7X$IbyZN>Tez2sQ z-Ua##`JPQk#MkVtQT&UkL3llKywqPRpr^DX<%zj?5G4u}w?4Lb{R>dH6xq|Zn!e`5jqo4q({!g+JtOdB^ zT6%$C7lZ)6U}%OQ1P6}n(I7ZvV0TH01ntZNW_6d2KT=}TU=AW3#S4bg<(S%6_L+6Z z57q^WWXx7DJsI*xj8Ba|P^dlf`>10q5R##wR?&Z7livMm3hspbs}$k0^3|gljD&Bp zTOk%{y(0yjY>*u#H(IzgwPi4MU0E-g(zmXxk4$;8uIve!(tqu=`K%5+P}FdYADX6H zL$32r7C2=uH^#|=N4!lTAS_QC)XEQu))V8-kBnhP$v$ICfKYP)NJ}NnLY~cnz^d5L zSzzL=hbdj-pE;+uk3|RFmRlgqtwu>O2mK)kUn~#qCoG|(nZ-azk%Am~`yVViTXx~o zJ#qs-08)g+_ZUGMms*gid|^~)x8@6l=WObp7XK0i~6VJsVKHsR35qb%g|haa!(`XGdsCY@OC+S{{@vUx9+z20brN z;dI2EA9>OI$E{<%>Dr<6_7~~eH|gyk)3x6k>Pb6J#u{C4=ZDM!R#OHGWc(dxNPMV~ z7|cJH4-%1?v#YUs#SrbMccb6+D`k2|4n*skwCn`9N}Y=caBfBWrTSoYYslx81hwjr zn;7mI3;_rFGsW)a{;v;9L9ePp1CY8%>chJ%Er|4!Ak$tKDAbQ;l}7&-ZJVd_tJVAU zr(GHZxcyrSW(5HTegI2vD?xevrguYWFiZ>FRx~m`2KgznNbZ`#ca_LpQQM}8TJI4s zfC4)e3!I_*MrpDTrUJ|!vT6Wbvdg*Aa(t17KOeFcEw;*lEN9T}h%m|1FRr|jcJA-t zyQHsv5UE+=W{5Lxl`(5&YeL&Gbd3dD!HJ#I63h7h>534Jo=pUj&SBv7gXXI!{Fj^V zqX#W8hZ$$St65rwMy3O!w@Wwk0;RfCjDv=v)1I$z2v z02wOy&o!4~INIy+0%c1=3Rj4H#KgTEU;624IL_5Mg^%tu}-W zUirof6Y=3%1=BExvgVw#NCOU@JMsm&P$SiQ=6y<=`+Rg0yQp4P<0lU*1BN4|Y|Un* zy)+pqQDn=IFDJWVnU6&75eG8H`5sf3OQQF-ueh#Vy|>)GN$ba{-o00QU~l;%4u-7@ zaZsr5N^#MUqXhZ;7K={Imrs0ujLxkWMa)zL&7#UbK%un?Og9`B$v+YC?B}It%X1=0 zI2r%Kwi%W9&eyxJA8Tp&dQm+Pu2PUuN>)yXmGqjZuBNG_8 zcideB8)d*A#AEm>*qf#IZ{?E+KMG28-h+S#F{UYS4(&?Ov-9|N%q5mnu&0L4iC3IG zJL72%2C!=WxVVsM(6O6_Fs(8#3Yff(e`>YVv50RQVp=tn^dwzgdHB1m zwZYx4#@R*4c@>ve;uG_ukBXoc=Q%k#amR&?Z;ck@BdrShGWzj!6IWR=|W_d9Yv zE`uZd#&|vUTXN|J55L~44=t_-Qme)Sku7ngNA-7k^Y({fxwrlEgIk@q1DOGd*-#7kx9)KQOnO!nNTa1Tr8@=e))Pw_cK?d zGIpXDqnIRS!RR5AjMnH*#$m6XPQ?-KYgatEUuC!L;TPwXriL7|94Y>_YT%H)ynpbhAMKa;t6o95W9s4uGxH=7-w!1gHhPyNskwIX z>f^hB>nS@IFIbhbCt&y7bypH+=HW{dpARNS=Ml&J@L{=;{q$3`0@WeU+1<^DTy%9N zM%0EG{!wZMADs&ouw)w#p0!cSUv+)@oJNWYaVl_195%_3M>Nn4EuOJg4|--r;xuG0 z_RLwcn#c6IU#yl6UOKk@!bqrDPs=NLKR1L|TM*!yFn%InNy7Na;43P*s?xs|dwIJq z-$lEuSyY#`evemj-X^<&iM$mkESk8rf;GKf7prd((8|h$UJ%hr-ghgitq`Bsa=g=lO(v5ipvJ1lpnJ$HOMqr?asFl#a^ zu|Z99ca2(5$95x!Aqz!IY($L~`ystQ3)1oY3$J%3NFD!Z?%juYKj>X(;+%&uvAvEISLuSS3L9bx_a=v-`r z=IGx3N_)&JjZK9*e@nB#Zs{VD}PN)KXnYb`d=<+u!0PEa=kpC$sW&Q#{F=pV%=PCv0#7Up`)bZic4 zmQ%YM4sTC^K`0g+%t$x5M9A=a8U)16v2t3T*m8d^pLu%vAg>lS$yP5V&h@EruX=^x zfyhJDf?eo9X{F6MiZKHfYqGnHj|o}5rmAoHZmekpP?LGbc`Ek!2Bf~7Hq+tXp*HVS zjo_vn+8qZWqnAZ=LU<w7BAa3;#xA zJhYBlmtKx#78oyc*mh~|BKfZ8=^k-#3aOEaG5!QEr{+UQJLzB z?{GWShfR14(lq-Jx3dwkCSnlx)|huet?YZGb{v831og4!2IQ!}NgoNuq4kA1CMq@c zuuRVTMDH;A1l)ehHnQ@WR<3DsrWQ2hVJlQe_Y|zB)HrN3Zc$mZja2~+k$3FZ=@U{T z*P8`O?%6oR9^QT1$#iYA+-OcM^DY+HKTkkuEH%Q9FkP- zRPIe#Pk9S3)ds$BHyw`ZRVoU(fV=~<;y&7mdx2UZ@}FuNq>4(becoAdosiS*-L7& zf6$5WWClwt?Ka=es-Rx4#Ripv>lUa0+Wrwz@V&yrF;xOverzem|6P7utd7#(-AFQM zab`RjRY6#9v__l1wg|R9j{Cz%sxjS}4E$h+%L&gc#BEG}Zn{Z(`P6Tx2_|#_WpyqE zl)(8Rw_(beSQN(fQT|Tpddi(#+Of;icu5(N!7m1EH5Pj=I0?a3=?i>@A0JDvwGUex z@`?fvF;``lwKaIINMU1~Bl+HWE1bnY%Zx7S5 z?4esusuVsou*DXM*lci8=~jo%-$oewj7Wd}^4gRu6GgrSn>lR+=rRgUY;zB` zrlSCsj9MeJ-7L1jMPe?{9qVL&5|~!S403k2@lDZXsXO_U%pO^Ld$cxQ;Qe8rM=XyX zgN$(MCBWWJnLDU99jgW7qaBzP)2*>77Jt!GRQB~^%1&*YDd3r(x~(7OScJ57tu(6_ z(?-ONzf`Z7|JPamrIhRkNlP9kEkB+ef2nnB%Jd&VOHJuk+wrR`myhC4odZqP6dr@} zNkh6OHtUi)Zf1}dh;2Jys|*5cz<+r!{6bi$1?uRR{~G4fO%INe(vY?qD(V6m?v$Ez zgif6uv1?(B#%r;N7orghRm0lKh^+rsBu0THAgOR%pX=&GF$Tt*~sa?!bnOR&ciTcf&wt(uYmB)$z0-ew& zw#iaq8oV5@jhZcZXO_A=UKfkByZONtO*7SEt-Vc;Xx4J+W>Km5>Gj5l^mb27t&&;c zI{zNIo17Vw{3SN&du$T$i0&aGJlJAv3L`issZ&hky=ZiD!QVpDet{7&tg-?{eyy#H zL{mPYhKkP-S9pA}@Us1F>E8P7Nw41wM~xUKjyevC0PE2c`65!88fQ@3|GW%qP?LUA zVLQ~edyvb(V&Y~Ef4myAS!7#3irk2BXl9ssAlFaDHgmC%b+;w@HyNcz1=^(`=pdR6 zQ#@q6(h>VQnW+P`5aWN}9|l)G0_MZiZYawdvTqPmR?4=1Sw@W%Pg_)gw;*bqY`;Ym z(0nEA5}$h<>L3Q{)pqirBQm8r&NAb90-+%1N~8PRwhOzBgF zZ}f*QR=duLjSHf%7f{r7Xk3)P-8Hmr5h|1`GU@QNbX6f!!19`ml%*vvM^HXX%d^Xq zD|(V@dJ-@6B-ZcjKtRx)>V;h81PR z{({=<{Ux8XfB7u+^R-Fy)#Kde$dFyr_7rP0Eld5r9yTeJlFrEd9zS%nUP8snZ2QD` z#2qX{$OW|t8*Ot6T1_9Z>POo-si_UHnFnO1QInsl9J@wQb8=!2?9d{$azLAKr8uRO z*a;IUSJCuQs+?iguOar(gVMU=ZXxJq1m+qXghHYYF%uIeg{pW(2_$ z1n4Rz%2dHt|;iVDA3X3?i2Jw@B>89~=P zAbt`lD)>;FZT#lTSVT-SNG(sO}>X!=^IJ}kFUfXR>W9sPYxhxf4Zo$aF zd(8bieOIJqD&U-CYUWYm@F`pk`Ha+unobu1e-C{sBFuF)&+XGYk7-Xatnl)k-J>@XgNT-ZAT+>eaSK}*WjuSm8AFkP$=PhU$ zA(zQS&ng<1i>du+a`(dD5z5dINm-)?j?gJIG*bs#eP>v-GN^Ms49e{XK$D7u=(wHm zi{{r!n^rB+og{QHsF9|2(JKHB+o1;KeE~(Pt)uj79a=QoJm`cqu<@P<;eop`QE^F2 z;u4p~CD!)Pxhh^e_N%m&vv=wQ2bk(hdVg#m5XzYtR-wP)>hDEg3c znv-h(?{$gylH>eBJ??lntT(iX_3sZIL#*gKrOfcs#u8_$!6!%mokfAbRj-*f2 zfTb#63hSowG}}yHQ~Uhbuw-lEIqYS~ggHfj?V6rm0b)HnP90qH7Q3@z0oV=se6?dC z4O>sCaw^9F-psKcAdHXsB{l_6sZ1#*%*1oKa|_+Fwp>4QNDlppopOCi&n@1aJEPpY z#p@Q+a_^h9yI7*IjiMDDqU{x!Tm6c2U|f^PgmCbvxPQH?)D(NjHDs}gQkDNM*!5y+ z^~|rStM8?Lz3euI-N4&WxOPF|zm!LeHeAnMw{2x%Dl^o>f8a>y4PV3-2)gmh-Tt-r zkt1x(V}FeA>hC{9y|Hf3I*rf4f(O+r*?lXQHPdp>R}0e)h_CsRJE-7jN-)^g-eAo$#>OC zU%wn*--Jprw`NyKQ5_6ZinQ@> zE_#gaXqR;PFEXluVM#z;`RggVR7&yrCvTTWM7MyN+(E|3tSKp9P(Q5nGV?Z%_ z&)R=q+Yxqs_x|hqZeBm|^|~yqIcI*LwCQWdd$ff2HuIkS~1vti}qdeP?S)ty=1=mci4xWb52pb>6c&Kb{^j3mPE3 z_pB+8cl)YTA2Fy8YrP#%c6%8`->CZ6s#)FA*>=y?_S9MZmNMP-5mTkcy8(EZJ$pyS z>&(gSJlxuOY__wIclTuW-ICV3<+FF^)VzDu+4s)3-n%$^uaS5EYWDpbt@qnz?`wHo z?b%&-Te}_%-WP+$~9;}`xo@WA8Hw#VV$9>d{=hy#X2 zZHAa{hGpTsD-QG~wDqq3)+-M0OFhuHsjYA8x4s?WPj(-8vajvQfp1S_;r%%W`VY7D zAN$r{7(Q_Fz(7gcK>4=;^?_eyDNj9Jo?iU+v~l%AWAPt1!mal3{?LXGwwFKnOFj5t zXx>4|VDEvUfz{JP8^M1c zk-3aK5sz5i8l`?8JuVz2(Z<|wjd}mXV*d2Z_owHfx1L)%JvSMC9`VySo;JSd`}ne3 zBQf(|B;0y2aNx!2`4g$bPsKk?Z2dk_*fz1_rWSob2l6!(?|ZLz@;V^YZ^u|cz=wYSMIb58*muA$xvLIhdpeAUl~V; ze%5xv?c2NM-4&@v3vB27Is>!wS-0iez5AX2Kltri9*Ph9{v9soWDScCE y*S=jFJI}CXPvc%)ae1Udwr2k`TK}t~^?w}r{~5;rB+mcqi2o;X{=a?Qh5Z+LAE+7t literal 0 HcmV?d00001 diff --git a/demo.tape b/demo.tape new file mode 100644 index 0000000..300c3d8 --- /dev/null +++ b/demo.tape @@ -0,0 +1,95 @@ +# To update demo.gif, run: +# brew install vhs +# vhs demo.tape + +# VHS documentation +# +# Output: +# Output .gif Create a GIF output at the given +# Output .mp4 Create an MP4 output at the given +# Output .webm Create a WebM output at the given +# +# Require: +# Require Ensure a program is on the $PATH to proceed +# +# Settings: +# Set FontSize Set the font size of the terminal +# Set FontFamily Set the font family of the terminal +# Set Height Set the height of the terminal +# Set Width Set the width of the terminal +# Set LetterSpacing Set the font letter spacing (tracking) +# Set LineHeight Set the font line height +# Set LoopOffset % Set the starting frame offset for the GIF loop +# Set Theme Set the theme of the terminal +# Set Padding Set the padding of the terminal +# Set Framerate Set the framerate of the recording +# Set PlaybackSpeed Set the playback speed of the recording +# Set MarginFill Set the file or color the margin will be filled with. +# Set Margin Set the size of the margin. Has no effect if MarginFill isn't set. +# Set BorderRadius Set terminal border radius, in pixels. +# Set WindowBar Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight) +# Set WindowBarSize Set window bar size, in pixels. Default is 40. +# Set TypingSpeed