Consigner les arbitrages sur les tags et le filtre
Section 16 de decisions.md : pourquoi des étiquettes libres plutôt qu'un référentiel, pourquoi un filtre conjonctif plutôt que disjonctif, pourquoi il n'est pas enregistré alors que le masquage par l'œil l'est — avec un tableau qui oppose les deux —, pourquoi la couleur d'un tag est calculée et non choisie, et pourquoi un tag trop long est tronqué là où une date invalide bloque tout. Le README décrit l'usage : saisie des tags, filtre cumulatif, portée limitée à la session. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
25
README.md
25
README.md
@@ -37,8 +37,8 @@ Chaque projet porte trois commandes dans la colonne de gauche :
|
||||
|
||||
- **le triangle** plie et déplie son couloir ;
|
||||
- **l'œil** le masque de la frise sans le supprimer ;
|
||||
- **`⋯`** ouvre son menu : ajouter une phase ou un jalon, renommer, changer la couleur,
|
||||
figer la référence, supprimer le projet. Un clic droit sur le libellé ouvre le même menu.
|
||||
- **`⋯`** ouvre son menu : ajouter une phase ou un jalon, renommer, changer la couleur et les
|
||||
tags, figer la référence, supprimer le projet. Un clic droit sur le libellé ouvre le même menu.
|
||||
|
||||
Une fois un projet en place :
|
||||
|
||||
@@ -56,6 +56,21 @@ Une fois un projet en place :
|
||||
Faire défiler jusqu'au bord droit élargit la frise vers le futur, et jusqu'au bord gauche
|
||||
vers le passé. Le bouton **Aujourd'hui** ramène la vue sur la date du jour.
|
||||
|
||||
### Filtrer par tag
|
||||
|
||||
Un projet peut porter des **tags** — `client`, `interne`, `R&D` —, saisis séparés par des virgules
|
||||
dans le dialogue « Renommer, changer la couleur… ». Il n'y a pas de liste à tenir : les tags
|
||||
existants sont proposés en un clic, et un tag disparaît dès que plus aucun projet ne le porte.
|
||||
|
||||
Ils s'affichent en petites pastilles colorées dans la colonne de gauche, et une barre de filtres
|
||||
apparaît sous la barre d'outils dès qu'un tag existe. Cliquer un tag — dans la barre de filtres ou
|
||||
directement sur la pastille d'un projet — restreint la frise à ceux qui le portent ; recliquer le
|
||||
retire.
|
||||
|
||||
Cocher plusieurs tags **cumule les conditions** : `client` + `urgent` ne montre que les projets
|
||||
portant les deux. Le filtre n'est pas enregistré, il ne vaut que pour la session en cours. Le bouton
|
||||
**Tout afficher** le vide d'un coup.
|
||||
|
||||
Les barres s'accrochent au lundi pendant le glisser. Pour une date au jour près, passer
|
||||
par les champs du panneau de détail.
|
||||
|
||||
@@ -76,6 +91,7 @@ par les champs du panneau de détail.
|
||||
Il n'y a qu'une seule échelle, donc aucun réglage de zoom à comprendre.
|
||||
- **Une frise sans fin** : elle s'élargit d'elle-même quand le défilement approche d'un
|
||||
bord, ce qui permet d'aller planifier dans un futur qu'aucune phase n'occupe encore.
|
||||
- **Des tags sur les projets**, et un filtre qui restreint la frise à ceux qui les portent tous.
|
||||
- **Repère « aujourd'hui »** et masquage d'un projet.
|
||||
|
||||
## Ce que l'outil ne fait pas
|
||||
@@ -114,14 +130,15 @@ node --test
|
||||
```
|
||||
|
||||
Couvre la logique métier : validation des dates, bornes d'un projet, calcul de dérive, génération des
|
||||
identifiants. Aucune dépendance, le lanceur de tests intégré à Node suffit.
|
||||
identifiants, normalisation et filtrage des tags. Aucune dépendance, le lanceur de tests intégré à
|
||||
Node suffit.
|
||||
|
||||
## Organisation du code
|
||||
|
||||
| Fichier | Rôle |
|
||||
|---|---|
|
||||
| `serve.py` | Sert les fichiers statiques, expose `GET`/`PUT` sur `/api/data`, écrit les sauvegardes |
|
||||
| `js/model.js` | Données et règles métier : CRUD, validation, bornes, référence, dérive |
|
||||
| `js/model.js` | Données et règles métier : CRUD, validation, bornes, référence, dérive, tags |
|
||||
| `js/storage.js` | Dialogue avec le serveur, sauvegarde debouncée, indicateur d'état |
|
||||
| `js/timeline.js` | Rendu de la frise : échelle, couloirs, barres, jalons, pli/dépli |
|
||||
| `js/drag.js` | Glisser et redimensionner les barres |
|
||||
|
||||
Reference in New Issue
Block a user