From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../fr/web/api/idbrequest/blocked_event/index.html | 102 ++++++++++ files/fr/web/api/idbrequest/error/index.html | 213 +++++++++++++++++++++ files/fr/web/api/idbrequest/index.html | 129 +++++++++++++ files/fr/web/api/idbrequest/onerror/index.html | 151 +++++++++++++++ files/fr/web/api/idbrequest/onsuccess/index.html | 153 +++++++++++++++ files/fr/web/api/idbrequest/readystate/index.html | 175 +++++++++++++++++ files/fr/web/api/idbrequest/result/index.html | 168 ++++++++++++++++ files/fr/web/api/idbrequest/source/index.html | 178 +++++++++++++++++ files/fr/web/api/idbrequest/transaction/index.html | 180 +++++++++++++++++ 9 files changed, 1449 insertions(+) create mode 100644 files/fr/web/api/idbrequest/blocked_event/index.html create mode 100644 files/fr/web/api/idbrequest/error/index.html create mode 100644 files/fr/web/api/idbrequest/index.html create mode 100644 files/fr/web/api/idbrequest/onerror/index.html create mode 100644 files/fr/web/api/idbrequest/onsuccess/index.html create mode 100644 files/fr/web/api/idbrequest/readystate/index.html create mode 100644 files/fr/web/api/idbrequest/result/index.html create mode 100644 files/fr/web/api/idbrequest/source/index.html create mode 100644 files/fr/web/api/idbrequest/transaction/index.html (limited to 'files/fr/web/api/idbrequest') diff --git a/files/fr/web/api/idbrequest/blocked_event/index.html b/files/fr/web/api/idbrequest/blocked_event/index.html new file mode 100644 index 0000000000..e3fdfdfb83 --- /dev/null +++ b/files/fr/web/api/idbrequest/blocked_event/index.html @@ -0,0 +1,102 @@ +--- +title: blocked +slug: Web/API/IDBRequest/blocked_event +translation_of: Web/API/IDBOpenDBRequest/blocked_event +--- +

Le handler blocked est exécuté lorsque l'ouverture d'une connexion à une base de données bloque une transaction versionchange sur celle-ci.

+ +

Informations générales

+ +
+
Spécification
+
IndexedDB
+
Interface
+
IDBVersionChangeEvent
+
Propagation
+
Non
+
Annulable
+
Non
+
Cible
+
IDBRequest
+
Action par défaut
+
Aucune
+
+ +

Propriétés

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeDescription
target {{readonlyInline}}{{domxref("EventTarget")}}The request concerned by this event.
type {{readonlyInline}}{{domxref("DOMString")}}The type of event.
bubbles {{readonlyInline}}{{jsxref("Boolean")}}Whether the event normally bubbles or not.
cancelable {{readonlyInline}}{{jsxref("Boolean")}}Whether the event is cancellable or not.
newVersion {{readonlyInline}}unsigned long (int)The new version of the database.
oldVersion {{readonlyInline}}unsigned long (int)The old version of the database.
+ +

Exemple

+ +
var req1 = indexedDB.open("addressbook", 3);
+
+req1.onsuccess = function( event ) {
+  var addressbookDB = event.target.result;
+
+  // Essayons d'ouvrir la même base de données avec une version de révision plus élevée
+  var req2 = indexedDB.open("addressbook", 4);
+
+  // Dans ce cas, le handler onblocked sera exécuté
+  req2.onblocked = function( e ) {
+    console.log(e)
+  };
+
+};
+ +

Evénements liés

+ + + +

Voir aussi

+ + diff --git a/files/fr/web/api/idbrequest/error/index.html b/files/fr/web/api/idbrequest/error/index.html new file mode 100644 index 0000000000..45e27f7f49 --- /dev/null +++ b/files/fr/web/api/idbrequest/error/index.html @@ -0,0 +1,213 @@ +--- +title: IDBRequest.error +slug: Web/API/IDBRequest/error +tags: + - API + - Error + - IDBRequest + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBRequest/error +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété error de l'interface {{domxref("IDBRequest")}} renvoie l'erreur associée lorsque la requête est un échec.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var myError = request.error;
+ +

Valeur

+ +

Une erreur {{domxref("DOMError")}} qui contient l'erreur pertinente. Pour Chrome 48 et les versions ultérieures, cette propriété est une {{domxref("DOMException")}} car DOMError a été retiré du standard pour le DOM. Les codes d'erreurs suivants sont utilisés selon les conditions d'erreur :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ErreurExplication
AbortErrorSi on annule la transaction en cours, toutes les requêtes en cours reçoivent cette erreur.
ConstraintErrorErreur obtenue lorsqu'on tente d'insérer des données qui ne respectent pas une contrainte. C'est un type d'exception utilisé lorsqu'on crée des magasins d'objet et des index. On aura cette erreur lorsqu'on essaiera par exemple d'ajouter une clé qui existe déjà dans l'enregistrement.
QuotaExceededErrorErreur obtenue lorsque atteint le quota d'espace disque et que l'utilisateur refuse de céder plus d'espace mémoire.
UnknownErrorErreur obtenue lorsque l'opération a échoué pour des raisons qui ne sont pas propres à la base de données (par exemple une erreur d'écriture sur le disque).
NoErrorValeur utilisée lorsque la requête est réussie.
VersionErrorErreur obtenue lorsqu'on essaye d'ouvrir une base de données avec une version inférieure à celle dont elle dispose déjà.
+ +

En plus des codes d'erreur envoyés à l'objet {{domxref("IDBRequest")}}, les opérations asynchrones peuvent également déclencher des exceptions. La liste décrit les problèmes qui peuvent se produire lorsque la requête est en cours d'exécution mais d'autres problèmes peuvent apparaître lors de la construction de la requête. Ainsi, si la requête a échoué et que le résultat n'est pas disponible, l'exception InvalidStateError sera levée.

+ +

Exemples

+ +

Dans l'exemple qui suit, on effectue une requête sur le titre de l'enregistrement. Le gestionnaire d'évèvenement onsuccess traite l'enregistrement obtenu depuis le magasin d'objet ({{domxref("IDBObjectStore")}}) et qui est disponible via objectStoreTitleRequest.result. Le gestionnaire met ensuite à jour une propriété de l'enregistrement puis replace l'enregistrement mis à jour dans le magasin d'objet.

+ +

On dispose également d'une fonction onerror qui permet d'indiquer l'erreur qui s'est produite si la requêté échoue. Pour consulter un exemple complet, voir l'application de notifications To-do (cf. la démonstration live).

+ +
var title = "Walk dog";
+
+// On ouvre une transaction
+var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
+
+// On récupère la liste de tâches avec ce titre
+var objectStoreTitleRequest = objectStore.get(title);
+
+objectStoreTitleRequest.onsuccess = function() {
+  // On récupère l'objet du résultat
+  var data = objectStoreTitleRequest.result;
+
+  // On met à jour la valeur de la propriété notified avec "yes"
+  data.notified = "yes";
+
+  // On crée une autre requête pour replacer l'élément
+  // into the database
+  var updateTitleRequest = objectStore.put(data);
+
+  // Lorsque la requête est réussie, on utilise à nouveau
+  // la fonction the displayData() pour mettre à jour
+  // l'affichage
+  updateTitleRequest.onsuccess = function() {
+    displayData();
+  };
+};
+
+objectStoreTitleRequest.onerror = function() {
+  // S'il se produit une erreur pendant la requête
+  // on l'enregistre
+  console.log("Il y a eu une erreur pour la récupération des données : " + objectStoreTitleRequest.error);
+};
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBRequest-error', 'error')}}{{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}}{{CompatUnknown}}{{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}}{{CompatUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbrequest/index.html b/files/fr/web/api/idbrequest/index.html new file mode 100644 index 0000000000..87759d881f --- /dev/null +++ b/files/fr/web/api/idbrequest/index.html @@ -0,0 +1,129 @@ +--- +title: IDBRequest +slug: Web/API/IDBRequest +tags: + - API + - Database + - IDBRequest + - IndexedDB + - Interface + - Reference + - Storage + - TopicStub +translation_of: Web/API/IDBRequest +--- +

{{APIRef("IndexedDB")}}

+ +

L'interface IDBRequest de l'API IndexedDB donne accès par ses gestionnaires d'événements aux résultats des requêtes asynchrones sur la base de données, les magasins d'objets ou les index. Chaque opération d'écriture ou lecture sur la base de données utilise une requête.

+ +

Cet objet IDBRequest ne contient aucune information sur le résultat de l'opération, mais dès qu'une information est disponible un événement est déclenché. L'objet IDBRequest utilise ses gestionnaires d'événements pour le capter et mettre l'information à disposition.

+ +

Toute les opération asynchrone retourne immédiatement une instance IDBRequest avec une propriété readyState défini à 'pending' qui passe à  'done' lorsque la requête réussie ou échoue. Quand l'état passe à done, chaque requête retourne result et error, et un évènement est envoyé sur la requête. Quand l'état est sur pending, chaque accès à result ou error lève une exception InvalidStateError.

+ +

Pour faire simple, chaque méthode asynchrome retourne un objet de requête. Si l'opération réussi, le résultat est disponible dans la propriété result et un évènement success est lancé ({{domxref("IDBRequest.onsuccess")}}). Si une erreur est rencontrée, une exeption est disponible dans la propriété error et un évènement error est lancé ({{domxref("IDBRequest.onerror")}}).

+ +

L'interface {{domxref("IDBOpenDBRequest")}} est dérivé de IDBRequest.

+ +

{{AvailableInWorkers}}

+ +

{{InheritanceDiagram}}

+ +

Propriétés

+ +

Hérite des propriétés de {{domxref("EventTarget")}}.

+ +
+
{{domxref("IDBRequest.result","result")}} {{readonlyInline}}
+
La propriété result de l'interface IDBRequest renvoie le résultat de la requête. Si la requête est en cours, échoue ou que le résultat n'est pas disponible, l'exception InvalidStateError est levée.
+
{{domxref("IDBRequest.error","error")}} {{readonlyInline}}
+
La propriété error de l'interface IDBRequest indique le code de l'erreur survenue durant le traitement de la requête. Si la requête est en cours l'exception InvalidStateError est levée.
+
{{domxref("IDBRequest.source","source")}} {{readonlyInline}}
+
La propriété source de l'interface IDBRequest renvoie la source de la requête, tel qu'un {{domxref("IDBIndex","index")}}, un {{domxref("IDBObjectStore","magasin d'ojets")}} ou null s'il n'y a pas de source (lors de l'appel {{domxref("indexedDB.open")}} par exemple).
+
{{domxref("IDBRequest.transaction","transaction")}} {{readonlyInline}}
+
La propriété transaction de l'interface IDBRequest renvoie la {{domxref("IDBTransaction","transaction")}} dans laquelle on fait la requête. La propriété peut renvoyer null si requête se fait sans transaction, comme un objet IDBRequest renvoyé par {{domxref("IDBFactory.open")}} dans ce cas on est juste connecté à la base de données.
+
{{domxref("IDBRequest.readyState","readyState")}} {{readonlyInline}}
+
La propriété readyState de l'interface IDBRequest renvoie l'état de la requête. Chaque requête débute avec un statut pending et passe au statut done quand la requête réussie ou échoue.
+
+ +

Méthodes

+ +

Pas de méthodes spécifiques, mais hérite des méthodes de {{domxref("EventTarget")}}.

+ +

Gestionnaire d'événement

+ +

On peut écouter les évènement avec addEventListener() ou bien en assignant un gestionnaire d'évènement à la propriété oneventname de cette interface.

+ +
+
{{domxref("IDBRequest.onerror","onerror")}}
+
Le gestionnaire d'événement onerror de l'interface IDBRequest capte l'événement error, déclenché quand une requête renvoie une erreur.
+
{{domxref("IDBRequest.onsuccess","onsuccess")}}
+
Le gestionnaire d'événement onsuccess de l'interface IDBRequest capte l'événement success, déclenché quand la requête réussie.
+
+ +

Exemple

+ +

Dans l'exemple suivant, on ouvre une base de données et on fait une requête. Les gestionnaires d'événement {{domxref("IDBRequest.onsuccess","onsuccess")}} et {{domxref("IDBRequest","onerror")}} sont inclus. Pour un exemple de travail complet, voir notre application To-do Notifications (voir l'exemple en direct).

+ +
var db;
+
+// Ouvre une base de données.
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+// Ces deux gestionnaires d'événement interviennent quand la dase de
+// de données s'ouvre ou non.
+DBOpenRequest.onerror = function(event) {
+  note.innerHTML += '<li>Error loading database.</li>';
+};
+
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Database initialised.</li>';
+
+  // Affecte le resutat de l'ouverture à la variable.
+  db = DBOpenRequest.result;
+};
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#idbrequest', 'IDBRequest')}}{{Spec2('IndexedDB')}}Définition initiale.
{{SpecName("IndexedDB 2", "#request-api", "IDBRequest")}}{{Spec2("IndexedDB 2")}}
+ +

Compatibilité avec les navigateurs

+ +
+
+
+ + +

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

+
+
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbrequest/onerror/index.html b/files/fr/web/api/idbrequest/onerror/index.html new file mode 100644 index 0000000000..a63b087f8c --- /dev/null +++ b/files/fr/web/api/idbrequest/onerror/index.html @@ -0,0 +1,151 @@ +--- +title: IDBRequest.onerror +slug: Web/API/IDBRequest/onerror +translation_of: Web/API/IDBRequest/onerror +--- +

{{ APIRef("IndexedDB") }}

+ +

le gestionnaire d'événement onerror de l'interface {{domxref("IDBRequest")}} capte l'événement error, déclenché quand une requête renvoie une erreur.

+ +

Le gestionnaire d'événement reçoit l'événement error avec le type="error" en paramètre.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
request.onerror = function( event ) { ... };
+ +

Exemple

+ +

L'exemple suivant demande un titre d'enregistrement donné, onsuccess obtient l'enregistrement associé au {{domxref("IDBObjectStore","magasin d'objets")}} (mis à disposition en tant que objectStoreTitleRequest.result), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement onerror affiche le code d'erreur si la {{domxref("IDBRequest","requête")}} échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

+ +
var title = "Walk dog";
+
+// Ouvrez une transaction comme d'habitude
+var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
+
+// Obtenez l'objet toDoList qui a ce titre
+var objectStoreTitleRequest = objectStore.get(title);
+
+objectStoreTitleRequest.onsuccess = function() {
+  // Prenez l'objet de données renvoyé comme résultat
+  var data = objectStoreTitleRequest.result;
+
+  // Mettre à jour la valeur notified de l'objet à "yes"
+  data.notified = "yes";
+
+  // Créer une autre requête qui insère le nouvelle élément dans la base de données
+  var updateTitleRequest = objectStore.put(data);
+
+  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
+  updateTitleRequest.onsuccess = function() {
+    displayData();
+  };
+};
+
+objectStoreTitleRequest.onerror = function() {
+  // Si une erreur se produit à la demande, on l'affiche
+  console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error);
+};
+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBRequest-onerror', 'onerror')}}{{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

+ + diff --git a/files/fr/web/api/idbrequest/onsuccess/index.html b/files/fr/web/api/idbrequest/onsuccess/index.html new file mode 100644 index 0000000000..e1f2f6fa90 --- /dev/null +++ b/files/fr/web/api/idbrequest/onsuccess/index.html @@ -0,0 +1,153 @@ +--- +title: IDBRequest.onsuccess +slug: Web/API/IDBRequest/onsuccess +translation_of: Web/API/IDBRequest/onsuccess +--- +

{{ APIRef("IndexedDB") }}

+ + +

Le gestionnaire d'événement onsuccess de l'interface {{domxref("IDBRequest")}} capte l'événement success, déclenché quand la requête réussie.

+ +

Le gestionnaire d'événement un événement success avec le type="success" en paramètre.

+ +

{{AvailableInWorkers}}

+ + +

Syntaxe

+ +
request.onsuccess = function( event ) { ... };
+ +

Exemple

+ +

L'exemple suivant demande un titre d'enregistrement donné, onsuccess obtient l'enregistrement associé de {{domxref("IDBObjectStore")}} (mis à disposition en tant que objectStoreTitleRequest.result), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement onerror affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

+ +
var title = "Walk dog";
+
+// Ouvrez une transaction comme d'habitude
+var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
+
+// Obtenez l'objet toDoList qui a ce titre
+var objectStoreTitleRequest = objectStore.get(title);
+
+objectStoreTitleRequest.onsuccess = function() {
+  // Prenez l'objet de données renvoyé comme résultat
+  var data = objectStoreTitleRequest.result;
+
+  // Mettre à jour la valeur notified de l'objet à "yes"
+  data.notified = "yes";
+
+  // Créer une autre requête qui insère le nouvelle élément dans la base de données
+  var updateTitleRequest = objectStore.put(data);
+
+  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
+  updateTitleRequest.onsuccess = function() {
+    displayData();
+  };
+};
+
+objectStoreTitleRequest.onerror = function() {
+  // Si une erreur se produit à la demande, on l'affiche
+  console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error);
+};
+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBRequest-onsuccess', 'onsuccess')}}{{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

+ + diff --git a/files/fr/web/api/idbrequest/readystate/index.html b/files/fr/web/api/idbrequest/readystate/index.html new file mode 100644 index 0000000000..2093d5e30a --- /dev/null +++ b/files/fr/web/api/idbrequest/readystate/index.html @@ -0,0 +1,175 @@ +--- +title: IDBRequest.readyState +slug: Web/API/IDBRequest/readyState +tags: + - API + - IDBRequest + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBRequest/readyState +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété readyState, rattachée à l'interface {{domxref("IDBRequest")}}, est une propriété en lecture seule qui indique l'état de la requête.

+ +

Chaque requête démarre avec l'état pending (c'est-à-dire en attente). Cet état vaut ensuite done (fini) lorsque la requête est terminée (en cas de réussite de l'opération comme en cas d'échec).

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var currentReadyState = request.readyState;
+ +

Valeur

+ +

La valeur {{domxref("IDBRequestReadyState")}} de la requête, qui peut être l'un de deux valeurs. pending lorsque la requête est en attente, done lorsque celle-ci est finie.

+ +

Exemples

+ +

Dans l'exemple qui suit, on effectue une requête sur un enregistrement avec un titre donné et on recupère l'enregistrement associé grâce au gestionnaire d'évènement onsuccess à partir du magasin d'objets {{domxref("IDBObjectStore")}}. Ensuite, on met à jour une des propriétés de cet enregistrement et on replace cet objet mis à jour dans le magasin d'objets via une autre requête. La valeur de la propriété readyState pour la deuxième requête est affichée dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre appliction To-do Notifications (cf. également l'exemple live).

+ +
var title = "Walk dog";
+
+// On ouvre une transaction
+var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
+
+// On récupère l'enregistrement avec le titre souhaité
+var objectStoreTitleRequest = objectStore.get(title);
+
+objectStoreTitleRequest.onsuccess = function() {
+  // On récupère les données du résultat de la requête
+  var data = objectStoreTitleRequest.result;
+
+  // On met à jour la propriété notified de l'objet
+  // avec la valeur "yes"
+  data.notified = "yes";
+
+  // Ensuite, on crée une autre requête pour insérer
+  // l'enregistrement dans la base de données
+  var updateTitleRequest = objectStore.put(data);
+
+  // On affiche l'état de la requête dans la console
+  console.log("La valeur de readyState est " + updateTitlerequest.readyState);
+
+  // Lorsque cette deuxième requête est appliquée,
+  // on exécute la fonction displayData() afin d'afficher
+  // les données à jour
+  updateTitleRequest.onsuccess = function() {
+    displayData();
+  };
+};
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBRequest-readyState', 'readyState')}}{{Spec2('IndexedDB')}} 
{{SpecName("IndexedDB 2", "#dom-idbrequest-readystate", "readyState")}}{{Spec2("IndexedDB 2")}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24 (sans préfixe)
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatUnknown}}{{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}}{{CompatUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbrequest/result/index.html b/files/fr/web/api/idbrequest/result/index.html new file mode 100644 index 0000000000..654ffb20d1 --- /dev/null +++ b/files/fr/web/api/idbrequest/result/index.html @@ -0,0 +1,168 @@ +--- +title: IDBRequest.result +slug: Web/API/IDBRequest/result +tags: + - API + - IDBRequest + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBRequest/result +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété result, rattachée à l'interface {{domxref("IDBRequest")}}, renvoie le résultat de la requête. Si la requête échoue et que le résultat n'est pas disponible, une exception InvalidStateError sera levée.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var resultat = request.result;
+ +

Valeur

+ +

La valeur du résultat de la requête (le type dépend des objets du magasin d'objets).

+ +

Exemples

+ +

Dans l'exemple qui suit, on souhaite récupérer l'enregistrement qui correspond à un titre donné. Le gestionnaire d'évènements onsuccess permet de récupérer l'enregistrement contenu dans le magasin d'objet ({{domxref("IDBObjectStore")}}) (via objectStoreTitleRequest.result). Ensuite, on met à jour une propriété de cet enregistrement et on replace cet enregistrement dans le magasin d'objet.

+ +
var title = "Walk dog";
+
+// On ouvre une transaction en lecture/écriture
+var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
+
+// On récupère l'objet qui possède le titre souhaité
+var objectStoreTitleRequest = objectStore.get(title);
+
+objectStoreTitleRequest.onsuccess = function() {
+  // On agit sur les données de l'objet de la requête
+  var data = objectStoreTitleRequest.result;
+
+  // On met à jour la propriété notified avec "yes"
+  data.notified = "yes";
+
+  // On crée une autre requête pour réinsérer l'objet dans la base
+  var updateTitleRequest = objectStore.put(data);
+
+  // Lorsque cette seconde requête est terminée, on lance displayData() pour rafraîchir l'écran
+  updateTitleRequest.onsuccess = function() {
+    displayData();
+  };
+};
+ +
+

Note : pour un exemple fonctionnel complet, voir notre application To-do (exemple).

+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBRequest-result', 'result')}}{{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}}{{CompatUnknown}}{{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}}{{CompatUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

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

La propriété source est une propriété en lecture seule, rattachée à l'interface {{domxref("IDBRequest")}}, et qui indique la source de la requête (c'est-à-dire l'index ou le magasin d'objets utilisé). Si aucune source n'existe (par exemple car on a appelé {{domxref("indexedDB.open")}}), la propriété vaut null.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var IDBIndex = request.source;
+var IDBCursor = request.source;
+var IDBObjectStore = request.source;
+
+ +

Valeur

+ +

Un objet qui représente la source de la requête. Ce peut être un objet {{domxref("IDBIndex")}}, {{domxref("IDBObjectStore")}} ou un objet  {{domxref("IDBCursor")}}.

+ +

Exemples

+ +

Dans l'exemple qui suit, on récupère un enregistrement avec un titre donné depuis un magasin d'objets. Ensuite, on met à jour une des propriétés de cet enregistrement et on met à jour le magasin d'objets en insérant cet objet modifié. Lors de cette deuxième requête, on affiche la source dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre application To-do Notifications (cf. l'exemple live).

+ +
var title = "Walk dog";
+
+// On ouvre une transaction
+var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
+
+// On fait une requête pour récupérer
+// l'enregistrement qui possède le titre
+// souhaité
+var objectStoreTitleRequest = objectStore.get(title);
+
+objectStoreTitleRequest.onsuccess = function() {
+  // On récupère l'objet afin de le modifier
+  var data = objectStoreTitleRequest.result;
+
+  // On met à jour la propriété notified
+  // avec la valeur "yes"
+  data.notified = "yes";
+
+  // On crée une autre requête pour replacer
+  // l'enregistrement modifié dans la base de d
+  // données
+  var updateTitleRequest = objectStore.put(data);
+
+  // Ici, on affiche la source de la requête dans
+  // la console
+  console.log("La source de cette requête est " + updateTitlerequest.source);
+  // Quand cette deuxième requête sera appliquée,
+  // on lancera displayData() pour mettre à jour
+  // l'affichage
+  updateTitleRequest.onsuccess = function() { displayData(); };
+};
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBRequest-source', 'source')}}{{Spec2('IndexedDB')}} 
{{SpecName("IndexedDB 2", "#dom-idbrequest-source", "source")}}{{Spec2("IndexedDB 2")}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support simple23{{property_prefix("webkit")}}
+ 24 (sans préfixe)
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, partial157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatUnknown}}{{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}}{{CompatUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbrequest/transaction/index.html b/files/fr/web/api/idbrequest/transaction/index.html new file mode 100644 index 0000000000..d8d1e99ef8 --- /dev/null +++ b/files/fr/web/api/idbrequest/transaction/index.html @@ -0,0 +1,180 @@ +--- +title: IDBRequest.transaction +slug: Web/API/IDBRequest/transaction +translation_of: Web/API/IDBRequest/transaction +--- +

{{ APIRef("IndexedDB") }}

+ +

La propriété transaction de l'interface IDBRequest renvoie la {{domxref("IDBTransaction","transaction")}} dans laquelle on fait la requête.La propriètè peut renvoiyer null si requête se fait sans transaction, comme un objet IDBRequest renvoyé par {{domxref("IDBFactory.open")}} dans ce cas on est juste connecté à la base de données.

+ +

Durant la gestion d'un événement {{domxref("IDBOpenDBRequest.onupgradeneeded", "upgradeneeded")}} qui met à jour la version de la base de données, la propriété transaction doit être une {{domxref("IDBTransaction","transaction")}} ouverte en {{domxref("IDBTransaction.mode", "mode")}} "versionchange", on peut alors accéder aux {{domxref("IDBObjectStore","magasins d'objets")}} et {{domxref("IDBIndex","index")}} ou annulé la mise à niveau. Après quoi, la propriété transaction renverra encore null.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var myTransaction = request.transaction;
+ +

Valeur

+ +

Une {{domxref("IDBTransaction","transaction")}}.

+ +

Exemple

+ +

L'exemple suivant demande un titre d'enregistrement donné, onsuccess obtient l'enregistrement associé du {{domxref("IDBObjectStore","magasin d'objects")}} (mis à disposition en tant que objectStoreTitleRequest.result), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objects. La {{domxref("IDBTransaction","transaction")}} à l'origine de la deuxième {{domxref("IBBRequest","requête")}} est affichée sur la console du développeur (Ps, les deux requêtes proviennent de la même transaction). En bas est une fonction onerror qui affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

+ +
var title = "Walk dog";
+
+// Ouvrez une transaction comme d'habitude
+var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList');
+
+// Obtenez l'objet toDoList qui a ce titre
+var objectStoreTitleRequest = objectStore.get(title);
+
+objectStoreTitleRequest.onsuccess = function() {
+  // Prenez l'objet de données renvoyé comme résultat
+  var data = objectStoreTitleRequest.result;
+
+  // Mettre à jour la valeur notified de l'objet à "yes"
+  data.notified = "yes";
+
+  // Créer une autre requête qui insère le nouvelle élément dans la base de données
+  var updateTitleRequest = objectStore.put(data);
+
+  // Affiche la transaction à l'origine de la deuxième requête
+  console.log(" la transaction à l'origine de ces requêtes est " + updateTitleRequest.transaction);
+
+  // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage
+  updateTitleRequest.onsuccess = function() {
+    displayData();
+  };
+
+objectStoreTitleRequest.onerror = function() {
+  // Si une erreur pendant la requête, on l'affiche
+  console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error);
+};
+
+ +

Cet exemple montre comment la propriété transaction peut être utilisé pendant une mise à niveau de version pour accéder à des {{domxref("IDBObjectStore","magasins d'objects")}} existants: ​

+ +
var openRequest = indexedDB.open('db', 2);
+console.log(openRequest.transaction); // Affiche "null".
+
+openRequest.onupgradeneeded = function(event) {
+  console.log(openRequest.transaction.mode); // Affiche "versionchange".
+  var db = openRequest.result;
+  if (event.oldVersion < 1) {
+    // Nouvelle base de données, créer un magasin d'objets "livres".
+    db.createObjectStore('books');
+  }
+  if (event.oldVersion < 2) {
+    // Mise à niveau de la base de données v1: ajoute un index sur "title" pour stocker les livres.
+    var bookStore = openRequest.transaction.objectStore('books');
+    bookStore.createIndex('by_title', 'title');
+  }
+};
+
+openRequest.onsuccess = function() {
+  console.log(openRequest.transaction); // Affiche "null".
+};
+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBRequest-transaction', 'transaction')}}{{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