SPB Git

Repository Public

implementation-plan.md 2.8 KB 33 lines markdown

1# SP Drive — plan d'implémentation23Chaque jalon est une tranche verticale : schéma, API, interface, tests. Un jalon n'est « terminé » que si ses4critères sont vérifiés par des commandes exécutées (voir `progress.md`).56| # | Jalon | Contenu | Critère de vérification |7|---|---|---|---|8| 0 | Audit | Inventaire infra, conventions SP, choix d'architecture | `architecture.md`, ce plan |9| 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` |10| 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 |11| 3 | Aperçus | Worker, file de travaux, antivirus, vignettes, HEIC, bureautique, classeurs, archives | Tests avec fichiers réels, EICAR, bombe ZIP, échec de conversion |12| 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 |13| 5 | Interface | Explorateur, aperçus, partage, portails, réglages, pages publiques, FR/EN, clair/sombre, clavier, PWA | Playwright bureau et mobile |14| 6 | Production | Préparation de m5ma, manifeste `mld`, sauvegarde, test de restauration, runbook | Santé publique, restauration rejouée |15| 7 | Après V1 | OCR, plein texte, recherche sémantique, Q&A | Non commencé |1617## Risques1819| Risque | Parade |20|---|---|21| 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 |22| 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 |23| 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 |24| Conversion de documents hostiles | Processus séparé, `sandbox-exec` sans réseau, profil jetable, délais, plafonds de taille |25| 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 |26| Passkey perdue | Plusieurs passkeys + codes de récupération ; CLI d'invitation de secours sur le nœud |27| Dérive portable / nœud | Après le premier déploiement, toute modification se fait sur le nœud puis `git push` |2829## Dépendances externes3031PostgreSQL 17, ClamAV, LibreOffice, ffmpeg (Homebrew sur m5ma) ; `sips` et `sandbox-exec` (macOS) ; passerelle32MacLustr Tunnel (Caddy sur BHS64).33
Files main
Menu

Theme