Points forts et limites des solutions pour gérer des fichiers web locaux sur Android natif

Thibaut Lombard — 2 juillet 2025

Méthode Forces (S) Faiblesses (W) Opportunités (O) Menaces (T)
Chargement direct via file:///android_asset/ Simple à implémenter
Pas de serveur requis
Fonctionne sur toutes versions Android
localStorage supporté
IndexedDB partiellement supporté
Compatible hors ligne
Support WebGL possible selon version WebView
Restrictions SOP (Same Origin Policy)
Pas d’accès réseau
CORS bloqué pour AJAX/fetch
JS limité côté fichier local
IndexedDB instable sur certains devices
WebGPU non disponible
Usage simple pour apps statiques
Compatible hors ligne
localStorage utilisable
WebGL suffisant pour rendus 3D simples
Problèmes de compatibilité pour WebGL avancé
Limitations fetch/ajax
Impossible d’exploiter WebGPU sans serveur HTTP natif
NanoHTTPD (serveur HTTP local embarqué) Serveur HTTP réel (pas de SOP/CORS)
Support total JS/JSON/CSS
Rechargement dynamique
Compatible toutes versions Android
localStorage et IndexedDB pleinement fonctionnels
WebGL et WebGPU exploitables si WebView supporte
Ajoute une dépendance externe
Poids APK augmente
Complexité de configuration
Consommation CPU/mémoire
Gestion cycle de vie serveur
Développement rapide sans rebuild
Débogage facile
Compatible contenus interactifs 3D (WebGL, WebGPU)
Chargement dynamique de ressources lourdes
Bugs liés au serveur
Surcharge CPU
Complexité sécurité
Risques bugs WebGPU sur versions WebView non à jour
WebViewAssetLoader (API 28+) Intégré Android
Sert les assets via HTTP interne
Pas de SOP/CORS bloquant
Exécution JS complète
localStorage et IndexedDB fiables
Léger
Support WebGL natif stable
WebGPU partiel (selon WebView récent)
Android 9+ uniquement (API 28)
Pas supporté sur Android plus anciens
Limité aux ressources du APK
WebGPU non garanti sur vieux Chromium WebView
Moins flexible qu’un vrai serveur
Solution moderne sécurisée
Idéal pour apps récentes
Bon support des API Web modernes (WebGL)
Déploiement simple et sécurisé
Problèmes compatibilité WebGPU
Limitations fichiers hors APK
Risques bugs versions WebView anciennes
Chargement via serveur HTTP externe Chargement complet sans blocage
Très flexible
Déploiement simplifié
localStorage et IndexedDB supportés
WebGL et WebGPU supportés à pleine capacité
Connexion Internet obligatoire
Dépendance au réseau
Déploiement et maintenance serveur
Risques sécurité
Gestion CORS côté serveur
Idéal pour apps hybrides lourdes
Contenus interactifs avancés
Compatible rendu 3D haute performance
Update dynamique facile
Pannes réseau
Latence variable
Fuite de données si mal sécurisé
Dépendance serveur distant

Thibaut Lombard