Web Worker indisponible ? Diagnostic par plateforme et environnement
Le symptôme observé
Un avertissement jaune apparaît en bas d'Any3D : « Le navigateur actuel ne supporte pas les Web Workers ». L'aperçu peut fonctionner, mais le traitement de gros fichiers risque de bloquer la page, et les chemins de Worker pour la compression de textures, la conversion d'image en modèle, etc., ne peuvent pas être activés.
Les Web Workers permettent d'exécuter des calculs longs en arrière-plan. Any3D s'appuie sur le trio Worker + OffscreenCanvas + createImageBitmap pour la compression de textures et certaines conversions.
Causes fréquentes
| Cause | Scénario typique |
|---|---|
| Contexte non sécurisé | Ouverture via file://, page HTTP interne (sauf localhost) |
| Navigateur obsolète / WebView | Ancien navigateur système, page intégrée dans une application |
| Restriction CSP | Portail entreprise en iframe, injection de worker-src par agent zéro confiance |
| Blocage par extension | Extension de confidentialité bloquant les Workers ou les URL blob: |
| Anomalie de cache réseau | Proxy/VPN renvoyant un script Worker incomplet |
| Contrôle de l'appareil | Profil de gestion interdisant les scripts en arrière-plan |
Diagnostic par plateforme
Windows
- Accédez impérativement via HTTPS (
https://any3d.cc), n'utilisez pas un fichier HTML local. - Stratégie d'entreprise Edge : vérifiez dans
Configuration ordinateur → Modèles d'administration → Microsoft Edgesi les Workers ou les cookies tiers (qui affectent indirectement le chargement de certains Workers) sont limités. - Sécurité familiale Windows : les restrictions Web sur un compte enfant peuvent empêcher la création de Workers.
macOS
- Safari / Chrome nécessitent macOS 12+ et une version récente du navigateur.
- Temps d'écran → Contenu et confidentialité → si l'option « Limiter les sites Web pour adultes » ou un filtrage personnalisé est activé, cela peut bloquer le domaine du script Worker.
- Si un profil MDM d'entreprise désactive les capacités de script autres que le « suivi intersite », contactez votre service IT.
Linux
- Vérifiez que l'URL est en HTTPS ; le proxy Squid d'entreprise doit autoriser les requêtes liées à
blob:etworker-src.
iOS / Android
- N'utilisez pas le navigateur intégré de WhatsApp, Telegram ou des applications professionnelles pour traiter de gros fichiers ; ouvrez Any3D dans le navigateur système.
- Le mode faible consommation iOS ne bloque généralement pas les Workers, mais les anciens WebKit peuvent manquer d'API – maintenez le système à jour.
- Version WebView Android trop ancienne (WebView système non mis à jour) peut rendre les Workers indisponibles : mettez à jour « Android System WebView » depuis le Play Store.
Réseau, VPN et intranet entreprise
| Scénario | Explication |
|---|---|
| VPN entreprise | Certains VPN forcent le déchiffrement HTTPS et injectent des CSP ; l'IT doit autoriser les Workers |
| Portail SSO intranet en iframe | Le CSP de la page parente peut interdire worker-src blob: ; configurer l'iframe séparément ou ouvrir Any3D dans un nouvel onglet |
| Proxy inverse | Une configuration erronée de Nginx / passerelle peut entraîner un mauvais type MIME pour le script Worker |
| Filtrage DNS du routeur parental | Rare pour les Workers, mais si le site entier est dégradé en miroir HTTP, les Workers échoueront |
Auto-test : débranchez le VPN, passez en 4G/5G partagée, et vérifiez si l'avertissement disparaît.
Référence CSP pour l'entreprise (à destination de l'IT)
Si Any3D est intégré dans un iframe, il est recommandé d'autoriser :
worker-src 'self' blob:;
script-src 'self' 'unsafe-eval' blob:;
Les utilisateurs personnels n'ont pas besoin de modifier manuellement le CSP.
Correction pas à pas (générique)
- Assurez-vous d'être en HTTPS, puis rafraîchissez la page (Ctrl+F5 / Cmd+Shift+R).
- Ouvrez une fenêtre de navigation privée pour exclure les extensions.
- Mettez à jour le navigateur et (sur Android) le WebView système.
- Ouvrez Any3D directement dans un nouvel onglet, évitez de l'intégrer dans un iframe de portail entreprise.
Auto-test rapide
typeof Worker !== "undefined";
Un retour true indique seulement que l'API existe ; Any3D a besoin en plus d'OffscreenCanvas et de createImageBitmap pour emprunter le chemin complet du Worker.
Impact en l'absence de Worker
| Fonctionnalité | Impact |
|---|---|
| Compression de vertex (Draco…) | Généralement encore disponible (thread principal + WASM) |
| Compression de textures / KTX2 | Chemin Worker indisponible, gros fichiers facilement bloquants |
| Conversion d'image en modèle | Dégradation possible ou baisse significative des performances |
Résumé
L'avertissement Web Worker provient le plus souvent d'un contexte non HTTPS, d'un WebView obsolète, d'un CSP/VPN d'entreprise, ou d'un blocage par extension. En mettant à jour le navigateur, en testant avec un autre réseau, et en faisant vérifier les iframe/CSP par l'IT, vous pouvez généralement restaurer la capacité de traitement en arrière-plan.