From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/fr/web/api/idbkeyrange/bound/index.html | 191 ++++++++++++++++++++ files/fr/web/api/idbkeyrange/includes/index.html | 153 ++++++++++++++++ files/fr/web/api/idbkeyrange/index.html | 197 +++++++++++++++++++++ files/fr/web/api/idbkeyrange/lower/index.html | 164 +++++++++++++++++ files/fr/web/api/idbkeyrange/lowerbound/index.html | 178 +++++++++++++++++++ files/fr/web/api/idbkeyrange/loweropen/index.html | 164 +++++++++++++++++ files/fr/web/api/idbkeyrange/only/index.html | 175 ++++++++++++++++++ files/fr/web/api/idbkeyrange/upper/index.html | 164 +++++++++++++++++ files/fr/web/api/idbkeyrange/upperbound/index.html | 179 +++++++++++++++++++ files/fr/web/api/idbkeyrange/upperopen/index.html | 150 ++++++++++++++++ 10 files changed, 1715 insertions(+) create mode 100644 files/fr/web/api/idbkeyrange/bound/index.html create mode 100644 files/fr/web/api/idbkeyrange/includes/index.html create mode 100644 files/fr/web/api/idbkeyrange/index.html create mode 100644 files/fr/web/api/idbkeyrange/lower/index.html create mode 100644 files/fr/web/api/idbkeyrange/lowerbound/index.html create mode 100644 files/fr/web/api/idbkeyrange/loweropen/index.html create mode 100644 files/fr/web/api/idbkeyrange/only/index.html create mode 100644 files/fr/web/api/idbkeyrange/upper/index.html create mode 100644 files/fr/web/api/idbkeyrange/upperbound/index.html create mode 100644 files/fr/web/api/idbkeyrange/upperopen/index.html (limited to 'files/fr/web/api/idbkeyrange') diff --git a/files/fr/web/api/idbkeyrange/bound/index.html b/files/fr/web/api/idbkeyrange/bound/index.html new file mode 100644 index 0000000000..6d59ada434 --- /dev/null +++ b/files/fr/web/api/idbkeyrange/bound/index.html @@ -0,0 +1,191 @@ +--- +title: IDBKeyRange.bound() +slug: Web/API/IDBKeyRange/bound +tags: + - API + - IDBKeyRange + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBKeyRange/bound +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode bound(), rattachée à l'interface {{domxref("IDBKeyRange")}}, renvoie un intervalle de clé délimité par une borne inférieure et une borne supérieure.

+ +

L'intervalle peut être ouvert (les limites sont exclues) ou fermé (les limites sont incluses). Par défaut, l'intervalle est fermé.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
myKeyRange = IDBKeyRange.bound(lower, upper, lowerOpen, upperOpen);
+ +

Paramètres

+ +
+
lower
+
La limite inférieure de l'intervalle.
+
upper
+
La limite supérieure de l'intervalle.
+
lowerOpen {{optional_inline}}
+
Si cette valeur vaut false (la valeur par defaut), l'intervalle contient la limite inférieure.
+
upperOpen {{optional_inline}}
+
Si cette valeur vaut false (la valeur par défaut), l'intervalle contient la limite supérieure.
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBKeyRange")}} qui représente l'intervalle de clé.

+ +

Exceptions

+ +
+
DataError
+
Cette exception {{domxref("DOMException")}} est levée si : +
    +
  • Une des limites passé n'est pas valide.
  • +
  • La limite inférieur est supèrieur à la limite supérieur.
  • +
  • Les limites correspondent et l'intervalle est ouvert.
  • +
+
+
+ +

Exemples

+ +

Dans l'exemple qui suit, on illustre comment créer un intervalle de clé. On déclare keyRangeValue = IDBKeyRange.bound("A", "F"); ce qui représente un intervalle entre "A" et "F". Ensuite, on ouvre une transaction grâce à un objet {{domxref("IDBTransaction")}} puis on ouvre un magasin d'objets et on ouvre un curseur avec la méthode {{domxref("IDBObjectStore.openCursor")}} pour lequel on indique keyRangeValue comme intervalle de clé correspondant. Cela signifie que le curseur ne parcourera que les enregistrements dont les clés sont contenues dans cet intervalle. L'intervalle contient bien les valeurs "A" et "F" car les bornes sont incluses. Si on avait utilisé IDBKeyRange.bound("A", "F", true, true);, l'intervalle n'aurait pas inclus "A" et "F" mais uniquement les valeurs intermédiaires.

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.bound("A", "F");
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments ont été affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécification

+ +
+ + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBKeyRange-bound-IDBKeyRange-any-lower-any-upper-boolean-lowerOpen-boolean-upperOpen', 'bound()')}}{{Spec2('IndexedDB')}} 
+
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}10228{{CompatVersionUnknown}}
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/includes/index.html b/files/fr/web/api/idbkeyrange/includes/index.html new file mode 100644 index 0000000000..5b6071eba0 --- /dev/null +++ b/files/fr/web/api/idbkeyrange/includes/index.html @@ -0,0 +1,153 @@ +--- +title: IDBKeyRange.includes() +slug: Web/API/IDBKeyRange/includes +tags: + - API + - IDBKeyRange + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBKeyRange/includes +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode includes(), rattachée à l'interface {{domxref("IDBKeyRange")}}, renvoie un booléen si la clé est contenue dans un intervalle de clé.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
myIncludesResult = myKeyRange.includes('A');
+ +

Paramètres

+ +
+
key
+
La clé dont on souhaite savoir si elle est dans l'intervalle.
+
+ +

Valeur de retour

+ +

Un booléen.

+ +

Exceptions

+ +

Cette méthode peut lever une exception {{domxref("DOMException")}} de type {{domxref("DataError")}} lorsque la clé fournie n'est pas une clé valide.

+ +

Exemples

+ +
var keyRangeValue = IDBKeyRange.bound('A', 'K', false, false);
+
+var monResultat = keyRangeValue.includes('F');
+// Renvoie true
+
+var monResultat = keyRangeValue.includes('W');
+// Renvoie false
+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB 2', '#dom-idbkeyrange-includes', 'includes()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple +

{{CompatChrome(52.0)}}

+
{{CompatGeckoDesktop("47.0")}}{{CompatUnknown}}{{CompatOpera(39)}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidFirefox Mobile (Gecko)Firefox OSIE PhoneOpera MobileSafari MobileChrome pour Android
Support simple{{CompatNo}}{{CompatChrome(52.0)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatOperaMobile(39)}}{{CompatUnknown}}{{CompatChrome(52.0)}}
+
+ +

Prothèse d'émulation (polyfill)

+ +

La méhode includes() a été ajoutée à partir de la deuxième édition de la spécification d'Indexed DB. Pour les navigateurs qui ne prennent pas en charge cette fonctionnalité, on peut utiliser la prothèse suivante.

+ +
IDBKeyRange.prototype.includes = IDBKeyRange.prototype.includes || function(key) {
+  var r = this, c;
+  if (r.lower !== undefined) {
+    c = indexedDB.cmp(key, r.lower);
+    if (r.lowerOpen && c <= 0) return false;
+    if (!r.lowerOpen && c < 0) return false;
+  }
+  if (r.upper !== undefined) {
+    c = indexedDB.cmp(key, r.upper);
+    if (r.upperOpen && c >= 0) return false;
+    if (!r.upperOpen && c > 0) return false;
+  }
+  return true;
+};
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/index.html b/files/fr/web/api/idbkeyrange/index.html new file mode 100644 index 0000000000..bec24f9b68 --- /dev/null +++ b/files/fr/web/api/idbkeyrange/index.html @@ -0,0 +1,197 @@ +--- +title: IDBKeyRange +slug: Web/API/IDBKeyRange +tags: + - API + - Database + - IDBKeyRange + - IndexedDB + - Interface + - Reference + - Storage + - TopicStub +translation_of: Web/API/IDBKeyRange +--- +
{{APIRef("IndexedDB")}}
+ +

L'interface IDBKeyRange de l'API IndexedDB représente un intervalle continue sur un type de donnée utilisé pour représenter des clés. Les enregistrements peuvent être récupérés depuis des objets {{domxref("IDBObjectStore")}} et {{domxref("IDBIndex")}} grâce à des clés ou à des intervalles de clé. Il est possible de préciser les bornes inférieure et supérieure de l'intervalle. Si les clés sont des chaînes de caractères, on pourrait ainsi parcourir l'ensemble des valeurs pour l'intervalle A–Z.

+ +

Un intervalle de clé peut être une seule valeur ou un intervalle avec des bornes inférieure et supérieure. Si l'intervalle possède ces deux bornes, il est dit borné. S'il n'a aucune borne, il est non-borné. Un intervalle de clé borné peut être ouvert (les bornes sont exclues) ou fermé (les bornes sont inclues). Pour récupérer les différentes clés d'un intervalle donné, on peut utiliser les fragments de code suivants :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IntervalleCode
Toutes les clés ≤ x{{domxref("IDBKeyRange.upperBound")}}(x)
Toutes les clés < x{{domxref("IDBKeyRange.upperBound")}}(x, true)
Toutes les clés ≥ y{{domxref("IDBKeyRange.lowerBound")}}(y)
Toutes les clés > y{{domxref("IDBKeyRange.lowerBound")}}(y, true)
Toutes les clés ≥ x && ≤ y{{domxref("IDBKeyRange.bound")}}(x, y)
Toutes les clés > x &&< y{{domxref("IDBKeyRange.bound")}}(x, y, true, true)
Toutes les clés > x && ≤ y{{domxref("IDBKeyRange.bound")}}(x, y, true, false)
Toutes les clés ≥ x &&< y{{domxref("IDBKeyRange.bound")}}(x, y, false, true)
La clé = z{{domxref("IDBKeyRange.only")}}(z)
+ +

Une clé est contenue dans un intervalle de clé lorsque les conditions suivantes sont réunies :

+ + + +

{{AvailableInWorkers}}

+ +

Propriétés

+ +
+
{{domxref("IDBKeyRange.lower")}} {{readonlyInline}}
+
Cette propriété fournit la borne inférieure de l'intervalle de clé.
+
{{domxref("IDBKeyRange.upper")}} {{readonlyInline}}
+
Cette propriété fournit la borne supérieure de l'intervalle de clé.
+
{{domxref("IDBKeyRange.lowerOpen")}} {{readonlyInline}}
+
Cette méthode renvoie false si la borne inférieure est contenue dans l'intervalle de clé (autrement dit elle permet de vérifier si l'intervalle est ouvert à gauche).
+
{{domxref("IDBKeyRange.upperOpen")}} {{readonlyInline}}
+
Cette méthode renvoie false si la borne supérieure est contenue dans l'intervalle de clé (autrement dit elle permet de vérifier si l'intervalle est ouvert à droite).
+
+ +

Méthodes

+ +

Méthodes statiques

+ +
+
{{domxref("IDBKeyRange.bound()")}}
+
Cette méthode permet de créer un nouvel intervalle de clé avec une borne inférieure et une borne supérieure.
+
{{domxref("IDBKeyRange.only()")}}
+
Cette méthode crée un nouvel intervalle de clé qui ne contient qu'une valeur.
+
{{domxref("IDBKeyRange.lowerBound()")}}
+
Cette méthode crée un nouvel intervalle de clé avec une borne inférieure.
+
{{domxref("IDBKeyRange.upperBound()")}}
+
Cette méthode crée un nouvel intervalle de clé avec une borne supérieure.
+
+ +

Méthodes des instances

+ + + +
+
{{domxref("IDBKeyRange.includes()")}}
+
Cette méthode renvoie un booléen qui indique si la clé passée en argument est contenue dans l'intervalle de clé.
+
+ + + +
+
+ +

Exemples

+ +

Dans l'exemple qui suit, on montre comment utiliser un intervalle de clé. Ici, on déclare un objet keyRangeValue qui représente un intervalle pour les valeurs entre "A" et "F". On ouvre une transaction grâce à {{domxref("IDBTransaction")}}, on ouvre également un magasin d'objets puis un curseur avec la méthode {{domxref("IDBObjectStore.openCursor")}} pour lequel on indique que keyRangeValue est l'intervalle de clé à considérer. Cela signifie que le curseur récupèrera uniquement les enregistrements pour lesquels les clés sont contenues dans cet intervalle. Cet intervalle est fermé, il inclut les valeur "A" and "F" (on n'a pas indiqué que ces bornes étaient ouvertes). Si on avait utilisé IDBKeyRange.bound("A", "F", true, true);, l'intervalle serait ouvert et ne contiendrait pas "A" ou "F" mais uniquement les valeurs intermédiaires.

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.bound("A", "F");
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments ont été affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#idl-def-IDBKeyRange', 'IDBKeyRange')}}{{Spec2('IndexedDB')}}Définition initiale.
{{SpecName('IndexedDB 2', '#keyrange', 'IDBKeyRange')}}{{Spec2('IndexedDB')}}Ajout de includes().
+ +

Compatibilité des navigateurs

+ + + +

{{Compat("api.IDBKeyRange")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/lower/index.html b/files/fr/web/api/idbkeyrange/lower/index.html new file mode 100644 index 0000000000..a3a607bf0b --- /dev/null +++ b/files/fr/web/api/idbkeyrange/lower/index.html @@ -0,0 +1,164 @@ +--- +title: IDBKeyRange.lower +slug: Web/API/IDBKeyRange/lower +tags: + - API + - IDBKeyRange + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBKeyRange/lower +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété lower, rattachée à l'interface {{domxref("IDBKeyRange")}}, renvoie la borne inférieure de l'intervalle de clé.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
monIntervalle.lower;
+ +

Valeur

+ +

La borne inférieure de l'intervalle de clé (qui peut être d'un type quelconque).

+ +

Exemples

+ +

Dans l'exemple qui suit, on voit comment utiliser un intervalle de clé. On déclare keyRangeValue = IDBKeyRange.upperBound("F", "W", true, true); — ce qui correspond à intervalle qui inclut tout ce qui se trouve entre "F" et "W" mais pas ces valeurs (l'intervalle est « ouvert »). Ensuite, on ouvre une transaction grâce à {{domxref("IDBTransaction")}}, un magasin d'objet et un curseur grâce à {{domxref("IDBObjectStore.openCursor")}} pour lequel on déclare que keyRangeValue est l'intervalle de clé optionnel.

+ +

Après avoir déclaré l'intervalle de clé, on affiche la valeur de la propriété lower dans la console (ce qui doit donner "F").

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.bound("F", "W", true, true);
+  console.log(keyRangeValue.lower);
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments ont été affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBKeyRange-lower', 'lower')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24 (unprefixed)
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}10228{{CompatVersionUnknown}}
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/lowerbound/index.html b/files/fr/web/api/idbkeyrange/lowerbound/index.html new file mode 100644 index 0000000000..d3c5299ad4 --- /dev/null +++ b/files/fr/web/api/idbkeyrange/lowerbound/index.html @@ -0,0 +1,178 @@ +--- +title: IDBKeyRange.lowerBound() +slug: Web/API/IDBKeyRange/lowerBound +tags: + - IDBKeyRange + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBKeyRange/lowerBound +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode lowerBound(), rattachée à l'interface  {{domxref("IDBKeyRange")}}, crée un intervalle de clé avec une borne inférieure.

+ +

Par défaut, la borne est inclue dans l'intervalle (autrement dit, il est fermé à gauche).

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
IDBKeyRange.lowerBound(borne);
+IDBKeyRange.lowerBound(borne, ouvert);
+ +

Paramètres

+ +
+
borne
+
La valeur de la borne inférieure pour l'intervalle.
+
ouvert {{optional_inline}}
+
Ce booléen indique si l'intervalle est ouvert à gauche (autrement dit, s'il vaut false la borne est inclue et s'il vaut true la borne n'est pas inclue dans l'intervalle).
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBKeyRange")}} qui correspond à l'intervalle de clé créé.

+ +

Exceptions

+ +

Cette méthode peut lever une exception {{domxref("DOMException")}} de type DataError lorsque la valeur passée en paramètre n'est pas une clé valide.

+ +

Exemples

+ +

Dans l'exemple qui suit, on illustre comment créer un intervalle de clé avec une borne inférieure, on utilise keyRangeValue = IDBKeyRange.lowerBound("F", false); — cela permet de créer un intervalle qui contient "F" et les valeurs inférieures. On ouvre ensuite une transaction grâce à {{domxref("IDBTransaction")}}) puis un magasin d'objet et un curseur avec la méthode {{domxref("IDBObjectStore.openCursor")}} à laquelle on associe l'intervalle de clé keyRangeValue.

+ +

Si on a avait utilisé IDBKeyRange.lowerBound("F", true);, "F" n'aurait pas fait partie de l'intervalle.

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.lowerBound("F");
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments sont affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBKeyRange-lowerBound-IDBKeyRange-any-lower-boolean-open', 'lowerBound()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}10228{{CompatVersionUnknown}}
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/loweropen/index.html b/files/fr/web/api/idbkeyrange/loweropen/index.html new file mode 100644 index 0000000000..e8cbe37164 --- /dev/null +++ b/files/fr/web/api/idbkeyrange/loweropen/index.html @@ -0,0 +1,164 @@ +--- +title: IDBKeyRange.lowerOpen +slug: Web/API/IDBKeyRange/lowerOpen +tags: + - API + - IDBKeyRange + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBKeyRange/lowerOpen +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété lowerOpen, rattachée à l'interface {{domxref("IDBKeyRange")}}, renvoie un booléen qui inidque si l'intervalle est ouvert pour la borne inférieure (autrement dit, le booléen est vrai lorsque la borne n'est pas incluse et est faux sinon).

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
myKeyRange.lowerOpen;
+ +

Valeur

+ +

Un booléen qui indique si l'intervalle est ouvert pour la borne inférieure (true si c'est le cas (la borne n'est pas incluse), false sinon).

+ +

Exemples

+ +

Dans l'exemple qui suit, on voit comment utiliser un intervalle de clé. On déclare keyRangeValue = IDBKeyRange.upperBound("F", "W", true, true); — c'est-à-dire un intervalle qui inclue tout ce qui se trouve entre "F" et "W" mais qui n'inclue pas ces bornes (l'intervalle est « ouvert »). Ensuite, on ouvre une transaction grâce à {{domxref("IDBTransaction")}} puis on ouvre un magasin d'objet et un curseur grâce à {{domxref("IDBObjectStore.openCursor")}}. La valeur keyRangeValue est utilisée comme intervalle de clé pour ce curseur.

+ +

Après avoir déclaré l'intervalle de clé, on affiche la valeur de la propriété lowerOpen dans la console. Ici, la valeur de la propriété est true car l'intervalle est ouvert pour la borne supérieure et la borne inférieure qui ne sont donc pas comprises dans l'intervalle.

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.bound("F", "W", true, true);
+  console.log(keyRangeValue.lowerOpen);
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments ont été affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBKeyRange-lowerOpen', 'lowerOpen')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24 (unprefixed)
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}10228{{CompatVersionUnknown}}
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/only/index.html b/files/fr/web/api/idbkeyrange/only/index.html new file mode 100644 index 0000000000..1f645d2dcf --- /dev/null +++ b/files/fr/web/api/idbkeyrange/only/index.html @@ -0,0 +1,175 @@ +--- +title: IDBKeyRange.only() +slug: Web/API/IDBKeyRange/only +tags: + - API + - IDBKeyRange + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBKeyRange/only +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode only(), rattachée à l'interface {{domxref("IDBKeyRange")}}, permet de créer un nouvel intervalle de clé qui ne contient qu'une valeur.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
myKeyRange = IDBKeyRange.only(valeur);
+ +

Paramètres

+ +
+
valeur
+
La valeur dans l'intervalle de clé.
+
+ +

Valeur de retour

+ +

L'objet {{domxref("IDBKeyRange")}} correspondant à l'intervalle de clé qui vient d'être créé.

+ +

Exceptions

+ +

Cette méthode peut déclencher une exception {{domxref("DOMException")}} du type DataError lorsque la valeur passée en argument n'est pas une clé valide.

+ +

Exemples

+ +

Dans l'exemple qui suit, on illustre comment utiliser un intervalle de clé qui ne contient qu'une seule clé. On déclare un intervalle qui ne contient que la valeur "A" avec keyRangeValue = IDBKeyRange.only("A"); Ensuite, on ouvre une transaction grâce à {{domxref("IDBTransaction")}} puis un magasin d'objets et un curseur grâce à la méthode {{domxref("IDBObjectStore.openCursor")}} pour laquelle on passe keyRangeValue en argument. Cela signifie que le curseur permettra uniquement de récupérer les enregistrements dont la clé vaut "A".

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.only("A");
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments sont affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBKeyRange-only-IDBKeyRange-any-value', 'only')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)Firefox OSIE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}1.0.110228{{CompatVersionUnknown}}
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/upper/index.html b/files/fr/web/api/idbkeyrange/upper/index.html new file mode 100644 index 0000000000..7424dce142 --- /dev/null +++ b/files/fr/web/api/idbkeyrange/upper/index.html @@ -0,0 +1,164 @@ +--- +title: IDBKeyRange.upper +slug: Web/API/IDBKeyRange/upper +tags: + - API + - IDBKeyRange + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBKeyRange/upper +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété upper, rattachée à l'interface {{domxref("IDBKeyRange")}}, renvoie la borne supérieure de l'intervalle de clé.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
monIntervalle.upper;
+ +

Valeur

+ +

La borne supérieure de l'intervalle de clé (qui peut être d'un type quelconque).

+ +

Exemples

+ +

Dans l'exemple qui suit, on voit comment utiliser un intervalle de clé. On déclare keyRangeValue = IDBKeyRange.upperBound("F", "W", true, true); — ce qui correspond à intervalle qui inclut tout ce qui se trouve entre "F" et "W" mais pas ces valeurs (l'intervalle est « ouvert »). Ensuite, on ouvre une transaction grâce à {{domxref("IDBTransaction")}}, un magasin d'objet et un curseur grâce à {{domxref("IDBObjectStore.openCursor")}} pour lequel on déclare que keyRangeValue est l'intervalle de clé optionnel.

+ +

Après avoir déclaré l'intervalle de clé, on affiche la valeur de la propriété upper dans la console (ce qui doit donner "W").

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.bound("F", "W", true, true);
+  console.log(keyRangeValue.upper);
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments ont été affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBKeyRange-upper', 'upper')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24 (unprefixed)
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}10228{{CompatVersionUnknown}}
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/upperbound/index.html b/files/fr/web/api/idbkeyrange/upperbound/index.html new file mode 100644 index 0000000000..bf00b275d9 --- /dev/null +++ b/files/fr/web/api/idbkeyrange/upperbound/index.html @@ -0,0 +1,179 @@ +--- +title: IDBKeyRange.upperBound() +slug: Web/API/IDBKeyRange/upperBound +tags: + - API + - IDBKeyRange + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBKeyRange/upperBound +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode upperBound(), rattachée à l'interface  {{domxref("IDBKeyRange")}}, crée un intervalle de clé avec une borne supérieure.

+ +

Par défaut, la borne est inclue dans l'intervalle (autrement dit, il est fermé à droite).

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
IDBKeyRange.upperBound(borne);
+IDBKeyRange.upperBound(borne, ouvert);
+ +

Paramètres

+ +
+
borne
+
La valeur de la borne supérieure pour l'intervalle.
+
ouvert {{optional_inline}}
+
Ce booléen indique si l'intervalle est ouvert à droite (autrement dit, s'il vaut false la borne est inclue et s'il vaut true la borne n'est pas inclue dans l'intervalle).
+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBKeyRange")}} qui correspond à l'intervalle de clé créé.

+ +

Exceptions

+ +

Cette méthode peut lever une exception {{domxref("DOMException")}} de type DataError lorsque la valeur passée en paramètre n'est pas une clé valide.

+ +

Exemples

+ +

Dans l'exemple qui suit, on illustre comment créer un intervalle de clé avec une borne supérieure, on utilise keyRangeValue = IDBKeyRange.upperBound("F"); — cela permet de créer un intervalle qui contient "F" et les valeurs inférieures. On ouvre ensuite une transaction grâce à {{domxref("IDBTransaction")}}) puis un magasin d'objet et un curseur avec la méthode {{domxref("IDBObjectStore.openCursor")}} à laquelle on associe l'intervalle de clé keyRangeValue.

+ +

Si on a avait utilisé IDBKeyRange.upperBound("F", true);, "F" n'aurait pas fait partie de l'intervalle.

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.upperBound("F");
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Les éléments sont affichés.');
+      }
+    };
+  };
+ +
+

Note : Pour un exemple complet qui utilise les intervalles de clé, vous pouvez consulter le dépôt GitHub IDBKeyRange-example (ainsi que la démonstration associée).

+
+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBKeyRange-upperBound-IDBKeyRange-any-upper-boolean-open', 'upperBound()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}10228{{CompatVersionUnknown}}
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbkeyrange/upperopen/index.html b/files/fr/web/api/idbkeyrange/upperopen/index.html new file mode 100644 index 0000000000..52bb77a1ff --- /dev/null +++ b/files/fr/web/api/idbkeyrange/upperopen/index.html @@ -0,0 +1,150 @@ +--- +title: IDBKeyRange.upperOpen +slug: Web/API/IDBKeyRange/upperOpen +translation_of: Web/API/IDBKeyRange/upperOpen +--- +

{{ APIRef("IndexedDB") }}

+ +

La propriété upperOpen de l'interface {{domxref("IDBKeyRange")}} renvoie un booléen indiquant si la valeur de la limite supérieure est incluse dans l'{{domxref("IDBKeyRange","intervalle de clé")}}.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
myKeyRange.upperOpen;
+ +

Value

+ +
+
true
+
La valeur de la limite supérieure n'est pas incluse dans l'intervalle.
+
false
+
La valeur de la limite supérieure est incluse dans l'intervalle.
+
+ +

Exemple

+ +

Dans l'exemple suivant, on récupère l'{{domxref("IDBKeyRange","intervalle de clé")}} entre "F" et "W". Puis on ouvre une {{domxref("IDBTransaction","transaction")}} sur la connexion pour avoir l’{{domxref("IDBObjectStore","accès")}} au magasin d'objets 'fThings'. On met en place un {{domxref("IDBCursor","curseur")}} sur l'intervalle pour afficher dans une liste les valeurs des propriétés fThing et fRating des objets trouvés.

+ +

La propriété upperOpen sert ici à afficher sur la console le booléen indiquant si la valeur de la limite supérieure est comprise dans l'intervalle.

+ +
function displayData() {
+  var keyRangeValue = IDBKeyRange.bound("F", "W", true, true);
+  console.log(keyRangeValue.upperOpen);
+
+  var transaction = db.transaction(['fThings'], 'readonly');
+  var objectStore = transaction.objectStore('fThings');
+
+  objectStore.openCursor(keyRangeValue).onsuccess = function(event) {
+    var cursor = event.target.result;
+      if(cursor) {
+        var listItem = document.createElement('li');
+        listItem.innerHTML = '<strong>' + cursor.value.fThing + '</strong>, ' + cursor.value.fRating;
+        list.appendChild(listItem);
+
+        cursor.continue();
+      } else {
+        console.log('Entries all displayed.');
+      }
+    };
+  };
+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBKeyRange-upperOpen', 'upperOpen')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité avec les navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support basique23{{property_prefix("webkit")}}
+ 24
10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, en partie157.1
Disponible dans workers{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidFirefox Mobile (Gecko)Firefox OSIE PhoneOpera MobileSafari Mobile
Support basique4.4{{CompatGeckoMobile("22.0")}}1.0.110228
Disponible dans workers{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf