EPIC — Application Web Progressive (PWA) ProbatioVault (PD-197)¶
Intention¶
Fournir une application web moderne, sécurisée et progressive, permettant aux utilisateurs d'accéder à ProbatioVault depuis un navigateur tout en conservant un haut niveau de sécurité, de performance et d'autonomie.
Cette EPIC vise à faire de la PWA un point d'entrée universel pour ProbatioVault, combinant accessibilité du web et garanties de sécurité proches des applications natives.
Problème de fond¶
Le web est le canal d'accès le plus universel, mais aussi le plus contraint en matière de sécurité et de persistance locale.
Sans PWA dédiée :
- l'expérience utilisateur est limitée (latence, offline, cache) ;
- la gestion sécurisée des données locales est fragile ;
- l'usage mobile/web se dégrade face aux apps natives ;
- l'adoption B2C et B2B légère est freinée.
ProbatioVault doit proposer une expérience web qui ne compromette ni la sécurité ni la crédibilité probatoire.
Solution de principe¶
L'EPIC PWA-WEB repose sur une application React + TypeScript respectant les standards modernes du web sécurisé :
- Chiffrement côté client via WebCrypto API ;
- Cache local sécurisé via IndexedDB ;
- UI responsive et performante ;
- Upload fluide (drag-and-drop, progress) ;
- Support offline partiel via Service Workers ;
- Notifications web pour événements clés ;
- Optimisation forte des performances et du bundle.
La PWA est conçue comme un client zero-knowledge au même titre que les apps mobiles et desktop.
Invariants¶
- Aucun document n'est stocké en clair dans le navigateur.
- Le chiffrement est effectué côté client avant transmission.
- Les clés ne quittent jamais le périmètre utilisateur.
- Le cache local est explicite, contrôlé et purgeable.
- Le mode offline ne compromet jamais la cohérence probatoire.
- Les performances restent acceptables même à forte volumétrie.
User Stories associées¶
- PD-119 — Setup projet React PWA avec TypeScript
- PD-120 — Implémenter chiffrement WebCrypto API
- PD-121 — Configurer IndexedDB pour cache local
- PD-122 — Créer page login responsive
- PD-123 — Créer dashboard liste documents
- PD-124 — Implémenter upload drag-and-drop
- PD-125 — Créer viewer documents web
- PD-126 — Implémenter Service Worker pour offline
- PD-127 — Créer page settings web
- PD-128 — Implémenter Web Push Notifications
- PD-129 — Optimiser performance et bundle size
Impacts transverses¶
-
Sécurité Démonstration qu'un client web peut respecter un modèle zero-knowledge strict.
-
UX & adoption Accès immédiat sans installation, expérience fluide sur desktop et mobile.
-
Architecture Harmonisation des flux entre PWA, mobile et desktop, réutilisation des services backend.
-
Performance & scalabilité Réduction de la charge serveur, meilleure perception de rapidité côté utilisateur.
-
Business Point d'entrée clé pour B2C et petits comptes B2B, accélérateur d'adoption et de conversion.
-
Conformité & crédibilité Alignement du web avec les exigences probatoires globales, sans "version dégradée" du produit.
Références¶
- EPIC AUTH / CRYPTO / DOCS-API / STORAGE
- Spécifications WebCrypto & IndexedDB
- Progressive Web App Best Practices
- Zero-Knowledge Client Architecture
- OWASP Web Security Guidelines