Comment gérer l’activation des URI (HTML)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Une application peut s’inscrire afin de devenir le gestionnaire par défaut pour un certain nom de schéma d’URI (Uniform Resource Identifier). Les applications de bureau et les applications Windows Runtime peuvent être inscrites afin de devenir des gestionnaires de fichiers par défaut pour les noms de schéma URI. Si l’utilisateur choisit votre application en tant que gestionnaire par défaut pour un nom de schéma d’URI, celle-ci sera activée à chaque lancement de ce type d’URI.

Nous vous recommandons de vous inscrire pour un nom de schéma d’URI uniquement si vous pensez gérer tous les lancements d’URI pour ce type de schéma d’URI. Si vous choisissez de vous inscrire pour un nom de schéma d’URI, vous devez fournir à l’utilisateur final la fonctionnalité attendue lorsque votre application est activée pour ce schéma d’URI. Par exemple, une application qui s’inscrit pour le nom de schéma d’URI mailto: doit ouvrir un nouveau message électronique de sorte que l’utilisateur puisse composer un nouveau message électronique. Pour plus d’informations sur les associations d’URI, voir Recommandations et liste de vérification sur les types de fichiers et les URI.

Ces étapes montrent comment s’inscrire pour un nom de schéma d’URI personnalisé, alsdk://, et comment activer votre application quand l’utilisateur lance un URI alsdk://.

Remarque  

Dans les applications du Windows Phone Store, certains URI et certaines extensions de fichier ne peuvent être utilisés que par les applications intégrées et le système d’exploitation. Toute tentative d’inscription de votre application avec une extension de fichier ou un URI réservés sera ignorée. Pour en savoir plus, consultez la liste figurant sur cette page.

Instructions

Étape 1: Spécifier le point d’extension dans le manifeste du package

L’application reçoit des événements d’activation uniquement pour les noms de schémas d’URI répertoriés dans le manifeste du package. Procédez comme suit pour indiquer que votre application gère le nom de schéma d’URI alsdk .

  1. Double-cliquez pour ouvrir package.appxmanifest dans l’Explorateur de solutions.

    Voici une brève description de chacun des champs qu’il est possible de renseigner dans le manifeste du package :

    Champ Description

    Nom

    Choisissez un nom pour un groupe de types de fichiers partageant les mêmes nom complet, logo, info-bulle et indicateurs de modification. Choisissez un nom de groupe pouvant rester le même sur toutes les applications à mettre à jour.

    Remarque  Le nom doit être entièrement en minuscules.
     

    Types de fichiers réservés et interdits

    Voici les listes alphabétiques des schémas d’URI que vous ne pouvez pas inscrire pour votre application, car ils sont réservés ou interdits :

    Remarque  

    Pour les applications du Windows Store

    application.manifest, application.reference, batfile, blob, cerfile, chm.file, cmdfile, comfile, cplfile, dllfile, drvfile, exefile, explorer.assocactionid.burnselection, explorer.assocactionid.closesession, explorer.assocactionid.erasedisc, explorer.assocactionid.zipselection, explorer.assocprotocol.search-ms, explorer.burnselection, explorer.closesession, explorer.erasedisc, explorer.zipselection, file, fonfile, hlpfile, htafile, inffile , insfile, internetshortcut, jsefile, lnkfile, microsoft.powershellscript.1, ms-accountpictureprovider, ms-appdata, ms-appx, ms-autoplay, msi.package, msi.patch, ms-windows-store, ocxfile, piffile, regfile, scrfile, scriptletfile, shbfile, shcmdfile, shsfile,smb, sysfile, ttffile,unknown, usertileprovider,vbefile,vbsfile, windows.gadget,wsffile, wsfile,wshfile

    Remarque  

    Pour les applications du Windows Phone Store

    Windows Phone réserve les schémas d’URI suivants aux applications intégrées.

    bing, callto, dtmf, http, https, mailto, maps, ms-excel, ms-powerpoint, ms-settings-airplanemode, ms-settings-bluetooth, ms-settings-cellular, ms-settings-emailandaccounts, ms-settings-location, ms-settings-lock, ms-settings-wifi, ms-word, office, onenote, tel, wallet, xbls, zune

    Windows Phone réserve les schémas d’URI suivants au système d’exploitation.

    Explorer.AssocActionId.BurnSelection, Explorer.AssocActionId.CloseSession, Explorer.AssocActionId.EraseDisc, Explorer.AssocActionId.ZipSelection, Explorer.AssocProtocol.search-ms, Explorer.BurnSelection, Explorer.CloseSession, Explorer.EraseDisc, Explorer.ZipSelection, File, Iehistory, Ierss, Javascript, Jscript, LDAP, Res, rlogin, StickyNotes, telnet, tn3270, Vbscript, windowsmediacenterapp, windowsmediacenterssl, windowsmediacenterweb, WMP11.AssocProtocol.MMS

    Nom d’affichage

    Spécifiez le nom d’affichage pour identifier le nom de schéma d’URI dans l’applet Définir les programmes par défaut du Panneau de configuration.

    Logo

    Spécifiez le logo qui est utilisé pour identifier le nom de schéma d’URI dans l’applet Définir les programmes par défaut du Panneau de configuration. Si aucun logo n’est spécifié, le petit logo de l’application est utilisé.

    Affichage souhaité (Windows uniquement)

    Spécifiez le champ Desired View pour indiquer la quantité d’espace nécessaire à la fenêtre de l’application quand elle est lancée pour le nom de schéma d’URI. Les valeurs possibles de Desired View sont Default, UseLess, UseHalf, UseMore ou UseMinimum.

    Remarque  Windows tient compte de plusieurs facteurs différents pour déterminer la taille finale de la fenêtre de l’application cible, par exemple, la préférence de l’application source, le nombre d’applications à l’écran, l’orientation de l’écran, etc. La définition du champ Affichage souhaité ne garantit pas un comportement de fenêtrage spécifique pour l’application cible.
     

    Windows 8.1:  L’attribut Desired View n’est pas pris en charge dans les versions antérieures à Windows 8.1 et Windows Server 2012 R2.

    Windows Phone:  L’attribut Desired View n’est pas pris en charge pour Windows Phone.

     

  2. Sélectionnez l’onglet Déclarations.

  3. Sélectionnez Protocole dans la liste déroulante, puis cliquez sur Ajouter.

  4. Entrez alsdk comme Nom.

  5. Entrez « images\Icon.png » comme Logo.

  6. Appuyez sur Ctrl+S pour enregistrer la modification dans package.appxmanifest.

Cette opération ajoute un élément Extension tel que celui-ci dans le manifeste du package. La catégorie windows.protocol indique que l’application gère le nom de schéma d’URI alsdk .


<Package xmlns="https://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="https://schemas.microsoft.com/appx/2013/manifest">
   <Applications>
      <Application Id="AutoLaunch.App">
         <Extensions>
            <Extension Category="windows.protocol">
               <Protocol Name="alsdk"/>
               <Logo>images\logo.png</Logo>                                     
               <DisplayName>SDK Sample URI Scheme</DisplayName>
            </Extension>                      
         </Extensions>
      </Application>
   </Applications>
</Package>

Étape 2: Ajouter les icônes appropriées

Les applications qui deviennent la valeur par défaut d’un nom de schéma d’URI ont leurs icônes affichées à différents emplacements dans l’ensemble du système, par exemple dans l’applet Programmes par défaut du Panneau de configuration.

Nous vous recommandons d’inclure les icônes appropriées dans votre projet, afin que votre logo s’affiche correctement dans tous ces emplacements. Pour une application Windows Store, incluez dans votre dossier d’images les versions en 16/32/48/256 pixels associées aux petites tailles d’icônes et de logos. Pour une application Windows Phone Store, incluez plutôt les versions en 63/129/336 pixels. Faites correspondre l’aspect du logo de la vignette d’application avec la plaque de couleur intégrée et faites en sorte que le logo s’étire jusqu’au bord sans le remplir. Testez vos icônes sur des arrière-plans blancs. Pour obtenir des exemples d’icônes, voir Exemple d’association pour un lancement d’application (Windows).

L’Explorateur de solutions avec un affichage des fichiers dans le dossier d’images. Des versions à 16, 32, 48 et 256 pixels de « Icon.targetsize » et de « smallTile-sdk » sont présentées.

Étape 3: Enregistrer l’événement activé

Inscrivez-vous pour l’événement activated pour gérer l’activation de l’URI.

WinJS.Application.addEventListener("activated", onActivatedHandler, false);

Étape 4: Gérer l’événement activé

Le gestionnaire d’événements activated enregistré à l’étape 1 reçoit tous les événements d’activation. La propriété kind indique le type d’événement d’activation. Cet exemple est défini pour gérer les événements d’activation protocol.

function onActivatedHandler(eventArgs) {
   if (eventArgs.detail.kind == Windows.ApplicationModel.Activation.ActivationKind.protocol) 
   {
       // TODO: Handle URI activation.

       // The received URI is eventArgs.detail.uri.rawUri
   }
}

Remarques

N’importe quelle application ou n’importe quel site Web peut utiliser votre nom de schéma d’URI, y compris des applications et sites malveillants. Par conséquent, toute donnée reçue dans cet URI peut provenir d’une source non approuvée. Nous vous recommandons de ne jamais effectuer une action permanente en fonction des paramètres que vous recevez dans un URI. Par exemple, les paramètres d’URI peuvent être utilisés pour lancer l’application sur la page de compte d’un utilisateur, mais nous vous recommandons de ne jamais les utiliser pour modifier directement le compte de l’utilisateur.

Remarque  Si vous créez un nom de schéma d’URI pour votre application, prenez soin de suivre les recommandations de la norme RFC 4395. Cela permet de garantir que votre nom respecte les normes applicables aux schémas d’URI.

 

Remarque  

En cas de lancement via un contrat de protocole, les applications du Windows Phone Store doivent s’assurer que le bouton Précédent fait revenir l’utilisateur à l’écran qui a lancé l’application, et non au contenu précédent de l’application.

Il est recommandé que les applications créent une image XAML pour chaque événement d’activation qui ouvre une nouvelle cible d’URI. De cette façon, le backstack de navigation pour la nouvelle image XAML ne contient aucune partie du contenu précédent pouvant figurer dans la fenêtre active de l’application au moment de la suspension.

Les applications qui décident d’utiliser une seule image XAML pour le lancement et les contrats de protocole doivent effacer les pages du journal de navigation de l’image avant de naviguer vers une nouvelle page. En cas de lancement via le contrat de protocole, les applications doivent envisager d’inclure une interface utilisateur permettant à l’utilisateur de revenir en haut de l’application.

Terminer l’exemple

Voir Exemple d’association pour un lancement d’application (Windows).

Rubriques associées

Concepts

Programmes par défaut

Modèle d’associations de types de fichiers et d’URI

Guide de référence sur la compatibilité de Windows 8 Release Preview et de Windows Server 2012 RC (Informations sur le modèle utilisateur)

Tâches

Comment lancer l’application par défaut d’un URI

Comment gérer l’activation des fichiers

Recommandations

Recommandations et liste de vérification sur les types de fichiers et les URI

Référence

Windows.UI.WebUI.WebUIProtocolActivatedEventArgs

WinJS.Application.onactivated