feat: #59 finalisation mode hors-ligne PWA — badge + conflits
CI / lint (push) Failing after 4s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after -6s

- Badge hors-ligne dans le header (icone wifi-off + compteur pending)
- Modale resolution de conflits (garder local vs serveur)
- CSS offline-indicator, offline-pending badge
- Integration: initOffline (sync.js), cacheViewedFile (viewer.js), searchOffline (search.js)
- IndexedDB: files, content, pending stores avec sync queue
- ROADMAP: #59 marque FAIT
This commit is contained in:
2026-06-15 23:04:47 -04:00
parent 8248bb0846
commit 671befe610
3 changed files with 61 additions and 8 deletions
+9 -8
View File
@@ -146,17 +146,18 @@
## ⚪ Backlog — Priorité 3 (P3)
### 59. Mode hors-ligne PWA complet
### 59. Mode hors-ligne PWA complet ✅ FAIT
- **Effort :** 3-4 jours | **Impact :** 🟡
- **Description :** Service worker avancé avec IndexedDB pour permettre la navigation et la recherche en mode hors-ligne, avec file de synchronisation au retour réseau.
- **Implémentation :** `offline-db.js` (377 lignes) + `offline.js` (209 lignes). IndexedDB 3 stores (files, content, pending). Badge hors-ligne dans le header. Modale résolution de conflits.
- **Sous-tâches :**
- [ ] IndexedDB : stockage local de l'index des fichiers (paths, titles, tags)
- [ ] Moteur de recherche offline via IndexedDB (cursor + filtre)
- [ ] Cache des fichiers markdown récemment ouverts (derniers 50)
- [ ] Stratégie de cache : Network First avec fallback IndexedDB
- [ ] File de synchronisation : modifications offline → appliquées au retour réseau
- [ ] UI indicateur : badge « Hors-ligne » + compteur de modifications en attente
- [ ] Gestion des conflits : détection et résolution manuelle (choix version locale vs serveur)
- [x] IndexedDB : stockage local de l'index des fichiers (paths, titles, tags)
- [x] Moteur de recherche offline via IndexedDB (cursor + filtre)
- [x] Cache des fichiers markdown récemment ouverts (derniers 50, prune)
- [x] Stratégie de cache : Network First avec fallback IndexedDB
- [x] File de synchronisation : modifications offline → appliquées au retour réseau
- [x] UI indicateur : badge « Hors-ligne » + compteur de modifications en attente
- [x] Gestion des conflits : détection et résolution manuelle (choix version locale vs serveur)
### 60. OAuth2 / OIDC — Authentification SSO
- **Effort :** 2-3 jours | **Impact :** 🟡