feat(transport) : upload décharge + i18n transporteur (ERP-171) #130

Merged
tristan merged 10 commits from feat/erp-171-carrier-upload-i18n into develop 2026-06-18 08:50:16 +00:00
Owner

useUpload + câblage MalioInputUpload (champ Décharge, visible si certification AUTRE) + i18n erreur upload. Libellés certification/sidebar/audit déjà présents (non dupliqués). Ticket ERP-171.

useUpload + câblage MalioInputUpload (champ Décharge, visible si certification AUTRE) + i18n erreur upload. Libellés certification/sidebar/audit déjà présents (non dupliqués). Ticket ERP-171.
tristan added 18 commits 2026-06-17 13:14:40 +00:00
feat(transport) : page répertoire transporteurs (ERP-164)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m54s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m33s
1ef4215ebf
feat(transport) : filtres checkbox, toggle « Voir les archivés », transporteurs dans Administration (ERP-164)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m9s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m36s
8046de76c6
chore(frontend) : bump @malio/layer-ui ^1.7.12 + commentaire useSuppliersRepository
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m14s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m31s
597c63bb2e
feat(transport) : écran ajout transporteur — layout + formulaire principal (ERP-165)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m11s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
5734aaef54
fix(transport) : centre verticalement la case « Affréter » sur la ligne de champ (ERP-165)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m2s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m24s
f1b18cfbbe
feat(transport) : saisie assistée QUALIMAT + champs conditionnels (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m8s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m36s
f70e701854
fix(transport) : décharge après volume (nouvelle ligne) + contenant Benne/FM en select (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m1s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
8cc2cea444
fix(transport) : ordre des champs Nom/Certif/Décharge/Affréter/Indexation/Benne/Volume (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Has been cancelled
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
be03f4e51a
fix(transport) : colonne 3 réservée à la décharge, « Affréter » toujours en colonne 4 (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m9s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
9864dbc00f
fix(transport) : certification obligatoire en pré-validation front, sauf cas LIOT (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m7s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
3804362546
fix(transport) : pré-validation front des champs conditionnels obligatoires (décharge AUTRE, affrètement) (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Has been cancelled
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
6a519874ed
feat(transport) : croix de suppression sur le champ Décharge (clearable) (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m9s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m33s
d6d2144cc1
refactor(transport) : onglet Qualimat en MalioDataTable paginé, recherche branchée sur le nom (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m1s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m44s
388d39a379
feat(transport) : onglet Qualimat accessible dès le départ, recherche réactive au nom, sélection remplit le formulaire (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Failing after 49s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m34s
cf645493c1
feat(transport) : datatable Qualimat vide par défaut, n'affiche que les résultats de recherche (ERP-166)
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m30s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Failing after 42s
0733a239a8
Merge remote-tracking branch 'origin/develop' into feat/erp-164-carriers-list
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m1s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m20s
45158af920
Merge branch 'feat/erp-164-carriers-list' into feat/erp-165-carrier-new
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m54s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m22s
4202977950
Merge branch 'feat/erp-165-carrier-new' into feat/erp-166-qualimat-search
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 2m57s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m26s
40fdded7e2
tristan added the frontM4-Transporteurtype/feat labels 2026-06-17 13:14:52 +00:00
Author
Owner

Review front — ERP-171 (upload décharge + i18n)

Verdict : mergeable en l'état.

useUpload (dans shared/, générique, signature (file) => Promise<string> (IRI), aucun couplage au module transport, état local non-singleton donc pas de fuite). Upload réellement différé à l'enregistrement (test prouve post non appelé à la sélection → anti-orphelin), ordre upload→création garanti (if (!(await resolveDischargeUpload())) return false), erreur 422 mappée inline avec fallback i18n (form.errors.uploadFailed), FormData correctement détecté par useApi (pas de Content-Type forcé). Anciens TODO ERP-171 retirés de new.vue. Tests sur les chemins critiques.

Findings

  • NIT — Pas de pré-validation de taille côté front : un fichier volumineux part au back avant rejet. L'autorité MIME/taille reste le serveur (conforme), mais un garde-fou de taille améliorerait l'UX.
  • NIT — Le commentaire « spinner éventuel » de useUpload n'est pas concrétisé ; dischargeUploading verrouille déjà le champ (anti double-soumission). Cosmétique.

Incrément reviewé : erp-170..erp-171 (front).

## Review front — ERP-171 (upload décharge + i18n) **Verdict : mergeable en l'état.** `useUpload` (dans `shared/`, générique, signature `(file) => Promise<string>` (IRI), aucun couplage au module transport, état local non-singleton donc pas de fuite). **Upload réellement différé** à l'enregistrement (test prouve `post` non appelé à la sélection → anti-orphelin), **ordre upload→création garanti** (`if (!(await resolveDischargeUpload())) return false`), erreur 422 mappée inline avec fallback i18n (`form.errors.uploadFailed`), `FormData` correctement détecté par `useApi` (pas de Content-Type forcé). Anciens `TODO ERP-171` retirés de `new.vue`. Tests sur les chemins critiques. **Findings** - **NIT** — Pas de pré-validation de **taille** côté front : un fichier volumineux part au back avant rejet. L'autorité MIME/taille reste le serveur (conforme), mais un garde-fou de taille améliorerait l'UX. - **NIT** — Le commentaire « spinner éventuel » de `useUpload` n'est pas concrétisé ; `dischargeUploading` verrouille déjà le champ (anti double-soumission). Cosmétique. > Incrément reviewé : `erp-170..erp-171` (front).
tristan added 30 commits 2026-06-17 14:09:23 +00:00
fix(transport) : intégration QUALIMAT — copie locale seulement après PATCH réussi (évite un état non persisté) (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m4s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m43s
c6259a96cd
feat(transport) : onglet adresses transporteur (ERP-167)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m18s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m34s
ef996c3672
fix(transport) : contact transporteur valide si prénom OU nom (alignement M1/M2/M3) (ERP-168)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m24s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m35s
f29266e5e8
fix(transport) : pré-validation front du bloc prix — erreurs inline sous tous les champs requis (selects branche) (ERP-169)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m4s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m34s
fb9c15c52a
fix(transport) : affiche le message 409 (homonyme) à la restauration + virgule décimale dans sanitizeDecimal (ERP-170)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m7s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m41s
b6b5bb06e8
fix(transport) : embarque le nom de la décharge dans le détail carrier (consultation/modif) (ERP-171)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m15s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m50s
498cef8cc0
tristan force-pushed feat/erp-171-carrier-upload-i18n from ccd0fcfaa8 to 498cef8cc0 2026-06-17 14:09:23 +00:00 Compare
tristan added 2 commits 2026-06-17 15:40:08 +00:00
feat(transport) : modif — onglet Qualimat (actualisation) + certification éditable (déliage Qualimat) (ERP-172)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m14s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
76fb01c063
tristan added 1 commit 2026-06-17 15:44:38 +00:00
feat(transport) : retour au répertoire après validation du dernier onglet (création) (ERP-172)
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Has been cancelled
9fcf5c24f6
tristan added 1 commit 2026-06-17 15:47:03 +00:00
style(transport) : tableau prix consultation — code du site (département) + en-têtes Forfait/Tonne (€) (ERP-172)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m15s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m31s
7ddf495d7f
tristan added 1 commit 2026-06-17 15:57:28 +00:00
style(transport) : tableau prix consultation — « Type de transport » (colonne élargie, en-tête centré) (ERP-172)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Has been cancelled
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Has been cancelled
c468374b16
tristan added 1 commit 2026-06-17 15:58:10 +00:00
style(transport) : tableau prix consultation — colonne « Type de transport » à 170px (ERP-172)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m3s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m32s
80b3741f64
tristan added 1 commit 2026-06-18 08:37:49 +00:00
refactor(transport) : supprime les reliquats multi-adresses — colonne position, dead code front, docblocks 1:n (ERP-172)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 3m20s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m39s
d304b74289
tristan merged commit 21b1c64a5f into develop 2026-06-18 08:50:16 +00:00
tristan deleted branch feat/erp-171-carrier-upload-i18n 2026-06-18 08:50:17 +00:00
Sign in to join this conversation.