Points ouverts c3b7 À trancher
Le tableau de bord du projet : où en est chaque section, et ce qu'il reste précisément à trancher — sur une seule page, sans avoir à parcourir les seize sections une par une.
Vue d’ensemble
| Section | ✓ | ◐ | ○ | |
|---|---|---|---|---|
| A | Client / agent | 15 | 0 | 0 |
| B | Protocole & API | 6 | 0 | 0 |
| C | Backend / services serveur | 11 | 0 | 0 |
| D | Stockage | 6 | 0 | 0 |
| E | Bases de données & métadonnées | 1 | 0 | 2 |
| F | Cryptographie & clés | 8 | 0 | 0 |
| G | Multi-tenant & commercial | 3 | 0 | 4 |
| H | Interfaces web | 0 | 0 | 6 |
| I | Sécurité | 2 | 1 | 5 |
| J | Haute disponibilité & durabilité du service | 1 | 0 | 3 |
| K | Observabilité & exploitation | 0 | 0 | 3 |
| L | Déploiement & distribution | 0 | 0 | 4 |
| M | Cycle de vie des données & politiques | 1 | 1 | 2 |
| N | Qualité, tests & correction | 0 | 0 | 3 |
| O | Transverse | 0 | 0 | 4 |
| P | Virtualisation & bare metal | 0 | 2 | 7 |
| Total | 54 | 4 | 43 |
Les nœuds durs — tous tombés
L'API d'existence est conçue ([la session-promesse](existence-api.md)), et le GC inter-clients aussi ([mark-and-sweep par tenant, sans verrou](gc.md)). Les deux grands risques architecturaux du système sont derrière — il reste du travail, plus aucun mystère.
Côté stockage, tout est tranché : segments append-only + index LSM (architecture), et la compaction est réglée avec le GC — gloutonne, par taux de vivants, après quarantaine.
Détail par section — ce qu’il reste à faire
Uniquement les sujets non tranchés (◐ en cours, ○ à documenter). Les sujets décidés (✓) sont sur la page de chaque section.
E · Bases de données & métadonnées
- ○Schéma & migrationsStratégie zero-downtime, compatibilité avant/arrière
- ○Méta-durabilitéSauvegarder la DB du système de sauvegarde lui-même
G · Multi-tenant & commercial
- ○Onboarding / provisioning revendeurCréation du tenant, génération de la CK, initialisation des quotas
- ○Facturation & métragePiège : qui paie un chunk partagé ? Comptabiliser les économies de dédup par revendeur
- ○Plans, quotas, limites
- ○Hiérarchie de comptes & rôlesÉditeur → revendeur → client → utilisateurs
H · Interfaces web
- ○Dashboard clientÉtat des backups, liste des snapshots, lancer une restauration ; vue Protection continue (RPO vécu, backlog, santé watchers)
- ○Portail admin revendeurGestion des clients, quotas, facturation, branding
- ○Console super-admin (éditeur)Vue globale, gestion des revendeurs, incidents
- ○UI de restaurationParcourir les snapshots, sélectionner des fichiers, déclencher le téléchargement
- ○Reporting & alertesStockage utilisé, économies de dédup, santé des backups
- ○Auth / SSO, i18n, choix de stack front
I · Sécurité
- ○Modèle de menace documentéAdversaires, surfaces, hypothèses — formaliser ce qui est déjà implicite
- ◐Fuite par analyse de traficTailles et timing des blobs — padding évoqué, non conçu9af2
- ○RBAC / audit logging
- ○Prévention d'abusClient malveillant qui sonde l'oracle, flood, scraping de l'index
- ○ConformitéRGPD, résidence des données, rétention, droit à l'effacement
- ○Revue de sécurité / pentest
J · Haute disponibilité & durabilité du service
- ○RPO / RTO du service, cohérence des vues
- ○Multi-région / géo-distribution, load balancing
- ○Plan de reprise d'activité (DR), scaling horizontal
K · Observabilité & exploitation
- ○Logs, métriques, tracing distribué, alerting
- ○Health checks, dashboards ops
- ○SLA / SLO — définition et mesure
L · Déploiement & distribution
- ○Packaging serveurConteneurs, orchestration (Kubernetes, Nomad…)
- ○Distribution clientInstalleurs par plateforme — Linux, macOS, Windows, NAS
- ○CI/CD, IaC, gestion des environnements
- ○Modèle de déploiementSaaS central géré vs revendeur auto-hébergé — implications sur la clé CK
M · Cycle de vie des données & politiques
- ◐Immuabilité / anti-ransomwarePréavis + plancher WORM décidés ; mécanique stockage (object-lock…) à détaillergfs
- ○Legal hold, suppression / droit à l'oubliTension entre immuabilité et RGPD
- ○Vérification de restaurationUne sauvegarde non restaurable ne vaut rien — tests automatiques
N · Qualité, tests & correction
- ○Tests unit / intégration / e2e, matrice multi-plateforme
- ○Tests de restauration & de corruption / récupérationSimuler corruption, perte de chunks, index corrompu
- ○Chaos / injection de fautes, benchmarks perf
O · Transverse
- ○Format sur disque / sur fil & versionnageÉvoluer sans casser les vieilles données ou les vieux clients
- ○Pipeline de donnéesL'ordre exact des opérations — à formaliser comme section à part entière
- ○Gestion des chemins / Unicode cross-OS, horloges / tempsNormalisation NFC/NFD, séparateurs, timestamps tz-aware
- ○DocumentationUtilisateur final, API, runbooks ops, guide revendeur
P · Virtualisation & bare metal
- ◐Agentless vs agent invitéProxy chiffrant côté client pour l'image-level ; agent dans l'invité pour le fichier et le bare metalcbt
- ◐Modèle image-level & CBTLire les disques, ne re-découper que le delta, réutiliser le pipeline chunk → dédup → chiffrementcbt
- ○Proxmox VEDirty bitmaps QEMU via l'API Proxmox / QMP
- ○XCP-ngCBT via XAPI (list_changed_blocks) + export NBD
- ○Hyper-VRCT (Resilient Change Tracking) + VSS, API WMI / PowerShell
- ○VMware vSphereVADP + CBT (QueryChangedDiskAreas) via VDDK — SDK propriétaire, licence à surveiller côté Broadcom
- ○Bare metalImage bloc + BMR : snapshot volume (VSS / LVM), média de restauration bootable, matériel dissemblable
- ○Cohérence applicativeQuiescing invité (VSS, pre/post scripts) vs crash-consistent
- ○Modes de restaurationVM complète, fichier depuis image, bare metal ; instant recovery plus tard