Partager via


Scénarios de déploiement et résolution des problèmes liés au nouveau portail libre-service

 

S'applique à: System Center 2012 R2 Service Manager

Le nouveau portail libre-service est une application web HTML5 Razor MVC ASP.NET. Pendant l’installation, l’application web est configurée pour se connecter directement au service SDK en cours d’exécution sur le navigateur du serveur de Service Manager. Une installation du portail libre-service de base fraîchement configurée fonctionne comme indiqué dans le diagramme suivant.

sm-ssp-scenario-01

Les données transitent entre les différents composants dans l’ordre suivant.

  1. Un utilisateur tape l’URL de l’application web dans son navigateur pour accéder au portail libre-service.

  2. ASP.NET crée une instance de l’utilisateur et essaie d’obtenir le contenu du service SDK, fourni pendant l’installation, dans le contexte de l’utilisateur.

  3. Le service SDK lit et écrit des données dans la base de données de Service Manager.

Important


Si vous installez le nouveau portail sur le même serveur que l’ancien portail SharePoint : cette version du portail libre-service n’est pas compatible avec (et ne peut pas être mise à niveau à partir de) l’ancien portail libre-service de System Center Service Manager 2010 ou System Center Service Manager 2010 Service Pack 1 (SP1) ou Service Manager 2012 R2. Vous devez désinstaller les versions antérieures du portail libre-service avant de déployer le nouveau portail libre-service dans System Center 2012 – Service Manager.

Préparation au déploiement

Consultez la section suivante pour préparer le déploiement.

Configuration matérielle requise

Serveurs System Center 2012 R2 Processeur (min) Processeur (rec) RAM (min) RAM (rec) Espace disque dur (min) Espace disque dur (rec)
Portail libre-service + Service Manager secondaire (recommandé*) Processeur octuple cœur, 2,66 GHz Processeur octuple cœur, 2,66 GHz 16 Go 32 Go 80 Go 80 Go
Portail libre-service (autonome) Processeur quadruple cœur, 2,66 GHz Processeur octuple cœur, 2,66 GHz 8 Go 16 Go 80 Go 80 Go

* La configuration requise ci-dessus donnent accès à 500 utilisateurs en parallèle dans un temps de réponse acceptable, ce qui inclut les opérations de lecture moyennes en moins de 3 secondes et les opérations d’écriture en moins de 5 secondes, en considérant un ratio de lecture-écriture de 80:20. Pour les déploiements plus importants, consultez la section Déploiement d’une batterie de serveurs web ci-dessous.

Configuration logicielle

Windows Server 2012 R2

Le portail libre-service nécessite une résolution d’écran supérieure à 1024 X 768. Il est pris en charge dans les navigateurs suivants.

  • Microsoft Edge

  • Microsoft Internet Explorer 10 et 11

  • Mozilla Firefox 42 et versions ultérieures

  • Google Chrome 46 et versions ultérieures

Déployer le nouveau portail libre-service

Consultez la rubrique Déployer le nouveau portail libre-service pour obtenir des instructions détaillées sur la façon de déployer le nouveau portail libre-service. Les sections suivantes résument les principales considérations liées au déploiement.

Installation du portail en tant que le site web par défaut

Si vous voulez installer le nouveau portail libre-service sur le port 80, vous devez d’abord déplacer le site web par défaut dans IIS vers un autre port (par exemple, le port 8080), puis déplacer le portail libre-service vers le port 80.

Utilisation de SSL

SSL est recommandé pour garantir une communication sécurisée, surtout quand vous utilisez l’authentification de base qui transfère un nom d’utilisateur et un mot de passe sur le réseau en texte brut.

Topologies de déploiement

Vous pouvez utiliser les topologies de déploiement suivantes pour le portail libre-service.

Serveur unique (recommandé) : portail libre-service et serveur de Service Manager sur le même serveur

Dans cette topologie, le nouveau portail libre-service et le rôle de serveur d’administration sont tous les deux installés sur le même serveur. Il s’agit de la topologie recommandée car elle évite tout délai réseau entre le portail et le service SDK. En outre, nous vous recommandons d’installer le portail libre-service sur un serveur d’administration de Service Manager secondaire pour éviter toute dégradation des performances en raison de flux de travail en cours d’exécution sur le serveur principal.

sm-ssp-scenario-02

Dans cette topologie, l’authentification Windows (configurée par défaut) est utilisée pour assurer une authentification sécurisée sans traitement lié à l’utilisation de SSL.

Déploiement du portail libre-service autonome

Dans cette topologie, le portal libre-service est installé sur un serveur sur lequel le rôle de serveur d’administration de Service Manager n’est pas installé.

sm-ssp-scenario-03

Dans cette configuration, le nouveau portail libre-service et le serveur de Service Manager secondaire sont installés sur des serveurs différents et un double saut est nécessaire pour créer une connexion au service SDK à partir de l’application web. L’authentification Windows ne peut pas être utilisée dans ce cas et le portail doit être configuré pour utiliser l’authentification de base. Étant donné que l’authentification de base n’est pas sécurisée par nature, l’utilisation du protocole SSL est recommandée pour éviter tout problème de sécurité de déploiement, comme l’accès à des ressources derrière des pare-feu et serveurs proxy.

L’utilisation du protocole SSL avec des délais réseau entre le portail et le service SDK rend cette topologie plus lente que celle d’un déploiement à serveur unique. Toutefois, cette configuration s’avère utile dans les scénarios de déploiement dans lesquels un double saut ne peut pas être évité.

Déploiement d’une batterie de serveurs web

Un des principaux avantages du nouveau portail libre-service est que l’application web ne dispose pas d’un stockage de données local, en dehors de sa mise en cache. Il lit et écrit directement dans la base de données de Service Manager. Cela facilite le déploiement de plusieurs instances du serveur web, en parallèle. Pour les déploiements plus importants, impliquant l’accès en parallèle de 1 000 utilisateurs au portail, vous pouvez déployer le nouveau portail libre-service sous la forme d’une batterie de serveurs web similaire à la configuration suivante.

sm-ssp-scenario-04

Une batterie de serveurs assure la haute disponibilité au portail libre-service. En interne, l’application web crée une connexion WCF au service SDK. Puisque la création de la connexion initiale prend un certain temps, le serveur web auquel l’utilisateur se connecte initialement doit idéalement traiter toutes les demandes ultérieures pour que le bouclage soit plus rapide. Pour garantir cette configuration dans IIS, le paramètre ARR doit avoir la valeur Affinité du lient activée.

Résolution des problèmes d’installation

Les sections suivantes peuvent vous aider à résoudre les problèmes courants.

Impossible d’installer le nouveau portail libre-service après la désinstallation de l’ancien portail

Vous devez nettoyer le Registre de l’installation précédente pour que l’installation fonctionne. Procédez comme suit :

  1. Ouvrez l’éditeur de Registre pour rechercher la clé SMPortalWebContentServer et supprimez toutes les instances que vous trouvez. Vous pouvez également supprimer la propriété parent si vous n’y trouvez que le portail.

  2. Accédez à HEKY_LOCAL_MACHINE\SOFTWARE\Microsoft\System Center\2010\Service Manager\Setup et supprimez les propriétés suivantes.

    • PortalWebSiteName

    • PortalWebSitePort

    • SMServerName

  3. Supprimez manuellement le répertoire d’installation du site web du portail : <Lecteur_installation>:\inetpub\wwwroot\SelfServicePortal

IIS n’est pas installé

La page Configuration indique une erreur de rôle IIS, même si IIS est activé sur le serveur.

sm-ssp-scenario-05

Ce problème se produit quand le programme d’installation est démarré sans informations d’identification d’administrateur. En conséquence, le programme d’installation ne peut pas pas accéder aux paramètres de configuration IIS.

Solution : exécutez SetupWizard.exe en tant qu’administrateur. Cliquez avec le bouton droit sur SetupWizard.exe, puis sélectionnez Exécuter en tant qu’administrateur.

Résolution des problèmes liés au nouveau portail libre-service

Cette section décrit comment résoudre les problèmes que vous pouvez rencontrer après avoir installé le nouveau portail libre-service.

Paramètres IIS

Les paramètres par défaut du portail suivants sont configurés pendant l’installation.

Pool d’applications

Il est configuré pour s’exécuter dans le CLR .NET version 4 en mode classique.

sm-ssp-scenario-06

Dans les paramètres avancés, le pool d’applications est configuré pour s’exécuter avec un compte de service fourni pendant l’installation. L’utilisateur doit posséder des privilèges d’administrateur dans Service Manager et sur l’ordinateur local sur lequel il s’exécute.

sm-ssp-scenario-07

Configuration du site web

Seuls les paramètres Emprunt d’identité et Authentification Windows doivent être activés. Tous les autres paramètres doivent être désactivés.

sm-ssp-scenario-08

Pour l’emprunt d’identité, la valeur Utilisateur authentifié doit être sélectionnée.

sm-ssp-scenario-09

Paramètres d’authentification Windows :

sm-ssp-scenario-10

Le document par défaut du site web doit être index.cshtml.

sm-ssp-scenario-11

Authentification de base

Pour un scénario à double saut, l’authentification Windows ne fonctionne pas. Vous devez donc la désactiver. L’authentification de base doit être activée et configurée.

sm-ssp-scenario-12

Activer le suivi

Procédez comme suit pour activer le suivi.

Étape 1 Ajoutez les paramètres suivants dans le fichier web.config pour activer la génération du journal des événements.

<system.web>  
   …..  
   <trace enabled="true"/>  
   …  
</system.web>  
  

Étape 2 Dirigez la sortie vers un fichier en ajoutant les sections suivantes dans le fichier web.config.

<system.diagnostics>  
    <trace autoflush="true">  
      <listeners>  
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\logs\SSPOutput.log" />    
      </listeners>  
    </trace>  
</system.diagnostics>  
  

Étant donné que l’application web s’exécute dans le contenu de l’utilisateur connecté, vérifiez que tous les utilisateurs disposent bien des autorisations en écriture dans le dossier du journal. Par exemple, c:\logs dans l’exemple ci-dessus.

Débogage d’IIS

IIS prend en charge une journalisation efficace pour vous aider à déboguer ses problèmes. Pour plus d’informations, consultez Vue d’ensemble de la journalisation IIS.

Résolution des problèmes de déploiement

Utilisez les sections suivantes pour résoudre vos éventuels problèmes de déploiement.

Les modifications apportées aux définitions (annonces/offres de demande/offres de service/article de base de connaissances) n’apparaissent pas

Le nouveau portail libre-service utilise un mécanisme de mise en cache pour stocker des données statiques afin d’offrir des temps de réponse rapides. Le délai d’expiration du cache s’élève à 30 minutes par défaut, ce qui peut être configuré. Pour plus d’informations, consultez Déployer le nouveau portail libre-service dans la section Personnalisation de base. Toutes les modifications apportées aux définitions des annonces, des offres de demande, des offres de service et des articles de base de connaissances n’apparaissent pas tant que le cache n’est pas vidé.

La mise en cache mémoire utilisée se base sur .NET Framework MemoryCache. Le contenu mis en cache reste en mémoire jusqu’à ce que le processus de travail IIS soit arrêté. Il ne sert à rien de redémarrer IIS, car IIS ne supprime pas un ancien processus pour en démarrer un nouveau. Il réutilise plutôt un processus existant. Pour appliquer une nouvelle lecture et supprimer les données du cache, identifiez le processus de travail IIS associé à l’instance et sélectionnez Fin de tâche avant de redémarrer IIS.

Processus de travail IIS

Les sections Mes demandes et Mes activités sont vides

De nouvelles projections de type sont incluses dans le fichier Portal.mpb, qui fait partie du programme d’installation, et doivent être importées dans Service Manager. Pour les importer, procédez comme suit.

  1. Importez le fichier Portal.mpb sur votre serveur d’administration.

  2. Sur le serveur d’administration où se connecte votre portail, redémarrez le service SDK.

Des fenêtres contextuelles bloquent les liens externes

Si le paramètre Configuration de sécurité renforcée est activé dans Internet Explorer, l’utilisateur reçoit la fenêtre contextuelle suivante dans chaque page quand il navigue sur le portail.

fenêtre contextuelle dans Internet Explorer

La fenêtre contextuelle ci-dessus s’affiche pour le SDK JavaScript Application Insights, lequel est intégré au portail libre-service pour collecter des données de télémétrie. Vous pouvez désactiver l’envoi de données de télémétrie en modifiant la valeur du paramètre de configuration EnableTelemetry, ce qui permet de supprimer la fenêtre contextuelle. Pour plus d’informations, consultez Déployer le nouveau portail libre-service dans la section Personnalisation de base.

Vous pouvez accéder au portail sur l’ordinateur qui héberge IIS, mais vous ne pouvez pas y accéder à partir d’un ordinateur distant.

Ce problème peut se produire si le portail et le service SDK se trouvent sur des ordinateurs différents (déploiement du portail libre-service autonome). Cela donne lieu à un scénario de double tronçon quand vous essayez d’accéder au portail à partir d’un ordinateur distant. Par conséquent, la configuration du portail par défaut qui est décrite sous « Authentification Windows » ne fonctionnera pas. Pour résoudre ce problème, utilisez à la place la configuration « Authentification de base ».

Vous ne voyez pas certaines offres de service ou des offres de service publiées sur le portail.

La raison en est que les offres de service sont affichées seulement si elles remplissent une des conditions suivantes :

  • L’offre de service correspond à la langue du navigateur ou la langue sélectionnée via les correspondances du sélecteur de langue du portail.

  • L’offre de service n’a pas de langue sélectionnée.

image2 pour 762cd06f-cd61-49ad-a757-8c7d45330125

image1 pour 762cd06f-cd61-49ad-a757-8c7d45330125

Voici la liste des langues avec les codes de langue qui sont pris en charge par le portail :

  • en-US : English

  • fr-FR : français

  • de-DE : Deutsch

  • cs-CZ : čeština

  • da-DK : Dansk

  • el-GR : Ελληνικά

  • es-ES : español

  • fi-FI : suomi

  • hu-HU : magyar

  • it-IT : italiano

  • ja-JP : 日本語

  • ko-KR : 한국어

  • nb-NO : norsk

  • nl-NL : Nederlands

  • pl-PL : polski

  • pt-BR : português (Brasil)

  • pt-PT : português (Portugal)

  • ru-RU : русский

  • sv-SE : svenska

  • tr-TR : Türkçe

  • zh-CHS : 中文(简体)

  • zh-TW : 中文(简体)

  • zh-HK : 中文 (香港特別行政區)

L’affichage de l’heure pour mes éléments indique toujours « AM » (par exemple, l’affichage de l’heure pour un événement survenu à 11:00 P.M. apparaît toujours en 11:00 A.M.)

Pour résoudre ce problème, recherchez la balise « utc-date » et remplacez DateTime.Parse(xyz).ToString("yyyy,M,d,h,m,s") par DateTime.Parse(xyzToString("yyyy,M,d,H,m,s") dans les fichiers suivants :

  • Views\KnowledgeBase\Article.cshtml

  • Views\MyActivities\ActivityDetails.cshtml

  • Views\MyRequests\RequestDetails.cshtml

  • Views\Shared\_Layout.cshtml

Vous voulez afficher l’état de certains éléments de travail comme étant « Actif » sur le portail.

Voici un exemple de code pour afficher l’état de « ServiceRequestStatusEnum.OnHold » et « IncidentStatusEnum.Active.Pending » d’une énumération comme étant actif :

L’ajout suivant doit être effectué dans Views\MyRequests\Index.cshtml

  
@{  
    List<Dictionary<string, object>> sortList = ViewBag.RequestsList;  
  
    string idClicked = ViewBag.ClickeID;  
    var reqType = ViewBag.ReqType;  
    var criteria = ViewBag.Criteria;  
    string clicked_filter = ViewBag.ClickedFilter;  
  
    foreach (Dictionary<string, object> listitem in sortList)  
    {  
        if (listitem["Status"].ToString().Equals("ServiceRequestStatusEnum.OnHold") || listitem["Status"].ToString().Equals("IncidentStatusEnum.Active.Pending"))  
        {  
            listitem["RequestStatus"] = Resources.SelfServicePortalResources.Active;  
        }  
    }   
}  
  

L’ajout suivant doit être effectué dans Views\MyRequests\RequestDetails.cshtml

  
@{  
…………  
  
    if (changeStatusButtonText != null)  
    {  
        if (changeStatusButtonText.Equals("ActivateRequest"))  
        {  
            changeStatusButtonText = Resources.SelfServicePortalResources.ActivateRequest;  
            changeStatusCommentPlaceholder = Resources.SelfServicePortalResources.AddCommentToActivate;  
        }  
        else if (changeStatusButtonText.Equals("CancelRequest")) //Active  
        {  
            changeStatusButtonText = Resources.SelfServicePortalResources.CancelRequest;  
             changeStatusCommentPlaceholder = Resources.SelfServicePortalResources.AddCommentToCancel;  
        }  
    }  
  
    if (requestEntry["Status"].ToString().Equals("ServiceRequestStatusEnum.OnHold")  
        || requestEntry["Status"].ToString().Equals("IncidentStatusEnum.Active.Pending"))  
    {  
        requestEntry["RequestStatus"] = Resources.SelfServicePortalResources.Active;  
        changeStatusButtonText = Resources.SelfServicePortalResources.CancelRequest;  
        changeStatusCommentPlaceholder = Resources.SelfServicePortalResources.AddCommentToCancel;          
    }   
  
}