Partager via


Développement d’applications Windows - Meilleures pratiques

Les meilleures pratiques de cet article vous aident à créer de grandes applications Windows qui atteignent et ravissent environ 1,5 milliard d’utilisateurs de PC différents dans le monde entier. Cet article est divisé en sections suivantes :

  1. Expérience utilisateur : Les conseils de cette section vous aident à améliorer l’apparence et la facilité d’utilisation de vos applications.
  2. Performances et notions de base : les conseils de cette section vous aident à améliorer les performances et l’utilisation des ressources de votre application.
  3. Optimisation du système d’exploitation/ du matériel : les conseils de cette section vous aident à optimiser votre empaquetage et votre distribution pour diverses configurations matérielles.
  4. Découverte et gestion des applications : les conseils fournis dans cette section facilitent la découverte, l’installation, la mise à jour et la désinstallation de votre application.
  5. Accessibilité : Les conseils de cette section vous aident à créer des expériences accessibles et inclusives.
  6. Sécurité et confidentialité : Les conseils de cette section vous aident à atténuer les risques de sécurité et à répondre aux besoins de confidentialité de vos utilisateurs.

Expérience utilisateur

Windows 11 offre une évolution visuelle du système d’exploitation Windows qui améliore l’apparence, l'expérience utilisateur et l'utilisabilité de Windows. Les études montrent que les utilisateurs ont des attentes élevées pour les applications Windows :

  • Ils attendent des applications Windows qu'elles fonctionnent avec une gamme complète d'entrées.
  • Ils attendent des modèles de conception et d'interaction à l’apparence native sur les appareils actuels et futurs.
  • Ils attendent une prise en charge des workflows de fenêtrage modernes et des points d’intégration d’interpréteur de commandes.

Lorsque les applications adhèrent aux styles Windows et aux comportements Windows standard, les utilisateurs n’ont pas besoin de réécrire les modèles d’interaction. Cette cohérence facilite considérablement l’utilisation de votre application par les utilisateurs. Une application qui semble géniale peut créer une excellente première impression, mais une application qui est également facile à utiliser et aide l’utilisateur à atteindre ses objectifs crée une impression durable.

Windows 11 repose sur les principes de conception de Windows 11. Le suivi de ces instructions lorsque vous créez vos applications vous aide à répondre aux attentes de vos clients en matière d’expérience d’application exceptionnelle. Lorsque vous envisagez d’incorporer les modèles d’interface utilisateur/d’expérience utilisateur des applications Windows les plus récents et recommandés dans vos applications Windows, concentrez-vous sur ces cinq domaines :

  • Mise en page
  • Interaction avec l’interface utilisateur
  • Style de visuel
  • Comportement de la fenêtre
  • Points d’intégration shell

WinUI 3 fournit une prise en charge intégrée pour la plupart de ces expériences et styles par le biais de ses contrôles communs. Si vous ne pouvez pas utiliser WinUI 3, envisagez de simuler les styles présentés dans nos boîtes à outils de conception et la galerie WinUI.

Mise en page

Les applications Windows s’exécutent sur diverses configurations qui correspondent aux besoins des utilisateurs. Testez les volets et les pages de votre application sur différentes dimensions, appareils, tailles de fenêtre, paramètres DPI et paramètres de mise à l’échelle. Votre application devrait fonctionner comme prévu même lorsqu’elle est redimensionnée avec de petites dimensions.

Prise en charge DPI

Les applications WinUI sont automatiquement mises à l’échelle pour chaque affichage sur lequel elles s’exécutent. D’autres technologies de programmation Windows (Win32, WinForms, WPF, etc.) ne gèrent pas automatiquement la mise à l’échelle des DPI par moniteur. Sans travail supplémentaire pour prendre en charge le redimensionnement DPI par moniteur pour ces technologies, les applications peuvent apparaître floues ou mal dimensionnées. Pour plus d’informations, consultez Développement d’applications de bureau haute résolution sur Windows.

Disposition dynamique

Utilisez des techniques de conception réactives afin d’optimiser vos pages d’application pour différentes tailles de fenêtre. Suivez les recommandations de panoramique ou de défilement pour vous assurer que les utilisateurs peuvent accéder à votre contenu, quelle que soit la taille de la fenêtre de l’application.

Interaction avec l’interface utilisateur

Les utilisateurs Windows peuvent choisir parmi un large éventail d’appareils d’entrée pour interagir avec votre application. En outre, Windows dispose d’expériences système spécifiques que les utilisateurs sont habitués à utiliser. Lorsque votre application adhère à ces expériences, vos utilisateurs peuvent utiliser votre application de manière fiable. Lorsque votre application ne suit pas ces conventions, les utilisateurs peuvent trouver cela déroutant ou frustrant.

Commandes sur l’objet

Utilisez les commandes sur l’objet, telles que les des menus contextuels, les commandes de balayage et les raccourcis clavier. Windows 11 améliore le comportement du menu contextuel par clic droit. Par conséquent, si votre application crée des menus contextuels, reportez-vous aux dernières instructions d’intégration de menus contextuels. Les contrôles de texte WinUI exposent automatiquement les commandes couper, copier et coller, mais d’autres contrôles peuvent nécessiter un travail supplémentaire pour prendre en charge ces commandes.

Interaction de texte

Chaque fois qu’il y a du texte dans une application, les utilisateurs s’attendent à ce qu’ils puissent le sélectionner et le copier. Si le texte est modifiable, ils s’attendent également à pouvoir le couper et le coller. En fournissant des raccourcis cohérents aux utilisateurs, vous leur permettez d’effectuer leurs tâches de manière plus efficace. Assurez-vous que les utilisateurs peuvent effectuer ces actions à l’aide du clavier, de la souris, du pavé tactile, de l’écran tactile et du stylet.

Mouvement panoramique et défilement

Il est rare que l’interface utilisateur d’une application s’adapte entièrement à une seule page qui n’a pas besoin de faire défiler. Même s’il n’y a que quelques éléments d’interface utilisateur, les utilisateurs peuvent librement redimensionner la fenêtre de l’application et provoquer la masquée de certains éléments d’interface utilisateur. Assurez-vous que l’interface utilisateur de votre application prend correctement en charge le défilement et le panoramique (à l’aide du clavier, de la souris ou du pavé tactile, du toucher et du stylet) pour permettre aux utilisateurs d’accéder à tous les éléments d’interface utilisateur pouvant se déplacer hors de la zone visible de la fenêtre.

Style de visuel

Windows 11 est basé sur les principes de conception de Windows 11 : facile à utiliser, calme, personnel, familier, complet et cohérent. Les expériences qui suivent ces principes apportent d’excellentes expériences utilisateur sur Windows.

Matériaux : Acrylique et Mica

Acrylic et Mica sont des matériaux visuels qui donnent aux contrôles UI interactifs un style visuel « obstrué » distinct. Utilisez acrylique pour appliquer un style semi-transparent à des surfaces temporaires telles que des menus contextuels, des menu volants et d’autres éléments que les utilisateurs peuvent ignorer. Utilisez Mica pour ajouter une teinte adaptative subtile aux surfaces UI longue durée comme la barre de titre.

Pour plus d’informations sur les matériaux acryliques et Mica, consultez Les tâches que vous pouvez faire pour rendre votre application idéale sur Windows 11.

Thèmes Sombre et Clair

Les thèmes Sombre et Clair permettent aux utilisateurs d’adapter votre application à leurs préférences visuelles. Windows 11 met à jour les tons des couleurs afin de les rendre plus doux pour les yeux en évitant le blanc et le noir purs, ce qui rend les couleurs nettement plus agréables. WinUI prend en charge le basculement entre les thèmes Sombre et Clair par défaut (voir Ressources de thème XAML). Pour les applications Win32, consultez Prendre en charge les thèmes Sombre et Clair dans les applications Win32. (La barre de titre dans les applications Win32 ne s’adapte pas automatiquement au thème Sombre. Veillez à suivre les instructions de la barre de titre dans l’article).

Éléments d’interface utilisateur actualisés

La géométrie Windows 11 prend en charge les expériences d’application modernes. Les angles arrondis progressivement, les éléments imbriqués et les gouttières cohérentes se combinent pour créer un effet doux, calme et accessible qui met l’accent sur l’unité de l’objectif et la facilité d’utilisation.

Les modifications visuelles et comportementales sont intégrées à WinUI 3. Utilisez WinUI 3 où vous pouvez tirer parti du travail que l’équipe de développement Windows a déjà fait. Si vous ne pouvez pas utiliser WinUI 3, envisagez de simuler les styles présentés dans les boîtes à outils de conception et la galerie WinUI.

Menu contextuel

Un menu contextuel est un menu de raccourcis que l'utilisateur appelle en effectuant un clic droit ou en appuyant longuement pour afficher des commandes pertinentes à l'élément de contrôle avec lequel il interagit. Les utilisateurs s’attendent à ce que l’apparence et le comportement des menus contextuels soient cohérents dans l’ensemble du système d’exploitation Windows. Utilisez les menus contextuels fournis par la plateforme chaque fois que cela est possible afin de maintenir une cohérence au sein du système.

Iconographie et typographie

Windows 11 propose des icônes mises à jour (« Icônes Segoe Fluent »), une prise en charge améliorée des icônes animées et une nouvelle police d’interface utilisateur (« Variable d’interface utilisateur Segoe »). Utilisez ces nouvelles icônes et polices dans la mesure du possible pour être cohérentes sur Windows 11. La nouvelle police apporte une géométrie beaucoup plus douce et rend le texte bien plus lisible.

Pour plus d’informations sur l’iconographie et la typographie sur Windows, consultez les tâches que vous pouvez faire pour rendre votre application idéale sur Windows 11.

Comportement et style des fenêtres

Les applications s’exécutent dans un cadre fourni par Windows. Les utilisateurs s’attendent à ce que l’apparence et les comportements intégrés de Windows soient cohérents entre les fenêtres d’application. Pour vous assurer que votre application semble et fonctionne comme prévu par les utilisateurs sur Windows 11, envisagez de prendre en charge les fonctionnalités répertoriées ici.

Disposition d’ancrage

L'alignement de fenêtre est considérablement amélioré dans Windows 11, et le menu Disposition d'ancrage est une nouvelle fonctionnalité qui permet aux utilisateurs de découvrir et d'utiliser la puissance de l'alignement de fenêtre. Utilisez le menu Disposition d’ancrage pour tester votre application dans différentes dispositions d’ancrage et pour vérifier que votre application prend en charge les différentes tailles d’ancrage (1/2, 1/3 et 1/4 d’écran).

Si le menu Disposition d’ancrage n’apparaît pas par défaut dans votre application, consultez Prendre en charge les dispositions d’ancrage pour les applications de bureau sur Windows 11 pour connaître la procédure à suivre.

La barre de titre et ses boutons

Les utilisateurs interagissent avec la barre de titre et les boutons de légende (réduire, agrandir, fermer) pour redimensionner, déplacer et fermer les fenêtres d’application. Une expérience cohérente aide les utilisateurs à utiliser votre application en douceur. Consultez Barre de titre de l’application Windows pour en savoir plus sur la conception de la barre de titre et de ses boutons pour Windows.

Vous pouvez utiliser les API du SDK d’application Windows pour intégrer du contenu d’application à la barre de titre dans les applications WinUI 3, .NET, WinForms et WPF.

Coins arrondis

Dans la plupart des cas, la fenêtre de votre application comporte des angles arrondis par défaut sur Windows 11. Si vous personnalisez votre fenêtre d’application et que vous n’avez pas d’angles arrondis, consultez Appliquer des angles arrondis dans les applications de bureau pour Windows 11 pour certaines choses que vous pouvez faire. Vous devez également éviter de personnaliser les bordures et les ombres des fenêtres afin de ne pas empêcher le système d’arrondir les angles des fenêtres.

Points d’intégration shell

L’intégration de l’interpréteur de commandes Windows permet aux utilisateurs de tirer parti de votre application, même lorsqu’elle n’est pas en cours d’exécution au premier plan ou visible à l’écran. Lorsque votre application s’intègre bien à Windows, elle fait partie du flux de travail de l’utilisateur avec d’autres applications et permet de créer une expérience transparente.

Notifications toast

Les notifications toast sont des notifications Windows qui apparaissent en bas de l’écran de l’utilisateur et dans le centre de notifications.

  • Personnalisez, rendez actionnables et assurez-vous que les notifications sont utiles à vos utilisateurs. Donnez à vos utilisateurs ce qu’ils veulent, pas ce que vous voulez savoir.
  • Évitez les notifications bruyantes. Trop d’interruptions de votre application entraînent la désactivation par les utilisateurs de ce canal de communication critique pour votre application.
  • Répondez à l’intention de l’utilisateur. La sélection d’une notification doit lancer votre application dans le contexte de la notification. La seule exception à cette règle intervient lorsque l'utilisateur sélectionne un bouton de votre notification lié à une tâche d'arrière-plan, comme une réponse rapide.
  • Offrez une expérience de centre de notifications cohérente. Organisez efficacement le centre de notifications en supprimant les anciennes notifications.

Pour plus d’informations sur les notifications toast, consultez Bases de la conception des notifications.

Performances et principes de base

Les utilisateurs de Windows s'attendent à ce que les applications Windows excellent en matière de performances et de principes de base. Lorsque vous concevez et créez votre application, gardez à l’esprit l’optimisation de l’utilisation de la mémoire, de la consommation d’énergie, de la réactivité, de la fiabilité et de l’impact sur la durabilité à long terme. L’allocation de temps pour tester et mesurer les principes fondamentaux et les performances de votre application garantit que vos utilisateurs disposent d’une expérience de première classe.

Suivre les meilleures pratiques mentionnées dans cette section vous aide à répondre aux attentes de vos clients selon ces critères.

Pour plus d’informations, consultez la vue d’ensemble des performances et des principes de base. Cet article répond à des questions telles que « Qu’est-ce que les performances de l’application et pourquoi est-il important ? » et « Quels outils puis-je utiliser pour mesurer les performances des applications Windows ? » Il est également lié à des études de cas, des blogs connexes, des communautés de soutien et des informations sur la façon dont l’ingénierie des performances croise la durabilité en réduisant l’impact de votre application sur notre planète.

Optimisation du système d’exploitation et du matériel

Vous pouvez créer, empaqueter et distribuer des applications Windows de plusieurs façons. Les meilleures pratiques de cette section vous aident à optimiser ces aspects de votre application dans les configurations matérielles.

Attachement d’application MSIX et Azure Virtual Desktop

Pour optimiser l’exécution de votre application dans un environnement d’entreprise, ajoutez la prise en charge de l’attachement d’application MSIX.

L’attachement d’application MSIX vous permet de fournir des applications MSIX à des machines physiques et virtuelles. Il est spécifiquement conçu pour AAzure Virtual Desktop (AVD), un service de virtualisation de bureau et d’application qui s’exécute dans le cloud. L’utilisation de l’attachement d’application MSIX avec AVD peut vous aider à améliorer les temps de connexion pour les utilisateurs et à réduire les coûts d’infrastructure pour votre entreprise.

Windows sur Arm

Windows peut s’exécuter sur des appareils Arm. Les PC Arm bénéficient d'une autonomie prolongée et d'une prise en charge intégrée des réseaux de données mobiles. Ces PC offrent également une excellente compatibilité des applications et vous permettent d’exécuter vos applications existantes x86 et x64 non modifiées.

Pour des performances optimales, permettre à vos applications de tirer pleinement parti de l’architecture du processeur Arm écoénergétique en créant une version Arm complète ou en optimisant les parties de la base de code qui bénéficient le plus des performances natives. Pour plus d’informations sur ces techniques, consultez Windows sur Arm et Arm64EC pour les applications Windows 11 sur Arm.

Notifications Push

Les notifications Push vous permettent d’envoyer des informations de votre service cloud à votre application de manière optimisée pour les performances. Les notifications Push incluent les notifications brutes, les notifications de badge, ainsi que les notifications toast envoyées à partir de votre service cloud.

  • Utilisez des notifications Push pour réveiller l’application ou le client plutôt que de toujours l’exécuter pour optimiser les performances sur l’appareil de l’utilisateur.
  • N’utilisez pas de canaux de notification pour envoyer des publicités.
  • Respectez retry-after les en-têtes : cette pratique protège le service et garantit la réussite de la remise des notifications.
  • Supprimez les canaux expirés ou révoqués du système. Le service de notification Windows (WNS) ne traite pas les demandes de canaux expirés ou révoqués.
  • Évitez les rafales soudaines et importantes de requêtes adressées à WNS. Ce modèle peut entraîner des réponses limitées.
  • Utilisez l’en-tête MS-CV. Cet en-tête aide à la traçabilité et aux diagnostics de bout en bout.
  • Dotez-vous d’un mécanisme de sauvegarde en cas de dysfonctionnement des notifications.
  • Utilisez Azure Notification Hubs (ANH). ANH vous donne accès aux fonctionnalités d’engagement telles que le ciblage des audiences, la planification des notifications ainsi que leur diffusion. Si vous êtes un développeur Windows uniquement aujourd’hui, l’utilisation d’ANH facilite la transition de votre infrastructure de notifications vers d’autres plateformes à l’avenir.

Découverte et gestion des applications

Les expériences d’installation, de mise à jour et de désinstallation fiables sont des éléments importants d’une expérience utilisateur cohérente et de haute qualité. Les meilleures pratiques suivantes permettent de s’assurer que votre application laisse une bonne impression lorsque les utilisateurs découvrent et gèrent celui-ci :

Découverte des applications

  • La description de votre application sur le Microsoft Store rend votre application plus détectable pour les utilisateurs.
  • Si vous hébergez votre application sur plusieurs canaux (par exemple, sur un site web et sur le Microsoft Store), utilisez une identité d’application cohérente et un mécanisme de mise à jour sur tous les canaux.
  • Distribuez votre application via le Microsoft Store pour la rendre plus découvrable pour les utilisateurs. Notez que les utilisateurs Windows accèdent aux applications du Windows Store via Le Gestionnaire de package Windows WinGet. À défaut de la publier sur le Microsoft Store, vous pouvez quand même rendre votre application facilement découvrable dans WinGet via le référentiel WinGet.

Installation et désinstallation

  • Prenez en charge une installation par utilisateur. Cette prise en charge permet aux utilisateurs d'installer des logiciels plus facilement et d'éviter les invites UAC.
  • Assurez-vous que l’installation de votre application est sans erreur, transparente et réfléchie en termes de gestion des fichiers. L’installation de votre application ne doit pas laisser de fichiers temporaires.
  • Dans la mesure du possible, évitez de demander des autorisations élevées pour l'installation et le redémarrage du système d'exploitation.
  • Prenez en charge l’installation sans assistance. Cette prise en charge est importante pour la facilité de gestion des applications dans les environnements d’entreprise.
  • Vérifiez que votre application est répertoriée dans la liste Applications installées>.
  • Envisagez d’utiliser MSIX pour offrir aux utilisateurs une expérience d’installation, de mise à jour et de désinstallation transparente. MSIX supprime automatiquement les fichiers binaires et les données de l’application. Pour plus d’informations sur la façon dont les applications empaquetées gèrent les fichiers et les entrées de Registre, consultez Comprendre la façon dont les applications de bureau empaquetées s’exécutent sur Windows.
  • Pour les applications non empaquetées, assurez-vous que les utilisateurs peuvent facilement désinstaller votre application via la liste Applications installées> dans Paramètres. Lorsque les utilisateurs désinstallent votre application, assurez-vous que les entrées de menu Démarrer, les fichiers, les répertoires, les entrées de Registre et les fichiers temporaires sont également supprimés. Envisagez d’offrir à vos utilisateurs la possibilité de conserver leurs données lorsqu’ils désinstallent votre application.
  • Assurez-vous que lors de la désinstallation de votre application, toutes les données binaires et d’application sont supprimées. Le contenu créé par l’utilisateur doit être stocké dans des emplacements tels Documentsque , que les utilisateurs peuvent conserver même après la désinstallation de l’application.
  • Évitez d’installer ou de mettre à jour des fichiers binaires système susceptibles de nécessiter un redémarrage.
  • Procédez à une intégration avec RestartManager pour enregistrer et restaurer l’état entre les mises à jour du système d’exploitation.

Mises à jour

  • Prendre en charge un mécanisme de mise à jour qui permet à votre application de redémarrer lorsqu’elle est pratique pour l’utilisateur. Envisagez d’utiliser les API de redémarrage du SDK d’application Windows pour gérer le comportement des applications WinUI 3.
  • Assurez-vous que votre mécanisme de mise à jour télécharge uniquement les composants modifiés essentiels à mettre à jour. Cette approche réduit la bande passante réseau requise.
  • Fournissez un moyen de mettre à jour et de réparer votre application. Envisagez MSIX, qui gère automatiquement la réparation des mises à jour. Pour plus d’informations, consultez Mettre à jour et réparer automatiquement des applications automatiques.
  • Envisagez des mises à jour basées sur des notifications Push ou la vérification des mises à jour disponibles au démarrage ou au redémarrage de l'application.

Ressources supplémentaires

Accessibilité

Les applications Windows accessibles prennent en charge des expériences riches et inclusives pour autant de personnes que possible. Cette inclusivité s’étend aux personnes handicapées (temporaires et permanentes), aux préférences personnelles, aux styles de travail spécifiques ou aux contraintes situationnelles (telles que les espaces de travail partagés, la conduite, la cuisine, l’éblouissement, etc.).

En fait, l’Organisation mondiale de la Santé définit le handicap non pas comme une caractéristique personnelle, mais plutôt comme une interaction incompatible entre une personne et le monde physique et numérique qui l’entoure.

L'accessibilité est une bonne chose tant pour les personnes que pour les entreprises.

L’accessibilité relève d’une responsabilité

Plus d'un milliard de personnes dans le monde souffrent d'une forme de handicap. Toutefois, un seul en 10 n’a accès à la technologie d’assistance nécessaire pour participer pleinement à nos économies et sociétés. En général, le taux de chômage des personnes handicapées est deux fois plus élevé que celui des personnes non handicapées. Et les handicaps , qu’ils soient situationnels, temporaires ou permanents, peuvent affecter n’importe quel de nous à tout moment.

L’accessibilité constitue une opportunité

Selon la feuille de données de l’approche d’accessibilité Microsoft : les organisations inclusives qui adoptent les bonnes pratiques en matière d'emploi et de soutien aux personnes handicapées sur le lieu de travail obtiennent de meilleurs résultats que leurs homologues et parviennent davantage à attirer et conserver les meilleurs talents. Les millénaires, qui sont 75% de la main-d’œuvre mondiale, choisissent généralement les employeurs qui reflètent leurs valeurs. Diversité et inclusion en tête de liste.

Intégration de l’accessibilité

L’incorporation de l’accessibilité dans vos applications Windows optimise l’engagement des utilisateurs, augmente la satisfaction des produits et encourage la fidélité des produits. La conception et l’implémentation proactives d’expériences accessibles réduisent généralement les coûts de développement et de maintenance à long terme.

Pour obtenir des conseils détaillés sur la création d’applications Windows accessibles, consultez Accessibilité dans Windows 11 et Windows 10.

Test de l’accessibilité

Accessibility Insights est une suite puissante d’outils permettant aux développeurs de tester l’accessibilité de leurs applications et services. Utilisez les outils suivants pour tester l’accessibilité :

  1. Inspecter dans Accessibility Insights for Windows. Inspectez l’arborescence d’accessibilité pour rechercher des tâches faciles, comme des indices dans les étiquettes, des rôles incorrects et d’autres problèmes.
  2. Surveillance des événements dans Accessibility Insights pour Windows · Accessibility Insights. Pour plus d’informations sur la surveillance des événements, consultez Prise en charge des types de contrôles UI Automation.
  3. Exécutez des vérifications automatisées Accessibility Insights dans vos demandes de tirage ou CI/CD. Pour plus d’informations, consultez axe-pipelines-samples.
  4. Corrigez tous les bogues que vous trouvez, car ils ont tous un impact direct sur l’accessibilité.

Sécurité et confidentialité

Une application non sécurisée peut constituer un point d’entrée permettant à un attaquant d’effectuer des activités malveillantes. Même si votre application n’a pas de bogues de sécurité, les acteurs malveillants peuvent utiliser votre application pour lancer leurs attaques via le hameçonnage et d’autres formes d’ingénierie sociale qui violent les limites de sécurité et de confidentialité. Les meilleures pratiques de cette section vous aident à atténuer les risques liés à la sécurité et à la confidentialité des utilisateurs.

Conseils de sécurité

  • Suivez le Security Development Lifecycle pour tous les développements.
    • La modélisation des menaces peut vous aider à éviter les failles de sécurité.
    • L’utilisation de bibliothèques, de langages et d’outils sécurisés limite les défauts d’implémentation.
    • Les valeurs par défaut sécurisées peuvent empêcher les problèmes de sécurité causés par l’erreur de l’utilisateur.
  • N’exigez pas de privilèges administratifs pour installer votre application.
    • Idéalement, votre application doit prendre en charge les installations administratives et par utilisateur.
    • L’utilisation de l’empaquetage MSIX est un moyen d’atteindre cet objectif.
  • N’exigez pas de privilèges administratifs pour exécuter votre application.
    • Si certaines fonctionnalités ont besoin de privilèges d’administration, envisagez de les séparer en leurs propres processus pour réduire la surface d’attaque.
  • Utilisez des langages avec une sécurité de mémoire garantie, comme C#, JavaScript ou Rust, en particulier pour les chemins de code risqués, comme l’analyse de données non approuvées.
  • Utilisez toutes les atténuations de sécurité fournies par votre compilateur et votre ensemble d’outils (voir Fonctionnalités de sécurité dans Microsoft Visual C++ pour Visual C++).
  • Utilisez systématiquement les bibliothèques standard du langage ou de l’infrastructure que vous avez choisi pour la cryptographie et tout autre code sensible à la sécurité. N’essayez pas de créer votre propre.
  • Signez numériquement tous les composants de votre application, pas uniquement le programme d’installation, mais aussi le programme de désinstallation (le cas échéant). Signez également tous les fichiers EXE, DLL et autres exécutables qui composent votre application.
    • Les signatures numériques permettent à l’utilisateur de vérifier l’authenticité de votre application et d’autoriser les administrateurs d’entreprise à sécuriser leurs appareils à l’aide de Windows Defender Application Control.
    • L’utilisation de l’empaquetage MSIX est un moyen d’atteindre cet objectif.
  • Assurez-vous que toutes les communications réseau passent par un transport sécurisé, tel que SSL.
  • Fournissez des garde-fous ou autres atténuations contribuant à protéger les utilisateurs contre l’exécution accidentelle d’actions dangereuses, même s'ils y sont contraints par des attaquants.
    • Par exemple, « Voulez-vous vraiment faire X » ? Les boîtes de dialogue Oui/Non ne sont généralement pas efficaces, car les utilisateurs sont conditionnés pour cliquer sur « Oui ».

La plupart des applications modernes collectent et utilisent une grande quantité de données, y compris des données personnelles, pour diverses raisons. La télémétrie, l’amélioration des produits et la monétisation comptent sont des raisons courantes, mais les utilisateurs et les régulateurs sont de plus en plus sensibles aux conséquences de ces pratiques en matière de confidentialité. Ils attendent de la transparence et un contrôle sur les données collectées et utilisées par les applications. Suivez les conseils ci-dessous pour répondre aux besoins de confidentialité de vos utilisateurs.

Recommandations en matière de confidentialité

  • Assurez-vous que votre application offre une politique de confidentialité précise. Dans l’idéal, fournissez à la fois un document de synthèse écrit pour un public occasionnel (vos utilisateurs) et une politique juridique de longue forme (écrite pour vos avocats).
  • Familiarisez-vous avec les réglementations en matière de confidentialité sur les marchés où votre application est disponible. Assurez-vous que votre application répond ou dépasse toutes les exigences en matière de divulgation, de droits d’utilisation, de demandes de suppression et d’autres préoccupations en matière de confidentialité.
  • Collectez la quantité minimale de données personnelles nécessaires pour terminer les expériences de votre application.
    • Ne collectez pas de données « juste en cas ». Avoir une raison valide de collecter toutes les données, telles que d’améliorer l’expérience du client ou de faciliter la monétisation.
  • Obtenez toujours le consentement de l’utilisateur avant de collecter et de stocker des données personnelles. Fournir à l’utilisateur un moyen simple de rétablir sa décision à l’avenir. Évitez les « modèles obscurs », comme celui consistant à afficher le bouton « Oui » de manière plus visible que le bouton « Non » dans une boîte de dialogue de consentement.
    • Consultez les réglementations applicables pour déterminer quelles divulgations et consentement spécifiques sont requises pour les types de données spécifiés. Par exemple, certaines régions peuvent permettre aux utilisateurs d’afficher, de modifier ou de supprimer les données que vous avez stockées à leur sujet.
  • Si vous devez transmettre des données sur le réseau, utilisez toujours des connexions sécurisées, telles que des connexions via TLS.
  • Évitez de stocker des données personnelles dans un emplacement centralisé, tel qu’un site web. S’il vous faut stocker des données personnelles, réduisez au minimum la quantité de données stockées, ne les conservez que pendant la durée strictement nécessaire et veillez à ce qu'elles soient chiffrées de manière sécurisée.
  • Vérifiez que toutes les bibliothèques ou kits sdk tiers que vous utilisez ont également de bonnes pratiques de confidentialité. Cette préoccupation n’est pas limitée aux kits SDK publicitaires uniquement : toute bibliothèque qui se connecte à Internet peut avoir un impact sur la confidentialité des utilisateurs de votre application.