SPB Git

Repository Public

implementation-plan.md 2.8 KB

# SP Drive — plan d'implémentation

Chaque jalon est une tranche verticale : schéma, API, interface, tests. Un jalon n'est « terminé » que si ses critères sont vérifiés par des commandes exécutées (voir progress.md).

# Jalon Contenu Critère de vérification
0 Audit Inventaire infra, conventions SP, choix d'architecture architecture.md, ce plan
1 Fondations Monorepo, migrations up/down, stockage chiffré, passkeys, sessions, récupération, TOTP, invitations, politiques d'accès, audit Tests d'intégration sur PostgreSQL réel ; migration down puis up
2 Fichiers Dossiers, téléversement résumable vérifié SHA-256, téléchargement Range, ZIP, versions, corbeille, quotas, tags, favoris, récents, recherche, doublons Tests de concurrence, de reprise, de collision, d'IDOR
3 Aperçus Worker, file de travaux, antivirus, vignettes, HEIC, bureautique, classeurs, archives Tests avec fichiers réels, EICAR, bombe ZIP, échec de conversion
4 Partage et portails Liens (expiration, mot de passe, compteurs, usage unique, révocation, journal), portails de dépôt complets Tests adversariaux : révocation instantanée, expiration pendant transfert, déposant sans lecture
5 Interface Explorateur, aperçus, partage, portails, réglages, pages publiques, FR/EN, clair/sombre, clavier, PWA Playwright bureau et mobile
6 Production Préparation de m5ma, manifeste mld, sauvegarde, test de restauration, runbook Santé publique, restauration rejouée
7 Après V1 OCR, plein texte, recherche sémantique, Q&A Non commencé

# Risques

Risque Parade
Perte de la clé maîtresse = perte de tous les fichiers Copie hors nœud à la création, vérifiée par le test de restauration
Un seul nœud, un seul SSD Sauvegarde nocturne vers un autre nœud ; la réplication hors site reste à décider par le propriétaire
Dépôts anonymes : abus de disque et de CPU Tailles déclarées et plafonnées avant envoi, quotas par portail, limites par adresse, quarantaine, ménage
Conversion de documents hostiles Processus séparé, sandbox-exec sans réseau, profil jetable, délais, plafonds de taille
Signatures antivirus périmées ou clamd arrêté Les dépôts des portails restent en quarantaine (échec fermé) ; alerte dans l'état du système
Passkey perdue Plusieurs passkeys + codes de récupération ; CLI d'invitation de secours sur le nœud
Dérive portable / nœud Après le premier déploiement, toute modification se fait sur le nœud puis git push

# Dépendances externes

PostgreSQL 17, ClamAV, LibreOffice, ffmpeg (Homebrew sur m5ma) ; sips et sandbox-exec (macOS) ; passerelle MacLustr Tunnel (Caddy sur BHS64).

Files main
Menu

Theme