aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/screen_capture_api/index.html
blob: 6ba5ed04681614a97a59fce3a5e904313ef47a1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
---
title: Screen Capture API
slug: Web/API/Screen_Capture_API
tags:
  - API
  - Capture
  - Conference
  - Media
  - MediaDevices
  - Overvew
  - Screen Capture
  - Screen Sharing
  - Video
  - Window
  - display
  - getDisplayMedia
  - screen
translation_of: Web/API/Screen_Capture_API
---
<div>{{DefaultAPISidebar("Screen Capture API")}}</div>

<p><span class="seoSummary">The Screen Capture API introduces additions to the existing Media Capture and Streams API to let the user select a screen or portion of a screen (such as a window) to capture as a media stream.</span> This stream can then be recorded or shared with others over the network.</p>

<h2 id="API_Screen_Capture_concepts_et_utilisation">API Screen Capture concepts et utilisation</h2>

<p>L'API Screen Capture est relativement simple à utiliser. Sa seule méthode est {{domxref("MediaDevices.getDisplayMedia()")}} dont le but est de demander à l'utilisateur un écran ou une portion d'écran à capturer sous la forme de {{domxref("MediaStream")}}.</p>

<p>Pour commencer à capturer une vidéo de l'écran, il faut appeler <code>getDisplayMedia()</code> dans une instance de <code>navigator.mediaDevices</code></p>

<pre class="brush: js">captureStream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);</pre>

<p>La {{jsxref("Promise")}} retournée par <code>getDisplayMedia()</code> résout un {{domxref("MediaStream")}} qui diffuse le dédia capturé.</p>

<p>Voir l'article <a href="/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture">Utiliser l'API Screen Capture</a> <span class="tlid-translation translation" lang="fr"><span title="">pour plus de détails sur l’utilisation de l’API pour capturer le contenu de l’écran sous forme de flux.</span></span></p>

<h2 id="Ajouts_à_l'interface_actuelle">Ajouts à l'interface actuelle</h2>

<p>L'API Screen Capture n'a pas sa propre interface. Cependant, elle ajoute une méthode à l'existante interface {{domxref("MediaDevices")}} .</p>

<h3 id="Interface_MediaDevices">Interface MediaDevices</h3>

<dl>
 <dt>{{domxref("MediaDevices.getDisplayMedia()")}}</dt>
 <dd>La méthode <code>getDisplayMedia()</code> est ajoutée à l'interface <code>MediaDevices</code>. Similaire à {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}}, cette méthode crée une promise qui  method creates a promise qui résout un {{domxref("MediaStream")}} contenant  la zone d'affichage sélectionnée par l'utilisateur, dans un format qui correspond aux options spécifiées.</dd>
</dl>

<h2 id="Ajouts_aux_dictionnaires_actuels">Ajouts aux dictionnaires actuels</h2>

<p>L'API Screen Capture ajoute des propriétés au dictionnaire suivant définit par d'autres spécificités.</p>

<h3 id="MediaTrackConstraints">MediaTrackConstraints</h3>

<dl>
 <dt>{{domxref("MediaTrackConstraints.cursor")}}</dt>
 <dd>Un {{domxref("ConstrainDOMString")}}  indiquant si le curseur doit ou non être inclus dans le flux de la surface d'affichage capturée, et s'il doit toujours être visible ou s'il ne doit l'être que lorsque la souris est en mouvement.</dd>
 <dt>{{domxref("MediaTrackConstraints.displaySurface")}}</dt>
 <dd>Un {{domxref("ConstrainDOMString")}} indiquant quel type de surface d'affichage doit être capturé. La valeur peut être <code>application</code>, <code>browser</code>, <code>monitor</code>, ou <code>window</code>.</dd>
 <dt>{{domxref("MediaTrackConstraints.logicalSurface")}}</dt>
 <dd>Indique si la vidéo dans le flux représente ou non une surface d'affichage logique (c'est-à-dire une surface qui peut ne pas être entièrement visible à l'écran ou peut-être complètement hors écran). La valeur <code>true</code> indique qu'une surface d'affichage logique doit être capturée.</dd>
</dl>

<h3 id="MediaTrackSettings">MediaTrackSettings</h3>

<dl>
 <dt>{{domxref("MediaTrackSettings.cursor")}}</dt>
 <dd>Une chaîne de caractères indiquant si la surface d'affichage en cours de capture comprend ou non le curseur de la souris et, dans l'affirmative, si elle est visible uniquement lorsque la souris est en mouvement ou si elle est toujours visible. La valeur peut être <code>always</code>, <code>motion</code>, ou <code>never</code>.</dd>
 <dt>{{domxref("MediaTrackSettings.displaySurface")}}</dt>
 <dd>Une chaîne indiquant le type de surface d'affichage en cours de capture. La valeur peut être<code>application</code>, <code>browser</code>, <code>monitor</code>, ou <code>window</code>.</dd>
 <dt>{{domxref("MediaTrackSettings.logicalSurface")}}</dt>
 <dd>Valeur booléenne valant <code>true</code> si la vidéo en cours de capture ne correspond pas directement à une seule zone d'affichage à l'écran.</dd>
</dl>

<h3 id="MediaTrackSupportedConstraints">MediaTrackSupportedConstraints</h3>

<dl>
 <dt>{{domxref("MediaTrackSupportedConstraints.cursor")}}</dt>
 <dd>Valeur booléenne valant <code>true</code> si l'environnement actuel supporte la contrainte {{domxref("MediaTrackConstraints.cursor")}}.</dd>
 <dt>{{domxref("MediaTrackSupportedConstraints.displaySurface")}}</dt>
 <dd>Valeur booléenne valant <code>true</code> si l'environnement actuel supporte la contrainte {{domxref("MediaTrackConstraints.displaySurface")}}.</dd>
 <dt>{{domxref("MediaTrackSupportedConstraints.logicalSurface")}}</dt>
 <dd>Valeur booléenne valant <code>true</code> si l'environnement actuel supporte la contrainte {{domxref("MediaTrackConstraints.logicalSurface")}}.</dd>
</dl>

<h2 id="Dictionnaires">Dictionnaires</h2>

<p>Le dictionnaire suivant est difinit par l'API Screen Capture.</p>

<dl>
 <dt><code>CursorCaptureConstraint</code></dt>
 <dd>Un type de chaîne énuméré utilisé pour fournir la valeur de la propriété <code>cursor</code> aux paramètres et aux contraintes. La valeur peut être <code>always</code>, <code>motion</code>, ou <code>never</code>.</dd>
 <dt><code>DisplayCaptureSurfaceType</code></dt>
 <dd>Un type de chaîne énuméré utilisé pour identifier le type de surface d'affichage à capturer. ce type est utilisé pour la propriété <code>displaySurface</code> dans les objets contraints et paramètres, et a plusieurs valeurs possibles <code>application</code>, <code>browser</code>, <code>monitor</code>, and <code>window</code>.</dd>
</dl>

<h2 id="Validation_de_Feature_Policy">Validation de Feature Policy</h2>

<p>{{Glossary("User agent", "User agents")}} qui supportent  Feature Policy (soit en utilisant les entetes HTTP {{HTTPHeader("Feature-Policy")}} ou l'attribut {{HTMLElement("iframe")}}{{htmlattrxref("allow", "iframe")}} peut spécifier la volonté d'utiliser l'API Screen Capture API en utilisant la directive Policy Controle <code>display-capture</code>:</p>

<pre class="brush: html">&lt;iframe allow="display-capture" src="/some-other-document.html"&gt;</pre>

<p>La liste d’autorisations par défaut est <code>self</code>, ce qui permet à tout contenu du document d’utiliser Screen Capture.</p>

<p>Voir <a href="/en-US/docs/Web/HTTP/Feature_Policy/Using_Feature_Policy">Utiliser Feature Policy</a> pour une explication plus en détail sur comment est utilisé Feature Policy.</p>

<h2 id="Caracteristiques">Caracteristiques</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Caracteristiques</th>
   <th scope="col">Statut</th>
   <th scope="col">Commentaire</th>
  </tr>
  <tr>
   <td>{{SpecName('Screen Capture')}}</td>
   <td>{{Spec2('Screen Capture')}}</td>
   <td>Définition Initiale</td>
  </tr>
 </tbody>
</table>

<h2 id="Compatibilité_des_Navigateurs">Compatibilité des Navigateurs</h2>

<div>


<div>


<p>{{Compat("api.MediaDevices.getDisplayMedia")}}</p>
</div>


</div>

<h2 id="Voir_aussi">Voir aussi</h2>

<ul>
 <li><a href="/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture">Utiliser l'API Screen Capture</a></li>
 <li>{{domxref("MediaDevices.getDisplayMedia()")}}</li>
</ul>