# Workflow ## Langue - **UI** : francais (tout ce qui est visible utilisateur) - **Communication avec l'utilisateur** : francais - **Code** (noms de classes, methodes, variables, types) : anglais - **Commentaires** (PHP, TS, Vue — docblock, inline, bloc) : **francais**. Objectif : faciliter la relecture par l'equipe FR sans polluer l'API publique du code ## Delegation Codex Pour les taches mecaniques (generation de tests boilerplate, renommages massifs, refacto repetitif, scaffolding), **deleguer a Codex** via le plugin `codex` (skill `codex:rescue`). - **Codex** = junior rapide et pas cher → executions mecaniques - **Claude** = senior qui verifie et reflechit → design, review, decisions Ratio qualite/credits optimal : Claude conserve la reflexion et la validation, Codex avale le boilerplate. ## Avant d'implementer un ticket Les specs fonctionnelles vivent sous `docs/{rbac,sites,modules}/ticket-*-spec.md`. Avant de coder : 1. Lire la spec correspondante en entier (elles sont longues mais exhaustives) 2. Ne pas inventer de detail non specifie — demander a l'utilisateur ou citer explicitement la section manquante 3. Si la spec contredit le code existant, poser la question avant de choisir ## Verification avant "c'est fini" Ne jamais declarer une tache terminee sans avoir lance les verifications applicables : | Ce qui a bouge | Commande a lancer | |---|---| | Fichiers PHP | `make test` + `make php-cs-fixer-allow-risky` | | Fichiers front (Vue/TS) | `make nuxt-test` | | Migrations | `make migration-migrate` (sur BDD fraiche ideal : `make db-reset`) | | Sidebar / permissions | Verifier que les 3 miroirs RBAC sont alignes (cf. @.claude/rules/testing.md) | | UI visible | Demarrer `make dev-nuxt` et verifier le golden path dans le navigateur | Si une verification echoue ou ne peut pas etre lancee (ex : container pas demarre), le dire explicitement plutot que d'annoncer "fini". ## Time tracking Lesstime Au demarrage de toute tache de dev sur Coltura, creer une time entry via l'API Lesstime (cf. `~/.claude/CLAUDE.md` pour la procedure complete). - Projet : `/api/projects/6` (COLTURA) - Tags : choisir selon le type (Backend `3`, Frontend `2`, Infra `5`, UI/UX `4`, Maintenance `6`, Gestion projet `9`, etc.) ## Fix `make cache-clear` (permissions `var/`) Si `make cache-clear` echoue sur les permissions de `var/` : ```bash docker exec -t -u root php-coltura-fpm chown -R www-data:www-data /var/www/html/var docker exec -t -u www-data php-coltura-fpm php bin/console cache:clear ``` A terme : integrer ce fix dans le `makefile` lui-meme. ## Docker — references utiles - Container PHP : `php-coltura-fpm` - Container Nginx : `nginx-coltura` (port 8083) - Container DB : PostgreSQL port **5437** (interne et externe) - Config dev : `infra/dev/.env.docker` (override local : `infra/dev/.env.docker.local`) - Config prod : `infra/prod/` (Dockerfile multi-stage, `docker-compose.prod.yml`) - Apres modif nginx : `docker restart nginx-coltura`