Vue d’ensemble de Windows Device Portal
Windows Device Portal (WDP) est un serveur web fourni sur les appareils Windows qui vous permet de configurer et gérer les paramètres des appareils via le réseau ou une connexion USB (les connexions locales sont également prises en charge sur les appareils avec un navigateur web).
WDP fournit également des outils de diagnostic avancés pour le débogage et le suivi des performances en temps réel de votre appareil Windows.
La fonctionnalité WDP est exposée programmatiquement par le biais d’une collection d’API REST.
Cet article offre une description générale de Windows Device Portal et fournit des liens vers des articles contenant des informations plus spécifiques sur chaque famille d’appareils Windows.
Notes
Une famille d’appareils identifie les API, les caractéristiques système et les comportements que vous pouvez attendre sur les différentes catégories d’appareils.
Programme d’installation
Chaque famille d’appareils fournit une version de WDP, mais les fonctionnalités et le programme d’installation varient en fonction des exigences d’un appareil.
Voici les étapes de base pour tous les appareils.
Activez le mode développeur et le portail d’appareil sur votre appareil (Paramètres -> Confidentialité sécurité -> Pour les développeurs).
Connectez votre appareil et votre PC via un réseau local ou USB.
Accéder à la page Device Portal dans votre navigateur. Le tableau suivant répertorie les ports et protocoles utilisés par chaque famille d’appareils.
Le tableau suivant détaille les spécificités des appareils pour WDP.
Notes
Windows Mixed Reality s’exécute sur un ordinateur de bureau standard : c’est donc le même portail que celui pour les postes de travail.
Famille d’appareils | Activé par défaut ? | HTTP | HTTPS | USB | Instructions |
---|---|---|---|---|---|
Desktop et IoT Entreprise | Activer dans le mode de développement | 50080* | 50043* | N/A | Portail d’appareil pour les appareils de bureau ou IoT Entreprise |
Xbox | Activer dans le mode de développement | Désactivé | 11443 | N/A | Portail d’appareil pour Xbox |
HoloLens | Oui, en mode de développement | 80 (par défaut) | 443 (par défaut) | http://127.0.0.1:10080 |
Portail d’appareil pour HoloLens |
IoT Standard | Oui, en mode de développement | 8080 | Activer via la clé de registre | N/A | Portail d’appareil pour IoT Core |
Téléphone | Activer dans le mode de développement | 80 | 443 | http://127.0.0.1:10080 |
Portail d’appareil pour appareils mobiles |
* Cela n’est pas toujours le cas, car Device Portal sur le bureau revendique des ports dans la plage éphémère (>50 000) afin d’éviter les collisions avec les déclarations de port existant sur l’appareil. Pour en savoir plus, consultez la section Configuration basée sur le Registre dans Windows Device Portal pour les postes de travail.
Fonctionnalités
Barre d’outils et navigation
La barre d’outils se trouvant en haut de la page permet d’accéder aux fonctionnalités couramment utilisées.
- Alimentation : permet d’accéder aux options d’alimentation.
- Arrêt : éteint l’appareil.
- Redémarrer : mise sous tension de l’appareil par cycle.
- Aide : ouvre la page d’aide.
Utilisez les liens du volet de navigation sur le côté gauche de la page pour naviguer vers les outils d’analyse et de gestion disponibles pour votre appareil.
Les outils courants des familles d’appareils sont décrits ici. D’autres options peuvent être disponibles selon l’appareil. Pour plus d’informations, voir la page spécifique de votre type d’appareil.
Gestionnaire d’applications
Le gestionnaire d’applications propose des fonctionnalités d’installation/de désinstallation et de gestion pour les packages d’applications et les offres groupées sur l’appareil hôte.
- Déployer des applications : déployez des applications packagées à partir d’hôtes locaux, réseau ou web et inscrivez des fichiers libres à partir de partages réseau.
- Applications installées : utilisez le menu déroulant pour supprimer ou démarrer les applications installées sur l’appareil.
- Applications en cours d’exécution : obtenez des informations sur les applications en cours d’exécution et fermez-les si nécessaire.
Installer une application (charger une version test)
Vous pouvez charger des versions test d’applications pendant le développement à l’aide du portail d’appareils Windows :
Lorsque vous avez créé un package d’application, vous pouvez l’installer à distance sur votre appareil. Une fois créé dans Visual Studio, un dossier de sortie est généré.
Dans le portail d’appareils Windows, accédez à la page Gestionnaire d’applications.
Dans la section Déployer des applications, sélectionnez Stockage local.
Sous Sélectionner le package d’application, sélectionnez Choisir un fichier et accédez au package d’application dont vous souhaitez charger une version test.
Sous Sélectionnez le fichier de certificat (.cer) utilisé pour signer le package d’application, sélectionnez Choisir un fichier et accédez au certificat associé à ce package d’application.
Activez les cases à cocher respectives si vous souhaitez installer des packages facultatifs ou de framework en même temps que l’application, puis sélectionnez Suivant pour les choisir.
Sélectionnez Installer pour démarrer l'installation.
Si l’appareil exécute Windows 10 en mode S et que ce certificat a été installé pour la première fois sur l’appareil, redémarrez le service.
Installer un certificat
Vous pouvez également installer le certificat via le Portail d'appareil Windows et installer l’application par d’autres moyens :
Dans le portail d’appareils Windows, accédez à la page Gestionnaire d’applications.
Dans la section Déployer des applications, sélectionnez Installer un certificat.
Sous Sélectionnez le fichier de certificat (.cer) utilisé pour signer un package d’application, sélectionnez Choisir un fichier et accédez au certificat associé au package d’application dont vous souhaitez charger une version test.
Sélectionnez Installer pour démarrer l'installation.
Si l’appareil exécute Windows 10 en mode S et que ce certificat a été installé pour la première fois sur l’appareil, redémarrez le service.
Désinstaller une application
- Assurez-vous que votre application n’est pas en cours d’exécution.
- Si c’est le cas, accédez à Applications en cours d’exécution et fermez l’application en question. Si vous essayez de désinstaller une application en cours d’exécution, celle-ci posera des problèmes lorsque vous essaierez de la réinstaller.
- Sélectionnez l’application dans la liste déroulante, puis cliquez sur Supprimer.
Processus en cours d’exécution
Cette page affiche des détails sur les processus en cours d’exécution sur l’appareil hôte. Cela comprend les processus relatifs aux applications au système. Sur certaines plateformes (Desktop, IoT et HoloLens), vous pouvez mettre fin aux processus.
Explorateur de fichiers
Cette page vous permet d’afficher et de manipuler les fichiers stockés par vos applications dont une version test a été chargée. Pour en savoir plus sur l’Explorateur de fichiers et comment l’utiliser, consultez le billet de blog Utilisation de l’Explorateur de fichiers de l’application.
Performances
La page des performances présente des graphiques en temps réel des informations de diagnostic système, telles que la consommation d’énergie, la fréquence d’images et la charge du processeur.
Voici les mesures disponibles :
- Processeur : pourcentage de l’utilisation totale du processeur disponible
- Mémoire : totale, en cours d’utilisation, disponible, validée, paginée et non paginée
- E/S : lire et écrire des quantités de données
- Réseau : données reçues et envoyées
- GPU : pourcentage de l’utilisation totale du moteur GPU disponible
Journalisation du suivi d’événements pour Windows (ETW)
La page de journalisation ETW gère les informations de suivi d’événements pour Windows (ETW) en temps réel sur l’appareil.
Cochez la case Masquer les fournisseurs pour n’afficher que la liste des événements.
Fournisseurs inscrits : sélectionnez le fournisseur d’événements et le niveau de suivi. Le niveau de suivi est l’une des valeurs suivantes :
- Sortie ou arrêt anormal
- Erreurs graves
- Avertissements
- Avertissements sans erreur
- Suivi détaillé
Cliquez ou appuyez sur Activer pour démarrer le suivi. Le fournisseur est ajouté à la liste déroulante Fournisseurs activés.
Fournisseurs personnalisés : sélectionnez un fournisseur ETW personnalisé et le niveau de suivi. Identifiez le fournisseur par son GUID. N’insérez pas de crochets dans le GUID.
Fournisseurs activés : fournit une liste des fournisseurs activés. Sélectionnez un fournisseur dans la liste déroulante, puis cliquez sur ou appuyez sur Désactiver pour arrêter le suivi. Cliquez ou appuyez sur Arrêter tout pour suspendre tout le suivi.
Historique des fournisseurs : affiche les fournisseurs ETW activés pendant la session active. Cliquez ou appuyez sur Activer pour activer un fournisseur qui a été désactivé. Cliquez ou appuyez sur Effacer pour supprimer l’historique.
Filtres/Événements : la section Événements répertorie les événements ETW des fournisseurs sélectionnés sous forme de tableau. Le tableau est mis à jour en temps réel. Utilisez le menu Filtres pour configurer des filtres personnalisés pour les événements à afficher. Cliquez sur le bouton Effacer pour supprimer tous les événements ETW du tableau. Cela ne désactive pas les fournisseurs. Vous pouvez cliquer sur Enregistrer dans le fichier pour exporter les événements ETW actuellement collectés vers un fichier CSV local.
Pour plus d’informations sur l’utilisation de la journalisation ETW, consultez le billet de blog Utiliser le Portail d’appareil pour afficher les journaux de débogage.
Suivi des performances
Le Windows Performance Toolkit comprend la page Suivi des performances, qui vous permet de voir les traces de l’Enregistreur de performance Windows (WPR) à partir de l’appareil hôte.
- Profils disponibles : sélectionnez le profil WPR dans la liste déroulante, puis cliquez ou appuyez sur Démarrer pour commencer le suivi.
- Profils personnalisés : cliquez ou appuyez sur Parcourir pour choisir un profil WPR sur votre PC. Cliquez ou appuyez sur Charger et démarrer pour commencer le suivi.
Pour arrêter le suivi, cliquez sur Arrêter. Restez sur cette page jusqu’à ce que le fichier de suivi (.ETL) soit entièrement téléchargé.
Les fichiers .ETL capturés peuvent être ouverts pour analyse dans Windows Performance Analyzer.
Gestionnaire de périphériques
La page Gestionnaire d’appareils répertorie tous les périphériques connectés à votre appareil. Vous pouvez cliquer sur les icônes de paramètres pour afficher les propriétés de chacun d’eux.
Mise en réseau
La page Réseaux gère les connexions réseau sur l’appareil. Sauf si vous êtes connecté à Device Portal via USB, la modification de ces paramètres entraînera certainement la déconnexion de Device Portal.
- Réseaux disponibles : affiche les réseaux Wi-Fi disponibles sur l’appareil. Appuyez ou cliquez sur un réseau pour vous y connecter et fournir une clé d’accès si nécessaire. Le Portail d'appareil ne prend pas encore en charge l’authentification d’entreprise. Vous pouvez également utiliser la liste déroulante Profils pour tenter de vous connecter à l’un des profils Wi-Fi connus de l’appareil.
- Configuration IP : affiche des informations d’adresse sur chacun des ports réseau de l’appareil hôte.
Remarques et fonctionnalités de service
DNS-SD
Device Portal signale sa présence sur le réseau local à l’aide de DNS-SD. Toutes les instances Device Portal, quel que soit le type d’appareil, sont signalées sous « WDP._wdp._tcp.local ». Les enregistrements TXT relatifs à l’instance de service fournissent les éléments suivants :
Clé | Type | Description |
---|---|---|
S | int | Port sécurisé pour Device Portal. Si la valeur est égale à 0 (zéro), Device Portal ne détecte pas les connexions HTTPS. |
D | string | Type d’appareil. Cette information sera au format « Windows.* », par exemple Windows.Xbox ou Windows.Desktop |
A | string | Architecture d’appareil. Par exemple Arm, x 86 ou AMD64. |
T | liste de chaînes délimitées par des caractères Null | Balises appliquées par l’utilisateur pour l’appareil. Reportez-vous à l’API REST Tags pour apprendre à l’utiliser. La liste se termine par deux caractères Null. |
La connexion au port HTTPS est suggérée, car les appareils ne sont pas tous détectés sur le port HTTP signalé par l’enregistrement DNS-SD.
Protection CSRF et écriture de scripts
Afin d’offrir une protection contre les attaques CSRF, un jeton unique est requis pour toutes les demandes non GET. Ce jeton, qui est l’en-tête de demande X-CSRF-Token, dérive d’un cookie de session, CSRF-Token. Dans l’interface utilisateur Device Portal, le cookie CSRF-Token est copié dans l’en-tête X-CSRF-Token à chaque demande.
Important
Cette protection empêche toute utilisation des API REST à partir d’un client autonome (tel que les utilitaires de ligne de commande). Cette situation peut être résolue de 3 manières différentes :
- Utilisez un nom d’utilisateur « auto- ». Les clients qui font précéder leur nom d’utilisateur du préfixe « auto-» contournent la protection CSRF. Ce nom d’utilisateur ne doit pas servir à se connecter à Device Portal par le biais du navigateur, car il rend le service vulnérable aux attaques CSRF. Exemple : Si le nom d’utilisateur du Portail d'appareil est « admin »,
curl -u auto-admin:password <args>
doit être utilisé pour contourner la protection CSRF. - Implémentez le schéma de type cookie vers en-tête dans le client. Cette opération nécessite une requête GET afin d’établir le cookie de session, puis l’inclusion de l’en-tête et du cookie sur toutes les requêtes ultérieures.
- Désactivez l’authentification et utilisez le protocole HTTP. La protection CSRF s’applique uniquement aux points de terminaison HTTPS : les connexions au niveau des points de terminaison HTTP n’ont donc pas besoin de satisfaire les conditions ci-dessus.
Protection CSWSH (Cross-Site WebSocket Hijacking)
Afin d’éliminer les risques d’attaques CSWSH, tous les clients ouvrant une connexion WebSocket à Device Portal doivent également fournir un en-tête Origin correspondant à l’en-tête Host. Cela prouve à Device Portal que la requête provient soit de l’interface utilisateur de Device Portal, soit d’une application cliente valide. Si la requête ne présente pas d’en-tête Origin, elle sera rejetée.
Voir aussi
Informations de référence sur les API principales du Portail d'appareil