Bloc de construction : Pages, contrôles et adaptateurs mobiles
Dernière modification : vendredi 19 mars 2010
S’applique à : SharePoint Foundation 2010
Dans cet article
Modèle objet pour les pages, contrôles et adaptateurs mobiles
Code XML utilisé pour les pages, les contrôles, les adaptateurs et les visionneuses de documents mobiles
Domaines relatifs au développement de pages, de contrôles et d’adaptateurs mobiles
Plus d’informations sur le développement de pages, de contrôles et d’adaptateurs mobiles
Cette rubrique fournit une vue d’ensemble des pages, des contrôles et des adaptateurs mobiles en tant que blocs de construction de développement dans Microsoft SharePoint Foundation.
Pour effectuer des déploiements de SharePoint Foundation accessibles à des appareils mobiles, SharePoint Foundation fournit un ensemble de pages mobiles et de contrôles mobiles qui est entièrement distinct des pages et des contrôles auxquels les ordinateurs (non mobiles) accèdent. Certains composants WebPart sont également rendus accessibles aux appareils mobiles au moyen d’adaptateurs de composants WebPart mobiles.
Lorsqu’un appareil mobile accède à une URL SharePoint Foundation, SharePoint Foundation détecte le type de navigateur dans l’en-tête de la demande et redirige cette demande vers une version mobile de la page. La page mobile aura des contrôles mobiles qui reflètent généralement les fonctionnalités des contrôles de la version non mobile de la page. Si la page non mobile est une page de composants WebPart, la page mobile peut avoir des adaptateurs pour un ou plusieurs des composants WebPart sur la page non mobile. Un adaptateur est une version alternative du composant WebPart et de ses contrôles enfants, qui effectue de façon appropriée le rendu pour l’écran de petite taille de l’appareil mobile.
Vous pouvez créer vos propres pages, contrôles et adaptateurs mobiles personnalisés pour rendre vos solutions SharePoint Foundation accessibles depuis des appareils mobiles.
Modèle objet pour les pages, contrôles et adaptateurs mobiles
Les classes pour le développement mobile se répartissent en trois grands groupes qui sont présentés dans les sous-sections qui suivent.
Classes pour les pages mobiles
Les pages mobiles de SharePoint Foundation n’utilisent pas de pages maîtres. En outre, la distinction entre les pages de site et les pages d’application ne s’applique pas dans le développement SharePoint Foundation pour les appareils mobiles. Toutes les pages mobiles dans SharePoint Foundation sont des pages d’application. Elles ne s’exécutent pas en mode sans échec.
Toutes les pages mobiles SharePoint Foundation héritent directement ou indirectement de l’une ou l’autre des classes suivantes :
SPMobilePage - Utilisez cette classe comme classe de base pour votre page mobile personnalisée lorsqu’aucune des classes plus spécifiques suivantes n’est applicable.
SPMoblogPage - Utilisez cette classe comme classe de base pour les pages mobiles personnalisées qui font partie de sites blog.
WebPartMobilePage - Utilisez cette classe comme classe de base pour les pages de composants WebPart mobiles personnalisées. Il doit exister un objet WebPartPage non mobile correspondant, appelé page cible, pour chaque objet WebPartMobilePage. Chaque composant WebPart sur la page cible pour lequel un adaptateur mobile a été créé est rendu sur la version mobile de la page.
SPMobileWikiPage - Utilisez cette classe, qui dérive de WebPartMobilePage, comme classe de base pour les pages Wiki mobiles personnalisées. Pour chaque page de ce type, il doit exister une page Wiki cible correspondante. Chaque composant WebPart sur la page cible pour laquelle un adaptateur mobile a été créé est rendu sur la version mobile de la page.
En plus de créer vos propres pages mobiles, vous pouvez modifier le système de redirection qui route les demandes depuis les appareils mobiles vers des pages mobiles. Pour plus d’informations, voir Vue d’ensemble des pages mobiles et du système de redirection, Pages mobiles, Mise en page et pagination des pages mobiles et Procédure pas à pas : personnalisation de la page d’accueil mobile par le biais de la redirection. Pour plus d’informations sur le développement de pages mobiles en général, voir aussi Procédure : personnaliser les pages d'accueil de l'affichage mobile, Procédure : modifier les pages de formulaire et d'affichage de liste mobiles et Procédure : personnaliser le rendu des champs sur les pages mobiles.
Classes pour les contrôles mobiles
Il existe près de 200 classes dans l’espace de noms Microsoft.SharePoint.MobileControls. Elles héritent au final de la classe Microsoft ASP.NET System.Web.UI.MobileControls.MobileControl. À quelques exceptions près, la parenté d’héritage d’un contrôle mobile SharePoint Foundation inclut SPMobileComponent. Cette classe fournit plusieurs sortes de membres aux contrôles mobiles SharePoint Foundation, y compris les suivants :
Des membres qui fournissent des informations de contexte SharePoint Foundation, telles que le site Web actuel, la liste actuelle, le type de page et les autorisations de l’utilisateur actuel.
Des membres qui gèrent le système de troncation qui est utilisé lorsqu’un contrôle est trop grand ou a trop d’éléments enfants pour s’insérer de façon lisible dans l’écran d’un appareil mobile.
Des membres qui implémentent le système de modèles de rendu qui rend les contrôles.
Notes
SPMobileComponent dérive immédiatement de System.Web.UI.MobileControls.MobileControl : aucune classe SharePoint Foundation dérivant de SPMobileComponent ne peut donc dériver d’une classe de contrôle mobile Microsoft ASP.NET spécifique, même si le nom peut vous conduire à penser que c’est le cas. Par exemple, SPMobileListItem ne dérive pas de System.Web.UI.MobileControls.MobileListItem. Il existe cependant quelques classes dans l’espace de noms Microsoft.SharePoint.MobileControls qui dérivent en effet directement de classes ASP.NET et qui par conséquent ne dérivent donc pas de SPMobileComponent. SPMobileLink en est un exemple.
La plupart des contrôles mobiles SharePoint Foundation ne sont pas référencés directement dans les pages aspx mobiles. Au lieu de cela, ce sont des objets enfants d’éléments RenderingTemplate du fichier MobileDefaultTemplates.ascx qui se trouve dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates. Le modèle de rendu (qui est un contrôle utilisateur ASP.NET), est référencé à son tour dans la propriété TemplateName d’un objet qui instancie une classe qui est dérivée de SPMobileComponent. C’est ce dernier objet qui est référencé sur la page mobile. Il est en effet fréquent que le modèle de rendu qui est référencé par l’objet sur la page soit lui-même le premier d’une chaîne de modèles de rendu dans MobileDefaultTemplates.ascx, chaque modèle référençant le suivant, jusqu’à ce que le modèle de rendu contenant réellement le contrôle mobile enfant soit atteint. Dans certains cas, le contrôle qui est finalement rendu est sélectionné dynamiquement sur la base d’informations contextuelles telles que le type de site, le type de page et le type de liste.
En général, lorsque vous utilisez des contrôles personnalisés dans votre solution SharePoint Foundation, vous utilisez ce même système : ajoutez vos contrôles personnalisés à un modèle de rendu personnalisé dans un fichier ascx dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates, puis modifiez le système d’appel de façon à ce que votre modèle de rendu personnalisé soit utilisé là où vous le souhaitez sur les pages.
Pour plus d’informations sur le développement de contrôles mobiles, voir Vue d’ensemble des pages mobiles et du système de redirection, Système de rendu des pages mobiles, Points de suspension et limites de rendu, Procédure : personnaliser les pages d'accueil de l'affichage mobile, Procédure : modifier les pages de formulaire et d'affichage de liste mobiles, Procédure : personnaliser le rendu des champs sur les pages mobiles et les rubriques de procédures pas à pas dans le nœud Procédures et procédures pas à pas relatives au développement mobile du Kit de développement logiciel (SDK) Microsoft SharePoint Foundation.
Classes pour les adaptateurs mobiles
SharePoint Foundation utilise le système ASP.NET des adaptateurs de contrôle pour activer les fonctionnalités des composants WebPart sur les pages mobiles. Toutes les classes d’adaptateurs mobiles de SharePoint Foundation dérivent de WebPartMobileAdapter, qui dérive elle-même de la classe ASP.NETControlAdapter. Les principales modifications apportées par la classe WebPartMobileAdapter à la classe ControlAdapter sont des modifications conçues pour bloquer l’accès direct à l’objet générateur de code HTML qui rend le composant WebPart. Ces modifications sont requises pour des raisons de sécurité.
Les adaptateurs de composants WebPart mobiles ne sont pas référencés sur la page mobile. Au lieu de cela, ils sont mappés au composant WebPart qu’ils adaptent dans un fichier de configuration. Lorsque la page mobile qui correspond à une page de composants WebPart non mobile cible est rendue, l’environnement d’exécution recherche chaque composant WebPart dans la page cible pour voir s’il a un adaptateur. Si c’est le cas, l’adaptateur est rendu. Si ce n’est pas le cas, le composant WebPart n’est pas rendu sur la page mobile.
Les adaptateurs de composant WebPart suivants sont intégrés à SharePoint Foundation :
Vous pouvez créer vos propres adaptateurs de composants WebPart mobiles personnalisés pour vos composants WebPart personnalisés ou pour des composants WebPart qui sont intégrés à SharePoint Foundation.
Même si les pages mobiles ne s’exécutent pas en mode sans échec, vous devez inscrire un adaptateur de composant WebPart en tant que contrôle sécurisé, exactement comme doit l’être un composant WebPart. Ceci est destiné à garantir que quelqu’un ne disposant pas de droits de modification sur le fichier web.config ne peut pas utiliser une page mobile ni un adaptateur mobile pour accéder à un composant WebPart qui n’est pas sécurisé.
Notes
SharePoint Foundation ne prend pas en charge la création d’adaptateurs mobiles pour des contrôles autres que des composants WebPart.
Pour plus d’informations sur le développement d’adaptateurs mobiles pour SharePoint Foundation, voir Procédure : créer un adaptateur mobile et Démonstration : création d’un adaptateur mobile.
Classe de contexte mobile
La classe SPMobileContext est une classe de commodité qui encapsule des propriétés relatives au contexte HTTP actuel et qui sont spécialement utiles lors du développement pour des appareils mobiles. Par exemple, la propriété MarkupLanguage retourne le nom du langage de rendu de la page utilisé par le navigateur sur l’appareil mobile, par exemple « html32 », « chtml10 », « xhtml-mp » ou « wml11 ».
Membres de redirection mobile
La classe UnsecuredLayoutsPageBase a des membres virtuels qui implémentent le système de redirection de demandes des appareils mobiles vers la version mobile de la page demandée. Si vous dérivez un type de page personnalisé de UnsecuredLayoutsPageBase (qui serait une page non mobile) et que vous voulez qu’une version mobile des instances de la page soit accessible aux appareils mobiles, mais que la logique de redirection par défaut n’est pas appropriée pour votre type de page, vous pouvez remplacer ces membres.
Classe d’utilitaires mobiles
La classe SPMobileUtility a des dizaines de méthodes et de champs statiques destinés à être utilisés pour le développement mobile dans SharePoint Foundation.
Code XML utilisé pour les pages, les contrôles, les adaptateurs et les visionneuses de documents mobiles
La plupart des affichages de liste ne sont pas bien conçus pour s’afficher sur l’écran de petite taille d’un appareil mobile. Pour cette raison, seuls les affichages de liste qui ont été conçus en tant qu’affichages mobiles s’afficheront sur une page mobile. (L’inverse n’est pas vrai. Un affichage mobile peut être vu sur une page non mobile.) Il peut également exister un affichage par défaut d’une liste pour les appareils mobiles qui est différent de l’affichage par défaut dans les navigateurs des ordinateurs.
Un affichage de liste est désigné en tant qu’affichage mobile en définissant l’attribut MobileView de l’élément View, élément (List) à True. Vous pouvez désigner un affichage mobile en tant qu’affichage mobile par défaut en définissant l’attribut MobileDefaultView du même élément à True.
Si votre solution inclut une visionneuse qui permet à des documents de types spécifiés d’être affichés sur des appareils mobiles même si le format du document n’est pas le format de rendu du navigateur de l’appareil, vous pouvez créer une page mobile spéciale qui héberge la visionneuse et qui utilise le marquage XML pour inscrire la page, et permettre éventuellement aux appareils contenant leurs propres visionneuses pour le format spécifié d’ouvrir directement le document. Pour plus d’informations sur ce marquage, voir Développement de visionneuses de documents mobiles.
Domaines relatifs au développement de pages, de contrôles et d’adaptateurs mobiles
Bloc de construction : pages et interface utilisateur
Bloc de construction : Composants WebPart
Plus d’informations sur le développement de pages, de contrôles et d’adaptateurs mobiles
Des informations approfondies et détaillées sur le développement SharePoint Foundation pour les appareils mobiles se trouvent dans le nœud nommé Développement mobile avec SharePoint Foundation de ce Kit de développement logiciel (SDK).