Partager via


Procédure pas à pas : personnalisation de la page d’accueil mobile par le biais de la redirection

Dernière modification : mercredi 2 février 2011

S’applique à : SharePoint Foundation 2010

Comme décrit dans Redirection vers la page d’accueil, Microsoft SharePoint Foundation possède un second système de redirection pour les pages d’accueil uniquement. Cette rubrique explique comment vous pouvez modifier ce système afin que les utilisateurs itinérants accèdent à une page d’accueil de remplacement pour un type de site spécifique.

Notes

La fonctionnalité de redirection vers la page d’accueil n’est appelée que si l’utilisateur itinérant accède à la page d’accueil d’un site Web en suivant l’une des méthodes suivantes :

  • en spécifiant default.aspx comme page d’accueil http://MyServer/MyWebSite/default.aspx ;

  • en ne spécifiant aucun fichier de page, mais en ajoutant /m/ à la fin de l’URL du site Web http://MyServer/MyWebSite/m/ (cela n’est possible que si la fonctionnalité MobileRedirection héritée a été activée - pour plus d’informations, voir Vue d’ensemble des pages mobiles et du système de redirection).

Vous pouvez appeler la redirection à partir d’un navigateur d’ordinateur en utilisant /m/ ou en ajoutant ?Mobile=1 après default.aspx dans l’URL.

La méthode de modification décrite dans cette rubrique n’a aucune incidence sur les utilisateurs itinérants qui accèdent à la page d’accueil d’un site Web en n’utilisant que l’URL du site Web (http://MyServer/MyWebSite/) ou en spécifiant une page autre que default.aspx (http://MyServer/MyWebSite/HomePage.aspx).

La fonctionnalité de redirection vers la page d’accueil utilise un mécanisme de redirection à deux niveaux. Les appareils portables sont redirigés tout d’abord vers la page default.aspx mobile située dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE. La page default.aspx redirige ensuite l’utilisateur vers la page d’accueil réelle, en fonction du type de définition de site, selon la séquence suivante :

  1. default.aspx ne contient qu’un contrôle qui indique au runtime d’utiliser un contrôle RenderingTemplate appelé MobileHomePageRedirect.

  2. Le runtime parcourt la mémoire pour rechercher parmi tous les contrôles de rendu chargés à partir des fichiers ascx placés dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES un contrôle RenderingTemplate portant ce nom. Il en trouve un dans le fichier MobileDefaultTemplates.ascx.

  3. La propriété Template du contrôle MobileHomePageRedirect dirige le runtime vers un objet de la classe SPMobileWebUrlRedirect.

  4. L’objet SPMobileWebUrlRedirect construit le nom d’un autre contrôle RenderingTemplate à l’aide du modèle Mobile_IDTypeSite_HomePage_Redirect, où IDTypeSite est le nom d’une définition de site incluse avec SharePoint Foundation, par exemple STS, SGS ou BLOG, ou le numéro d’identification d’une définition de site personnalisé, par exemple 10001. (Pour plus d’informations, voir la rubrique de référence pour la classe SPMobileWebUrlRedirect.)

  5. Le runtime parcourt tous les modèles de rendu chargés à partir des fichiers ascx placés dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\CONTROLTEMPLATES à la recherche de ce deuxième contrôle RenderingTemplate.

    • Si SiteTypeID a la valeur BLOG, le runtime recherche alors le contrôle Mobile_BLOG_HomePage_Redirect RenderingTemplate dans MobileDefaultTemplates.ascx. La propriété Template de ce contrôle dirige le runtime sur l’objet de la classe SPMobileHomePageRedirection dont la propriété PageFileName spécifie que bloghome.aspx représente la page d’accueil.

    • Si IDTypeSite ne correspond pas à BLOG et qu’aucun fichier custom .ascx n’a été créé, le runtime utilise alors le contrôle RenderingTemplateMobile_Default_HomePage_Redirect dans MobileDefaultTemplates.ascx. La propriété Template du contrôle dirige le runtime sur l’objet de la classe SPMobileHomePageRedirection dont la propriété PageFileName spécifie que mblwp.aspx représente la page d’accueil.

Vous pouvez créer un contrôle personnalisé qui redirige les utilisateurs sur une autre page d’accueil mobile.

Procédures

Pour remplacer la page d’accueil de l’affichage mobile par le biais de la redirection

  1. Dans Microsoft Visual Studio, créez un Projet SharePoint vide. Utilisez le type de projet solution de batterie de serveurs et non solution en bac à sable (sandbox).

  2. Ajoutez un dossier mappé SharePoint à TEMPLATE\LAYOUTS\MOBILE.

  3. Cliquez avec le bouton droit sur le nouveau dossier, ajoutez un fichier en texte brut destiné à représenter votre nouvelle page d’accueil et attribuez-lui un nom avec l’extension aspx, tel que ContosoHomePage.aspx. Visual Studio ajoute automatiquement le fichier au manifeste de solution SharePoint et le configure afin qu’il soit déployé sur %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE.

    ConseilConseil

    N’ajoutez pas d’élément Page Application SharePoint au projet. Visual Studio inclut avec les éléments de ce type certains dossiers et fichiers de prise en charge de déploiement (et du contenu par défaut dans le fichier) qui ne sont pas appropriés pour une page mobile.

  4. Copiez le contenu d’une page existante à partir de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\MOBILE, par exemple, mblwiki.aspx, mblwp.aspx, mblwpdetail.aspx ou bloghome.aspx, dans votre fichier personnalisé.

  5. Modifiez le contenu du fichier selon vos besoins (en guise de test rapide, copiez le contenu de mblwiki.aspx, puis permutez les paramètres de couleur de premier plan et d’arrière-plan dans l’en-tête afin que le titre de la page passe du type par défaut blanc sur arrière-plan bleu gris foncé au type bleu gris foncé sur arrière-plan blanc).

  6. Ajoutez un dossier mappé SharePoint à TEMPLATE\ControlTemplates.

  7. Cliquez avec le bouton droit sur le nouveau dossier et ajoutez un contrôle utilisateur à celui-ci. Attribuez au fichier ascx un nom qui le différencie de ceux des autres fournisseurs de solutions, par exemple, redirection_page_accueil_contoso.ascx. Visual Studio ajoute automatiquement le fichier au manifeste de solution SharePoint et le configure afin qu’il soit déployé sur %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates.

    ConseilConseil

    N’ajoutez pas le contrôle utilisateur en cliquant avec le bouton droit sur le projet dans l’Explorateur de solutions. Lorsqu’un contrôle utilisateur est ajouté de la sorte, Visual Studio le place dans un sous-dossier de TEMPLATE\ControlTemplates et, s’il n’est pas déplacé, le déploie dans un sous-dossier correspondant de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates. Les modèles de rendu mobile situés dans des sous-dossiers ne sont pas chargés.

  8. Supprimez les fichiers .ascx.cs et .ascx.designer.cs (ou .ascx.vb et .ascx.designer.vb). Ils ne sont pas nécessaires pour ce projet.

  9. Remplacez toute la section de directives du fichier .ascx par le marquage suivant :

    <%@ Register TagPrefix="GroupBoardMobile"   Namespace="Microsoft.SharePoint.Applications.GroupBoard.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Control Language="C#"   %> 
    <%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %> 
    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="SPMobile" Namespace="Microsoft.SharePoint.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="WPMobile" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    
  10. Ajoutez un modèle de rendu dans le fichier .ascx et attribuez-lui un ID dans le format suivant : Mobile_IDTypeSite_HomePage_Redirect.

    IDTypeSite peut avoir l’une des valeurs suivantes :

    • Nom de la définition du site d’équipe : « STS ».

    • Nom de la définition du site de travail de groupe : « SGS ».

    • Numéro d’identification (pas le nom) de toute définition de site personnalisée qui a été créé.

    Il existe déjà un contrôle RenderingTemplateMobile_BLOG_HomePage_Redirect défini dans MobileDefaultTemplates.ascx. Vous ne pouvez pas modifier ce fichier. Vous pouvez créer un deuxième contrôle RenderingTemplate également nommé Mobile_BLOG_HomePage_Redirect dans un fichier .ascx personnalisé, mais cette opération risque d’interrompre d’autres solutions personnalisées ou tierces installées qui peuvent dépendre du Mobile_BLOG_HomePage_Redirect existant.

    Les contrôles RenderingTemplate inclus avec SharePoint Foundation sont chargés en premier, pour que le modèle de rendu standard soit remplacé lorsqu’un modèle personnalisé du même nom est chargé. Si plusieurs contrôles RenderingTemplate personnalisés portent le même nom, celui dont le nom de fichier est le dernier dans l’ordre alphabétique remplace les autres.

    Notes

    Les définitions de site MPS, CENTRALADMIN, TENANTADMIN et WIKI héritée ne prennent pas en charge l’accès à partir des appareils mobiles.

    Notes

    Le nom d’une définition de site est défini par l’attribut Name d’un élément Template du fichier WebTemp.xml, tandis que l’ID de la définition de site est défini avec l’attribut ID du même élément. Pour plus d’informations sur ces attributs, voir WebTemp.xml.

    Important

    Pour la configuration de définition de site, l’élément Configuration dans le fichier Onet.xml de définition de site doit avoir un élément WebFeatures ; cet élément doit posséder en outre l’élément de fonctionnalité de redirection sur la page d’accueil : <Feature ID="F41CC668-37E5-4743-B4A8-74D1DB3FD8A4" />.

    L’exemple suivant illustre un modèle qui redirige vers ContosoHomePage.aspx les appareils mobiles qui accèdent aux sites Web en fonction de la définition de site STS.

    <SharePoint:RenderingTemplate RunAt="Server"
       ID="Mobile_STS_HomePage_Redirect">
      <Template>
        <SPMobile:SPMobileHomePageRedirection RunAt="Server" 
          PageFileName="ContosoHomePage.aspx" />
      </Template>
    </SharePoint:RenderingTemplate>
    
  11. Dans le menu Générer, sélectionnez Déployer la solution. Cette opération enregistre automatiquement le fichier .ascx, déploie les deux fichiers et recycle l’application Web, ce qui permet de recharger tous les fichiers .ascx situés dans ce dossier.

  12. Testez votre nouvelle page d’accueil avec un émulateur ou un appareil portable. Notez que l’URL que vous utilisez détermine si vous accédez à la page d’accueil de remplacement ou à la page d’accueil d’origine. Pour plus d’informations, voir plus haut dans cette rubrique.

Voir aussi

Concepts

Développement mobile avec SharePoint Foundation

Autres ressources

Procédures et procédures pas à pas relatives au développement mobile