Intégration aux contrats de sélecteur de fichiers (applications Windows Runtime)
[ 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 ]
Les applications peuvent utiliser le sélecteur de fichiers pour fournir à d’autres applications des fichiers, un emplacement de sauvegarde et même des mises à jour de fichiers via l’intégration au contrat de sélecteur d’ouverture de fichier, au contrat de sélecteur d’enregistrement de fichier et au contrat de programme de mise à jour des fichiers mis en cache (respectivement).
Fonctionnement des sélecteurs de fichiers
Via le sélecteur de fichiers, votre application peut accéder aux fichiers et aux dossiers sur l’ensemble du système de l’utilisateur. Lorsque vous appelez le sélecteur de fichiers, l’utilisateur peut parcourir son système et d’autres applications pour sélectionner des fichiers (ou des dossiers). Lorsque l’utilisateur sélectionne des fichiers ou des dossiers, votre application reçoit ces sélections sous forme d’objets StorageFile et StorageFolder. Votre application peut alors œuvrer sur ces fichiers et dossiers sélectionnés à l’aide de ces objets. Pour en savoir plus sur l’accès aux fichiers, voir Accès aux fichiers et autorisations.
Vous pouvez également recourir au sélecteur de fichiers pour permettre à l’utilisateur de choisir des fichiers et des dossiers au moyen de cet outil. Les fichiers sélectionnés depuis vos applications via le sélecteur de fichiers sont traités comme des fichiers du système de fichiers : ils sont renvoyés sous forme d’objets StorageFile. L’utilisateur peut ainsi librement sélectionner des fichiers de votre application pour les utiliser dans une autre application. Par exemple, si votre application est une galerie de photos, vous pouvez exposer les images dans votre galerie pour que l’utilisateur puisse se servir de votre application pour choisir des photos à retoucher dans un éditeur de photos.
Si vous souhaitez que votre application offre un accès à des fichiers, un emplacement d’enregistrement et/ou des mises à jour de fichiers à d’autres applications, elle doit participer à un ou des contrats d’application, à l’instar du contrat de sélecteur d’enregistrement de fichier, du contrat de sélecteur d’ouverture de fichier et du contrat de programme de mise à jour des fichiers mis en cache. Vous pouvez participer à ces contrats en les déclarant dans le manifeste de votre application et en ajoutant des éléments d’interface utilisateur ou du code à votre application pour les intégrer dans le ou les contrats.
Le diagramme qui suit explique comment le sélecteur de fichiers procède pour connecter une application telle qu’un éditeur de photos (l’application appelante) avec des fichiers provenant d’une application de galerie (l’application fournisseur) afin que l’utilisateur puisse sélectionner des fichiers à partie de la galerie.
Participation aux contrats d’application des sélecteurs de fichiers
Procédure : Démarrage rapide : accès aux fichiers à l’aide de sélecteurs de fichiers
Référence : Windows.Storage.Pickers.Provider namespace
Exemple : exemples de contrats du sélecteur de fichiers
Fourniture de l’accès aux fichiers
Utilisez le sélecteur de fichiers pour fournir des fichiers à d’autres applications si votre application offre une vue unique ou utile de ces fichiers, ou si les utilisateurs n’ont pas d’autre moyen d’accéder rapidement aux fichiers. Vous pouvez permettre aux utilisateurs de parcourir et sélectionner un ou plusieurs fichiers parmi ceux que votre application fournit par le biais d’une fenêtre de sélecteur de fichiers en participant au contrat de sélecteur d’ouverture de fichier. Si votre application participe à ce contrat, les utilisateurs peuvent la sélectionner dans la liste des emplacements affichée en haut à gauche du cadre du sélecteur de fichiers. Lorsque l’utilisateur sélectionne votre application, le sélecteur de fichiers charge les modifications que vous avez apportées au cadre ainsi que la page que vous avez conçue pour afficher les fichiers que l’utilisateur peut parcourir et sélectionner.
Cette capture d’écran d’une fenêtre de sélecteur de fichiers a été modifiée : la zone centrale a été agrandie et un libellé a été ajouté afin de montrer l’emplacement où est chargée la page d’affichage des fichiers de l’application. |
Une application musicale peut permettre aux utilisateurs de parcourir et sélectionner des fichiers par artiste ou par titre d’album, indépendamment de la façon dont les fichiers sont organisés sur le système de l’utilisateur. Une application de galerie de photos peut permettre aux utilisateurs de parcourir et sélectionner des fichiers qui ne se trouvent pas sur le système de l’utilisateur, mais qui sont hébergés par un service Web tel que Facebook ou Flickr.
Si vous ne souhaitez pas que les utilisateurs puissent parcourir et sélectionner des fichiers dans votre application à partir d’une fenêtre de sélecteur de fichiers, vous pouvez laisser les utilisateurs partager des fichiers à partir de votre application en effectuant une intégration au contrat de partage source. Pour en savoir plus sur l’intégration au contrat de partage source, voir Comment partager des fichiers.
Fourniture d’un emplacement d’enregistrement
Utilisez le sélecteur de fichiers pour fournir votre application comme emplacement où les utilisateurs peuvent enregistrer des fichiers si votre application les connecte à un service hébergeant leurs fichiers, ou pour permettre aux utilisateurs qui le souhaitent d’enregistrer des fichiers en vue de les ouvrir et de les utiliser ultérieurement dans votre application. Vous pouvez permettre aux utilisateurs d’enregistrer des fichiers dans votre application en participant au contrat de sélecteur d’enregistrement de fichier. Si votre application participe à ce contrat, les utilisateurs peuvent la sélectionner dans la liste des emplacements affichée en haut à gauche du cadre du sélecteur de fichiers. Lorsque l’utilisateur sélectionne votre application, le sélecteur de fichiers charge une page conçue pour afficher l’emplacement d’enregistrement de votre application (ainsi que les fichiers et/ou sous-dossiers, le cas échéant).
Cette capture d’écran d’une fenêtre de sélecteur de fichiers a été modifiée : la zone centrale a été agrandie et un libellé a été ajouté afin de montrer l’emplacement où est chargée la page d’affichage de l’emplacement d’enregistrement de l’application (cette capture d’écran montre une page d’application pour Microsoft OneDrive). |
Une application qui connecte les utilisateurs à des fichiers hébergés par Facebook ou OneDrive peut permettre aux utilisateurs de se servir de l’application en tant qu’emplacement d’enregistrement afin de faciliter le téléchargement des fichiers à héberger. Une application de modification de fichiers audio peut permettre aux utilisateurs de se servir de l’application en tant qu’emplacement d’enregistrement afin qu’ils puissent créer une file d’attente des fichiers audio à modifier lors de la prochaine ouverture de l’éditeur.
Laisser d’autres applications utiliser votre application comme emplacement d’enregistrement de fichiers est justifié lorsque l’utilisateur travaille avec des fichiers et des dossiers. Cela est moins intuitif lorsqu’il s’agit d’ensembles de données plus petits, tels qu’une URL ou une sélection de texte. Dans ce cas, l’icône Partager ou les commandes Copier et Coller sont des options plus adaptées. Cela étant dit, il existe un grand nombre de situations dans lesquelles il est logique de prendre en charge l’icône Partager et l’enregistrement. Prenons l’exemple d’un utilisateur qui veut stocker un fichier à l’aide d’un service de stockage en ligne, tel que OneDrive. Dans ce cas, l’icône Partager et l’enregistrement sont tous les deux des options valides. Au final, vous devez prendre en considération la façon dont votre utilisateur interagit avec votre application, prendre en charge les contrats et fonctionnalités correspondant aux attentes de l’utilisateur et fournir la meilleure expérience globale. Pour en savoir plus sur l’intégration au contrat de partage cible, voir Démarrage rapide : réception de contenu partagé. Pour en savoir plus sur l’utilisation des commandes de copie et de collage, voir Démarrage rapide : fonctions de base du Presse-papiers.
Astuce Si votre application sert d’emplacement d’enregistrement, vous devez également fournir un accès aux fichiers de l’application en participant au contrat de sélecteur d’ouverture de fichier.
Fourniture de mises à jour de fichiers en temps réel
Fournissez des mises à jour de fichiers si votre application est utilisée pour connecter et/ou gérer un référentiel central des fichiers de l’utilisateur. La participation au contrat de programme de mise à jour de fichiers mis en cache permet à votre application d’effectuer des mises à jour des fichiers inclus dans le référentiel de votre application et de fournir des mises à jour aux versions locales des fichiers de votre référentiel. Si votre application participe à ce contrat, lorsqu’elle détecte une mise à jour nécessitant une action de la part de l’utilisateur, elle appelle le sélecteur de fichiers qui charge une page conçue pour collecter les informations transmises par l’utilisateur.
Une application de stockage étendu, telle que OneDrive ou DropBox, peut fournir des mises à jour aux versions locales d’un fichier pour que le référentiel de l’utilisateur contienne toujours la version du fichier la plus récente. Elle peut aussi mettre à jour un fichier du référentiel si l’utilisateur enregistre une nouvelle version.
Astuce Si votre application fournit des mises à jour de fichiers, elle doit également fournir un emplacement d’enregistrement et un accès aux fichiers en participant au contrat de sélecteur d’enregistrement de fichier et au contrat de sélecteur d’ouverture de fichier, respectivement.
Rubriques associées
Accès aux données et aux fichiers
Exemples
sélecteur de fichiers, exemple
exemples de contrats du sélecteur de fichiers
Référence
Windows.Storage.AccessCache namespace
Windows.Storage.Pickers namespace
Windows.Storage.Pickers.fileOpenPicker class
Windows.Storage.Pickers.fileSavePicker class
Windows.Storage.Pickers.Provider namespace
Partage
Démarrage rapide : réception de contenu partagé
Utilisation des sélecteurs de fichiers
Démarrage rapide : accès aux fichiers à l’aide de sélecteurs de fichiers
Comment enregistrer des fichiers via les sélecteurs de fichiers
Recommandations et liste de vérification sur les sélecteurs de fichiers