Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Recommandations en matière de données d’application itinérantes

Windows 8 convertit automatiquement certaines données d’application entre les appareils d’un utilisateur. Aucune opération fastidieuse n’est imposée au développeur d’applications. L’itinérance des données d’application est particulièrement appréciée des utilisateurs dans le cas des applications présentes sur plusieurs appareils, par exemple un PC au travail et une tablette à la maison. Suivez les consignes ci-dessous lors de la conception de votre application pour y inclure l’itinérance des données d’application le cas échéant.

L’exemple de données d’application montre comment utiliser les API de données d’application Windows Runtime pour stocker et récupérer des données spécifiques à chaque utilisateur et application du Windows Store.

Expérience utilisateur

Si un utilisateur installe votre application sur un deuxième appareil après l’avoir utilisée d’abord sur un premier appareil, tous les paramètres et préférences définis sur le premier appareil sont automatiquement appliqués et disponibles sur le deuxième. Il en découle une expérience utilisateur appréciée : le travail de configuration est réduit au minimum pour votre application sur le deuxième appareil, car tout est déjà configuré en fonction des préférences de l’utilisateur. Toute modification future de ces paramètres et préférences est également transférée automatiquement, assurant ainsi une expérience homogène sur tous les appareils, même lorsqu’ils sont mis à niveau ou remplacés. Supposons cet exemple de scénario : Peter vient d’acheter une nouvelle tablette Windows 8 et ouvre son application de calendrier favorite. Il découvre avec plaisir que tous ses comptes de calendrier sont déjà configurés et affichent ses rendez-vous selon les préférences de couleurs familières qui existent déjà sur son ordinateur portable.

Outre les paramètres et les préférences, Windows 8 transfère également les informations de session ou d’état. Ainsi, les utilisateurs finaux peuvent continuer d’utiliser une session d’application fermée ou abandonnée sur un appareil lorsqu’ils passent à un deuxième appareil. Supposons cet exemple de scénario : Susie s’exerce à son jeu préféré juste avant d’aller au travail. Elle prend sa tablette Windows 8 pour le bus, ouvre le jeu et reprend sa partie à l’état où elle l’a laissé, avec son nouveau score.

Recommandations en matière de conception

L’utilisation de données itinérantes pour votre application est simple et n’exige pas de changements importants au code. Il est préférable d’utiliser les données d’application itinérantes pour toutes les données et paramètres limités en taille qui sont utilisés pour préserver les préférences des utilisateurs et l’état de la session de l’application. Pour vous assurer que votre application exploite au mieux cette fonctionnalité, suivez les consignes de conception suivantes.

Pratiques conseillées

Utilisez l’itinérance pour les préférences et les personnalisations.

Rendez itinérantes toutes les données d’application que l’utilisateur final configure en général sur chaque périphérique, telles que les préférences utilisateur. Ces données peuvent notamment inclure les informations suivantes :

  • Équipe de sport préférée (application d’informations sportives)
  • Genre de film préféré (application multimédia)
  • Personnalisation de la couleur d’arrière-plan
  • Préférences d’affichage de l’application
Utiliser l’itinérance pour permettre aux utilisateurs de poursuivre une tâche entre des périphériques

Rendez itinérantes toutes les données d’application qui permettent aux utilisateurs de reprendre, sur un autre périphérique, une tâche à l’endroit précis où ils se sont arrêtés. Cela peut inclure des informations telles que les suivantes :

  • Dernière position dans le contexte de l’application (p. ex. numéro de page dans une application de liseuse)
  • Informations sur les meilleurs scores ou le niveau du jeu
  • Série des retours en arrière de navigation
  • Rédaction d’une liste de tâches à faire
  • Rédaction de courriers électroniques

 

Pratiques déconseillées

Appliquez les recommandations suivantes pour éviter de créer une mauvaise expérience utilisateur.

N’utilisez pas l’itinérance pour les informations propres à un appareil

Certaines informations sont parfois réservées à un appareil particulier ; par exemple, le chemin d’accès à une ressource locale sur un PC. Ces informations ne doivent pas faire partie des données d’application itinérantes et doivent rester locales à l’appareil. Vous pouvez toujours décider de rendre itinérantes des informations locales, sous réserve que l’application soit capable de récupérer correctement au cas où les informations ne seraient pas valides sur un autre appareil.

N’utilisez pas l’itinérance pour déplacer des jeux de données volumineux.

La taille des données que chaque application peut rendre itinérantes est limitée. Pour plus d’informations, voir la propriété ApplicationData.RoamingStorageQuota | roamingStorageQuota. Si une application atteint cette limite, aucune de ses données ne peut être rendue itinérante tant que la quantité totale de données itinérantes de l’application ne repasse pas en dessous de cette limite. Pour cette raison, il est préférable de limiter l’itinérance aux préférences utilisateur, liens et petits fichiers de données. Dans le cadre de la conception de votre application, vous devez réfléchir à restreindre les grandes quantités de données pour éviter de dépasser cette limite. P. ex. si l’enregistrement de l’état d’une partie demande 10 Ko, l’application pourrait autoriser l’utilisateur à conserver seulement 10 parties au maximum.

N’utilisez pas l’itinérance pour la synchronisation instantanée ou les informations qui changent souvent.

Windows rend itinérantes les données d’application de façon opportuniste et ne garantit pas une synchronisation immédiate. Dans les cas où un utilisateur est hors connexion ou sur un réseau à latence élevée, l’itinérance pourrait être sensiblement retardée. Ne créez pas une interface utilisateur qui nécessite une synchronisation immédiate. Si votre application change souvent d’informations, par exemple la position à la seconde près d’une chanson ou d’un film, n’utilisez pas l’itinérance pour ces données d’application. Choisissez plutôt une représentation plus stable qui apporte néanmoins une bonne expérience utilisateur : par exemple, titre de la chanson en cours, du chapitre du film en cours, etc. Pour les paramètres importants et chronosensibles, une unité de paramètres spéciale à haute priorité est disponible pour assurer des mises à jour plus fréquentes. Pour plus d’informations, voir Gestion des données d’application.

 

Considérations supplémentaires

Conditions préalables

Tous les utilisateurs peuvent bénéficier de l’itinérance des données d’application, dès l’instant où ils utilisent un compte Microsoft pour se connecter à leur appareil. Les données d’application doivent être écrites via les mécanismes corrects de transition entre appareils. Les applications peuvent transférer les données entre tous les appareils qui utilisent le même compte Microsoft. Pour plus d’informations, voir Gestion des données d’application. Les utilisateurs ou les administrateurs de la stratégie de groupe ont la possibilité de désactiver toutes les données d’application itinérantes sur un appareil. Les utilisateurs qui ne recourent pas à un compte Microsoft, ou qui utilisent des appareils où les données d’application itinérantes sont désactivées, peuvent toujours profiter de votre application, mais les données d’application restent locales à chaque appareil.

Approbation des appareils

Les données stockées dans le service d’archivage sécurisé des informations d’identification sont transférées uniquement si un utilisateur a « approuvé » un appareil.

Résolution des conflits

Les données d’application itinérantes ne sont pas prévues pour un usage simultané de l’application sur plusieurs appareils à la fois, car cette situation pourrait avoir des conséquences indésirables ou inattendues. Si une unité de données particulière a été changée sur deux appareils, provoquant un conflit dans la synchronisation suivante, le système privilégie toujours la valeur écrite en dernier.. Cette précaution garantit que l’application exploite les informations les plus récentes. Si les paramètres utilisent des composites ou un conteneur de paramètres, la résolution des conflits se produit au niveau du conteneur ou du composite ; en d’autres termes, le conteneur ou le composite possédant le changement le plus récent est transféré.

Moment idéal pour l’écriture des données

Selon la durée de vie prévue du paramètre, les données doivent être écrites à différents moments Les données d’application peu fréquentes et variant peu doivent être écrites immédiatement. Au contraire, les données d’application qui évoluent fréquemment doivent être écrites seulement à intervalles réguliers (par exemple toutes les 5 minutes) et lors de la mise en pause de l’application. Par exemple, une application de musique peut écrire le paramètre « chanson actuelle » au début de chaque nouvelle chanson, mais la position réelle dans la chanson doit être écrite uniquement lors de l’entrée en mode de pause.

Événement de modification de données

Comme les données d’application itinérantes peuvent changer à tout moment, le système fournit aux développeurs un événement de modification de données. Pour utiliser correctement les données d’application itinérantes, il est impératif que l’application écoute cet événement, puis prenne les mesures adéquates pour mettre à jour les données anciennement actuelles.

Protection contre une utilisation excessive

Le système possède divers mécanismes de protection pour éviter une utilisation inappropriée des ressources. Si les données d’application ne se transfèrent pas comme prévu, il est probable que l’appareil a été provisoirement limité. Cette situation est en général automatiquement résolue en attendant quelque temps, et aucune mesure n’est nécessaire.

Contrôle de version

Les données d’application peuvent utiliser le contrôle de version pour passer d’une structure de données à une autre. Le numéro de version est différent de la version de l’application ; il peut être défini comme bon vous semble. Même si ce n’est pas obligatoire, il est vivement recommandé d’utiliser uniquement des numéros de version croissants. En effet, une situation indésirable, notamment la perte de données, peut se produire lors du transfert vers un numéro de version de données inférieur représentant des données plus récentes. Notez que les données d’application sont itinérantes uniquement entre les applications possédant le même numéro de version. En d’autres termes, les appareils sur la version 2 peuvent transférer des données entre eux et les appareils de la version 3 de même, mais il n’existe pas de transition automatique entre les appareils de la version 2 et ceux de la version 3. Cette fonction incombe à l’application au moment de la mise à jour du numéro de version. L’installation d’une nouvelle application ayant précédemment utilisé divers numéros de version sur d’autres appareils démarre avec les données d’application du numéro de version le plus élevé possible.

Test et outils

Les développeurs peuvent verrouiller leur appareil pour déclencher une synchronisation des données d’application itinérantes. Si les données d’application ne semblent pas se transférer après un intervalle de temps donné, vérifiez les éléments suivants :

  • Vos données d’application itinérantes ne dépassent pas la taille maximale (pour plus d’informations, voir ApplicationData.RoamingStorageQuota | roamingStorageQuota).
  • Vos fichiers sont fermés et publiés correctement.
  • Il existe au moins deux appareils possédant la même version de données pour l’application.

Considérations de sécurité

Les articles suivants fournissent des indications pour l’écriture de code C++ sécurisé.

Rubriques associées

Tâches
Démarrage rapide : données d’application itinérantes (JavaScript)
Démarrage rapide : données d’application itinérantes (C#/VB/C++)
Concepts
Données de l’application
Recommandations
Recommandations en matière d’expérience utilisateur pour les applications du Windows Store
Recommandations concernant les paramètres d’application
Référence
Windows.Storage.ApplicationData
Windows.Storage.ApplicationDataCompositeValue
Windows.Storage.ApplicationDataContainer
Windows.Storage.ApplicationDataContainerSettings
WinJS.Application
Exemples
Exemple de données d’application

 

 

© 2013 Microsoft. Tous droits réservés.