Guide de dépannage des widgets

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 5 minutes de lecture
  • Utilisez les outils suivants pour rechercher et résoudre les comportements inattendus de vos widgets personnalisés Portail de services .

    Réduire la complexité
    Désactivez les widgets non associés au widget que vous dépannez pour isoler les parties de la page susceptibles de provoquer des erreurs ou un comportement inattendu. Définissez le champ actif sur faux dans un enregistrement de widget pour masquer le widget sur la page et empêcher l’exécution des scripts associés.
    Utiliser la console développeur du navigateur

    Tous les navigateurs de bureau pris en charge disposent d’outils de développement intégrés. Accédez aux outils de développement de votre navigateur pour afficher les messages de la console et les erreurs levées par JavaScript côté client. La plupart des outils de journalisation détaillés ci-dessous génèrent des informations vers cette console.

    Si vous rencontrez des problèmes de performances, vérifiez la console JavaScript pour voir s’il y a des erreurs, un grand nombre de requêtes HTTP ou des requêtes HTTP dont la résolution prend beaucoup de temps. Vous pouvez utiliser la console pour identifier tous les widgets qui se chargent lentement. Pour plus d’informations, consultez l’article Comment identifier un widget lent sur une page [KB0744521] dans la base de connaissances Now Support.

    Déterminer la cause des problèmes de performance

    Les conseils suivants peuvent aider à déterminer la cause des problèmes de performances dans les portails :

    • Déterminez si le problème est lié au portail ou à l’ensemble de la plateforme en comparant les fonctionnalités des deux interfaces. Pour plus d’informations sur les problèmes de performances de la plate-forme, reportez-vous à la section Platform performance.
    • Déterminez si le problème affecte l’ensemble du portail ou des pages spécifiques. Si toutes les pages du portail sont lentes, vérifiez si des éléments de menu scriptés dans le menu d’en-tête ou des thèmes avec de gros fichiers de police ou d’image peuvent en être la cause. Si une page spécifique est lente, utilisez la console développeur du navigateur pour déterminer quel widget pourrait en être la cause.
    • Consultez la table Journal [syslog] pour les avertissements liés aux objets JSON volumineux provoquant des lenteurs. Si ces avertissements s’affichent avec l’action qui provoque la lenteur, cela indique qu’un widget utilise trop de données.

    Pour plus d’informations, consultez l’article Les six pièges de performance courants dans Portail de services et comment les éviter [KB0634588] dans la base de connaissances Now Support.

    Utiliser le menu contextuel du widget pour accéder aux informations et aux options
    CTRL+clic droit sur un widget pour accéder à ses options de configuration. Il existe également des options permettant de générer le champ d’application et l’objet de données du champ d’application vers la console du navigateur. Pour en savoir plus sur ce menu, reportez-vous à la section Utilisation des widgets du portail.
    Utiliser des méthodes de script pour capturer la sortie de débogage

    Plusieurs méthodes sont disponibles pour générer des informations de débogage dans votre code côté serveur et client.

    Tableau 1. Méthodes de débogage scriptées
    Méthode Graphique des disponibilités Description
    console.log() Serveur et client Consigne la sortie vers la console développeur du navigateur.
    $sp.log() Serveur Consigne la sortie vers la table Entrées de journal du Portail de services [sp_log], lorsque l’utilisateur connecté a le rôle sp_admin ou administrateur .
    gs.log() Serveur Consigne la sortie dans la table Journal [syslog].
    Remarque :
    gs.log crée des enregistrements dans la table syslog. Une utilisation excessive peut nuire aux performances.
    gs.warn() Serveur Génère une sortie de niveau d’avertissement dans la table Journal [syslog].
    gs.error() Serveur Génère une sortie de niveau d’erreur dans la table Journal [syslog].
    gs.addInfoMessage() Serveur Affiche un message d’information vert en haut de la fenêtre du navigateur.
    gs.addErrorMessage() Serveur Affiche un message d’erreur rouge en haut de la fenêtre du navigateur.
    spUtil.addErrorMessage() Client Affiche un message d’erreur dans la fenêtre du navigateur.
    spUtil.addInfoMessage() Client Affiche un message d’information dans la fenêtre du navigateur.
    spUtil.addTrivialMessage() Client Affiche un message qui disparaît automatiquement après un court laps de temps.
    Débogueur Client Définit un point d’arrêt dans les navigateurs Chrome et Firefox, ce qui vous permet de parcourir un script ligne par ligne dans la console développeur du navigateur.
    {{données|json}} HTML Ce code peut être ajouté au code HTML d’une page pour générer l’objet de données vers la page du portail au format JSON.
    Vérifier les restrictions de sécurité

    Souvent, les problèmes d’affichage des widgets sont causés par les règles d’accès ou les critères d’utilisateur plutôt que par le script du widget. Vérifiez les critères d’utilisateur pour les enregistrements et vérifiez que tous les enregistrements qui ne sont pas accessibles dans un widget le sont à l’aide de l’interface utilisateur de la plateforme. Utilisez le débogueur d’ACL pour vous assurer que vos utilisateurs disposent de l’accès attendu aux enregistrements utilisés par vos widgets. Pour plus d’informations sur le débogueur, consultez Outils de débogage d’ACL.

    Catalogue de services Les éléments peuvent également être restreints pour ne pas apparaître dans .Portail de services Si vous obtenez un message d’erreur Vous n’êtes pas autorisé ou l’enregistrement n’est pas valide pour un Catalogue de services widget, vérifiez que l’élément n’est pas masqué dans .Portail de services

    Vérifier les fournisseurs d’angle associés
    Vérifiez que les fournisseurs d’angle nécessaires sont associés aux widgets. La suppression des fournisseurs d’angle par défaut associés à un widget de système de base peut provoquer un comportement inattendu. Par exemple, la suppression des fournisseurs d’angle scToggleData ou scBindHtmlCompile du widget d’élément de catalogue SC.
    Créer une référence au périmètre des widgets dans la console
    Utilisez la référence à un widget pour manipuler les données du champ d’application ou exécuter manuellement les scripts client et serveur des widgets. Procédez comme suit pour créer la référence.
    • 1. Cliquez avec le bouton droit sur le widget et choisissez Inspecter.
    • 2. Dans l’onglet Éléments de l’outil de développement, cliquez pour mettre en surbrillance l’élément avec l’attribut widget=widget. Vous pouvez le trouver quelques éléments au-dessus de l’élément actuellement inspecté. Cet élément pointe l’outil de script $0 vers le widget.
    • Dans la console JavaScript, exécutez le code suivant :
      var scopeRef = angular.element($0).scope();
    Utilisez la référence à votre widget pour modifier les données dans la console. Consultez l'exemple suivant. N’oubliez pas d’exécuter AngularJS $apply() sur le périmètre pour appliquer les modifications à la page.
    scopeRef.data.prop1 = "Pear";
    scopeRef.$apply();
    Exécutez n’importe quelle fonction définie dans le contrôleur client des widgets à partir de votre référence à l’aide de la syntaxe ci-dessous.
    scopeRef.exampleFunction();

    Utilisez la commande refresh pour exécuter manuellement le script du serveur de widgets.

    scopeRef.server.refresh();