update frontend ui, i18n, filters, and deps

This commit is contained in:
2026-01-22 06:18:04 +01:00
parent 88624f3bed
commit 2b659920c2
52 changed files with 13874 additions and 13 deletions

View File

@@ -0,0 +1,16 @@
# Etape 15 - Settings + Debug
## Backend
- Endpoint config :
- `GET /v1/config`
- `PUT /v1/config`
- Endpoint debug logs :
- `GET /v1/debug/logs`
## Frontend
- Page `/settings` pour edition du `config.json`.
- Page `/debug` pour affichage logs backend.
## Variables
- `CONFIG_PATH` : chemin config (defaut `./data/config.json`).
- `DEBUG_LOG_PATH` : chemin logs (defaut `./data/logs/backend.log`).

View File

@@ -0,0 +1,12 @@
# Etape 16 - Frontend API (listes)
## Objectif
Brancher le frontend sur l'API pour les listes.
## Pages
- `frontend/pages/objets/index.vue` : GET `/v1/objets?limit=50`.
- `frontend/pages/emplacements/index.vue` : GET `/v1/emplacements?limit=50`.
## Notes
- Gestion du chargement et des erreurs.
- Affichage simple sous forme de cartes.

View File

@@ -0,0 +1,11 @@
# Etape 17 - Frontend detail objet
## Objectif
Connecter la fiche objet a l'API.
## Page
- `frontend/pages/objets/[id].vue` : GET `/v1/objets/:id`.
## Notes
- Gestion du chargement et des erreurs.
- Affichage minimal (nom, description, quantite, statut).

View File

@@ -0,0 +1,9 @@
# Etape 18 - Detail objet (pieces jointes + champs)
## Objectif
Afficher les pieces jointes et champs personnalises sur la fiche objet.
## Page
- `frontend/pages/objets/[id].vue`
- GET `/v1/objets/:id/pieces_jointes`
- GET `/v1/objets/:id/champs_personnalises`

View File

@@ -0,0 +1,9 @@
# Etape 19 - Fiche objet (liens, upload, edition champs)
## Ajouts
- Liste et creation des liens emplacements.
- Upload multiple de pieces jointes.
- Creation, edition et suppression des champs personnalises.
## Page
- `frontend/pages/objets/[id].vue`

View File

@@ -0,0 +1,10 @@
# Etape 20 - FileUploader + robustesse
## Ajouts
- Composant `FileUploader` reutilisable.
- Blocage pendant upload et messages d'etat.
- Messages d'erreur/succes pour champs et liens.
## Fichiers
- `frontend/components/FileUploader.vue`
- `frontend/pages/objets/[id].vue`

View File

@@ -0,0 +1,9 @@
# Etape 21 - FileUploader + UI pieces jointes
## FileUploader
- Drag & drop + preview images.
- Etat bloque si upload en cours.
## Pieces jointes
- Actions UI : definir principale, supprimer.
- Indicateur "Principale" sur la fiche objet.

View File

@@ -0,0 +1,10 @@
# Etape 22 - UI CRUD + erreurs
## Frontend
- CRUD objets, categories, emplacements avec formulaires simples.
- Fiche objet : erreurs detaillees (API).
- Settings : champ timezone + injection dans config JSON.
- Debug : auto-refresh + copie des logs.
## Composables
- `frontend/composables/useApi.ts` pour base API + messages d'erreur.

View File

@@ -0,0 +1,11 @@
# Etape 23 - Arborescences, confirmations, polish
## Arborescences
- Vue en liste indentee pour categories et emplacements.
## Confirmations
- Boite de confirmation avant suppression (objets, categories, emplacements, champs, pieces jointes).
## Polish UI
- Amelioration styles : cartes, boutons, inputs, modal.
- Ajout composant `ConfirmDialog`.

View File

@@ -0,0 +1,9 @@
# Etape 24 - Composants + tree
## Composants
- `ObjetForm` pour le formulaire objet.
- `TreeList` pour arborescences collapsibles.
## Pages
- `objets/index.vue` utilise `ObjetForm`.
- `categories/index.vue` et `emplacements/index.vue` utilisent `TreeList`.

View File

@@ -0,0 +1,8 @@
# Etape 25 - Emplacement picker + i18n stub
## Emplacement picker
- Composant `EmplacementPicker` pour choisir un emplacement par nom.
- Utilise la liste des emplacements et affiche une indentation par niveau.
## I18n
- Ajout d'un bloc d'information dans Settings (integration Weblate a venir).

View File

@@ -0,0 +1,9 @@
# Etape 26 - i18n + layout
## i18n
- Ajout du module `@nuxtjs/i18n`.
- Config FR par defaut + fichier `locales/fr.json`.
## Layout
- Ajout d'un layout global avec header nav et footer.
- Styles header/nav/footer dans `assets/css/main.css`.

View File

@@ -0,0 +1,9 @@
# Etape 27 - i18n + composants
## Composants
- `CategorieForm` et `EmplacementForm` pour factoriser les formulaires CRUD.
- `TreeList` conserve l'arborescence collapsible.
## i18n
- Texte UI principal remplace par des cles i18n.
- Fichier `locales/fr.json` enrichi.

View File

@@ -0,0 +1,11 @@
# Etape 28 - i18n complet
## Actions
- Traduction des boutons et messages dans les pages CRUD.
- i18n pour FileUploader et ConfirmDialog.
## Fichiers
- `frontend/locales/fr.json`
- pages CRUD + fiche objet
- `frontend/components/FileUploader.vue`
- `frontend/components/ConfirmDialog.vue`

View File

@@ -0,0 +1,10 @@
# Etape 29 - i18n complet + filtres objets
## i18n
- Remplacement des textes restants par des cles i18n.
- Ajouts dans `locales/fr.json`.
- Composants CRUD et pages detail traduits.
## Objets
- Filtres nom/statut + limite.
- Pagination avec total (meta) et navigation.

View File

@@ -0,0 +1,9 @@
# Etape 30 - i18n fin + filtres/pagination objets
## i18n
- Traduction des textes restants (pages liste/detail, formulaires, confirmations).
- Cles supplementaires dans `locales/fr.json`.
## Objets
- Filtres nom/statut + limite.
- Pagination avec meta (page/total).

View File

@@ -0,0 +1,9 @@
# Etape 31 - Filtres + pagination categories/emplacements
## Categories
- Filtres nom + limite.
- Pagination avec meta.
## Emplacements
- Filtres nom + limite.
- Pagination avec meta.

View File

@@ -0,0 +1,8 @@
# Etape 32 - Filtres backend + tests front
## Backend
- Filtre `nom` sur `GET /v1/categories` et `GET /v1/emplacements`.
## Frontend
- Ajout de Vitest config + test basique `useApi`.
- Script `pnpm test` via `npm run test`.

View File

@@ -0,0 +1,13 @@
# Etape 33 - Warnings npm
## Contexte
Lors de `npm install` dans `frontend/`, npm a remonte des warnings de dependances.
## Warnings observes
- `whatwg-encoding@3.1.1` deprecate (suggestion: @exodus/bytes).
- `vue-i18n@9.14.5` deprecie (v9/v10 non supportees, migration vers v11 conseillee).
- `tar@6.2.1` deprecie (vulnerabilites connues, mise a jour recommandee).
## Vulnerabilites npm audit
- 13 vulnerabilites (2 low, 4 moderate, 5 high, 2 critical).
- Npm a suggere: `npm audit fix --force` (a evaluer avant execution).