Aller au contenu

Progressive Web App (PWA)

Version web progressive de ProbatioVault

Statut

📋 Planifié - Pas encore implémenté

Objectifs

Fonctionnalités cibles

  • ✅ Accès web depuis navigateur
  • ✅ Installation sur desktop (Chrome, Edge, Safari)
  • ✅ Mode hors-ligne (Service Workers)
  • ✅ Partage de la même codebase que l'app mobile (React Native Web)

Limitations

  • ⚠️ Pas d'accès Secure Enclave (iOS)
  • ⚠️ Pas de biométrie native
  • ⚠️ Stockage IndexedDB (moins sécurisé que Keychain)

Architecture prévue

// Expo Web config
import { ExpoConfig } from '@expo/config';

const config: ExpoConfig = {
  web: {
    bundler: 'metro',
    output: 'static',
    favicon: './assets/favicon.png',
  },
};

Sécurité PWA

Stockage des clés

  • Master key jamais persistée
  • Device key dans IndexedDB (encrypted)
  • Session keys en mémoire uniquement

Service Workers

// Cache strategy
self.addEventListener('fetch', (event) => {
  event.respondWith(
    caches.match(event.request).then((response) => {
      return response || fetch(event.request);
    })
  );
});

Roadmap

Feature Q1 2026 Q2 2026
Build PWA
Offline mode
Push notifications
File System API 🔬

Document créé lors de la réorganisation