| Comment SharePoint réalise cette détection ? Si vous ouvrez votre fichier web.config dans la section modules, vous apercevrez la déclaration d’un SPRequestModule, c’est en réalité celui-ci qui détermine l’action à effectuer par rapport à votre périphérique (plus particulièrement dans l’évènement BeginRequest) : HttpCapabilitiesBase browser = context.Request.Browser; this._isMobileRequest = SPMobileUtility.IsMobilePageRequest(context, browser); HttpCapabilitiesBase est une classe appartenant à System.Web qui permet d’obtenir des informations sur le navigateur client. Comment supprimer cette redirection ? La suppression du SPRequestModule n’est pas une solution, elle rendrait votre site inutilisable. L’application web de votre site dispose d’un répertoire « App_Browsers » dans IIS, et plus particulièrement d’un fichier « compat.browser » qui définit le comportement que le gestionnaire SharePoint devra adopter en fonction des navigateurs et/ou périphériques spécifiques. Exemple : <!-- iPhone Safari Browser --> <!-- sample UA "Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345 Safari/525.20" --> <browser id="iPhoneSafari" parentID="AppleSafari"> <identification> <userAgent match="iPhone" /> <userAgent match="Mobile" /> </identification> <capabilities> <capability name="isMobileDevice" value="true" /> <capability name="canInitiateVoiceCall" value="true" /> <capability name="optimumPageWeight" value="1500" /> <capability name="requiresViewportMetaTag" value="true" /> <capability name="supportsTouchScreen" value="true" /> <capability name="telephoneNumberDetectionDisabled" value="true" /> </capabilities> </browser> Il vous suffit de modifier le fichier de configuration de l’application web, en mettant « false » au lieu de « true » à la clé « isMobileDevice ». |