Commit graph

115 commits

Author SHA1 Message Date
Imugiii
0e51d6151d feat(borne): modale options produit + grille en modales (P5 L3)
All checks were successful
CI / static-tests (pull_request) Successful in 51s
CI / secret-scan (push) Successful in 12s
CI / js-tests (push) Successful in 29s
CI / secret-scan (pull_request) Successful in 12s
CI / php-lint (pull_request) Successful in 24s
CI / js-tests (pull_request) Successful in 31s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 56s
Cliquer un produit ouvre desormais une modale au-dessus de la grille (paradigme
maquette : ecran de commande unique + modales) au lieu de naviguer vers product.html.
Menu -> composeur (L2) ; produit simple -> modale quantite+ajout. A l'ajout, le
panneau de commande persistant (L1) est re-rendu : la commande se met a jour sans
navigation. product.html reste un repli (lien direct).

- product-options.js : modale (image, prix unitaire, stepper quantite, total) ;
  productCartItem pur ; a11y (role=dialog, focus-trap, ESC, fond aria-hidden,
  overflow restaure, aria-live sur quantite ET total).
- page-products.js : clic carte -> modale (preventDefault sur le <a>) ; bouton 'i'
  allergenes garde son stopPropagation.
- style.css : .product-options + .qty-control (reutilise .qty-btn/.qty-value).
- tests : product-options.test.js (productCartItem + rendu/stepper/ajout). 56/56 verts.

Taille 30/50Cl de la maquette differee : absente du modele produit (un seul
price_cents) -> necessitera des variantes produit cote API.
Revue adversariale : 1 finding MEDIUM (aria-live du total) corrige.
2026-06-19 16:39:39 +00: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
50415465a5 docs(journal): retro de session 2026-06-17 (infra, doc, E2E) (#47)
All checks were successful
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 24s
CI / static-tests (push) Successful in 52s
CI / js-tests (push) Successful in 33s
CI / auto-merge (push) Has been skipped
2026-06-17 17:15:33 +02:00
68a2690b98 test(e2e): parcours admin Playwright + fix cookie Secure conditionnel (ADR-0010) (#46)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 43s
CI / js-tests (push) Successful in 24s
CI / auto-merge (push) Has been skipped
2026-06-17 17:07:35 +02:00
aef6174b5b test(e2e): parcours borne Playwright (conteneur, stack jetable) (#45)
All checks were successful
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 25s
CI / js-tests (push) Successful in 30s
CI / static-tests (push) Successful in 47s
CI / auto-merge (push) Has been skipped
2026-06-17 16:38:33 +02:00
32f9baacce docs(domaines): documentation par domaine fonctionnel (7 fiches) (#44)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 41s
CI / js-tests (push) Successful in 19s
CI / auto-merge (push) Has been skipped
2026-06-17 15:55:30 +02:00
33e6901e7c docs(adr): registre des decisions d'architecture (9 ADR) (#43)
Some checks are pending
CI / auto-merge (push) Blocked by required conditions
CI / secret-scan (push) Successful in 11s
CI / static-tests (push) Successful in 48s
CI / php-lint (push) Successful in 25s
CI / js-tests (push) Successful in 19s
2026-06-17 15:51:53 +02:00
92c61e31f7 docs: socle de documentation (ARCHITECTURE + guide developpeur) (#42)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 23s
CI / js-tests (push) Successful in 22s
CI / auto-merge (push) Has been skipped
CI / static-tests (push) Successful in 44s
2026-06-17 15:47:15 +02:00
9d75fabdca chore(docker): docker-compose.yml standalone portable + .env local-first (#41)
All checks were successful
CI / secret-scan (push) Successful in 9s
CI / js-tests (push) Successful in 22s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 50s
CI / auto-merge (push) Has been skipped
2026-06-17 15:31:57 +02:00
e613adc24a chore: remplace le Makefile par un service compose wakdo-migrate (migrate + seed idempotents) (#40)
All checks were successful
CI / static-tests (push) Successful in 46s
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 20s
CI / js-tests (push) Successful in 21s
CI / auto-merge (push) Has been skipped
2026-06-17 15:07:05 +02:00
d880f2512a feat(admin): RBAC - matrice roles/permissions + roles custom (PIN+audit diff) (P3) (#39)
All checks were successful
CI / php-lint (push) Successful in 21s
CI / js-tests (push) Successful in 21s
CI / secret-scan (push) Successful in 10s
CI / static-tests (push) Successful in 44s
CI / auto-merge (push) Has been skipped
2026-06-17 14:25:42 +02:00
e430f54d85 feat(admin): gestion des comptes back-office (CRUD users + RGPD, PIN+audit) (P3) (#38)
All checks were successful
CI / js-tests (push) Successful in 19s
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 45s
CI / auto-merge (push) Has been skipped
2026-06-17 13:49:02 +02:00
9c2844c116 feat(admin): tableau de bord statistiques (catalogue + sante stock RG-T21) (P3) (#37)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 44s
CI / js-tests (push) Successful in 18s
CI / auto-merge (push) Has been skipped
2026-06-17 12:37:58 +02:00
1ecd78324c feat(borne): modale allergenes generale (14 INCO) sur carte et fiche + harnais tests JS (P3) (#36)
All checks were successful
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 42s
CI / js-tests (push) Successful in 18s
CI / auto-merge (push) Has been skipped
2026-06-17 12:10:46 +02:00
ed392d4c14 feat(admin): recettes produit - composition product_ingredient + dispo calculee RG-T21 (P3, ferme #27) (#35)
All checks were successful
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 17s
CI / static-tests (push) Successful in 39s
CI / auto-merge (push) Has been skipped
2026-06-17 11:29:07 +02:00
1f4b9478ca feat(admin): stock ingredients - CRUD, restock, inventaire PIN, mouvements (P3, mlt 8.8 + domaine 9) (#34)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 39s
CI / auto-merge (push) Has been skipped
2026-06-17 11:11:31 +02:00
0666a22562 fix(admin): conflits HTTP 409 au lieu de 422 (delete FK-bloque + course unicite) (#33)
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 / auto-merge (push) Has been skipped
2026-06-17 10:11:28 +02:00
c2a4854083 feat(admin): CRUD menus composes avec slots (P3, mlt 8.4-8.6) (#32)
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 / auto-merge (push) Has been skipped
2026-06-16 15:39:09 +02:00
7d24714d9b docs(borne): clarifie le repli JSON statique (fige, divergent de la DB) (#31)
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 27s
CI / static-tests (push) Successful in 50s
CI / auto-merge (push) Has been skipped
2026-06-16 14:21:53 +02:00
05da325d05 fix(admin): chemin d'echec PIN atomique (pin.failed + throttle dans 1 transaction) (#30)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:21:50 +02:00
2cc499dc71 fix(admin): lien decouvrable vers la page de definition du PIN (#28)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:21:42 +02:00
c284c840d0 fix(admin): retire les liens de nav vers des pages non construites (#23)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
CI / php-lint (push) Has been cancelled
2026-06-16 14:21:35 +02:00
8ce1dc21de docs(catalogue): contrat exact des FK a la suppression produit (#27)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
CI / php-lint (push) Has been cancelled
2026-06-16 14:21:27 +02:00
7d30f5481d feat(cron): purge de retention audit_log + throttle (mlt 13.4/13.5) (#25)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:21:17 +02:00
656c7a2f3d fix(auth): retire le bouton mort PASSWORD_ALGO (argon2id fixe dans le code) (#29)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:21:09 +02:00
6557dd9c6c fix(auth): leurre anti-enumeration sur la demande de reset (#26)
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 / auto-merge (push) Has been cancelled
2026-06-16 14:20:59 +02:00
9ddb4ccb27 fix(kiosk): escape data-derived strings in innerHTML (RG-T15) (#20)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:20:50 +02:00
ee14186a19 fix(admin): remove stale unauthenticated static admin mockups (#19)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:20:45 +02:00
e62a9783b1 fix(db): moindre privilege pour le user applicatif (drop GRANT ALL) (#24)
Some checks failed
CI / secret-scan (push) Successful in 13s
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:19:58 +02:00
6653a7419d docs(journal): audit reel des livrables P2/P3 (2026-06-16) (#22)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:19:48 +02:00
e3d08464bb ci: run DB integration tests against an ephemeral MariaDB service (#21)
Some checks failed
CI / secret-scan (push) Has been cancelled
CI / php-lint (push) Has been cancelled
CI / static-tests (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-06-16 14:19:42 +02:00
ad5203d3fc feat(admin): throttle du PIN d action sensible par acteur (RG-T22) (#18)
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 32s
CI / auto-merge (push) Has been skipped
2026-06-16 00:06:33 +02:00
2756fb4080 feat(admin): CRUD produits avec PIN conditionnel et audit (#17)
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 22s
CI / static-tests (push) Successful in 36s
CI / auto-merge (push) Has been skipped
2026-06-15 22:35:50 +02:00