Regroupe l'état de travail en cours réalisé dans un même worktree sur
plusieurs tickets/sprints (#85, #136, #145, #155-160, #162-164),
mélangeant des tickets QA et inProgress. Ne constitue pas une feature
terminée : commit de sauvegarde avant triage/split par ticket en
branches feature/* dédiées. Exclut les dossiers d'environnement de
build locaux et le heap dump parasite (.gitignore mis à jour).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Dockerfile multi-stage (build dart:stable → runtime debian:bookworm-slim, dart compile exe AOT pour server et migrate), docker-compose.yaml (services api+postgres:16-alpine, healthcheck Postgres, depends_on: service_healthy, migrations auto au démarrage via docker-entrypoint.sh+MIGRATE_ON_STARTUP), .env.example documenté, scripts/push-gitea-image.sh sans aucun identifiant en dur (variables GITEA_REGISTRY/OWNER/IMAGE_NAME/USERNAME/TOKEN, login via --password-stdin). docker compose config validé (syntaxe/interpolation correctes), Dockerfile et scripts relus manuellement. Non vérifié : aucun docker build/docker compose up réel (pas d'accès Docker daemon dans le sandbox Main). À faire avant mise en prod : build réel de l'image, docker compose up -d complet avec vraie connexion Postgres, puis test du script de push une fois l'adresse Gitea fournie par l'utilisateur.