WebVR API
=========

**Obsolète:** Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

WebVR fournit un support pour les dispositifs de réalité virtuelle - par exemple pour les casques de réalité virtuelle comme l'Oculus Rift - aux applications Web, permettant aux développeurs de traduire les informations de position et de mouvement de l'appareil en mouvements autour d'une scène 3D. Cela a de nombreuses applications très intéressantes, des visites de produits virtuels aux applications de formation interactive en passant par des jeux en première personne dans un environnement immersif.

Concepts et usage
-----------------

![Croquis d'une personne assise sur une chaise et portant des lunettes portant la mention « Head mounted display (HMD) » faisant face à un moniteur avec une webcam portant la mention « Position sensor ».](/fr/docs/Web/API/WebVR_API/hw-setup.png)

Tous les périphériques de réalité virtuelle connectés à votre ordinateur seront donné grâce à la méthode `Navigator.getVRDisplays()` (en-US). Cela retournera un tableau d'objets représentant les périphériques, qui auront l'héritage de l'objet `VRDevice` (en-US) — généralement un casque de réalité virtuelle renverra deux périphériques — le casque lui-même, représenté par `HMDVRDevice` (en-US), et la caméra capteur de position qui suit la position de votre tête, représenté par `PositionSensorVRDevice` (en-US).

L'objet `PositionSensorVRDevice` (en-US) contient la méthode `getState()` (en-US), qui retourne un objet `VRPositionState` (en-US) — cela représente l'état du capteur à un timecode donné, et inclus les propriétés avec des données utiles tel que la vélocité, l'accélération et l'orientation, utiles pour mettre à jour le rendu de la scène pour chaque image en accord avec le mouvement du casque de réalité virtuelle.

La méthode `HMDVRDevice.getEyeParameters()` (en-US) retourne un objet `VREyeParameters` (en-US), qui peut être utilisé pour obtenir l'information du champ de vision — combien le casque de réalité virtuel peut afficher de la scène. Le `VREyeParameters.currentFieldOfView` (en-US) retourne un objet `VRFieldOfView` (en-US) qui contient quatre angles décrivant le champ de vision actuel depuis le point central. Vous pouvez aussi changer le champ de vision en utilisant `HMDVRDevice.setFieldOfView()` (en-US).

Interfaces WebVR
----------------

`VRDisplay` (en-US)

Représente un périphérique de réalité virtuelle supporté par cette API. Il inclut des informations générales comme les IDs et des descriptions de l'appareil, ainsi que des méthodes pour commencer à présenter une scène RV, récupérer les paramètres visuels, les capacités d'affichage et d'autres fonctionnalités importantes.

`VRDisplayCapabilities`

Décrit les capacités d'un appareil `VRDisplay` (en-US) — ses fonctionalités peuvent être utilisée pour tester les capacités du périphérique, par exemple peut-il retourner l'information de position.

`VRPose` (en-US)

Représente l'état de la position à un timecode donné (qui inclut l'orientation, la position, la vélocité et l'accélération).

`VREyeParameters` (en-US)

Donne accès à l'ensemble des informations requises pour faire le rendu d'une scène pour l'oeil indiqué, dont les informations de champ de vision.

`VRFieldOfView` (en-US)

Représente le champ de vision actuel définit par quatre angles décrivant la vue depuis le point central.

`VRLayer` (en-US)

Représente un calque d'un objet `VRDisplay` (en-US).

`VRStageParameters` (en-US)

Représente les données décrivant l'espace physique disponible pour les périphériques de réalité virtuelle pouvant offrir une expérience dans une pièce réelle.

### Extensions à d'autres interfaces

`Gamepad.displayId` (en-US) Lecture seule 

*Retourne l'ID `VRDisplay.displayId` (en-US) du périphérique `VRDisplay` (en-US) associé — l'appareil RV où la manette de jeu contrôle la scene affichée.*

`Navigator.activeVRDisplays` (en-US) Lecture seule 

Retourne un tableau contenant tous les périphériques (objet `VRDisplay` (en-US)) qui sont actifs (quand `VRDisplay.ispresenting` (en-US) est à `true`).

`Navigator.getVRDisplays()` (en-US)

Retourne un tableau contenant tous les périphériques (objet `VRDisplay` (en-US)) disponibles qui sont connectés à l'ordinateur.

`Window.onvrdisplayconnected` (en-US)

Représente un gestionaire d'événements qui s'exécute lorsqu'un appareil RV compatible a été connecté à l'ordinateur (quand l'événement `vrdisplayconnected` est déclenché).

`Window.onvrdisplaydisconnected` (en-US)

Représente un gestionaire d'événements qui s'exécute lorsqu'un appareil RV compatible a été déconnecté de l'ordinateur (quand l'événement `vrdisplayconnected` est déclenché).

`Window.onvrdisplaypresentchange` (en-US)

Représente un gestionaire d'événements qui s'exécute lorsque l'état de présentation d'un appareil change — i.e. un changement de l'état "présente" à "ne présente pas", ou vice versa (quand l'événement `vrdisplaypresentchange` est déclenché).

Examples
--------

Vous pouvez retrouver plusieurs exemples dans ces repos Github:

* A-Frame: un framework web Open source pour construire des expériences RV. Plusieurs exemples.
* mdn/webvr-tests: Démos simples conçus pour illustrer des fonctionalités d'usage de base.
* MozVR team: Plus de démos avancés, la source de la spec WebVR, et plus!
Spécifications
--------------

#### No specification found

No specification data found for `api.Navigator.getVRDisplays`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* webvr.info - Up-to-date information about WebVR, browser setup, and community.
* Is WebVR Ready? - Up-to-date information about WebVR browser support (including experimental builds).
* A-Frame — a web framework for building VR experiences (with HTML), from the Mozilla VR team.
* Console Game on Web — a collection of interesting game concept demos, some of which include WebVR.
* threejs-vr-boilerplate — a very useful starter template for writing WebVR apps into.
* Oculus Rift homepage