feat: roadmap items #7 #8 #9 #10 — recent files, semver tag, search filters, dedup

- #7: Section « Récents » dans la page d'accueil vault (5 derniers fichiers)
- #8: Git tag v1.8.0
- #9: Filtres search avancés created:/modified:/size: avec parsing dates/sizes
- #10: Déduplication IGNORED_DIRS (indexer.py source unique, watcher+main importent)
- ROADMAP: tous les items marqués FAIT, version → 1.9.0
This commit is contained in:
2026-06-04 12:11:51 -04:00
parent fc1a4e336e
commit 0b3a7d5c95
7 changed files with 353 additions and 30 deletions
+21 -9
View File
@@ -1,6 +1,6 @@
# ObsiGate — Roadmap
> **Version :** 1.8.0 | **Dernière mise à jour :** 2026-06-03
> **Version :** 1.9.0 | **Dernière mise à jour :** 2026-06-04
> Voir aussi [CHANGELOG.md](./CHANGELOG.md), [docs/ROADMAP.md](./docs/ROADMAP.md), [AUDIT_TECHNIQUE.md](./docs/AUDIT_TECHNIQUE_2026-05-27.md)
---
@@ -137,21 +137,33 @@
- [x] **Menu contextuel** : clic droit sur un fichier → "Backups / Versions"
- [x] **Coloration syntaxique diff** : lignes ajoutées en vert, supprimées en rouge, en-têtes hunk en accent
### 7. Fichiers récents par vault
### ✅ 7. Fichiers récents par vault — FAIT
- **Effort** : 0.5 jour | **Impact** : 🟡
- Dashboard filtré par vault actif
- Dashboard filtré par vault actif ✅
- [x] **Section « Récents » dans la page d'accueil vault** : affiche les 5 derniers fichiers ouverts dans le vault via `/api/recent?vault=...`
- [x] **Style compact** : liste en haut de la page racine du vault, avec titre, sous-dossier, et temps relatif
- [x] **Click → preview, double-click → ouvrir**
### 8. Git tags semver
### ✅ 8. Git tags semver — FAIT
- **Effort** : 10 min | **Impact** : 🟢
- `git tag v1.7.0 && git push --tags`
- [x] `git tag v1.8.0 && git push --tags` ✅
### 9. Filtres search avancés
### ✅ 9. Filtres search avancés — FAIT
- **Effort** : 1 jour | **Impact** : 🟡
- Opérateurs `created:`, `modified:`, `size:`
- Opérateurs `created:`, `modified:`, `size:` ✅
- **Fichiers** : `frontend/js/search.js` (QueryParser, SearchChips, performAdvancedSearch), `backend/search.py` (helpers + filters), `backend/main.py` (endpoint params)
- [x] **`created:>2024-01-01`** / **`created:2024-01-01..2024-06-01`** — filtre par date de création
- [x] **`modified:<7d`** / **`modified:>2024-01-01`** — filtre par date de modification (relatif ou absolu)
- [x] **`size:>1MB`** / **`size:100KB..2MB`** — filtre par taille de fichier
- [x] **Chips visuels** dans la barre de recherche pour chaque opérateur actif
- [x] **Filtrage backend** via `_parse_date_range`, `_parse_size_range` avec support unités (B, KB, MB, GB) et dates relatives (7d, 30d, 24h)
### 10. Déduplication IGNORED_DIRS
### ✅ 10. Déduplication IGNORED_DIRS — FAIT
- **Effort** : 0.5 jour | **Impact** : 🟢
- `indexer.py` et `watcher.py` ont des définitions séparées → mutualiser
- `indexer.py`, `watcher.py` et `main.py` avaient des définitions séparées → mutualisé ✅
- [x] **Source unique** : `IGNORED_DIRS` dans `backend/indexer.py` (configurable via `OBSIGATE_IGNORED_DIRS`)
- [x] **`watcher.py`** : importe `IGNORED_DIRS` depuis `backend.indexer` (supprime ~20 lignes dupliquées)
- [x] **`main.py`** : importe `IGNORED_DIRS` depuis `backend.indexer` (supprime la copie inline)
### ✅ 11. Indicateur AI Actif — FAIT
- **Effort** : 0.5 jour | **Impact** : 🟡