feat(front) : page repertoire prestataires (ERP-140) #102

Merged
tristan merged 2 commits from feature/ERP-140-page-repertoire-prestataires into develop 2026-06-15 08:51:19 +00:00
Owner

Page d'entree du pole Technique : repertoire prestataires (route /providers).

Perimetre (ERP-140)

  • Page modules/technique/pages/providers/index.vue (route /providers, titre i18n technique.providers.title).
  • MalioDataTable branche sur usePaginatedList<Provider>({ url: '/providers' }) : colonnes Nom / Categories / Site (badges) / Derniere activite (updatedAt, format JJ-MM-AAAA).
  • Clic ligne -> /providers/{id} ; bouton + Ajouter -> /providers/new (gate technique.providers.manage).
  • Drawer Filtres : recherche, categorie (type PRESTATAIRE), site, inclure archives. Etat 100% local (jamais dans l'URL).
  • Bouton Exporter -> /api/providers/export.xlsx (memes filtres).
  • Pagination standard 10/25/50.
  • Composable useProvidersRepository + cles i18n technique.providers.*.

Garde-fous

  • useApi() uniquement, composants Malio*, pas de <table> brut, aucun texte FR en dur.
  • Cloisonnement par site laisse au back.

Tests

  • make nuxt-test : 393/393 verts (dont 3 nouveaux sur useProvidersRepository : ciblage /providers, enveloppe Hydra, exclusion archives par defaut).
  • ESLint clean.
  • Note : nuxi typecheck non concluant dans l'env (develop produit deja ~303 erreurs d'auto-imports non resolus, independamment de cette branche). La page et le composable sont type-clean.
Page d'entree du pole Technique : repertoire prestataires (route /providers). ## Perimetre (ERP-140) - Page `modules/technique/pages/providers/index.vue` (route /providers, titre i18n technique.providers.title). - `MalioDataTable` branche sur `usePaginatedList<Provider>({ url: '/providers' })` : colonnes Nom / Categories / Site (badges) / Derniere activite (updatedAt, format JJ-MM-AAAA). - Clic ligne -> /providers/{id} ; bouton + Ajouter -> /providers/new (gate technique.providers.manage). - Drawer Filtres : recherche, categorie (type PRESTATAIRE), site, inclure archives. Etat 100% local (jamais dans l'URL). - Bouton Exporter -> /api/providers/export.xlsx (memes filtres). - Pagination standard 10/25/50. - Composable `useProvidersRepository` + cles i18n `technique.providers.*`. ## Garde-fous - `useApi()` uniquement, composants `Malio*`, pas de `<table>` brut, aucun texte FR en dur. - Cloisonnement par site laisse au back. ## Tests - `make nuxt-test` : 393/393 verts (dont 3 nouveaux sur useProvidersRepository : ciblage /providers, enveloppe Hydra, exclusion archives par defaut). - ESLint clean. - Note : `nuxi typecheck` non concluant dans l'env (develop produit deja ~303 erreurs d'auto-imports non resolus, independamment de cette branche). La page et le composable sont type-clean.
tristan added 1 commit 2026-06-15 06:26:44 +00:00
feat(front) : page repertoire prestataires
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m17s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m24s
178662f072
tristan added 1 commit 2026-06-15 07:08:22 +00:00
style(front) : icone de la section technique dans la sidebar
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m43s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m24s
d1236f1c88
Owner

Review — RAS, bon pour merge.

Répertoire prestataires conforme aux règles projet :

  • usePaginatedList<Provider> + MalioDataTable (pagination serveur, Accept: application/ld+json), aucun chargement intégral.
  • Filtres en drawer, état 100 % local (jamais dans l'URL — règle n°6) : double niveau brouillon/appliqué OK.
  • useApi() partout, référentiels du drawer via ?pagination=false, export blob /providers/export.xlsx.
  • Miroir fidèle de useSuppliersRepository/répertoire M2 ; divergences M3 bien documentées (sites en relation directe provider.sites vs agrégat des adresses au M2, archivés masqués par défaut, cloisonnement par site côté back, format date JJ-MM-AAAA).
  • Changement d'icône de section seul sur sidebar.php ; les 3 miroirs RBAC portent déjà technique.providers.*.
**Review — RAS, bon pour merge.** Répertoire prestataires conforme aux règles projet : - `usePaginatedList<Provider>` + `MalioDataTable` (pagination serveur, `Accept: application/ld+json`), aucun chargement intégral. - Filtres en drawer, état 100 % local (jamais dans l'URL — règle n°6) : double niveau brouillon/appliqué OK. - `useApi()` partout, référentiels du drawer via `?pagination=false`, export blob `/providers/export.xlsx`. - Miroir fidèle de `useSuppliersRepository`/répertoire M2 ; divergences M3 bien documentées (sites en relation directe `provider.sites` vs agrégat des adresses au M2, archivés masqués par défaut, cloisonnement par site côté back, format date `JJ-MM-AAAA`). - Changement d'icône de section seul sur `sidebar.php` ; les 3 miroirs RBAC portent déjà `technique.providers.*`.
tristan merged commit 090ea5eb49 into develop 2026-06-15 08:51:19 +00:00
tristan deleted branch feature/ERP-140-page-repertoire-prestataires 2026-06-15 08:51:20 +00:00
Sign in to join this conversation.