0fbca06d3d
Cartographie complète (liste_taches/coherence_taches), briefs tacheN + gates validation_tacheN, design tâche 2 (docs/design/tache2/), specs/plans jalon 1-2 et tâche 1.9/2 (Phase 1, Phase 2, SJ-0→3). Validations consignées (1.9 ✅, 2-8 🟡). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
165 lines
4.8 KiB
Markdown
165 lines
4.8 KiB
Markdown
# Plan de développement — Tâche 3
|
|
|
|
> Suivi vivant du développement lié à `tache3.md`.
|
|
> Objectif : faire évoluer la webapp vers les tuiles machine extensibles, paramètres frontend et layout dashboard cible.
|
|
|
|
---
|
|
|
|
## 0. Position actuelle
|
|
|
|
- Date de démarrage dev : 2026-06-05.
|
|
- État : démarrage après validation tâche 3.
|
|
- Validation disponible : `validation_tache3.md`, verdict **accepté avec réserves**.
|
|
- Périmètre immédiat : webapp React, design system, tuiles machine.
|
|
|
|
---
|
|
|
|
## 1. Réserves à traiter
|
|
|
|
- [ ] Clarifier logos officiels : favicon/app icon original, logos officiels uniquement pour types/outils si autorisés.
|
|
- [ ] Ajouter ou décider le composant `Checkbox`/sélection profil post-install.
|
|
- [ ] Prévoir spec mobile dédiée.
|
|
- [ ] Aligner largeurs min/max Hermes/terminal avec design system.
|
|
- [ ] Ajouter état machine erreur/hors ligne dans les maquettes et l'UI.
|
|
- [ ] Trancher sauvegarde paramètres : auto-save ou bouton save.
|
|
- [ ] Prévoir composants `Select`/`Dropdown` design system.
|
|
|
|
---
|
|
|
|
## 2. Jalons
|
|
|
|
### 3.0 — Reprise et cadrage
|
|
|
|
- [x] Vérifier que `plan_8.md` est à jour.
|
|
- [x] Mettre la tâche 8 en pause.
|
|
- [x] Relire `tache3.md` et `validation_tache3.md`.
|
|
- [x] Inspecter `MachineTile`, `Dashboard`, `App`, `ui-kit`, CSS.
|
|
|
|
### 3.1 — Tuile machine compacte/extensible
|
|
|
|
- [x] Remplacer les boutons texte système par `IconButton`.
|
|
- [x] Utiliser `StatusLed` du ui-kit.
|
|
- [x] Afficher OS/type/status/dernier check de façon compacte.
|
|
- [x] Ajouter sections repliables Docker et Post-install.
|
|
- [x] Ajouter état erreur/hors ligne lisible dans la tuile.
|
|
- [x] Ajouter CSS dédié sans inline styles excessifs.
|
|
- [x] Vérifier TypeScript/build.
|
|
|
|
### 3.2 — Layout global webapp
|
|
|
|
- [x] Ajouter header webapp.
|
|
- [x] Ajouter footer/barre de tâche avec métriques minimales.
|
|
- [x] Vérifier que Hermes/centre/terminal ne se chevauchent pas.
|
|
- [x] Préparer largeurs bornées et future redimension.
|
|
|
|
### 3.3 — Paramètres frontend
|
|
|
|
- [x] Créer vue Paramètres.
|
|
- [x] Apparence/thème/zoom/tuiles.
|
|
- [x] Layout volets Hermes/terminal.
|
|
- [x] Scripts custom, Docker roots, nettoyage logs.
|
|
- [x] Persistance backend à préparer, pas localStorage seul.
|
|
|
|
### 3.4 — Mode smartphone
|
|
|
|
- [ ] Brainstorm UX dédiée.
|
|
- [ ] Décider onglets/bottom nav.
|
|
- [ ] Définir vues prioritaires mobile.
|
|
|
|
---
|
|
|
|
## 3. Avancement du tour en cours
|
|
|
|
- [x] Contexte tâche 8 vérifié.
|
|
- [x] Tâche 3 relue.
|
|
- [x] Réserves de validation listées.
|
|
- [x] Refonte `MachineTile` premier incrément terminée.
|
|
|
|
---
|
|
|
|
## 4. Premier incrément — Tuile machine
|
|
|
|
Fichiers modifiés :
|
|
|
|
- `client/src/features/machines/MachineTile.tsx`
|
|
- `client/src/styles/app.css`
|
|
- `client/src/components/ui-kit.tsx`
|
|
|
|
Ce qui est en place :
|
|
|
|
- tuile compacte plus dense ;
|
|
- actions système en icônes avec tooltips ;
|
|
- statut via `StatusLed` ;
|
|
- résumé updates/reboot/dernier check ;
|
|
- alerte visible pour état `error` ou `unknown` ;
|
|
- sections repliables Docker et Post-install ;
|
|
- placeholders UI tant que les données Docker/Post-install ne sont pas exposées par le backend ;
|
|
- nouveaux alias icônes utiles dans `ICON_MAP`.
|
|
|
|
Vérifications :
|
|
|
|
- `tsc --noEmit` : OK.
|
|
- `vitest run` : OK, 16 fichiers de test, 42 tests.
|
|
- `vite build && tsup` : OK.
|
|
|
|
Note :
|
|
|
|
- Vite signale un warning de chunk JS > 500 kB. Non bloquant pour ce jalon, à traiter plus tard par découpage dynamique si nécessaire.
|
|
|
|
---
|
|
|
|
## 5. Deuxième incrément — Layout global
|
|
|
|
Fichiers modifiés :
|
|
|
|
- `client/src/App.tsx`
|
|
- `client/src/panels/Dashboard.tsx`
|
|
- `client/src/lib/api.ts`
|
|
- `client/src/styles/app.css`
|
|
|
|
Ce qui est en place :
|
|
|
|
- header webapp avec identité, résumé machines/updates/jobs/erreurs et toggle thème ;
|
|
- footer/barre de tâche style terminal avec machines, apt, jobs, métriques process et load ;
|
|
- appel frontend vers `/api/system/metrics` ;
|
|
- largeurs Hermes et terminal bornées avec `clamp(...)` ;
|
|
- Dashboard remonte un résumé à `App`.
|
|
|
|
Vérifications :
|
|
|
|
- `tsc --noEmit` : OK.
|
|
- `vitest run` : OK, 16 fichiers de test, 42 tests.
|
|
- `vite build && tsup` : OK.
|
|
|
|
Note :
|
|
|
|
- warning Vite chunk > 500 kB toujours présent, non bloquant.
|
|
|
|
---
|
|
|
|
## 6. Troisième incrément — Paramètres frontend
|
|
|
|
Fichiers modifiés :
|
|
|
|
- `client/src/App.tsx`
|
|
- `client/src/panels/SettingsModal.tsx`
|
|
- `client/src/styles/app.css`
|
|
|
|
Ce qui est en place :
|
|
|
|
- bouton Paramètres dans le header ;
|
|
- modale Paramètres avec navigation latérale ;
|
|
- catégories Apparence, Tuiles, Volets, Docker, Scripts, Hermes, Terminal, Nettoyage ;
|
|
- contrôles prêts à brancher à une future API `/api/settings` ;
|
|
- mention explicite côté UI que la persistance backend reste à venir.
|
|
|
|
Vérifications :
|
|
|
|
- `tsc --noEmit` : OK.
|
|
- `vitest run` : OK, 16 fichiers de test, 42 tests.
|
|
- `vite build && tsup` : OK.
|
|
|
|
Note :
|
|
|
|
- warning Vite chunk > 500 kB toujours présent, non bloquant.
|