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).