Commit graph

94 commits

Author SHA1 Message Date
Imugiii
03ef99d67b feat(back-office): page Stock en tableau de bord (alertes + reappro en avant)
All checks were successful
CI / secret-scan (pull_request) Successful in 34s
CI / php-lint (pull_request) Successful in 1m6s
CI / static-tests (pull_request) Successful in 1m45s
CI / js-tests (pull_request) Successful in 54s
Refonte de la page d'accueil Ingredients/Stock, jugee trop chargee et opaque.
Desormais : un bandeau explique le lien stock -> disponibilite borne (un
ingredient requis sous le seuil critique rend les produits qui l'utilisent
indisponibles a la commande, RG-T21) ; un resume compte les ingredients
critiques / en alerte / au-dessus du seuil ; une section "A reapprovisionner"
met en avant les ingredients bas (critiques d'abord) avec barre de niveau +
bouton Reapprovisionner direct ; la liste complete passe au second plan et le
CRUD (creer / modifier / supprimer) est relegue. Les sous-pages (reappro,
inventaire, mouvements, creation) restent inchangees.

index() expose les compteurs par etat (testables). Tests : IngredientController
+4 cas (bandeau, promotion d'un critique en section reappro, etat vide positif,
compteurs par etat). PHP unit 409, JS 119, PHPStan L6.
2026-06-24 12:39:52 +00:00
9bdd53120c feat(back-office): saisie commande comptoir/drive en POS tactile a tuiles (#104)
All checks were successful
CI / secret-scan (push) Successful in 24s
CI / php-lint (push) Successful in 50s
CI / static-tests (push) Successful in 1m44s
CI / js-tests (push) Successful in 52s
2026-06-24 14:32:11 +02:00
6f2aedc699 chore(borne): bascule allergenes sur /api/allergens + menage donnees/docs (#103)
All checks were successful
CI / secret-scan (push) Successful in 18s
CI / php-lint (push) Successful in 36s
CI / static-tests (push) Successful in 1m25s
CI / js-tests (push) Successful in 37s
2026-06-24 12:37:54 +02:00
3c53908952 fix(borne): confirmation avant Abandon de la commande (#102)
All checks were successful
CI / secret-scan (push) Successful in 16s
CI / php-lint (push) Successful in 47s
CI / static-tests (push) Successful in 1m8s
CI / js-tests (push) Successful in 34s
2026-06-24 12:29:32 +02:00
6bf3597b5e fix(borne): panier unique = panneau persistant (retrait cart.html + product.html) (#101)
All checks were successful
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 1m12s
CI / js-tests (push) Successful in 53s
2026-06-24 12:18:30 +02:00
352355f5a5 feat(back-office): refonte saisie commande comptoir/drive (prix, verrou, nav, file) (#100)
All checks were successful
CI / secret-scan (push) Successful in 15s
CI / php-lint (push) Successful in 35s
CI / static-tests (push) Successful in 1m0s
CI / js-tests (push) Successful in 32s
2026-06-24 12:05:25 +02:00
0968a98668 feat(borne): produit/menu en rupture stock non commandable (RG-T21) (#99)
All checks were successful
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 25s
CI / static-tests (push) Successful in 1m6s
CI / js-tests (push) Successful in 31s
2026-06-24 11:25:14 +02:00
411b04d548 feat(borne): menu Maxi agrandit la boisson en 50cl + transport du format (#98)
All checks were successful
CI / secret-scan (push) Successful in 13s
CI / php-lint (push) Successful in 33s
CI / static-tests (push) Successful in 1m5s
CI / js-tests (push) Successful in 35s
2026-06-24 11:04:20 +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
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
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
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
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
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
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
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
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
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