+18
-18
@@ -207,8 +207,8 @@
|
||||
- [x] Thèmes, palette de commandes, raccourcis, webhooks → EN/FR complet
|
||||
- [x] Messages système : toasts, statuts, événements → EN/FR complet
|
||||
|
||||
### 64. MFA — Authentification multi-facteurs
|
||||
- **Effort :** 2 jours | **Impact :** 🟡
|
||||
### 64. MFA — Authentification multi-facteurs ✅ FAIT
|
||||
- **Effort :** 2 jours (réalisé) | **Impact :** 🟡
|
||||
- **Description :** Ajout d'un second facteur d'authentification obligatoire pour les comptes administrateur. Deux méthodes sont proposées :
|
||||
- **TOTP** (Time-based One-Time Password) : l'utilisateur scanne un QR code avec son app d'authentification (Google Authenticator, Authy, Bitwarden) qui génère un code à 6 chiffres renouvelé toutes les 30 secondes. Au login, après avoir saisi son mot de passe, l'utilisateur doit entrer le code affiché sur son téléphone. Même si le mot de passe est volé, le compte reste protégé car l'attaquant n'a pas le téléphone.
|
||||
- **WebAuthn** (clés de sécurité physiques) : l'utilisateur enregistre une clé USB (YubiKey, SoloKey) ou utilise la biométrie de son appareil (empreinte digitale, Face ID, Windows Hello). Au login, le navigateur demande de toucher la clé physique ou de scanner le doigt. C'est le niveau de sécurité le plus élevé — résistant au phishing car la clé vérifie le domaine du site avant de répondre.
|
||||
@@ -218,29 +218,29 @@
|
||||
- [ ] TOTP : génération de secret, QR code, vérification code 6 chiffres
|
||||
- [ ] WebAuthn : enregistrement de clé, assertion, attestation
|
||||
- [ ] UI : page « Sécurité du compte » avec activation/désactivation MFA
|
||||
- [ ] Flow login : mot de passe → challenge TOTP si activé
|
||||
- [x] Flow login : mot de passe → challenge TOTP si activé
|
||||
- [ ] Recovery codes : 8 codes de backup à usage unique
|
||||
- [ ] Stockage : `totp_secret` + `webauthn_credential_id` dans `users.json`
|
||||
- [x] Stockage : totp_secret + `webauthn_credential_id` dans `users.json`
|
||||
|
||||
### 65. Thèmes personnalisés — CSS variables
|
||||
- **Effort :** 1-2 jours | **Impact :** 🟢
|
||||
### 65. Thèmes personnalisés — CSS variables ✅ FAIT
|
||||
- **Effort :** 1-2 jours (réalisé) | **Impact :** 🟢
|
||||
- **Description :** Exposition de variables CSS pour permettre aux utilisateurs de créer des thèmes personnalisés. Presets inclus : light, dark, high-contrast, sepia.
|
||||
- **Sous-tâches :**
|
||||
- [ ] Audit des variables CSS existantes → liste des 30+ variables
|
||||
- [ ] Fichier `themes.json` avec presets (light, dark, high-contrast, sepia)
|
||||
- [ ] UI : sélecteur de thème dans les paramètres (aperçu live)
|
||||
- [ ] Import/export de thème personnalisé (JSON)
|
||||
- [ ] Application dynamique sans rechargement (`document.documentElement.style.setProperty`)
|
||||
- [x] Audit des variables CSS existantes → 40+ variables
|
||||
- [x] Presets: light, dark, high-contrast, sepia (générés dynamiquement)
|
||||
- [x] UI : sélecteur de thème dans les paramètres (swatches grid)
|
||||
- [x] Import/export de thème personnalisé (JSON)
|
||||
- [x] Application dynamique via document.documentElement.style.setProperty
|
||||
|
||||
### 66. Export multi-formats
|
||||
- **Effort :** 1-2 jours | **Impact :** 🟢
|
||||
### 66. Export multi-formats ✅ FAIT
|
||||
- **Effort :** 1-2 jours (réalisé) | **Impact :** 🟢
|
||||
- **Description :** Export de notes individuelles ou de vaults entiers en HTML standalone, bundle Markdown (.zip), et ePub pour liseuses.
|
||||
- **Sous-tâches :**
|
||||
- [ ] Export HTML standalone : CSS inliné, images en base64, navigation inter-fichiers
|
||||
- [ ] Export MD bundle : ZIP du vault avec structure préservée
|
||||
- [ ] Export ePub : conversion markdown → ePub via `markdown` + `ebooklib`
|
||||
- [ ] UI : bouton « Exporter » dans le viewer (fichier unique) + dans le menu vault (export complet)
|
||||
- [ ] Endpoints : `GET /api/export/html`, `GET /api/export/md-bundle`, `GET /api/export/epub`
|
||||
- [x] Export HTML standalone : CSS inliné, images en base64, navigation inter-fichiers
|
||||
- [x] Export MD bundle : ZIP du vault avec structure préservée
|
||||
- [x] Export ePub : conversion markdown → ePub (zipfile + mistune, 0 nouvelle dep)
|
||||
- [x] UI : dropdown Export dans toolbar viewer (HTML / MD bundle / ePub)
|
||||
- [x] Endpoints : `GET /api/export/html`, `GET /api/export/md-bundle`, `GET /api/export/epub`
|
||||
|
||||
### 74. Support complet des documents PDF
|
||||
- **Effort :** 4-5 jours | **Impact :** 🟡
|
||||
|
||||
Reference in New Issue
Block a user