createImageBitmap indisponible ? Diagnostic par plateforme et environnement
Ce que vous observez
Any3D affiche le message « Le navigateur actuel ne supporte pas createImageBitmap ». C'est l'un des trois éléments du chemin Worker, utilisé pour décoder efficacement les pixels d'image en arrière-plan. Sans lui, les flux de compression de texture, de conversion d'image en modèle, etc., ne peuvent pas emprunter le chemin Worker complet, et les fichiers volumineux risquent davantage de ralentir.
Causes fréquentes
| Cause | Scénario typique |
|---|---|
| Navigateur/WebView trop ancien | Ancien Android WebView, pages intégrées dans une app |
| Contexte non sécurisé | Site HTTP (hors localhost), file:// |
| Ressources cross-origin mal configurées | CDN/CORS d'entreprise entraînant un échec de décodage d'image (se manifeste par un dysfonctionnement) |
| Limitation mémoire/onglet | Appareil mobile à faible mémoire, politique « un seul onglet » en entreprise |
| Interférence d'extension | Plugin de confidentialité modifiant le comportement de l'API Image |
Diagnostic par plateforme
Windows / macOS (desktop)
- Utilisez la dernière version stable de Chrome, Edge, Firefox ou Safari.
- Ouvrez Any3D impérativement via HTTPS.
- Temps d'écran macOS ou Sécurité familiale Windows : si le téléchargement ou l'accès aux médias est restreint, cela peut affecter le décodage des grandes images — testez avec un compte administrateur.
- Bureau à distance : les textures très haute résolution peuvent échouer dans un environnement GPU faible ; commencez par une petite image pour valider.
Linux
- Mettez à jour Chrome/Firefox ; sous Wayland, si le décodage GPU est anormal, vous pouvez essayer une session X11 pour comparaison (rare).
iOS / iPadOS
- Safari 14+ offre un bon support ; maintenez iOS à jour.
- Le navigateur intégré à WhatsApp / Facebook Messenger (ou autre app) a souvent un moteur obsolète → ouvrez dans Safari.
- Relais privé iCloud / Restrictions de contenu ne bloquent généralement pas createImageBitmap, mais peuvent bloquer les images cross-origin — assurez-vous que les textures du modèle sont sur la même origine ou accessibles.
Android
- Mettez à jour Chrome et Android System WebView (Paramètres → Applications → Afficher les applications système).
- Navigateurs alternatifs en mode compatibilité → passez à Chrome.
- Bien-être numérique / Family Link : les restrictions d'activité en arrière-plan n'affectent pas directement l'API, mais peuvent empêcher le téléchargement de gros fichiers.
Réseau, VPN et intranet d'entreprise
| Scénario | Explication |
|---|---|
| VPN d'entreprise | Si les textures du modèle passent par un CDN interne, une erreur CORS ou de certificat peut entraîner un échec de décodage — la Console affichera une erreur réseau |
| Proxy transparent | Lorsque la réponse de l'image est modifiée ou corrompue, createImageBitmap peut rejeter |
| Intranet en HTTP uniquement | Contexte non sécurisé, l'API peut être indisponible ou avoir un comportement limité |
| Zero Trust / SSL inspection | Les certificats auto-signés doivent être importés comme de confiance, sinon le chargement des ressources échoue |
Recommandation : déconnectez le VPN, passez sur un point d'accès mobile, testez avec un modèle purement géométrique sans texture externe — si le modèle géométrique fonctionne mais que le modèle texturé échoue, vérifiez d'abord le réseau/CORS.
Politiques d'entreprise et contrôle parental
- Intune App Protection peut restreindre « Enregistrer sous / Télécharger », ce qui affecte indirectement le flux de sélection d'image, mais l'API elle-même devrait toujours exister — vérifiez avec la Console pour distinguer.
- iPad supervisé à l'école : l'interdiction de l'application « Fichiers » n'affecte pas l'API, mais a un impact sur le mode de téléversement ; utilisez un canal de téléversement pris en charge.
- DNS du contrôle parental du routeur : si le nom de domaine Any3D est bloqué, l'ensemble du site est indisponible, pas seulement createImageBitmap.
Réparation pas à pas (générique)
- HTTPS + navigateur à jour + redémarrage.
- Fenêtre privée pour exclure les extensions.
- Ouvrir dans le navigateur système, pas dans une WebView d'application.
- Vérifiez également si Web Worker et OffscreenCanvas signalent aussi des alertes.
Auto-test rapide
typeof createImageBitmap !== "undefined";
Avancé (nécessite HTTPS et une URL d'image accessible) :
fetch("https://example.com/favicon.ico")
.then((r) => r.blob())
.then((b) => createImageBitmap(b))
.then(() => console.log("ok"))
.catch(console.error);
Résumé
Les problèmes de createImageBitmap sont souvent dus à un WebView obsolète, un contexte non HTTPS, ou un échec de chargement de ressources lié au VPN/intranet. Après avoir mis à jour le WebView selon la plateforme, changé de réseau pour vérification et exclu les extensions, le chemin Worker de traitement d'image est généralement rétabli.