Commit graph

118 commits

Author SHA1 Message Date
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
f63ac9873c feat: PIN self-service P3 (/admin/profile/pin) (#16)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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
All checks were successful
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)
All checks were successful
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
Some checks failed
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
All checks were successful
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
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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)
All checks were successful
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