Partager via


Développement d’applications Windows - Bonnes pratiques

Les bonnes pratiques présentées dans ce document vous aideront à créer d’excellentes applications Windows qui toucheront et raviront ~1,5 milliard d'utilisateurs de PC dans le monde. Ce document comprend les sections suivantes :

  1. Expérience utilisateur : les conseils de cette section vous aideront à améliorer l’apparence, la convivialité et la facilité d’utilisation de vos applications.
  2. Performances et principes de base : les conseils de cette section vous aideront à 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 aideront à optimiser votre empaquetage et votre distribution pour diverses configurations matérielles.
  4. Découverte et gestion des applications : les conseils de cette section faciliteront la découverte, l’installation, la mise à jour et la désinstallation de votre application.
  5. Accessibilité : les conseils de cette section vous aideront à créer des expériences accessibles et inclusives.
  6. Sécurité et confidentialité : les conseils de cette section vous aideront à atténuer les risques de sécurité et à répondre aux besoins de confidentialité de vos utilisateurs.

Expérience utilisateur

Windows 11 marque une évolution visuelle du système d’exploitation Windows qui améliore l’apparence, la convivialité et facilité d’utilisation de Windows. Nos études montrent que les utilisateurs attendent beaucoup des 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. Cela facilite grandement l'utilisation de votre application par les utilisateurs. Une application qui a de l'allure peut créer une excellente première impression, mais une application qui est également facile à utiliser et qui aide l'utilisateur à atteindre ses objectifs crée une excellente impression durable.

Windows 11 repose sur les principes de conception de Windows 11. Le suivi de ces recommandations lors de la création de vos applications vous aidera à répondre aux attentes de vos clients en matière de qualité d'expérience. Lorsque vous envisagez d’incorporer les derniers modèles d’interface ou d’expérience utilisateur d’application Windows recommandés dans vos applications Windows, nous vous recommandons de vous concentrer sur les 5 points suivants :

  • Layout
  • 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.

Layout

Les applications Windows s’exécutent sur diverses configurations qui correspondent aux besoins des utilisateurs. Testez les volets et/ou les pages de votre application sur une variété de dimensions, appareils, tailles de fenêtre, paramètres PPP et paramètres d’é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 PPP par moniteur. Sans travail supplémentaire pour prendre en charge la mise à l’échelle PPP par moniteur pour ces technologies, les applications peuvent apparaître floues ou à la mauvaise taille. Consultez Développement d’applications de bureau haute résolution sur Windows pour plus d’informations.

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. Si 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/coller, mais les autres contrôles peuvent demander 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 à pouvoir 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. Veillez à ce que ces actions puissent être effectuées à l’aide du clavier, de la souris, du pavé tactile, du doigt ou du stylet.

Panoramique & défilement

Il est rare que l’interface utilisateur d’une application rentre entièrement sur une seule page sans nécessiter de défilement. Même s’il n’y a que quelques éléments d’interface utilisateur, les utilisateurs peuvent redimensionner librement la fenêtre de l’application et entraîner le masquage de certains éléments d’interface. 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, du pavé tactile, du doigt et du stylet) pour permettre aux utilisateurs d’accéder à tous les éléments d’interface utilisateur qui peuvent avoir été déplacés hors de la zone de fenêtre visible.

Style de visuel

Windows 11 est basé sur les principes de conception de Windows 11 : facile à utiliser, calme, personnel, familier, complet et cohérent. Nous pensons que ces principes permettent de créer de formidables 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 Acrylic pour appliquer un style semi-transparent à des surfaces temporaires telles que les menus contextuels, les menus volants et autres éléments qui peuvent être fermés en appuyant/cliquant ailleurs. 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 de type Acrylique et Mica, consultez Choses à faire pour rendre votre application optimale 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 des applications Win32 ne s’adapte pas automatiquement au thème Sombre. Veillez à suivre les conseils relatifs à la barre de titre de cet article).

Éléments d’interface utilisateur actualisés

La géométrie de Windows 11 a été conçue pour prendre 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 là où vous pouvez tirer parti du travail déjà effectué. 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.

Menu contextuel

Un menu contextuel est un menu de raccourci que l’utilisateur appelle à l’aide d’un clic droit ou d’une action de type « Appuyer & Maintenir » pour afficher des commandes correspondant au contexte du contrôle avec lequel l’utilisateur interagit. Les utilisateurs s’attendent à ce que l’apparence et le comportement des menus contextuels soient cohérents entre 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 »). Nous vous recommandons d’utiliser ces nouvelles icônes et polices chaque fois que possible à des fins de cohérence 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 Choses à faire pour rendre votre application optimale sur Windows 11.

Comportement et style des fenêtres

Les applications s’exécutent dans un cadre fourni par Windows, et les utilisateurs s’attendent à ce que l’apparence et les comportements intégrés de Windows soient cohérents dans toutes les fenêtres d’application. Il est conseillé de prendre en charge les fonctionnalités listées ici pour que l’apparence et le fonctionnement de votre application soient ceux attendus par les utilisateurs de Windows 11.

Disposition d’ancrage

L’ancrage des fenêtres a été considérablement amélioré dans Windows 11. Le menu Disposition d’ancrage est une nouvelle fonctionnalité qui permet aux utilisateurs d’explorer le potentiel de l’ancrage des fenêtres. 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

La barre de titre et ses boutons (réduire, agrandir, fermer) permettent aux utilisateurs d’interagir avec Windows pour redimensionner, déplacer et fermer les fenêtres d’application. Une expérience cohérente permet une utilisation fluide de votre application. 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 présentera des angles arrondis par défaut sur Windows 11. Si vous avez personnalisé votre fenêtre d’application et n’avez pas de coins arrondis, consultez Appliquer des angles arrondis dans les applications de bureau pour Windows 11 pour obtenir quelques conseils. 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 si elle ne s’exécute pas au premier plan et même si elle n’est pas visible à l’écran. Lorsque votre application est bien intégrée à Windows, elle devient partie intégrante du flux de travail des utilisateurs en même temps que les autres applications, et permet de créer une expérience fluide.

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.

  • Les notifications doivent être personnalisées, exploitables et utiles pour vos utilisateurs. Essayez de donner à vos utilisateurs ce qu'ils veulent, et non ce que vous voulez qu'ils sachent.
  • Les notifications ne doivent pas être bruyantes. Trop d'interruptions de votre application conduisent les utilisateurs à désactiver ce canal de communication essentiel 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 & 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, il est important de garder à l'esprit l'optimisation de l'utilisation de la mémoire, de la consommation énergétique, de la réactivité, de la fiabilité et de l'impact sur la durabilité à long terme. En consacrant du temps pour tester et mesurer les principes de base et les performances de votre application, vous veillez à ce que vos utilisateurs bénéficient d'une expérience de premier ordre.

Les bonnes pratiques de cette section vous aideront à répondre aux attentes de vos clients selon ces critères.

Pour en savoir plus, consultez la section Vue d’ensemble des performances et des principes de base, qui couvre des questions telles que « Qu’est-ce que les performances des applications et pourquoi est-ce important ? » ou « Quels outils utiliser pour mesurer les performances des applications Windows ? », ainsi que les liens menant à des études de cas, blogs connexes, communautés de support et informations sur la manière dont l'ingénierie des performances s'articule avec le développement durable afin de réduire l'impact de votre application sur notre planète.

Système d’exploitation/Optimisation matérielle

Les applications Windows peuvent être créées, empaquetées et fournies de différentes manières. Les bonnes pratiques de cette section vous aideront à optimiser ces aspects de votre application en fonction des configurations matérielles.

Attachement d’application MSIX et Azure Virtual Desktop

Si vous souhaitez que votre application fonctionne au mieux 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, vous devez 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 susceptibles de tirer le meilleur parti de performances natives. Pour plus d’informations sur ces techniques, consultez Windows sur Arm et Arm64EC pour 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 en termes de 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 les notifications Push pour réveiller l’application ou le client plutôt que de les laisser toujours en marche afin d’optimiser les performances de l’appareil de l’utilisateur.
  • Les canaux de notification ne sont pas destinés à être utilisés pour envoyer des publicités.
  • Respectez les en-têtes retry-after afin de protéger notre service et garantir la remise des notifications.
  • Supprimez les canaux expirés/révoqués du système. Windows Notification Service (WNS) ne traite pas les requêtes de canaux expirés/révoqués.
  • Évitez les rafales soudaines et importantes de requêtes adressées à WNS. Il peut en résulter des réponses limitées.
  • Utilisez l’en-tête MS-CV. Cela facilitera la traçabilité et les 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 développeur Windows uniquement, l'utilisation de l'ANH vous permettra de faciliter la transition de votre infrastructure de notifications vers d'autres plateformes à l'avenir.

Découverte et gestion des applications

Des expériences d’installation, de mise à jour et de désinstallation fiables importantes pour une expérience utilisateur cohérente et de haute qualité. Les bonnes pratiques suivantes vous aideront à faire en sorte que votre application laisse une bonne impression lorsqu'elle est détectée et gérée par les utilisateurs :

Découverte des applications

  • L'inscription de votre application sur Microsoft Store permet aux utilisateurs de la découvrir plus facilement.
  • Si vous hébergez votre application sur plusieurs canaux (site web et Microsoft Store, par exemple), votre application doit disposer d’une identité d’application cohérente, ainsi que d’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 applications du Store sont mises à la disposition des utilisateurs 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. Cela permet aux utilisateurs de procéder à une installation plus facile 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. C’est important 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 -> 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 votre application peut être facilement désinstallée via la liste Applications -> Applications installées dans Paramètres. Lorsque votre application est désinstallée, assurez-vous que les entrées du menu Démarrer, les fichiers, les répertoires, les entrées du 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 que Documents, qui peuvent ensuite être conservés par ce même utilisateur après la désinstallation de l’application.
  • Évitez d’installer ou de mettre à jour des fichiers binaires système qui peuvent 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

  • Prenez en charge un mécanisme de mise à jour qui permet à votre application de redémarrer à la convenance de 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. Cela peut limiter la bande passante réseau requise.
  • Veillez à proposer 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 de riches expériences inclusives adaptées au plus grand nombre d’utilisateurs, y compris aux personnes souffrant d’un handicap (temporaire et permanent), aux préférences personnelles, aux styles de travail spécifiques ou contraintes situationnelles (par exemple, pour les espaces de travail partagés, la conduite, la cuisine, les reflets, 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. Pour autant, seule une sur dix a accès aux technologies d'assistance nécessaires afin de 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 toucher n'importe lequel d'entre 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. La génération Y, qui représentera 75 % de la main-d'œuvre mondiale d'ici 2020, choisissent généralement des employeurs qui reflètent leurs valeurs. Diversité et inclusion en tête de liste.

Intégration de l’accessibilité

L’intégration de l’accessibilité dans vos applications Windows peut optimiser l’engagement des utilisateurs, accroître la satisfaction pour les produits et encourager la fidélité envers ces derniers. La conception et l’implémentation proactives d’expériences accessibles s’accompagnent généralement d’une réduction des 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. Voici quelques outils permettant de tester l’accessibilité :

  1. Inspecter dans Accessibility Insights for Windows. Inspectez l’arborescence d’accessibilité pour trouver des éléments à portée de main, tels que des indices dans les étiquettes, des rôles incorrects, etc.
  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 en l’absence de bogues de sécurité, les attaquants peuvent utiliser votre application pour lancer des attaques par hameçonnage et d’autres formes d’ingénierie sociale qui violent les limites de la sécurité et de la confidentialité. Les bonnes pratiques de cette section vous aideront à 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 paramètres par défaut sécurisés peuvent empêcher les problèmes de sécurité découlant d’une 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’y parvenir.
  • N’exigez pas de privilèges administratifs pour exécuter votre application.
    • Si certaines fonctionnalités demandent des privilèges administratifs, envisagez de les séparer en processus distincts afin de réduire la surface d’attaque.
  • Privilégiez les langages dotés d’une sécurité de mémoire garantie (par exemple, C#, JavaScript ou Rust), notamment pour les chemins de code risqués (analyse de données non fiables, par exemple).
  • 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 bibliothèque.
  • 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’y parvenir.
  • 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 ont été 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. Idéalement, fournissez un document de synthèse destiné à un public occasionnel (vos utilisateurs), ainsi qu’une politique juridique détaillée (rédigée pour vos juristes).
  • Familiarisez-vous avec les réglementations en matière de confidentialité en vigueur sur les marchés où votre application sera disponible, et assurez-vous que celle-ci respecte ou dépasse toutes les exigences en termes de divulgation, de droits d'utilisation, de demandes de suppression, etc.
  • Veillez à collecter le minimum de données personnelles nécessaires au bon déroulement des expériences de votre application.
    • Ne collectez pas de données « au cas où », il doit y avoir une raison valable de collecter toutes les données, par exemple pour améliorer l'expérience du client ou faciliter la monétisation.
  • Obtenez toujours le consentement de l’utilisateur avant de collecter et de stocker des données personnelles et proposez-lui un moyen facilement revenir sur sa décision s’il le souhaite. É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 déterminer quelles divulgations et consentements spécifiques sont requis pour des types de données spécifiques. 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.
  • S’il vous faut transmettre des données sur le réseau, utilisez systématiquement des connexions sécurisées, comme TLS.
  • Évitez de stocker des données personnelles dans un emplacement centralisé (site web, par exemple). 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 tierces ou kits de développement logiciel (SDK) que vous utilisez disposent également de bonnes pratiques en matière de confidentialité. Notez que cela ne se limite pas aux kits de développement logiciel (SDK) publicitaires. Toute bibliothèque qui se connecte à Internet peut avoir un impact sur la confidentialité des utilisateurs de votre application.