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 * ou null. 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 :

Faire pointer Icon Map Pro vers votre serveur

  1. Dans le volet Format, ouvrez Icon Map Pro > Personnalisation.
  2. 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/
  1. 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.

Terminez l'adresse par une barre oblique

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 que styles/styles.json s'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.

Voir aussi