> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Directives du programme de compatibilité avec les appareils portables

> Suivez les cinq directives du programme de compatibilité avec les appareils portables pour optimiser votre titre GDK pour les appareils de jeu Windows portables : paramètres par défaut, entrées, polices, alimentation et détection.

Le programme de compatibilité avec les appareils portables, conçu par XBOX, aide à donner aux joueurs l'assurance que les jeux fonctionneront bien sur un appareil de jeu portable. Pour qu'un jeu fonctionne parfaitement sur un appareil portable, quelques considérations supplémentaires s'imposent par rapport à la façon dont ce même jeu pourrait se comporter dans un environnement de PC de bureau. Les jeux sur appareils portables restent des jeux PC. Pour bien fonctionner sur un appareil portable, ils doivent tenir compte d'un petit écran tenu à 12 pouces des yeux, avec des entrées provenant d'une manette plutôt que d'une souris et d'un clavier.

Il y a cinq directives principales à prendre en compte. Ce document présente ces cinq directives dans les grandes lignes et décrit comment vous pouvez les respecter.

## Directive 1 : Les paramètres par défaut fonctionnent tout simplement

Les joueurs s'attendent à des expériences semblables à celles des consoles sur les appareils portables. Ils ne devraient pas avoir à chercher un menu et à modifier un paramètre pour mettre le jeu en mode portable. En utilisant uniquement la manette, ils devraient pouvoir naviguer dans tous les éléments du jeu. Même si les joueurs peuvent souhaiter de la personnalisation et de la variété dans les options de rendu (niveaux de noir, ombres, performance ou qualité), ils s'attendent tout de même à une bonne expérience par défaut.

La clé pour que les paramètres par défaut « fonctionnent tout simplement » est de savoir que vous êtes sur un appareil de jeu portable. Utilisez le code suivant pour déterminer si le jeu s'exécute sur un appareil de jeu portable.

```c theme={null}
#ifndef DEVICEFAMILYDEVICEFORM_GAMING_HANDHELD
#define DEVICEFAMILYDEVICEFORM_GAMING_HANDHELD    0x0000002E 
#endif
  
DWORD DeviceForm; 
RtlGetDeviceFamilyInfoEnum(nullptr, nullptr, &DeviceForm); 
  
if (DeviceForm == DEVICEFAMILYDEVICEFORM_GAMING_HANDHELD) 
{ 
   // Do stuff for a handheld 
} 
```

Au lancement, le jeu peut vérifier si l'appareil est un appareil de jeu portable. Si c'est le cas, le jeu doit choisir les paramètres par défaut qui créent une bonne expérience :

* Choisir une résolution et des paramètres bien adaptés aux capacités typiques des appareils portables.
* Modifier l'entrée par défaut pour prévoir une manette et afficher un clavier virtuel lorsqu'une saisie de texte est attendue.
* Agrandir les polices (plus de détails à ce sujet dans la section [Directive 4 : Lisibilité de l'interface utilisateur](#guideline-4-ui-readability) ci-dessous).

Lorsque vous développez pour des appareils portables, ne vous contentez pas de détecter que le jeu s'exécute sur l'un d'eux. Réfléchissez également à la façon dont le recours à une manette, plutôt qu'à une souris et à un clavier, influe sur l'expérience du joueur. Cela a une incidence sur des éléments comme la façon dont les joueurs naviguent dans l'interface et la façon dont vous gérez le focus.

Vous devrez peut-être aussi relever des défis liés aux entrées, comme la précision réduite d'une manette par rapport à une souris. Des fonctionnalités comme l'aide à la visée peuvent aider à compenser ce problème.

Pour commencer à vous assurer que « les paramètres par défaut fonctionnent tout simplement » sur un appareil portable, les guides d'accessibilité suivants sont d'excellentes ressources :

* [Directive d'accessibilité XBOX 101 : Affichage du texte](/fr-CA/build/game-principles/accessibility/xag-deep-dives/xag-101-text-display)
* [Directive d'accessibilité XBOX 107 : Entrée](/fr-CA/build/game-principles/accessibility/xag-deep-dives/xag-107-input)
* [Directive d'accessibilité XBOX 112 : Navigation dans l'interface utilisateur](/fr-CA/build/game-principles/accessibility/xag-deep-dives/xag-112-ui-navigation)
* [Directive d'accessibilité XBOX 113 : Gestion du focus de l'interface utilisateur](/fr-CA/build/game-principles/accessibility/xag-deep-dives/xag-113-ui-focus-handling)

## Directive 2 : Iconographie

Les indications à l'écran, comme l'iconographie, aident le joueur à comprendre comment naviguer et jouer au jeu. Assurez-vous qu'aucune indication ne suggère des méthodes d'entrée qui ne sont pas disponibles nativement sur l'appareil portable, ce qui sèmerait la confusion.

## Directive 3 : Saisie de texte

Les jeux conçus pour PC supposent généralement la présence d'une souris et d'un clavier. Sur un appareil de jeu portable, l'entrée par défaut est la manette. Lorsque votre jeu nécessite une saisie de texte, assurez-vous que les joueurs peuvent saisir du texte en utilisant uniquement la manette avec un clavier virtuel.

Déclenchez des claviers virtuels chaque fois qu'une saisie de texte peut être nécessaire. Deux approches typiques consistent à lancer le clavier virtuel lorsqu'une « touche tactile » est détectée sur la zone de texte ou lorsque la zone de texte a le « focus d'entrée » et que le bouton **A** est enfoncé.

Vous êtes libre de créer votre propre clavier virtuel. Vous pouvez également utiliser le clavier virtuel qui fait partie de Windows. Le code suivant montre comment votre jeu peut lancer, puis masquer le clavier virtuel de Windows en mode manette.

```C theme={null}
#include <winrt/windows.ui.viewmanagement.core.h>
using namespace winrt::Windows::UI::ViewManagement::Core;
#pragma comment(lib,"windowsapp.lib")


// CoreInputViewKind::Gamepad enum requires headers from 26100.3624 Windows SDK or greater
// Otherwise, use static_cast<CoreInputViewKind>(7) for earlier SDKs

CoreInputView::GetForCurrentView().TryShow(CoreInputViewKind::Gamepad);

CoreInputView::GetForCurrentView().TryHide();
```

Ce code obtient l'interface `ICoreInputView3` appropriée et appelle la méthode `TryShow` en lui passant l'identificateur du nouveau clavier virtuel compatible avec la manette. `TryHide` masque le clavier s'il est actuellement affiché.

<Note>
  La méthode `TryShow` n'affiche le clavier que si Windows détermine qu'il est approprié de l'afficher. Par exemple, l'appel de cette méthode sur un appareil auquel un clavier physique est connecté (entre autres distinctions) peut ne pas afficher le clavier virtuel. Sur un appareil portable doté d'un écran tactile, cet appel fonctionne comme prévu.
</Note>

<Note>
  L'API ci-dessus n'a aucune dépendance envers le GDK. Il s'agit d'une API Windows introduite dans Windows 10 dans la version 10.0.17763.0, publiée en octobre 2018. Toutefois, l'énumération `CoreInputViewKind::Gamepad` nécessite le Windows SDK 10.0.26100.3624 ou une version ultérieure.
</Note>

## Directive 4 : Lisibilité de l'interface utilisateur

Les petits écrans de 7 po sont courants sur les appareils de jeu portables. Ces petits écrans peuvent rendre difficile la lecture du texte de l'interface utilisateur du jeu. Les directives destinées aux développeurs de jeux pour ces petits écrans sont les suivantes :

* Si l'écran est de 1280 x 720, la hauteur du texte en pixels doit être d'au moins 9 pixels. Nous recommandons une hauteur de 12 pixels ou plus.
* Si l'écran est de 1920 x 1080, la hauteur du texte en pixels doit être d'au moins 14 pixels. Nous recommandons une hauteur de 18 pixels ou plus.

La lisibilité du texte est une source importante de problèmes d'accessibilité. De nombreux jeux en tiennent compte et offrent un paramètre en jeu pour la taille des polices. Une façon d'assurer la lisibilité du texte consiste à définir automatiquement l'une de ces plus grandes tailles de texte par défaut lorsque vous détectez que le jeu s'exécute sur un appareil portable.

La plupart des jeux utilisent des polices bitmap, mais celles-ci ne s'ajustent pas automatiquement en fonction de la taille de l'écran, du PPP ou d'autres paramètres de Windows. Si vous utilisez des polices bitmap, proposez des choix de tailles de texte plus grandes.

Si vous utilisez une police TrueType dans votre jeu, vous pouvez utiliser [DirectWrite](https://learn.microsoft.com/windows/win32/directwrite/direct-write-portal) pour le texte. `DirectWrite` peut tirer parti de fonctionnalités clés de Windows comme la mise à l'échelle des polices, le PPP et d'autres paramètres de Windows.

## Directive 5 : Affichage pris en charge

Les jeux utilisent l'espace de l'écran pour offrir une excellente expérience. Les jeux ne doivent pas être affichés avec d'importantes bandes noires (letterboxing) ni rendus selon des rapports d'aspect qui déforment la jouabilité. Avec les petits écrans typiques des appareils de jeu portables, d'importantes bandes noires peuvent rendre ces écrans encore plus petits, ce qui nuit à la jouabilité.

## Autres considérations

En plus des cinq directives énumérées, consultez [Considérations supplémentaires lors du développement de jeux GDK pour les appareils Windows portables](/fr-CA/build/gdk-and-engines/handheld/handheld-considerations).


## Related topics

- [Programme de services payants de certification](/fr-CA/publishing/game-publishing/concepts/certification/certification-paid-services.md)
- [Exigences XBOX testées lors de la certification pour les jeux sur console XBOX](/fr-CA/publishing/certification/console-cert-tested-requirements.md)
- [XR-064 Sessions de jeu joignables et jeu en ligne](/fr/publishing/certification/xr/xr-064.md)
- [Vue d'ensemble de l'accessibilité GDK](/fr/build/game-principles/accessibility/accessibility-overview.md)
- [Aperçu du portage](/fr-CA/paths/porting/overview.md)
