Kris

Web Worker indisponible ? Diagnostic par plateforme et environnement

DépannageCompatibilité navigateurWeb Worker

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

CauseScénario typique
Contexte non sécuriséOuverture via file://, page HTTP interne (sauf localhost)
Navigateur obsolète / WebViewAncien navigateur système, page intégrée dans une application
Restriction CSPPortail entreprise en iframe, injection de worker-src par agent zéro confiance
Blocage par extensionExtension de confidentialité bloquant les Workers ou les URL blob:
Anomalie de cache réseauProxy/VPN renvoyant un script Worker incomplet
Contrôle de l'appareilProfil de gestion interdisant les scripts en arrière-plan

Diagnostic par plateforme

Windows

  1. Accédez impérativement via HTTPS (https://any3d.cc), n'utilisez pas un fichier HTML local.
  2. Stratégie d'entreprise Edge : vérifiez dans Configuration ordinateur → Modèles d'administration → Microsoft Edge si les Workers ou les cookies tiers (qui affectent indirectement le chargement de certains Workers) sont limités.
  3. Sécurité familiale Windows : les restrictions Web sur un compte enfant peuvent empêcher la création de Workers.

macOS

  1. Safari / Chrome nécessitent macOS 12+ et une version récente du navigateur.
  2. 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.
  3. Si un profil MDM d'entreprise désactive les capacités de script autres que le « suivi intersite », contactez votre service IT.

Linux

  1. Vérifiez que l'URL est en HTTPS ; le proxy Squid d'entreprise doit autoriser les requêtes liées à blob: et worker-src.

iOS / Android

  1. 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.
  2. 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.
  3. 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énarioExplication
VPN entrepriseCertains VPN forcent le déchiffrement HTTPS et injectent des CSP ; l'IT doit autoriser les Workers
Portail SSO intranet en iframeLe CSP de la page parente peut interdire worker-src blob: ; configurer l'iframe séparément ou ouvrir Any3D dans un nouvel onglet
Proxy inverseUne configuration erronée de Nginx / passerelle peut entraîner un mauvais type MIME pour le script Worker
Filtrage DNS du routeur parentalRare 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)

  1. Assurez-vous d'être en HTTPS, puis rafraîchissez la page (Ctrl+F5 / Cmd+Shift+R).
  2. Ouvrez une fenêtre de navigation privée pour exclure les extensions.
  3. Mettez à jour le navigateur et (sur Android) le WebView système.
  4. 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 / KTX2Chemin Worker indisponible, gros fichiers facilement bloquants
Conversion d'image en modèleDé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.

Nous soutenir