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/idbdatabase/close/index.html | 147 +++++++++++++ .../api/idbdatabase/createobjectstore/index.html | 213 +++++++++++++++++++ .../api/idbdatabase/deleteobjectstore/index.html | 233 +++++++++++++++++++++ files/fr/web/api/idbdatabase/index.html | 221 +++++++++++++++++++ files/fr/web/api/idbdatabase/name/index.html | 151 +++++++++++++ .../api/idbdatabase/objectstorenames/index.html | 148 +++++++++++++ files/fr/web/api/idbdatabase/onabort/index.html | 151 +++++++++++++ files/fr/web/api/idbdatabase/onerror/index.html | 151 +++++++++++++ .../web/api/idbdatabase/onversionchange/index.html | 157 ++++++++++++++ .../fr/web/api/idbdatabase/transaction/index.html | 224 ++++++++++++++++++++ files/fr/web/api/idbdatabase/version/index.html | 79 +++++++ 11 files changed, 1875 insertions(+) create mode 100644 files/fr/web/api/idbdatabase/close/index.html create mode 100644 files/fr/web/api/idbdatabase/createobjectstore/index.html create mode 100644 files/fr/web/api/idbdatabase/deleteobjectstore/index.html create mode 100644 files/fr/web/api/idbdatabase/index.html create mode 100644 files/fr/web/api/idbdatabase/name/index.html create mode 100644 files/fr/web/api/idbdatabase/objectstorenames/index.html create mode 100644 files/fr/web/api/idbdatabase/onabort/index.html create mode 100644 files/fr/web/api/idbdatabase/onerror/index.html create mode 100644 files/fr/web/api/idbdatabase/onversionchange/index.html create mode 100644 files/fr/web/api/idbdatabase/transaction/index.html create mode 100644 files/fr/web/api/idbdatabase/version/index.html (limited to 'files/fr/web/api/idbdatabase') diff --git a/files/fr/web/api/idbdatabase/close/index.html b/files/fr/web/api/idbdatabase/close/index.html new file mode 100644 index 0000000000..85659d1c4c --- /dev/null +++ b/files/fr/web/api/idbdatabase/close/index.html @@ -0,0 +1,147 @@ +--- +title: IDBDatabase.close() +slug: Web/API/IDBDatabase/close +tags: + - API + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBDatabase/close +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode close() de l'interface {{domxref("IDBDatabase")}} ferme de façon asynchrone la connexion à la base de donnée.

+ +

La connexion sera fermée lorsque toutes les transactions liées à cette connexion seront terminées. En revanche, on ne pourra pas démarrer de nouvelles transactions sur la connexion une fois que cette méthode a été appelée. Les méthodes qui initialisent des transactions déclencheront une exception lorsque la fermeture est en cours.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
db.close();
+ +

Valeur de retour

+ +

Aucune.

+ +

Exemple

+ +
// ouverture de la connexion à la base de données toDoList
+  var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+  // deux gestionnaires d’événements effectuant les
+  // opérations après que l'ouverture se soit bien
+  // passée ou non.
+  DBOpenRequest.onerror = function(event) {
+    note.innerHTML += '<li>Erreur lors du chargement de la base.</li>';
+  };
+
+  DBOpenRequest.onsuccess = function(event) {
+    note.innerHTML += '<li>Base chargée.</li>';
+
+    // affecte la connexion à la variable db
+    db = DBOpenRequest.result;
+
+    // fermeture de la base de donnée.
+    db.close();
+  }
+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBDatabase-close-void', 'close()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/createobjectstore/index.html b/files/fr/web/api/idbdatabase/createobjectstore/index.html new file mode 100644 index 0000000000..c63991e662 --- /dev/null +++ b/files/fr/web/api/idbdatabase/createobjectstore/index.html @@ -0,0 +1,213 @@ +--- +title: IDBDatabase.createObjectStore() +slug: Web/API/IDBDatabase/createObjectStore +tags: + - API + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBDatabase/createObjectStore +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode createObjectStore(), rattachée à l'interface {{domxref("IDBDatabase")}}, permet d'ajouter un magasin d’objet ou un index à la base de donnée et renvoie un accès vers celui-ci.

+ +

Cette méthode utilise deux paramètres : le nom du magasin d'objets et un objet qui permettra de définir des propriétés optionnelles supplémentaires.

+ +

Cette méthode ne peut être appelée que lors d'une transaction en mode versionchange.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var objectStore = db.createObjectStore(name, optionalParameters);
+
+ +

Paramètres

+ +
+
name
+
Le nom du magasin d'objet à ajouter. Il est possible d'ajouter un magasin d’objet dont le nom est la chaîne vide (!).
+
optionalParameters {{optional_inline}}
+
+

Un objet qui permet de décrire plus finement le magasin d'objets avec ces propriétés :

+ + + + + + + + + + + + + + + + + + +
PropriétéDescription
keyPathLe chemin de la clé utilisé par le magasin d'objet. Si ce paramètre est vide ou non spécifié, le magasin d'objets utilisera une clé externe. Le keyPath peut aussi être un tableau.
autoIncrementSi true, le magasin d’objet implémentera un générateur de clé. La valeur par défaut est false.
+ +

Les autres propriétés seront ignorés.

+
+
+ +

Valeur de retour

+ +
+
{{domxref("IDBObjectStore")}}
+
Le magasin d'objets qui vient d'être créé.
+
+ +

Exceptions

+ +
+
InvalidStateError
+
Cette exception {{domxref("DOMException")}} est levée si la méthode n'est pas appelée lors d'une transaction en mode versionchange. Pour les anciens navigateurs basés sur WebKit, il faut d'abord appeler {{domxref("IDBVersionChangeRequest.setVersion")}}.
+
TransactionInactiveError
+
Cette exception {{domxref("DOMException")}} est levée si la méthode est appelée sur une base de données qui n'existe pas (elle a par exemple été effacée). Dans les versions antérieures à Firefox 41, ce dernier levait une erreur InvalidStateError, cela est désormais corrigé (cf. {{bug("1176165")}}).
+
ConstraintError
+
Un magasin d'objet portant le même nom (la casse est importante) existe déjà dans cette base de donnée.
+
InvalidAccessError
+
Si la valeur autoIncrement est à true et que le chemin de clé n'est pas renseigné ou est un tableau vide.
+
+ +

Exemple

+ +
 // Ouverture de la base de données
+  var request = window.indexedDB.open("toDoList", 4);
+
+  /* Gestionnaire d'événement qui intervient lors de la
+     mise en place d'une nouvelle version de la base de
+     données, que la base n'existe pas et soit ajoutée
+     ou qu'un nouveau numéro de version soit passé à
+     window.indexedDB.open
+     Il est seulement mis en œuvre dans les
+     navigateurs récents */
+  request.onupgradeneeded = function(event) {
+    var db = event.target.result;
+
+    db.onerror = function(event) {
+      note.innerHTML += '<li>Erreur du chargement de la base de données.</li>';
+    };
+
+    // On ajoute un magasin d'objet à la base de données
+
+    var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
+
+    // définition des index de ce magasin d'objets
+
+    objectStore.createIndex("hours", "hours", { unique: false });
+    objectStore.createIndex("minutes", "minutes", { unique: false });
+    objectStore.createIndex("day", "day", { unique: false });
+    objectStore.createIndex("month", "month", { unique: false });
+    objectStore.createIndex("year", "year", { unique: false });
+
+    objectStore.createIndex("notified", "notified", { unique: false });
+
+    note.innerHTML += '<li>Magasin d\'objet ajouté.</li>';
+  };
+
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBDatabase-createObjectStore-IDBObjectStore-DOMString-name-IDBObjectStoreParameters-optionalParameters', 'createObjectStore()')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/deleteobjectstore/index.html b/files/fr/web/api/idbdatabase/deleteobjectstore/index.html new file mode 100644 index 0000000000..4c3587fabd --- /dev/null +++ b/files/fr/web/api/idbdatabase/deleteobjectstore/index.html @@ -0,0 +1,233 @@ +--- +title: IDBDatabase.deleteObjectStore() +slug: Web/API/IDBDatabase/deleteObjectStore +tags: + - API + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBDatabase/deleteObjectStore +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode deleteObjectStore() de l'interface {{domxref("IDBDatabase")}} supprime un magasin d'objet et ses index de la base de données.

+ +

Comme la méthode {{domxref("IDBDatabase.createObjectStore")}}, cette méthode doit être appelée uniquement lors d'une transaction en mode versionchange.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
dbInstance.deleteObjectStore(name);
+ +

Paramètres

+ +
+
name
+
Le nom du magasin d'objet à supprimer.
+
+ +

Valeur de retour

+ +

Aucune.

+ +

Exceptions

+ +

Cette méthode peut lever une {{domxref("DOMException")}} d'un de ces types suivants:

+ + + + + + + + + + + + + + + + + + + + + + +
ExceptionDescription
InvalidStateErrorLevée si la méthode n'est pas appelée lors d'une transaction en mode versionchange. Pour les anciens navigateurs basés sur WebKit, il faut d'abord appeler la méthode  {{domxref("IDBVersionChangeRequest.setVersion")}}.
TransactionInactiveErrorLevée si la méthode est appelée sur une base de données qui n'existe pas (ex. elle a été effacée). Pour les versions antérieures à Firefox 41, ce dernier déclenchait une erreur InvalidStateError, cela est désormais corrigé (cf. {{bug("1176165")}}).
NotFoundErrorLevée lors de la suppression d'un magasin d'objets qui n'existe pas. Les noms sont sensibles à la casse.
+ +

Exemples

+ +

Dans cet exemple, on ouvre une connexion à la base de données et dans le gestionnaire d'événements onupdateneeded, on ajoute un magasin d'objets en utilisant la méthode {{domxref("IDBDatabase.createObjectStore")}}. Enfin, on supprime ce magasin d'objets grâce à deleteObjectStore().

+ +
  // Connexion à la base de données
+  var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+  /* Gestionnaire d'événements qui intervient lors de
+     la mise en place d'une nouvelle version de la
+     base de données, que la base n'existe pas, qu'elle
+     soit ajoutée ou qu'un nouveau numéro de version
+     soit utilisé avec à window.indexedDB.open
+     Seulement utilisé avec les navigateurs récents */
+  DBOpenRequest.onupgradeneeded = function(event) {
+    var db = event.target.result;
+
+    db.onerror = function(event) {
+      note.innerHTML += '<li>Erreur du chargement de la base de données.</li>';
+    };
+
+    // Ajoute un magasin d'objets à la base de données
+
+    var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
+
+    // Définition des index de ce magasin d'objets
+
+    objectStore.createIndex("hours", "hours", { unique: false });
+    objectStore.createIndex("minutes", "minutes", { unique: false });
+    objectStore.createIndex("day", "day", { unique: false });
+    objectStore.createIndex("month", "month", { unique: false });
+    objectStore.createIndex("year", "year", { unique: false });
+
+    objectStore.createIndex("notified", "notified", { unique: false });
+
+    note.innerHTML += '<li>Magasin d\'objets ajouté.</li>';
+
+    // Supprime le magasin d'objets
+
+    db.deleteObjectStore("toDoList");
+  };
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBDatabase-deleteObjectStore-void-DOMString-name', 'deleteObjectStore()')}}{{Spec2('IndexedDB')}} 
{{SpecName("IndexedDB 2", "#dom-idbdatabase-deleteobjectstore", "deleteObjectStore()")}}{{Spec2("IndexedDB 2")}} 
+ +

Compatibilité des navigateurs

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Support basique23{{property_prefix("webkit")}}
+ 24
{{CompatVersionUnknown}}10 {{property_prefix("moz")}}
+ {{CompatGeckoDesktop("16.0")}}
10, en partie157.1
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
Indexed Database 2.0{{CompatChrome(58)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatOpera(45)}}{{CompatUnknown}}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroid WebviewChrome pour AndroidEdgeFirefox Mobile (Gecko)Firefox OSIE PhoneOpera MobileSafari Mobile
Support simple{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}1.0.110228
Disponible dans les web workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
Indexed Database 2.0{{CompatChrome(58)}}{{CompatChrome(58)}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatOperaMobile(45)}}{{CompatUnknown}}
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/index.html b/files/fr/web/api/idbdatabase/index.html new file mode 100644 index 0000000000..113bf3ffa6 --- /dev/null +++ b/files/fr/web/api/idbdatabase/index.html @@ -0,0 +1,221 @@ +--- +title: IDBDatabase +slug: Web/API/IDBDatabase +tags: + - API + - IndexedDB + - Interface + - Reference +translation_of: Web/API/IDBDatabase +--- +
{{APIRef("IndexedDB")}}
+ +

L'interface IDBDatabase de l'API IndexedDB fournit une connexion à la base de données. On peut utiliser un objet IDBDatabase pour ouvrir une {{domxref("IDBTransaction","transaction")}} sur la base de données puis ajouter, éditer ou supprimer des enregistrements de cette base de données. Cette interface constitue le seul moyen d'accéder et de gérer les versions de la base de données.

+ +

{{AvailableInWorkers}}

+ +
+

Note : Tout ce qui est fait dans une base de données indexée s'inscrit dans le contexte d'une transaction qui représente un interaction avec les données dans la base. Tout les objets de l'interface IndexedDB (incluant les accès aux magasins d'objets, indexes et curseurs) sont liés à une transaction en particulier. Aussi, on ne peut pas exécuter une commande, accéder aux données ou ouvrir quoi que ce soit, en dehors d'une transaction.

+
+ +

Méthodes

+ +

Cet objet hérite de EventTarget.

+ +
+
{{domxref("IDBDatabase.close()")}}
+
Ferme de façon asynchrone la connexion à la base de données.
+
{{domxref("IDBDatabase.createObjectStore()")}}
+
Ajoute un magasin d’objet ou un index à la base de donnéeset le renvoie.
+
{{domxref("IDBDatabase.deleteObjectStore()")}}
+
À partir d'un nom donné, supprime un magasin d'objet et les index associés.
+
{{domxref("IDBDatabase.transaction()")}}
+
Renvoie une transaction sous la forme d'un objet {{domxref("IDBTransaction")}} sur lequel on peut appeler la méthode {{domxref("IDBTransaction.objectStore")}} afin d'accéder aux magasins d'objet de la base de données.
+
+ +

Propriétés

+ +
+
{{domxref("IDBDatabase.name")}} {{readonlyInline}}
+
Une chaîne de caractères ({{domxref("DOMString")}}) qui contient le nom de la base de données connectée.
+
{{domxref("IDBDatabase.version")}} {{readonlyInline}}
+
Un entier de 64 bits qui indique la version de la base de données connectée. Quand une base de données est créée, cette propriété est une chaîne de caractère vide.
+
{{domxref("IDBDatabase.objectStoreNames")}} {{readonlyInline}}
+
Une liste de noms (sous la forme d'un objet {{domxref("DOMStringList")}} des magasins d'objets correspondants à la base de données connectée.
+
+ +

Gestionnaires d'événements

+ +
+
{{domxref("IDBDatabase.onabort")}}
+
S'exécute au déclenchement de l'événement abort quand la tentative d’accès à la base de donnée est interrompue.
+
{{domxref("IDBDatabase.onerror")}}
+
S’exécute au déclenchement de l'événement error quand la connexion à la base de donnée échoue.
+
{{domxref("IDBDatabase.onversionchange")}}
+
S’exécute au déclenchement de l'événement versionchange quand la structure de la base de donnée change (l'événement {{domxref("IDBOpenDBRequest.onupgradeneeded")}} ou {{domxref("IDBFactory.deleteDatabase")}} à été demandé ailleurs (probablement dans une autre fenêtre ou onglet sur le même ordinateur). Cela est différent de la transaction correspondant à un changement de version (cf. {{domxref("IDBVersionChangeEvent")}}) mais les concepts sont liés.
+
+

Exemples

+
+
+ +

Dans le fragment de code suivant, on ouvre une base de données de façon asynchrone avec {{domxref("IDBFactory")}} puis on gère les cas de succès et d'erreur avant de créer un nouveau magasin d'objet au cas où une mise à jour est nécessaire ({{domxref("IDBdatabase")}}). Pour étudier un exemple complet et fonctionnel, voir notre application To-do Notifications (voir l'exemple live).

+ +
// On ouvre la base de données
+  var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+  // On ajoute les deux gestionnaires d'événements
+  // qui agissent sur l'objet IDBDatabase object,
+  // dans le cas où tout se passe bien ou non
+  DBOpenRequest.onerror = function(event) {
+    note.innerHTML += '<li>Erreur lors du chargement de la base de données.</li>';
+  };
+
+  DBOpenRequest.onsuccess = function(event) {
+    note.innerHTML += '<li>Base de données initialisée.</li>';
+
+    // On enregistre le résultat de l'ouverture
+    // dans la variable db (on l'utilisera plusieurs
+    // fois par la suite).
+    db = DBOpenRequest.result;
+
+    // On lance la fonction displayData()
+    // afin de remplir la liste de tâches
+    // avec les données contenues dans la base
+    displayData();
+  };
+
+  // Ce gestionnaire permet de parer au cas où une
+  // nouvelle version de la base de données doit
+  // être créée.
+  // Soit la base de données n'existait pas, soit
+  // il faut utiliser une nouvelle version
+
+  DBOpenRequest.onupgradeneeded = function(event) {
+    var db = event.target.result;
+
+    db.onerror = function(event) {
+      note.innerHTML += '<li>Erreur lors du chargement de la base de données.</li>';
+    };
+
+    // On crée un magasin d'objet objectStore pour
+    // cette base de données via IDBDatabase.createObjectStore
+
+    var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
+
+    // Enfin, on définit les données qui seront contenues
+    // dans ce modèle de données
+
+    objectStore.createIndex("hours", "hours", { unique: false });
+    objectStore.createIndex("minutes", "minutes", { unique: false });
+    objectStore.createIndex("day", "day", { unique: false });
+    objectStore.createIndex("month", "month", { unique: false });
+    objectStore.createIndex("year", "year", { unique: false });
+
+    objectStore.createIndex("notified", "notified", { unique: false });
+
+    note.innerHTML += "<li>Magasin d'objets créé.</li>";
+  };
+ +

La ligne qui suit permet d'ouvrir une transaction avec cette base de données afin de consulter le magasin d'objets et de manipuler les données qu'il contient..

+ +
var objectStore = db.transaction('toDoList').objectStore('toDoList'); 
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#idl-def-IDBDatabase', 'IDBDatabase')}}{{Spec2('IndexedDB')}} 
+ +

Compatibilité des navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/name/index.html b/files/fr/web/api/idbdatabase/name/index.html new file mode 100644 index 0000000000..5dfe249927 --- /dev/null +++ b/files/fr/web/api/idbdatabase/name/index.html @@ -0,0 +1,151 @@ +--- +title: IDBDatabase.name +slug: Web/API/IDBDatabase/name +tags: + - API + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBDatabase/name +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété name de l'interface IDBDatabase est une chaîne de caractères, sous la forme d'un objet {{domxref("DOMString")}}, contenant le nom de la base de données connectée.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
db.name
+ +

Valeur

+ +

Une chaîne de caractères {{domxref("DOMString")}} contenant le nom de la base de données connectée.

+ +

Exemple

+ +

Cet exemple affiche le nom de la base de données qui est ouverte. La connexion (l'objet {{domxref("IDBDatabase")}}) est affectée à la variable db, puis sa propriété name est affichée dans la console.

+ +
// Connexion à la base de données
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+// Les deux gestionnaires d'événement activés pour
+// détecter si l'ouverture de la base se déroule
+// correctement ou non.
+
+DBOpenRequest.onerror = function(event) {
+  note.innerHTML += '<li>Erreur au chargement de la base de données.</li>';
+};
+
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Base de données initialisée.</li>';
+
+  // Affecte la connexion à la variable db.
+  db = DBOpenRequest.result;
+
+  // Affiche le nom de la base de donnée (ici "toDoList")
+  // dans la console.
+  console.log(db.name);
+};
+ +

Pour un exemple fonctionnel complet, voir notre To-do Notifications (voir l'exemple live).

+ +

Spécifications

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

Compatibilité des navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/objectstorenames/index.html b/files/fr/web/api/idbdatabase/objectstorenames/index.html new file mode 100644 index 0000000000..8d1ed037c6 --- /dev/null +++ b/files/fr/web/api/idbdatabase/objectstorenames/index.html @@ -0,0 +1,148 @@ +--- +title: IDBDatabase.objectStoreNames +slug: Web/API/IDBDatabase/objectStoreNames +tags: + - API + - Database + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBDatabase/objectStoreNames +--- +
{{APIRef("IndexedDB")}}
+ +

La propriété objectStoreNames, rattachée à l'interface {{domxref("IDBDatabase")}}, est une liste de chaînes de caractères  ({{domxref("DOMStringList")}}) qui sont les noms des magasins d'objets ({{domxref("IDBObjectStore")}}) connectés à la base de données.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
db.objectStoreNames
+ +

Valeur

+ +

Une liste {{domxref("DOMStringList")}} des noms de magasins d'objets ({{domxref("IDBObjectStore")}}) connectés à la base de données.

+ +

Exemple

+ +
// Connexion à la base de données
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+// Les deux gestionnaires d’événements activés pour
+// gérer la réussite ou l'échec de le connexion.
+DBOpenRequest.onerror = function(event) {
+  note.innerHTML += '<li>Erreur de chargement de la base de données.</li>';
+};
+
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Base de données initialisée.</li>';
+
+  // Affecte la connexion à la variable db.
+  db = DBOpenRequest.result;
+
+  // Cette ligne affiche sur la console la liste des magasins
+  // d'objets de la base de données
+  console.log(db.objectStoreNames);
+};
+ +

Pour un exemple fonctionnel complet, voir notre application de démo To-do Notifications (l'exemple live).

+ +

Spécifications

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

Compatibilité des navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/onabort/index.html b/files/fr/web/api/idbdatabase/onabort/index.html new file mode 100644 index 0000000000..5a4f4f7a50 --- /dev/null +++ b/files/fr/web/api/idbdatabase/onabort/index.html @@ -0,0 +1,151 @@ +--- +title: IDBDatabase.onabort +slug: Web/API/IDBDatabase/onabort +tags: + - API + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBDatabase/onabort +--- +
{{APIRef("IndexedDB")}}
+ +

Le gestionnaire d'événement onabort, rattaché à l'interface {{domxref("IDBDatabase")}}, s'exécute au déclenchement de l'événement abort, lorsque la tentative d’accès à la base de données est interrompue.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
db.onabort = function() { ... }
+ +

Exemple

+ +

Cette exemple illustre un gestionnaire d'événement {{domxref("IDBOpenDBRequest.onupgradeneeded")}} dans lequel on ajoute un magasin d'objet et les deux gestionnaires d'événement onerror et onabort pour gérer les cas d'échec.

+ +
DBOpenRequest.onupgradeneeded = function(event) {
+  var db = event.target.result;
+
+  db.onerror = function() {
+    note.innerHTML += '<li>Erreur du chargement de la base de données.</li>';
+  };
+
+  db.onabort = function() {
+    note.innerHTML += '<li>L\'ouverture de la connexion à été annulée !</li>';
+  };
+
+  // On ajoute un magasin d'objet à la base de données
+
+  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
+
+  // On définit les index du magasin
+
+  objectStore.createIndex("hours", "hours", { unique: false });
+  objectStore.createIndex("minutes", "minutes", { unique: false });
+  objectStore.createIndex("day", "day", { unique: false });
+  objectStore.createIndex("month", "month", { unique: false });
+  objectStore.createIndex("year", "year", { unique: false });
+
+  objectStore.createIndex("notified", "notified", { unique: false });
+
+  note.innerHTML += '<li>Le magasin d\'objets à été ajouté.</li>';
+};
+ +

Spécifications

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

Compatibilité avec les navigateurs

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

Voir aussi

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

Le gestionnaire d'événement onerror, rattaché à  l'interface IDBDatabase, s’exécute au déclenchement de l'événement error qui se produit lorsque la connexion à la base de donnée échoue.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
db.onerror = function() { ... }
+ +

Exemple

+ +

Dans cet exemple, on illustre un gestionnaire d'événement {{domxref("IDBOpenDBRequest.onupgradeneeded")}} dans lequel on ajoute un magasin d'objet et les deux gestionnaires d'événements onerror et onabort afin de gérer les cas d'échec de la connexion.

+ +
DBOpenRequest.onupgradeneeded = function(event) {
+  var db = event.target.result;
+
+  db.onerror = function() {
+    note.innerHTML += '<li>Erreur du chargement de la base de données.</li>';
+  };
+
+  db.onabort = function() {
+    note.innerHTML += '<li>L\'ouverture de la connexion à été annulé!</li>';
+  };
+
+  // Ajoute un magasin d'objet à la base de données
+
+  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
+
+  // Définition des index
+
+  objectStore.createIndex("hours", "hours", { unique: false });
+  objectStore.createIndex("minutes", "minutes", { unique: false });
+  objectStore.createIndex("day", "day", { unique: false });
+  objectStore.createIndex("month", "month", { unique: false });
+  objectStore.createIndex("year", "year", { unique: false });
+
+  objectStore.createIndex("notified", "notified", { unique: false });
+
+  note.innerHTML += '<li>Le magasin d\'objets à été ajouté.</li>';
+};
+ +

Spécifications

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

Compatibilité des navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/onversionchange/index.html b/files/fr/web/api/idbdatabase/onversionchange/index.html new file mode 100644 index 0000000000..396a1fb49b --- /dev/null +++ b/files/fr/web/api/idbdatabase/onversionchange/index.html @@ -0,0 +1,157 @@ +--- +title: IDBDatabase.onversionchange +slug: Web/API/IDBDatabase/onversionchange +tags: + - API + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBDatabase/onversionchange +--- +
{{APIRef("IndexedDB")}}
+ +

Le gestionnaire d'événement onversionchange, rattaché à l'interface {{domxref("IDBDatabase")}}, s’exécute au déclenchement de l'événement versionchange qui se produit lorsque la structure de la base de donnée change (l'événement {{domxref("IDBOpenDBRequest.onupgradeneeded")}} ou {{domxref("IDBFactory.deleteDatabase")}} a été demandé par ailleurs (probablement dans une autre fenêtre ou onglet sur le même ordinateur)).

+ +

Cela n'est pas la même chose qu'une transaction versionchange (bien que les concepts soient apparentés).

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
db.onversionchange = function() { ... }
+ +

Exemple

+ +

Cette exemple illustre un gestionnaire d'événement {{domxref("IDBOpenDBRequest.onupgradeneeded")}} dans lequel on ajoute un magasin d'objets. Les deux gestionnaires d'événements onerror et onabort sont utilisés pour les cas d'échec. Le gestionnaire d'événement onversionchange est utilisé afin d'indiquer que la structure de la base de données a été modifiée.

+ +
DBOpenRequest.onupgradeneeded = function(event) {
+  var db = event.target.result;
+
+  db.onerror = function() {
+    note.innerHTML += '<li>Erreur du chargement de la base de données.</li>';
+  };
+
+  db.onabort = function() {
+    note.innerHTML += '<li>L\'ouverture de la connexion à été annulée !</li>';
+  };
+
+  // Ajoute un magasin d'objets à la base de données
+
+  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
+
+  // Définition des index
+
+  objectStore.createIndex("hours", "hours", { unique: false });
+  objectStore.createIndex("minutes", "minutes", { unique: false });
+  objectStore.createIndex("day", "day", { unique: false });
+  objectStore.createIndex("month", "month", { unique: false });
+  objectStore.createIndex("year", "year", { unique: false });
+
+  objectStore.createIndex("notified", "notified", { unique: false });
+
+  note.innerHTML += '<li>Le magasin d\'objet à été ajouté.</li>';
+
+  db.onversionchange = function(event) {
+    note.innerHTML += '<li>Des changements ont été appliqués sur la base de données. Vous devez réactualiser cette page ou la fermer et utiliser l\'autre version de cette application qui est ouverte.</li>';
+  };
+};
+ +

Spécifications

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

Compatibilité des navigateurs

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

Voir aussi

+ + diff --git a/files/fr/web/api/idbdatabase/transaction/index.html b/files/fr/web/api/idbdatabase/transaction/index.html new file mode 100644 index 0000000000..82f9006306 --- /dev/null +++ b/files/fr/web/api/idbdatabase/transaction/index.html @@ -0,0 +1,224 @@ +--- +title: IDBDatabase.transaction() +slug: Web/API/IDBDatabase/transaction +translation_of: Web/API/IDBDatabase/transaction +--- +

{{ APIRef("IndexedDB") }}

+ +
+

La méthode transaction de l'interface {{domxref("IDBDatabase")}} renvoie une {{domxref("IDBTransaction","transaction")}} sur laquelle on peut appeler la méthode {{domxref("IDBTransaction.objectStore")}} pour accéder aux magasins d'objets de la base de donnée.

+
+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
var transaction = db.transaction(storeNames, mode);
+ +

Paramètres

+ +
+
storeNames
+
un tableau de noms de magasins d'objets entrant dans le cadre de cette transaction. Indique seulement les magasins d'objets dont on a besoin.
+ Si l’on n’a besoin que d’un seul magasin d'objet, on peut simplement passer son nom. Les lignes suivantes sont équivalentes : +
var transaction = db.transaction(['my-store-name']);
+var transaction = db.transaction('my-store-name');
+ Pour utiliser tous les magasins d'objets de la base de donnée, on peut appeler la methode {{domxref("IDBDatabase.objectStoreNames")}}: + +
var transaction = db.transaction(db.objectStoreNames);
+ Passer un tableau vide lèvera une exception.
+
mode {{optional_inline}}
+
+

Le {{domxref("IDBTransactionMode","mode")}} d’{{domxref("IDBObjectStore","accès aux magasins d'objets")}} à la base de données (par default readonly):

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
ValeurExplication
readonlypermet de prendre des objets dans les magasins d'objets, de lire les index et de faire des curseurs.
readwritePermet en plus de que l'on peut faire en readonly, d’ajouter et mettre à jour des objets dans les magasins d'objets.
versionchangePermet toute les opérations, y compris celles qui suppriment ou ajoutent des {{domxref("IDBOjectStore","magasins d'objets")}} ou des {{domxref("IDBIndex","index")}}. Ce mode met à jour le numéro de version de la base de données, il se sert au début de {{domxref ("IDBDatabase.setVersion")}}. Les {{domxref("IDBTransaction","transactions")}} dans ce mode ne peuvent pas fonctionner en même temps que d'autres.
readwriteflush +

Si vous devez vous assurer de l'efficacité d'une transaction pour une raison quelconque (par exemple, vous stockez des données critiques qui ne peuvent être recalculées plus tard), vous pouvez forcer l’enregistrement complet sur disque avant de déclencher l’événement complete en utilisant le mode readwriteflush (non standard) expérimental ( voir {{domxref("IDBDatabase.transaction")}} ). C'est expérimental, et ne peut être utilisé que si le dom.indexedDB.experimental pref est réglé sur true dans about:config.

+ +

Depuis Firefox 40, les transactions IndexedDB diminuent en efficacité pour gagner en efficience (voir {{Bug ( "1112702")}}.) Auparavant, dans une transaction en readwrite l'événement complete était déclanché seulement lorsque toutes les données étaient écrites sur le disque. Maintenant l'événement complete est déclenché après que l'OS ai envoyé l'ordre d'écrire les données, mais potentiellement avant qu'elles aient été écrites sur le disque. L'événement complete peut ainsi se déclancher plus rapidement qu'auparavant, cependant, il existe une chance infime pour que l'ensemble de la transaction soit perdue si le système d'exploitation plante ou s'il y a une perte de courant avant que les données aient été écites sur le disque. Étant donné que ces événements catastrophiques sont rares la plupart des utilisateurs ne devraient pas avoir à s'en préoccuper davantage.

+
+ {{note("Pour éviter des pertes de performance, n’utilisez le mode readwrite que si vous avez effectivement besoin d’écrire ou de mettre à jour des données sur la base.")}} Si on a besoin d’accéder à un magasin d'objets pour écrire ou mettre à jour des enregistrement, on utilise la sytaxe: + +
var transaction = db.transaction('monMagasin','readwrite');
+
+
 
+
+ +

Renvoie

+ +

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

+ +

Exceptions

+ +
+
InvalidStateError
+
Cette {{domxref("DOMException","exception")}} est levée si la méthode close() a été appelée sur cette connexion à la base de donnée.
+
NotFoundError
+
Cette {{domxref("DOMException","exception")}} est levée si un magasin d'objets indiqué dans le paramètre storeNames n'existe pas ou plus.
+
TypeError
+
Cette {{domxref("DOMException","exception")}} est levée si la valeur du paramètre mode n'est pas valide.
+
InvalidAccessError
+
Cette {{domxref("DOMException","exception")}} est levée si la liste passée à storeNames est vide
+
+ +

Exemple

+ +

Dans cet exemple, on ouvre simplement une connexion à la base de donnée puis une transaction sur cette connexion.

+ +
var db;
+
+// Connexion à la base de donnée
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Base de donnée initialisée.</li>';
+
+  // affecte la connexion à la variable db
+  db = DBOpenRequest.result;
+
+  // exécute la fonction displayData() qui affiche la liste des taches présentes dans la base de donnée
+  displayData();
+
+};
+
+// ouvre une transaction en lecture/écriture prête pour l'ajout d'enregistrement.
+var transaction = db.transaction(["toDoList"], "readwrite");
+
+// affiche le succès de l'ouverture de la transaction
+transaction.oncomplete = function(event) {
+  note.innerHTML += '<li>Fin de transaction: les modifications sur la base de donnée sont terminées.</li>';
+};
+
+transaction.onerror = function(event) {
+  note.innerHTML += '<li>La transaction n'a pas pu être initiée.</li>';
+};
+
+// On peut maintenant accéder au magasin d'objet
+var objectStore = transaction.objectStore("toDoList");
+// etc.
+ +

Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

+ +

Spécification

+ + + + + + + + + + + + + + +
SpécificationStatutCommentaire
{{SpecName('IndexedDB', '#widl-IDBDatabase-transaction-IDBTransaction-DOMString-sequence-DOMString--storeNames-IDBTransactionMode-mode', '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

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

La propriété version, rattachée à l'interface {{domxref("IDBDatabase")}}, est un entier sur 64 bits qui contient la version de la base de données à laquelle on est connecté. Lors de la création initiale d'une base de données, cet attribut a la chaîne vide.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +
db.version
+ +

Valeur

+ +

Un entier qui contient la version de la base de données à laquelle on est connecté.

+ +

Exemples

+ +
// On ouvre la base de données
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+//  On déclare des gestionnaires d'évènements pour l'ouverture
+DBOpenRequest.onerror = function(event) {
+  note.innerHTML += '<li>Erreur lors du chargement de la base de données.</li>';
+};
+
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Base de données initialisée.</li>';
+
+  // on stocke le résultat de l'ouverture si besoin de l'utiliser ensuite
+  db = DBOpenRequest.result;
+
+  // Cette ligne inscrira la version de la base dans la console : "4"
+  console.log(db.version);
+};
+ +

Spécifications

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

Compatibilité des navigateurs

+ + + +

{{Compat("api.IDBDatabase.version")}}

+ +

Voir aussi

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