Imugiii
2fffc7ccba
docs(borne): clarifie le repli JSON statique (fige, divergent de la DB)
...
CI / secret-scan (pull_request) Successful in 12s
CI / php-lint (pull_request) Successful in 25s
CI / static-tests (pull_request) Successful in 42s
CI / auto-merge (pull_request) Successful in 5s
borne/data/produits.json (66) diverge de la table product (53) : c'est le jeu
source ecole complet, fige, consomme par le front borne tant que l'API n'existe
pas, et non un miroir de la base. Faute de note, on pouvait croire la borne
synchrone avec la DB.
Ajout d'un README dans src/public/borne/data/ : statut de repli statique, ecart
produits attendu (categories alignees 9=9), point de bascule P4 (data.js ->
/api/...) apres lequel ces fichiers deviennent obsoletes.
2026-06-16 12:16:51 +00:00
ad5203d3fc
feat(admin): throttle du PIN d action sensible par acteur (RG-T22) ( #18 )
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 )
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
f63ac9873c
feat: PIN self-service P3 (/admin/profile/pin) ( #16 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 35s
CI / auto-merge (push) Has been skipped
2026-06-15 22:04:14 +02:00
8290ceabc4
feat: CRUD categories P3 (rendu serveur, garde + CSRF + validation) ( #15 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 27s
CI / auto-merge (push) Has been skipped
2026-06-15 21:45:31 +02:00
2bc22ab5c8
feat: shell back-office P3 (pages rendues serveur + garde) ( #14 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 16s
CI / static-tests (push) Successful in 30s
CI / auto-merge (push) Has been skipped
2026-06-15 21:25:06 +02:00
7c35f8e2dc
feat: PIN d action sensible P2 (PinVerifier RG-T13) ( #13 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 16s
CI / static-tests (push) Successful in 30s
CI / auto-merge (push) Has been skipped
2026-06-15 21:00:11 +02:00
f979a2339e
feat: RBAC P2 (autorisation par permission + garde de session + /api/me) ( #12 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 33s
CI / auto-merge (push) Has been skipped
2026-06-15 20:45:19 +02:00
1b0b20c12d
feat: authentification back-office P2 (login/logout/reset, throttle, audit) ( #11 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 17s
CI / static-tests (push) Successful in 32s
CI / auto-merge (push) Has been skipped
2026-06-15 20:18:59 +02:00
c8f5370cfd
refactor(core): src/app structure + fix auto-merge label gate ( #10 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 19s
CI / static-tests (push) Successful in 32s
CI / auto-merge (push) Has been skipped
2026-06-15 17:01:10 +02:00
93a6b8e292
Merge pull request 'feat(core): PHP MVC skeleton from scratch (autoloader/router/PDO + tests + CI)' ( #9 ) from feat/p2-core-php into dev
...
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 29s
CI / static-tests (push) Successful in 34s
CI / auto-merge (push) Has been skipped
Reviewed-on: #9
2026-06-15 16:24:45 +02:00
Imugiii
56d0b941e8
ci: install php-xml/php-mbstring for phpunit/phpstan (bookworm php-cli lacks dom/mbstring/xml)
CI / php-lint (push) Successful in 23s
CI / static-tests (push) Successful in 41s
CI / secret-scan (pull_request) Successful in 13s
CI / secret-scan (push) Successful in 9s
CI / php-lint (pull_request) Successful in 27s
CI / static-tests (pull_request) Successful in 37s
CI / auto-merge (push) Has been skipped
CI / auto-merge (pull_request) Has been skipped
2026-06-15 14:18:10 +00:00
Imugiii
e265b0cb92
Merge remote-tracking branch 'forgejo/dev' into feat/p2-core-php
CI / static-tests (pull_request) Failing after 35s
CI / secret-scan (pull_request) Successful in 11s
CI / php-lint (pull_request) Successful in 26s
CI / secret-scan (push) Successful in 13s
CI / php-lint (push) Successful in 26s
CI / static-tests (push) Failing after 31s
CI / auto-merge (pull_request) Has been skipped
CI / auto-merge (push) Has been skipped
2026-06-15 14:13:49 +00:00
Imugiii
8c93b26ec0
feat(core): from-scratch PHP MVC skeleton (autoloader/config/PDO/router/front controller) + PHPUnit/PHPStan + composer-less CI
2026-06-15 14:13:49 +00:00
dca5860869
Merge pull request 'feat(db): seed data (RBAC + allergens + catalogue)' ( #8 ) from feat/p2-seed-data into dev
...
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 5s
CI / auto-merge (push) Has been skipped
Reviewed-on: #8
2026-06-15 15:57:14 +02:00
Imugiii
04404dc8c5
docs: clarify manager has read-only user access (user.read), not zero access
CI / secret-scan (pull_request) Successful in 7s
CI / php-lint (pull_request) Successful in 18s
CI / static-tests (pull_request) Successful in 4s
CI / auto-merge (push) Has been skipped
CI / auto-merge (pull_request) Has been skipped
CI / secret-scan (push) Successful in 10s
CI / php-lint (push) Successful in 18s
CI / static-tests (push) Successful in 5s
2026-06-15 13:47:58 +00:00
Imugiii
fcf52a0895
feat(db): seed data - RBAC matrix + INCO allergens + admin user + catalogue (9 cat / 53 products / 13 menus + composition)
CI / secret-scan (push) Successful in 11s
CI / static-tests (push) Successful in 9s
CI / secret-scan (pull_request) Successful in 10s
CI / php-lint (push) Successful in 26s
CI / php-lint (pull_request) Successful in 25s
CI / static-tests (pull_request) Successful in 7s
CI / auto-merge (push) Has been skipped
CI / auto-merge (pull_request) Has been skipped
2026-06-15 13:45:14 +00:00
41f9c96d33
feat(db): initial schema DDL (21 tables) + migration runner ( #6 )
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 16s
CI / static-tests (push) Successful in 4s
CI / auto-merge (push) Has been skipped
2026-06-15 15:36:05 +02:00
5581d2adea
ci: opt-in auto-merge job (label-gated, API merge on green) ( #7 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 4s
CI / auto-merge (push) Has been skipped
2026-06-15 15:31:49 +02:00
2a67b6fc34
docs(merise): traduction de la prose en francais (identifiants inchanges) ( #5 )
CI / secret-scan (push) Successful in 9s
CI / php-lint (push) Successful in 17s
CI / static-tests (push) Successful in 5s
2026-06-15 15:23:06 +02:00
79d8ad9985
docs(merise): MLD relational schema diagrams (4 sub-domains) ( #4 )
CI / secret-scan (push) Successful in 12s
CI / php-lint (push) Successful in 21s
CI / static-tests (push) Successful in 5s
2026-06-15 12:39:59 +02:00
32ff6a63ba
P1 conception: security-by-design layer (Merise 21 entities, Forgejo CI/CD, hardening) ( #3 )
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 16s
CI / static-tests (push) Successful in 4s
2026-06-15 12:16:11 +02:00
822fdc1bc4
ci: add Forgejo Actions pipeline + gitleaks secret-scan ( #2 )
CI / secret-scan (push) Successful in 7s
CI / php-lint (push) Successful in 15s
CI / static-tests (push) Successful in 6s
2026-06-15 12:01:31 +02:00
Imugiii
971ce0c7d0
chore: add Forgejo PR template (BYAN conventions)
2026-06-04 15:31:38 +00:00
Imugiii
a3eae01906
Merge pull request #6 from AcadeNice/feat/p3-admin-shell
...
feat(admin): admin back-office visual shell (P3 scaffold)
2026-06-04 17:28:31 +02:00
Imugiii
803b840536
Merge pull request #4 from AcadeNice/feat/p5-front-landing
...
feat(front): P5 kiosk complete flow with vanilla JS and JSON fallback
2026-06-04 17:28:13 +02:00
Imugiii
a9938b6e5c
Merge pull request #5 from AcadeNice/feat/p1-conception
...
docs(merise): MCD diagrams in drawio XML (4 files)
2026-06-04 17:27:52 +02:00
Imugiii
392ba9a040
docs(merise): rewrite MLT to prod-like v0.2 (logical treatment rules)
...
service_day 10h cutoff, VAT snapshot by line, drive cross-constraint, atomic stock
decrement/re-credit, optimistic concurrency on status, dashboard filter by role_visible_source,
Maxi format multiplier (quantity_normal/quantity_maxi).
2026-06-04 15:17:33 +00:00
Imugiii
6057ef990f
docs(merise): rewrite MCT to prod-like v0.2 (4-state machine)
...
Drop MARK_IN_PREPARATION / MARK_READY; DELIVER_ORDER as single counter/drive gesture.
Add stock operations (sale decrement, restock, inventory_correction) and RBAC operations.
Actors: 5 seed roles + customer.
2026-06-04 15:17:33 +00:00
Imugiii
36332b4284
docs(merise): rewrite MLD to prod-like v0.2 (19 tables)
...
Polymorphic order_item (exclusivity CHECK), composite-PK join tables, service_day as
query-time CASE (10h cutoff, generated column dropped), line-by-line VAT, ON DELETE rules,
recommended indexes.
2026-06-04 15:17:33 +00:00
Imugiii
6c1cede3f0
docs(merise): rewrite MCD to prod-like v0.2 (19 entities across 4 subdomains)
...
Catalogue / Ingredients and Stock / Order / RBAC subdomains, Mermaid erDiagram inline,
Merise (min,max) cardinality tables, cross-validation 19/19.
2026-06-04 15:17:33 +00:00
Imugiii
6ceebf7fb1
docs(merise): rewrite data dictionary to prod-like v0.2 (19 entities, English)
...
Drop commande_event and menu_produit. Add ingredient configurator (ingredient,
product_ingredient, allergen, ingredient_allergen), numeric stock (stock_movement),
customizable menus (menu_slot, menu_slot_option, order_item_selection, order_item_modifier),
RBAC role attributes (default_route, order_source) and role_visible_source. VAT carried by
product (vat_rate), 4-state order machine, English snake_case naming. Decisions D1-D8 + stock.
2026-06-04 15:17:33 +00:00
Imugiii
de355da54c
docs: journal entry for 2026-06-04 prod-like conception decisions
...
Records the alignment review of all project docs and the point-by-point
decision session: drop commande_event, English naming convention, VAT
carried by product (after BOFiP fact-check), real menu customization,
full ingredient configurator, allergen modal. Lists open points D4-D8.
2026-06-04 10:19:25 +00:00
Imugiii
b8cb3ef68d
docs(merise): commit P1 conception v0.1 (dictionary, MCD, MCT, MLT, MLD) + UML
...
Baseline of the P1 conception work produced over sessions 5-7 (was
uncommitted in the working tree). 11-entity model, French naming.
Superseded next by the prod-like revision (English, ~16 entities) per
the 2026-06-04 decision session - this commit preserves the baseline
in history before that rewrite.
2026-06-04 10:19:25 +00:00
Imugiii
17b792acfa
feat(admin): vanilla JS for dropdowns, sortable tables, inline search
2026-05-09 09:27:51 +00:00
Imugiii
199d926903
feat(admin): orders, kitchen view, users pages with realistic placeholders
2026-05-09 09:27:48 +00:00
Imugiii
447cc598f6
feat(admin): catalogue page with tabs categories/products/menus
2026-05-09 09:27:45 +00:00
Imugiii
b9a5414c37
feat(admin): dashboard with KPI cards and recent orders table
2026-05-09 09:27:42 +00:00
Imugiii
0b028e534b
feat(admin): admin design system CSS (palette, typography, components)
2026-05-09 09:27:40 +00:00
Imugiii
6f07238569
feat(admin): scaffold login screen and admin layout shell (sidebar, topbar)
2026-05-09 09:27:38 +00:00
Imugiii
c9fafd1c78
feat(front): render menu composition breakdown in cart lines with supplement total
2026-05-09 09:18:56 +00:00
Imugiii
e64adb60d3
feat(front): add menu composer multi-step logic and burger pre-selection
2026-05-09 09:18:49 +00:00
Imugiii
ad0b59a668
feat(front): extend cart state for menu composition with size supplements
2026-05-09 09:18:47 +00:00
Imugiii
6db68da0f9
feat(front): add menu composer modal HTML structure and CSS
2026-05-09 09:18:42 +00:00
Imugiii
6a7e772646
feat(front): extend CSS design system for P5 new screens
...
Adds components (sections 7-13 in style.css):
- Shared: .btn, .mode-badge, .cart-badge, .site-header__cart
- products page: .products-grid, .product-card (3-col grid)
- product detail: .product-detail, skeleton animation, composition block
- cart: .cart-line, .qty-btn, .cart-summary
- payment: .payment-choice with inline SVG icons
- confirmation: .confirmation-banner with check animation
All new components reuse existing design tokens; no new palette entries.
2026-05-09 07:59:50 +00:00
Imugiii
0d83512a4f
feat(front): payment selection and order confirmation pages
...
payment.html - card / cash choice with inline SVG icons; both simulate payment (MVP)
confirmation.html - order number WK-<base36 timestamp>, cart cleared on load,
new-order button resets flow to index.html
2026-05-09 07:59:45 +00:00
Imugiii
c517b16569
feat(front): cart page with quantity controls and TVA breakdown
...
Displays line items with - / + controls and delete button.
TVA 10% (restauration FR 2024, simplified).
TODO in P3: verify rate with accountant (sur-place vs a-emporter + product type).
Abandon button clears cart and returns to categories.
2026-05-09 07:59:40 +00:00
Imugiii
cd6e05c353
feat(front): products list and product detail pages
...
products.html - dynamic grid from ?category=<id>, JS fetch from data/produits.json
product.html - detail view; menus show fixed composition note (MVP: no selection)
Both pages: cart badge, mode badge, keyboard/RGAA accessible cards
2026-05-09 07:59:35 +00:00
Imugiii
43b6e7a309
feat(front): vanilla JS state management, data loader, and nav helpers
...
state.js - cart (localStorage) + mode + price formatting in centimes
data.js - fetch wrapper over static JSON with in-memory cache; P4 swap points marked
nav.js - mode badge injection and cart count badge across pages
2026-05-09 07:59:31 +00:00
Imugiii
6f5daca679
feat(front): copy school JSON sources to public/data for static fetch fallback
...
Normalizes produits.json:
- Prix converted from float EUR to integer centimes
- Image paths rewritten to match actual filesystem (lowercase, dashes)
- Added type field ('produit'|'menu') on each entry
- Added slug field to categories.json
In P4, swap fetch URLs in assets/js/data.js (marked with TODO comments).
2026-05-09 07:59:26 +00:00