batchCooking/apps/web/cypress/e2e
Nicolas bbd9afe8aa
Some checks failed
CI / lint (push) Failing after 23s
CI / build (push) Successful in 3m11s
CI / e2e (push) Failing after 8m16s
CI / intent-service-test (push) Successful in 12m49s
CI / test (push) Successful in 21m34s
refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/*
L'admin etait une 2e app front Vite independante (apps/admin-web, port 5174,
Dockerfile nginx, service compose dedie, job CI propre) non demandee. Toute
l'UI passe dans apps/web sous le prefixe /admin ; seul le frontend est
fusionne, l'authentification admin reste entierement separee.

Front (apps/web/src) :
- pages -> pages/admin/{login,dashboard,monitoring,corrections,catalog}/,
  layout -> layouts/AdminLayout.tsx, contexte + garde -> features/admin/.
- client API -> api/admin-client.ts : classe AdminApiError (evite la
  collision avec ApiError), lit VITE_API_URL (plus de VITE_ADMIN_API_URL).
- routes /admin/* dans App.tsx, enveloppees d'AdminAuthProvider +
  RequireAdmin -> le probe GET /admin/auth/me ne tourne que sous /admin.
- reutilise l'i18n, lib/zod-errors, services/error-message.service et le
  theme SCSS de apps/web ; bloc i18n admin.* fusionne dans la locale fr
  (les cles errors etaient deja toutes presentes).
- corrige une race dans CatalogPage (reponse d'un onglet precedent qui
  ecrasait l'onglet courant, exposee par le double-mount StrictMode) via
  un ref requestSeq.

Auth admin inchangee : table AdminUser, cookie admin_session,
ADMIN_JWT_SECRET, script create-admin.ts.

Infra :
- docker-compose : service admin-web + ADMIN_WEB_PORT supprimes (l'app
  `app` sert deja le front construit).
- ADMIN_CORS_ORIGIN retire (meme origine) : env.ts, app.ts, .env.example.
- job CI "Run admin-web E2E tests" supprime ; les specs admin-* tournent
  dans le job web (apps/web/cypress/e2e/admin-*.{cy.ts,feature}).
- apps/api/.env.example : ajout ADMIN_JWT_SECRET / ADMIN_INITIAL_*.
- recharts ajoute a apps/web ; pnpm-lock regenere.
- specs/backend-architecture.md : section admin mise a jour.

Verifie : biome + tsc -b (web/api) + pnpm -r build verts ; Cypress web
102/103 (l'unique echec est le flake pre-existant recipe-form.feature
"Preloads ..." de clipping headless, sans rapport) ; 16/16 specs admin ;
45/45 composants.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-29 17:02:29 +02:00
..
account.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
account.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
account.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
admin-catalog.cy.ts refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/* 2026-08-29 17:02:29 +02:00
admin-corrections.cy.ts refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/* 2026-08-29 17:02:29 +02:00
admin-dashboard.cy.ts refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/* 2026-08-29 17:02:29 +02:00
admin-layout.cy.ts refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/* 2026-08-29 17:02:29 +02:00
admin-login.feature refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/* 2026-08-29 17:02:29 +02:00
admin-login.ts refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/* 2026-08-29 17:02:29 +02:00
admin-monitoring.cy.ts refactor(admin): fusionne apps/admin-web dans apps/web sous /admin/* 2026-08-29 17:02:29 +02:00
auth.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
auth.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
cooking-session-page.cy.ts feat(cooking): page /cuisiner + bouton "Commencer a cuisiner" 2026-08-28 19:06:24 +02:00
cooking-session.feature feat(cooking): page /cuisiner + bouton "Commencer a cuisiner" 2026-08-28 19:06:24 +02:00
cooking-session.ts feat(cooking): page /cuisiner + bouton "Commencer a cuisiner" 2026-08-28 19:06:24 +02:00
household-settings.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
household-settings.feature fix(recipes): la source générique JSON-LD n'apparaît plus comme source 2026-08-20 15:10:51 +02:00
household-settings.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
layout.cy.ts feat(shopping-list): liste de courses agrégée depuis le planning (#73) 2026-08-22 22:45:06 +02:00
onboarding.feature fix(recipes): synchronise les sources en base au démarrage de l'image de prod 2026-08-20 13:48:29 +02:00
onboarding.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
planning-page.cy.ts feat(cooking): page /cuisiner + bouton "Commencer a cuisiner" 2026-08-28 19:06:24 +02:00
planning.feature feat(planning): le picker prévisualise avant de confirmer, formulaire de revue intégré 2026-08-21 00:05:17 +02:00
planning.ts feat(planning): le picker prévisualise avant de confirmer, formulaire de revue intégré 2026-08-21 00:05:17 +02:00
preferences.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
preferences.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
preferences.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
recipe-form.feature feat(recipes): permet d'ajouter des ingredients hors-catalogue 2026-08-28 23:36:42 +02:00
recipe-form.ts feat(recipes): permet d'ajouter des ingredients hors-catalogue 2026-08-28 23:36:42 +02:00
recipe-sources.feature feat(recipes): scroll infini + placeholders sur le parcours des sources externes (#71) 2026-08-22 20:09:23 +02:00
recipe-sources.ts feat(recipes): scroll infini + placeholders sur le parcours des sources externes (#71) 2026-08-22 20:09:23 +02:00
recipes.cy.ts fix: corrige les bugs ouverts du repo (import TheMealDB, sidebar mobile) + doc (#59) 2026-08-21 12:16:22 +02:00
recipes.feature feat(tech-steps): fiabilise la détection des tech steps (corpus + LLM + corrections utilisateur) (#66) 2026-08-22 15:57:57 +02:00
recipes.ts feat(recipes): fusionne l'edition de la technique et des metadonnees 2026-08-27 08:30:59 +02:00
shopping-list.feature feat(shopping-list): liste de courses agrégée depuis le planning (#73) 2026-08-22 22:45:06 +02:00
shopping-list.ts feat(shopping-list): liste de courses agrégée depuis le planning (#73) 2026-08-22 22:45:06 +02:00
sidebar.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
smoke.cy.ts Centralize error handling + code quality pass (comments, SCSS theming) (#7) 2026-08-16 18:40:53 +02:00
user-preferences.cy.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
user-preferences.feature refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00
user-preferences.ts refactor: sépare les tests Cypress en parcours utilisateur / layout / composants (#25) 2026-08-19 14:31:17 +02:00