Commit graph

146 commits

Author SHA1 Message Date
Imugiii
b3521f7a56 feat(borne): menu Maxi agrandit la boisson en 50cl + transport explicite du format
All checks were successful
CI / secret-scan (push) Successful in 18s
CI / js-tests (pull_request) Successful in 38s
CI / php-lint (push) Successful in 42s
CI / static-tests (push) Successful in 1m29s
CI / js-tests (push) Successful in 45s
CI / secret-scan (pull_request) Successful in 17s
CI / php-lint (pull_request) Successful in 40s
CI / static-tests (pull_request) Successful in 1m10s
Seed 0006 lie chaque soda fontaine 30cl a sa variante 50cl via
maxi_variant_product_id : en menu Maxi, resolveSelections substitue la
boisson vers la 50cl (meme mecanique que l'accompagnement Grande Frite),
sans code serveur. Les boissons en bouteille (sans variante) restent en
taille standard, le surcout Maxi etant porte par le menu.

La borne transporte desormais le format Normal/Maxi explicitement
(buildMenuCartItem) au lieu de l'inferer de supplement_cents>0 (faux
negatif si maxi==normal) ; checkout.js lit cartItem.format avec repli
historique pour les paniers serialises. Commentaire migration 0007
corrige (la substitution Maxi de la boisson est desormais voulue).

Tests : OrderRepositoryTest (boisson Maxi -> 50cl + bouteille inchangee),
checkout/composer-slots (format transporte). Seed valide idempotent sur
base jetable (5 sodas lies, frites intactes, bouteilles NULL).
2026-06-24 08:57:53 +00:00
8e2e0382ba fix(devops): passer les variables SMTP/MAIL au conteneur wakdo-app (#97)
All checks were successful
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 27s
CI / static-tests (push) Successful in 58s
CI / js-tests (push) Successful in 28s
2026-06-23 16:11:31 +02:00
ef71101453 feat(auth): envoi reel de l'email de reset via relais SMTP (Brevo) (#96)
All checks were successful
CI / secret-scan (push) Successful in 14s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 1m3s
CI / js-tests (push) Successful in 1m29s
2026-06-23 15:34:27 +02:00
80b8272291 chore(devops): modeles versionnes docker-compose.prod.yml + .env de prod (#95)
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 25s
CI / static-tests (push) Successful in 58s
CI / js-tests (push) Successful in 36s
2026-06-23 15:01:02 +02:00
8c5d942de8 feat(devops): CD push-based vers Vision (prod) + preuve de version (#94)
All checks were successful
CI / secret-scan (push) Successful in 14s
CI / php-lint (push) Successful in 24s
CI / static-tests (push) Successful in 1m4s
CI / js-tests (push) Successful in 35s
2026-06-23 11:32:57 +02:00
193a15abf7 fix(front): bouton police adaptee en bas-gauche (evite la collision panier) (#92)
All checks were successful
CI / secret-scan (push) Successful in 17s
CI / php-lint (push) Successful in 24s
CI / static-tests (push) Successful in 1m0s
CI / js-tests (push) Successful in 31s
CI / secret-scan (pull_request) Successful in 10s
CI / php-lint (pull_request) Successful in 23s
CI / static-tests (pull_request) Successful in 59s
CI / js-tests (pull_request) Successful in 35s
2026-06-23 10:02:52 +02:00
fe5ac06e04 fix(admin): racine du back-office redirige vers /login (#91)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 50s
CI / js-tests (push) Successful in 30s
2026-06-23 09:56:18 +02:00
82adc77879 fix(borne): affiche la Grande en menu Maxi (accompagnement) (#90)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 24s
CI / static-tests (push) Successful in 55s
CI / js-tests (push) Successful in 27s
2026-06-22 16:23:39 +02:00
042c30a5fe fix(borne): persiste + garde le mode de consommation (corrige 422 paiement) (#89)
All checks were successful
CI / secret-scan (push) Successful in 14s
CI / php-lint (push) Successful in 30s
CI / static-tests (push) Successful in 1m1s
CI / js-tests (push) Successful in 30s
2026-06-22 15:43:32 +02:00
545aa19cf1 feat(borne): tailles 30/50cl boissons a la carte (R4) (#88)
All checks were successful
CI / secret-scan (push) Successful in 18s
CI / php-lint (push) Successful in 33s
CI / static-tests (push) Successful in 1m9s
CI / js-tests (push) Successful in 41s
2026-06-22 14:07:46 +02:00
034038a31f feat(orders): UI modificateurs composeur comptoir/drive (R3c) (#87)
All checks were successful
CI / secret-scan (push) Successful in 13s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 56s
CI / js-tests (push) Successful in 31s
2026-06-22 13:39:30 +02:00
6347c66a7e feat(orders): composeur de menus (slots + format) saisie comptoir/drive (#86)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 48s
CI / js-tests (push) Successful in 28s
2026-06-22 12:28:13 +02:00
5cc879c3ea feat(orders): saisie commande comptoir/drive - fondation produits (mlt 4.1) (#85)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 49s
CI / js-tests (push) Successful in 27s
2026-06-22 12:09:11 +02:00
ea1654c21a feat(menu): accompagnement Maxi en variante Grande automatique (variante en base) (#84)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 24s
CI / static-tests (push) Successful in 58s
CI / js-tests (push) Successful in 32s
2026-06-22 11:52:04 +02:00
741cfdb02b feat(orders): annulation de commande (CANCEL_ORDER) - PIN + audit + restock (mlt 7.1) (#83)
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 47s
CI / js-tests (push) Successful in 25s
2026-06-22 11:35:55 +02:00
4206452a7e fix(devops): deploy.sh build depuis Dockerfiles + pull main Forgejo (#82)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 48s
CI / js-tests (push) Successful in 29s
2026-06-22 11:05:39 +02:00
10705858ac feat(stock): enrichissement nutritionnel via API externe OpenFoodFacts (Cr 3.a.3) (#79)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 49s
CI / js-tests (push) Successful in 26s
2026-06-22 09:31:15 +02:00
80919f62c1 feat(orders): KDS cuisine + transition paid vers delivered (P3 operationnel) (#81)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 43s
CI / js-tests (push) Successful in 33s
2026-06-22 09:28:39 +02:00
9e3346181d docs: strategie de test (couverture + E2E hors CI) (#80)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 27s
CI / static-tests (push) Successful in 52s
CI / js-tests (push) Successful in 29s
2026-06-22 09:19:31 +02:00
8af17842b9 feat(borne): SEO demonstratif + @supports + validation chevalet temps reel (Cr 1.e/1.b.3/2.b.1) (#78)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 58s
CI / js-tests (push) Successful in 26s
2026-06-22 08:59:25 +02:00
cb990404e3 feat(api): suivi public du statut commande GET /api/orders/{number} (P4) (#77)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 47s
CI / js-tests (push) Successful in 26s
2026-06-22 08:53:36 +02:00
918420c497 docs(architecture): schema fonctionnel des vues (Cr 4.a.4) (#76)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 43s
CI / js-tests (push) Successful in 23s
2026-06-22 08:50:10 +02:00
09ac9e5a3f chore(devops): hooks Git versionnes + scripts deploy et restore (Cr 4.f.2 / 7.b.2) (#75)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 45s
CI / js-tests (push) Successful in 23s
2026-06-22 08:44:45 +02:00
a1d4332714 docs: aligner PROJECT_CONTEXT et README sur l'etat reel (#74)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / js-tests (push) Has been cancelled
2026-06-22 08:43:02 +02:00
66aaa77f87 feat(borne): police OpenDyslexic auto-hebergee + bascule accessibilite (RGAA Cr 1.c.2) (#73)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 47s
CI / js-tests (push) Successful in 24s
2026-06-22 08:38:46 +02:00
121877ea65 feat(admin): page d'information RGPD sur le traitement des donnees (Cr 3.d.2) (#72)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 27s
CI / static-tests (push) Successful in 58s
CI / js-tests (push) Successful in 27s
2026-06-22 08:29:22 +02:00
7ab9a5a8cf feat(api): endpoint public /api/allergens (P4 optionnel) (#71)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 25s
CI / static-tests (push) Successful in 49s
CI / js-tests (push) Successful in 29s
2026-06-19 20:30:12 +02:00
1d56d5b574 feat(admin): liste des commandes + KPIs de vente (P4) (#70)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 47s
CI / js-tests (push) Successful in 24s
2026-06-19 20:24:33 +02:00
6c431af197 chore(borne): memoisation loaders data.js + contraste a11y selection (#69)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 48s
CI / js-tests (push) Successful in 27s
2026-06-19 20:07:48 +02:00
7575d0458a feat(borne): soumission reelle de commande + ecran chevalet (P5 L4) (#68)
All checks were successful
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 54s
CI / js-tests (push) Successful in 28s
2026-06-19 20:02:01 +02:00
dfbf1bbe0f feat(stock): seed ingredients + recettes des 53 produits (P4) (#67)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 41s
CI / js-tests (push) Successful in 25s
2026-06-19 19:41:00 +02:00
22a4bacc22 feat(borne): modale options produit + grille en modales (P5 L3) (#66)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 54s
CI / js-tests (push) Successful in 29s
2026-06-19 18:41:57 +02:00
6e5a5f9334 feat(borne): composeur menu pilote par les slots /api/menus (P5 L2) (#65)
All checks were successful
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 31s
CI / static-tests (push) Successful in 58s
CI / js-tests (push) Successful in 33s
2026-06-19 18:30:38 +02:00
c73afdf471 feat(borne): panneau commande persistant + bandeau categories (P5 L1) (#64)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 53s
CI / js-tests (push) Successful in 26s
2026-06-19 16:54:47 +02:00
f2fdaea89a docs(design): decomposition maquette borne + ecrans + tracabilite vs build (#63)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 47s
CI / js-tests (push) Successful in 24s
2026-06-19 16:25:18 +02:00
6c6a34db9f fix(borne): passerelle /api same-origin sur le vhost kiosk (#62)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 25s
CI / static-tests (push) Successful in 52s
CI / js-tests (push) Successful in 28s
2026-06-19 16:15:41 +02:00
7a0702ff6e feat(borne): cablage de la borne sur l'API (CORS + data.js) (#61)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 52s
CI / js-tests (push) Successful in 26s
2026-06-18 16:46:17 +02:00
a35db88d2f feat(api): P4 chunk 2 - read API catalogue borne (categories/produits/menus) (#60)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 44s
CI / js-tests (push) Successful in 27s
2026-06-18 16:10:36 +02:00
9bc0140b9a feat(admin): ecran Roles humanise (#53)
All checks were successful
CI / secret-scan (push) Successful in 27s
CI / php-lint (push) Successful in 40s
CI / static-tests (push) Successful in 1m14s
CI / js-tests (push) Successful in 30s
2026-06-18 15:00:54 +02:00
7a2528a280 docs(journal): retro de session 2026-06-18 (#59)
Some checks failed
CI / secret-scan (push) Successful in 22s
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / js-tests (push) Has been cancelled
2026-06-18 14:51:32 +02:00
05eca6aea2 ci: retire le job auto-merge redondant (#58)
All checks were successful
CI / secret-scan (push) Successful in 15s
CI / php-lint (push) Successful in 31s
CI / static-tests (push) Successful in 1m9s
CI / js-tests (push) Successful in 32s
2026-06-18 14:44:25 +02:00
60ce3460a5 feat(api): P4 chunk 1b - encaissement + decrement stock (#57)
All checks were successful
CI / secret-scan (push) Successful in 18s
CI / php-lint (push) Successful in 27s
CI / static-tests (push) Successful in 55s
CI / js-tests (push) Successful in 31s
CI / auto-merge (push) Has been skipped
2026-06-18 14:29:22 +02:00
a6ac3d6421 fix(admin): logo reel dans la sidebar back-office (#56)
Some checks are pending
CI / secret-scan (push) Waiting to run
CI / php-lint (push) Waiting to run
CI / static-tests (push) Waiting to run
CI / js-tests (push) Waiting to run
CI / auto-merge (push) Blocked by required conditions
2026-06-18 14:24:34 +02:00
29a191e506 feat(api): P4 chunk 1a - creation de commande + chevalet (#55)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / js-tests (push) Successful in 35s
CI / auto-merge (push) Has been skipped
CI / php-lint (push) Successful in 29s
CI / static-tests (push) Successful in 1m5s
2026-06-18 14:09:35 +02:00
1697b94b62 feat(admin): humanise les libelles restants (Reference/Variation/Auteur) (#54)
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 21s
CI / js-tests (push) Successful in 24s
CI / auto-merge (push) Has been skipped
CI / static-tests (push) Successful in 52s
2026-06-18 13:45:46 +02:00
60535bbe00 feat(admin): modal de re-autorisation PIN (#52)
All checks were successful
CI / secret-scan (push) Successful in 15s
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 1m5s
CI / js-tests (push) Successful in 32s
CI / auto-merge (push) Has been skipped
2026-06-18 13:17:59 +02:00
88e3cbc1bb fix(borne): logo d'en-tete centre (#51)
All checks were successful
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 48s
CI / js-tests (push) Successful in 25s
CI / auto-merge (push) Has been skipped
CI / secret-scan (push) Successful in 8s
2026-06-18 12:40:23 +02:00
1b29cd420f feat(admin): dashboard donnees reelles (lot 2) (#50)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 47s
CI / js-tests (push) Successful in 30s
CI / auto-merge (push) Has been skipped
2026-06-18 12:24:43 +02:00
8d1a69f5cf feat(admin): design system back-office (direction A+C, lot 1) (#49)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / static-tests (push) Successful in 1m10s
CI / js-tests (push) Successful in 27s
CI / php-lint (push) Successful in 21s
CI / auto-merge (push) Has been skipped
2026-06-18 12:03:39 +02:00
7281d958b4 feat(admin): relooking des pages auth (login/forgot/reset) (#48)
All checks were successful
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 30s
CI / static-tests (push) Successful in 1m6s
CI / js-tests (push) Successful in 35s
CI / auto-merge (push) Has been skipped
2026-06-18 11:19:21 +02:00