- capture_token s'appuie sur storage_state.json (cookies ~60j) en new_context : fonctionne headless, la SPA rafraîchit le token (contourne l'anti-bot OAuth) - session 'roule' (storage_state ré-exporté à chaque refresh) ; access token 30min, refresh token 60j - goto en domcontentloaded + attente (networkidle ne se déclenche jamais sur la SPA) - Dockerfile/Playwright alignés en 1.60.0 (chromium préinstallé) ; doc déploiement maj : session créée via attach_capture (login direct Playwright bloqué par anti-bot)
18 lines
478 B
Docker
18 lines
478 B
Docker
# Image Playwright officielle : Chromium + polices + deps système déjà présents.
|
|
# La version DOIT correspondre à playwright dans requirements.txt (chromium préinstallé).
|
|
FROM mcr.microsoft.com/playwright/python:v1.60.0-noble
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY . .
|
|
|
|
ENV PYTHONUNBUFFERED=1
|
|
# Sur le homelab : headless obligatoire (pas d'écran).
|
|
ENV ANTICOCO_HEADLESS=1
|
|
EXPOSE 9200
|
|
|
|
CMD ["python", "server.py"]
|