Fonds de carte auto-hébergés
Avec le pack de fonds de carte auto-hébergés, Icon Map Pro charge ses fonds de carte et la bibliothèque d'icônes depuis votre propre serveur web plutôt que depuis Icon Map. Configurez d'abord l'environnement isolé, comme décrit dans Power BI Report Server (local).
Héberger vous-même les fonds de carte Icon Map
Sans accès à Internet, le visuel ne peut pas charger les fonds de carte Icon Map intégrés, la bibliothèque d'icônes ni le catalogue Icon Map, car ils sont hébergés sur les serveurs d'Icon Map. Le pack de fonds de carte auto-hébergés vous permet de servir les fonds de carte et la bibliothèque d'icônes depuis votre propre serveur web.
Contactez sales@icon-map.com pour acheter le pack. Vous recevez un lien pour télécharger un fichier ZIP (ou 7zip) contenant les ressources à déployer.
Configuration requise pour le serveur web
Le serveur web doit prendre en charge :
- Les requêtes de plage HTTP
- Une origine CORS
*ounull. C'est nécessaire car Power BI exécute les visuels personnalisés dans un bac à sable.
Environ 400 Go d'espace disque sont nécessaires pour l'ensemble des ressources.
Les serveurs web adaptés comprennent :
- Microsoft Azure Blob Storage (cloud)
- Compartiments Amazon S3 (cloud)
- Internet Information Services (IIS) (Windows, local). Voir Configuration IIS
- MinIO (Windows ou Linux, local). Voir Configuration MinIO
- LocalStack (Docker, local)
Faire pointer Icon Map Pro vers votre serveur
- Dans le volet Format, ouvrez Icon Map Pro > Personnalisation.
- Dans URL des styles personnalisés, saisissez l'adresse où les ressources sont hébergées, terminée par un
/. Par exemple :
http://powerbi.internal:9000/iconmaplocal/
- Choisissez un fond de carte Icon Map comme d'habitude.
Le visuel charge alors la liste des styles, les styles, les tuiles de carte, les polices, les icônes ainsi que les tuiles d'ombrage et de relief depuis cette adresse.
Avec un / final, le visuel cherche la liste des styles à styles/styles.json sous votre adresse et charge les polices, les icônes et les tuiles d'élévation au même endroit. Sans lui, l'adresse est traitée comme le fichier de liste des styles lui-même et ces autres ressources sont introuvables.
Vous pouvez définir URL des styles personnalisés comme valeur par défaut dans le fichier de thème de votre rapport Power BI, afin que tous les visuels Icon Map Pro d'un rapport la reprennent.
Paramètres
Les deux paramètres se trouvent dans Volet Format > Icon Map Pro > Personnalisation.
| Paramètre | Rôle | Valeur par défaut |
|---|---|---|
| Environnement isolé | Désactive les appels externes aux services Icon Map | Désactivé |
| URL des styles personnalisés | URL personnalisée des styles de fond de carte, pour les déploiements isolés ou personnalisés | Vide |
Configuration IIS
Extrayez le dossier IconMapLocal sur votre serveur web, par exemple c:\inetpub\wwwroot.
Contenu statique
Activez la fonctionnalité IIS Contenu statique. Elle assure la prise en charge des en-têtes de plage HTTP. Utilisez Gestionnaire de serveur > Ajouter des rôles et fonctionnalités > Rôles de serveurs > Serveur Web (IIS) > Serveur Web > Fonctionnalités HTTP communes > Contenu statique, ou cette commande PowerShell :
Install-WindowsFeature -Name Web-Static-Content
web.config
Les types de fichiers statiques et CORS doivent être configurés dans web.config :
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".pmtiles" />
<mimeMap fileExtension=".pmtiles" mimeType="application/octet-stream" />
<remove fileExtension=".pbf" />
<mimeMap fileExtension=".pbf" mimeType="application/x-protobuf" />
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Configuration MinIO
Ce guide suppose que les fichiers IconMapLocal extraits se trouvent dans C:\temp\iconmaplocal, que MinIO stocke les données de son compartiment dans C:\minio\iconmaplocal et que le compartiment est servi à l'adresse http://localhost:9000/iconmaplocal/.
Télécharger MinIO
Téléchargez le serveur MinIO (minio.exe) et le client MinIO (mc.exe) et placez-les tous deux dans C:\minio\.
Créer le répertoire de données et démarrer MinIO
mkdir C:\minio\iconmaplocal
$env:MINIO_ROOT_USER="admin"
$env:MINIO_ROOT_PASSWORD="ChangeThisPassword123!"
C:\minio\minio.exe server `
C:\minio\iconmaplocal `
--address ":9000" `
--console-address ":9001"
L'API S3 se trouve alors à l'adresse http://localhost:9000 et la console à l'adresse http://localhost:9001. Choisissez votre propre nom d'utilisateur et votre propre mot de passe.
Configurer le client MinIO
C:\minio\mc.exe alias set `
iconmap `
http://localhost:9000 `
admin `
ChangeThisPassword123!
C:\minio\mc.exe alias list
Créer le compartiment et le rendre lisible
C:\minio\mc.exe mb iconmap/iconmaplocal
C:\minio\mc.exe ls iconmap
C:\minio\mc.exe anonymous set download iconmap/iconmaplocal
C:\minio\mc.exe anonymous get iconmap/iconmaplocal
Configurer CORS
Créez C:\minio\cors.xml :
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
<ExposeHeader>Accept-Ranges</ExposeHeader>
<ExposeHeader>Content-Range</ExposeHeader>
<ExposeHeader>Content-Length</ExposeHeader>
<ExposeHeader>Content-Type</ExposeHeader>
<ExposeHeader>ETag</ExposeHeader>
<ExposeHeader>Last-Modified</ExposeHeader>
<MaxAgeSeconds>3600</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>
Appliquez-le et vérifiez le résultat :
C:\minio\mc.exe cors set `
iconmap/iconmaplocal `
C:\minio\cors.xml
C:\minio\mc.exe cors info iconmap/iconmaplocal
Charger le contenu
C:\minio\mc.exe cp --recursive --overwrite `
C:\temp\iconmaplocal\ `
iconmap/iconmaplocal/
C:\minio\mc.exe ls --recursive iconmap/iconmaplocal
Vérifier le résultat
Confirmez que la liste des styles est en place :
C:\minio\mc.exe stat iconmap/iconmaplocal/styles/styles.json
Elle doit être disponible à l'adresse http://localhost:9000/iconmaplocal/styles/styles.json.
Testez ensuite les requêtes de plage HTTP :
curl.exe -i `
-H "Range: bytes=0-99" `
http://localhost:9000/iconmaplocal/styles/styles.json
La réponse doit commencer ainsi :
HTTP/1.1 206 Partial Content
Accept-Ranges: bytes
Content-Range: bytes 0-99/...
Conseils et limites
- Si la carte n'affiche aucun style Icon Map, vérifiez que URL des styles personnalisés se termine par
/et questyles/styles.jsons'ouvre dans un navigateur sur la même machine. - Un visuel personnalisé affiché sous forme d'espace vide sur Report Server signifie en général que Power BI essaie encore de joindre AppSource. Revérifiez la variable d'environnement et la propriété
EnableCDNVisuals, et assurez-vous que le visuel a été importé à partir d'un fichier. - Le moteur Moderne exige WebGL 2 sur la machine qui affiche le rapport. Voir Environnements pris en charge et limites.