Widget - Afficher une carte Google Maps dans un portail ServiceNow
3 déc. 2025
Comment fonctionne le widget ?
1. Architecture technique
Le widget repose sur trois composants :
Intégration Google Maps dans ServiceNow : Visualisation des sites (cmn_location)
Composant | Rôle | Technologie utilisée |
|---|---|---|
HTML | Conteneur de la carte (div | HTML/CSS |
Client Controller | Charge l’API Google Maps, initialise la carte, et affiche les marqueurs. | JavaScript (AngularJS) |
Server Script | Récupère les données des sites ( | GlideRecord (ServiceNow) |
2. Prérequis et configuration
Pour déployer ce widget :
Côté ServiceNow
Table
cmn_location:Vérifiez que les champs
latitude,longitude, etcmn_location_typesont remplis.Utilisez des données géocodées (via l’API Google Geocoding ou un outil tiers).
Portail ou Page :
Ajoutez le widget à un portail ServiceNow (ex. : Facility Management, IT Operations).
Assurez-vous que les utilisateurs ont les droits de lecture sur
cmn_location.
Côté Google Cloud
Projet Google Cloud :
Créez un projet et activez l’API Maps JavaScript.
Générez une clé API (restreinte à votre domaine ServiceNow pour la sécurité).
Bibliothèques requises :
maps.googleapis.com/maps/api/js(aveclibraries=maps,marker).@googlemaps/markerclustererpour le clustering.
Style de carte (optionnel) :
Utilisez un
mapIdpour appliquer un style personnalisé (via Google Cloud Console).
3. Étapes clés du fonctionnement
a. Récupération des données (Server Script)
Le script côté serveur :
Interroge la table
cmn_locationpour récupérer :Le nom du site (
name).Ses coordonnées (
latitude,longitude).Son type (
cmn_location_type, ex. : "Bureau", "Entrepôt").
Filtre les enregistrements valides (coordonnées non nulles).
Transmet les données au frontend via
data.locations.
b. Initialisation de la carte (Client Controller)
Chargement dynamique de l’API Google Maps :
Vérifie si l’API est déjà chargée pour éviter les doublons.
Charge les bibliothèques nécessaires (
maps,marker,markerclusterer).Utilise une clé API Google Cloud pour l’authentification.
Création de la carte :
Centre la carte sur un point par défaut (ex. : Bordeaux).
Applique un style personnalisé (via
mapIdpour les projets Google Cloud Premium).
Affichage des marqueurs :
Pour chaque site dans
data.locations, crée un marqueur avancé (AdvancedMarkerElement) avec :Une icône personnalisée (cercle bleu dans l’exemple).
Une infobulle (
InfoWindow) affichant le nom et le type du site au clic.
Regroupe les marqueurs proches avec MarkerClusterer pour éviter la surcharge visuelle.
Ajustement automatique du zoom :
La carte s’ajuste (
fitBounds) pour afficher tous les marqueurs dès le chargement.
c. Fonctionnalités avancées
4. Fonctionnalités avancées
Fonctionnalité | Utilité |
|---|---|
Clustering | Regroupe les marqueurs proches pour une meilleure lisibilité. |
Infobulles interactives | Affiche des détails au clic (nom, type de site). |
Responsive Design | S’adapte à la taille de l’écran (mobile, tableau de bord, portail). |
Centrage intelligent | La carte se recentre automatiquement sur les données disponibles. |
Personnalisations possibles
Pour adapter le widget à vos besoins :
Personnalisation | Méthode |
|---|---|
Changer le style des marqueurs | Modifiez |
Ajouter des filtres | Utilisez un Client Controller pour filtrer les sites par type ou région. |
Intégrer des données externes | Étendez le Server Script pour fusionner avec d’autres tables (ex. : |
Afficher des itinéraires | Utilisez l’API Google Directions pour tracer des trajets entre sites. |
Exporter la carte | Ajoutez un bouton pour générer un PDF ou une image (via |
Bonnes pratiques
Sécurité :
Restreignez la clé API Google à votre domaine ServiceNow.
Évitez d’exposer les données sensibles dans les infobulles.
Performance :
Limitez le nombre de marqueurs affichés (ex. : 500 max).
Utilisez le clustering pour les cartes avec beaucoup de points.
Maintenance :
Vérifiez régulièrement que les coordonnées dans
cmn_locationsont à jour.Testez le widget après les mises à jour de ServiceNow ou de l’API Google Maps.
Ce widget est facile à déployer et offre un retour sur investissement rapide pour les organisations gérant des actifs géolocalisés.
Cas d’usage en IT (Informatique et Gestion des Services)
1. Gestion des Incidents et des Pannes
Objectif : Visualiser en temps réel les incidents IT par localisation pour prioriser les interventions. Données à afficher :
Marqueurs : Sites impactés par un incident (couleur rouge pour les incidents critiques, orange pour les majeurs).
Infobulles : Détails de l’incident (numéro de ticket, description, temps de résolution estimé).
Clusters : Regroupement des incidents par région pour identifier les zones à risque. Bénéfices :
Réduction du temps de résolution grâce à une allocation optimisée des techniciens.
Identification des zones récurrentes de pannes (ex. : un datacenter avec des problèmes réseau fréquents).
Exemple :
Un incident réseau affecte plusieurs sites en Île-de-France. La carte permet de voir que 3 sites proches sont impactés et d’envoyer une équipe unique pour résoudre le problème.
2. Supervision des Équipements et du Réseau
Objectif : Surveiller l’état des équipements IT (serveurs, routeurs, points d’accès Wi-Fi) géolocalisés. Données à afficher:
Marqueurs :
Vert : Équipement opérationnel.
Rouge : Équipement en panne.
Jaune : Équipement en maintenance.
Lignes : Connexions réseau entre les sites (ex. : liens VPN ou fibres optiques).
Couches : Superposition de cartes thermiques pour visualiser la charge réseau ou CPU. Bénéfices :
Détection rapide des goulots d’étranglement dans le réseau.
Planification des maintenances en fonction de la localisation.
Exemple :
Un routeur en panne à Lyon perturbe 5 sites. La carte permet de rediriger le trafic vers un routeur de secours à Grenoble en attendant la réparation.
3. Gestion des Actifs IT (ITAM)
Objectif : Localiser les actifs IT (ordinateurs, imprimantes, serveurs) et leur statut (ex. : en service, en stock, en réparation). Données à afficher :
Marqueurs : Emplacement des actifs avec une icône spécifique par type (ex. : 🖥️ pour les PC, 🖨️ pour les imprimantes).
Filtrage : Par statut (ex. : "À recycler", "En fin de vie").
Historique : Afficher les déplacements des actifs (ex. : un PC transféré de Paris à Bordeaux). Bénéfices :
Réduction des pertes d’actifs grâce à un suivi géographique.
Optimisation des stocks de rechange en identifiant les sites sur-équipés ou sous-équipés.
Exemple :
Un parc d’imprimantes est sous-utilisé à Marseille. La carte permet de les redéployer vers un site à Toulouse où la demande est forte.
4. Cybersécurité et Détection des Menaces
Objectif : Cartographier les tentatives d’intrusion ou les appareils infectés par localisation. Données à afficher :
Marqueurs : Sites où des attaques ont été détectées (ex. : phishing, malware).
Alertes : Notifications en temps réel pour les nouvelles menaces.
Heatmap : Zones à haut risque (ex. : concentration d’attaques en Europe de l’Est). Bénéfices :
Identification des modèles géographiques d’attaques (ex. : attaques ciblées sur un pays).
Priorisation des actions de sécurité pour les sites les plus exposés.
Exemple :
Plusieurs tentatives de phishing sont détectées sur des utilisateurs basés à Berlin. La carte permet de déclencher une campagne de sensibilisation ciblée pour ce site.
5. Déploiement de Mises à Jour Logicielles
Objectif : Suivre le déploiement de correctifs ou de nouvelles versions logicielles par site. Données à afficher :
Marqueurs :
Vert : Mise à jour déployée.
Rouge : Échec du déploiement.
Gris : Déploiement en cours.
Progression : Pourcentage de déploiement par région. Bénéfices :
Identification rapide des sites en retard pour les mises à jour critiques.
Planification des fenêtres de maintenance par fuseau horaire.
Exemple :
Une mise à jour de sécurité doit être déployée sur tous les sites. La carte montre que l’Amérique du Nord est à jour, mais que l’Asie a des échecs. Une équipe est mobilisée pour résoudre les problèmes.
6. Gestion des Datacenters et du Cloud
Objectif : Visualiser les datacenters (physiques ou cloud) et leur utilisation. Données à afficher :
Marqueurs : Emplacement des datacenters avec leur statut (ex. : "Plein", "Disponible").
Capacité : Pourcentage d’utilisation des ressources (CPU, stockage).
Liens : Connexions entre datacenters (latence, bande passante). Bénéfices :
Optimisation de la répartition de charge entre les datacenters.
Planification des extensions ou des migrations vers le cloud.
Exemple :
Un datacenter à Francfort est saturé. La carte permet de rediriger de nouvelles instances vers un datacenter sous-utilisé à Amsterdam.

