Le runner Gitea Actions partage l'hote avec la prod (Postgres deja sur
5432), et les jobs tournent en container sur un reseau Docker dedie.
Le mapping `ports: 5432:5432` echouait avec "address already in use",
et de toute facon le service est joignable via son nom (`postgres`)
depuis le container du job — pas besoin d'exposer le port sur l'hote.
- Drop `ports:` block du service postgres
- DATABASE_URL : host `127.0.0.1` -> `postgres`
Workflow Gitea declenche sur chaque PR ciblant develop, avec deux jobs
paralleles :
- backend : composer install, php-cs-fixer dry-run, bootstrap DB test
(service postgres:16-alpine), phpunit
- frontend : npm ci, eslint, vitest, nuxt build
Ajoute aussi la cible make php-cs-fixer-check (dry-run) pour avoir la
meme commande en local et en CI.
E2E volontairement hors scope (regle d'or testing.md : tests E2E
uniquement pour bug critique passe en prod).