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/idbfactory/cmp/index.html | 189 +++++++++++++++++++++ .../web/api/idbfactory/deletedatabase/index.html | 173 +++++++++++++++++++ files/fr/web/api/idbfactory/index.html | 109 ++++++++++++ files/fr/web/api/idbfactory/open/index.html | 154 +++++++++++++++++ 4 files changed, 625 insertions(+) create mode 100644 files/fr/web/api/idbfactory/cmp/index.html create mode 100644 files/fr/web/api/idbfactory/deletedatabase/index.html create mode 100644 files/fr/web/api/idbfactory/index.html create mode 100644 files/fr/web/api/idbfactory/open/index.html (limited to 'files/fr/web/api/idbfactory') diff --git a/files/fr/web/api/idbfactory/cmp/index.html b/files/fr/web/api/idbfactory/cmp/index.html new file mode 100644 index 0000000000..10fd12cbad --- /dev/null +++ b/files/fr/web/api/idbfactory/cmp/index.html @@ -0,0 +1,189 @@ +--- +title: IDBFactory.cmp() +slug: Web/API/IDBFactory/cmp +tags: + - API + - IDBFactory + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBFactory/cmp +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode cmp() de l'interface {{domxref("IDBFactory")}} compare deux valeurs de clé et détermine si celles-ci sont égales et sinon, laquelle est la plus grande. Cette opération est utilisée pour l'enregistrement et le parcours des données.

+ +

{{AvailableInWorkers}}

+ +

Note : Cette méthode ne doit pas être utilisée pour comparer des valeurs JavaScript. En effet, de nombreuses valeurs JavaScript ne sont pas des valeurs valides pour représenter des clés IndexedDB (les booléens et les objets par exemple), dans ces cas, elles peuvent être traitées comme des clés égales (ainsi IndexedDB ignore les tableaux ayant des propriétés non numériques et les considère comme des tableaux vides, de sorte que les éventuels tableaux non numériques seront considérés comme égaux). Une exception est levée si l'une des valeurs n'est pas une clé valide.

+ +

Syntaxe

+ +
var resultat = window.indexedDB.cmp(a, b);
+ +

Paramètres

+ +
+
a
+
La première clé pour la comparaison.
+
b
+
La deuxième clé pour la comparaison.
+
+ +

Valeur de retour

+ +

Un entier qui indique le résultat de la comparaison. Le tableau ci-dessous indique les valeurs possibles et leur signification :

+ + + + + + + + + + + + + + + + + + + + +
Valeur renvoyéeDescription
-1La clé 1 est plus petite que la clé 2.
0Les deux clé sont égales.
1La clé 1 est plus grande que la clé 2.
+ +

Exceptions levées

+ +

Cette méthode peut lever une exception {{domxref("DOMException")}} de type :

+ + + + + + + + + + + + +
ExceptionDescription
DataErrorL'une des clés fournies n'est pas valide.
+ +

Exemples

+ +
var a = 1;
+var b = 2;
+var result = window.indexedDB.cmp(a, b);
+console.log( "Résultat de la comparaison : " + result );
+ +

Spécifications

+ + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBFactory-cmp-short-any-first-any-second', 'cmp')}}{{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 workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}10
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome pour Android
Support simple4.4{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("22.0")}}10228{{CompatVersionUnknown}}
Disponible dans les workers{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}10{{CompatVersionUnknown}}
+
+ +

Voir aussi

+ + diff --git a/files/fr/web/api/idbfactory/deletedatabase/index.html b/files/fr/web/api/idbfactory/deletedatabase/index.html new file mode 100644 index 0000000000..766e109546 --- /dev/null +++ b/files/fr/web/api/idbfactory/deletedatabase/index.html @@ -0,0 +1,173 @@ +--- +title: IDBFactory.deleteDatabase() +slug: Web/API/IDBFactory/deleteDatabase +tags: + - IDBFactory + - IndexedDB + - Méthode + - Reference +translation_of: Web/API/IDBFactory/deleteDatabase +--- +
{{APIRef("IndexedDB")}}
+ +

La méthode deleteDatabase(), rattachée à l'interface {{domxref("IDBFactory")}}, permet de demander la suppression d'une base de données. La méthode renvoie immédiatement un objet {{domxref("IDBOpenDBRequest")}} puis effectue l'opération de suppression de façon asynchrone.

+ +

Si la base de données est bien supprimée, un évènement success est déclenché sur l'objet IDBOpenDBRequest renvoyé et la propriété result vaut alors undefined. Si une erreur se produit lors de la suppression, ce sera un évènement error qui sera déclenché sur l'objet renvoyé par la méthode.

+ +
+

Lorsque la méthode deleteDatabase() est invoquée, toutes les autres connexions qui sont ouvertes sur cette base de données recevront un évènement versionchange.

+
+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +

La syntaxe actuellement standard est :

+ +
var request = indexedDB.deleteDatabase(nom);
+ +

Une version expérimentale permet de gérer des options (cf. ci-après) :

+ +
var request = indexedDB.deleteDatabase(nom, options);
+ +

Paramètres

+ +
+
nom
+
Le nom de la base de données qu'on souhaite supprimer. Tenter de supprimer une base de données qui n'existe pas ne déclenchera pas d'exception (contrairement à la tentative de suppression d'un magasin d'objets inexistant avec {{domxref("IDBDatabase.deleteObjectStore()")}} qui déclenchera bien une exception).
+
options {{NonStandardBadge}}
+
Dans Gecko, à partir de la version 26, il est possible d'inclure un paramètre pour indiquer le stockage de la base. La valeur peut être permanent (la valeur par défaut) ou temporary si on souhaite supprimer une base de données qui fait partie d'une mémoire partagée.
+
+ +

Valeur de retour

+ +

Cette méthode renvoie un objet {{domxref("IDBOpenDBRequest")}} sur lequel seront déclenchés les évènements relatifs à la requête.

+ +

Exemples

+ +
var DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList");
+
+DBDeleteRequest.onerror = function(event) {
+  console.log("Erreur lors de la suppression de la base");
+};
+
+DBDeleteRequest.onsuccess = function(event) {
+  console.log("Suppression de la base réussie");
+
+  console.log(event.result); // undefined
+};
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBFactory-deleteDatabase-IDBOpenDBRequest-DOMString-name', 'deleteDatabase()')}}{{Spec2('IndexedDB')}} 
{{SpecName("IndexedDB 2", "#dom-idbfactory-deletedatabase", "deleteDatabase()")}}{{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}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37.0")}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FonctionnalitéAndroidWebview AndroidEdgeFirefox Mobile (Gecko)IE PhoneOpera MobileSafari MobileChrome for 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/idbfactory/index.html b/files/fr/web/api/idbfactory/index.html new file mode 100644 index 0000000000..3d2356a76b --- /dev/null +++ b/files/fr/web/api/idbfactory/index.html @@ -0,0 +1,109 @@ +--- +title: IDBFactory +slug: Web/API/IDBFactory +translation_of: Web/API/IDBFactory +--- +
{{APIRef("IndexedDB")}}
+ +

L'interface IDBFactory fait partie de l'API IndexedDB et permet aux applications d'accéder à des bases de données de façon asynchrone. L'objet qui implémente cette interface  est window.indexedDB. Autrement dit, on créera et on accèdera à une base de données (voire on la supprimera) directement via cet objet plutôt qu'en utilisant l'objet IDBFactory.

+ +

{{AvailableInWorkers}}

+ +

Méthodes

+ +
+
{{domxref("IDBFactory.open")}}
+
Une méthode qui permet d'ouvrir une connexion à une base de données.
+
{{domxref("IDBFactory.deleteDatabase")}}
+
Une méthode qui permet de demander la suppression d'une base de données.
+
{{domxref("IDBFactory.cmp")}}
+
Une méthode qui compare deux clés et renvoie un résultat qui indique laquelle est la plus grande.
+
{{domxref("IDBFactory.databases")}}
+
Une méthode qui répertorie toutes les bases de données disponibles, y compris leurs noms et leurs versions.
+
+ +

Exemples

+ +

Dans l'exemple qui suit, on effectue une requête sur une base de données et on gère les cas de succès et d'erreur. Vous pouvez consulter un exemple complet sur notre application To-do Notifications (voir l'exemple en live).

+ +
var note = document.querySelector("ul");
+
+// Dans la ligne suivante, inclure les préfixes des
+// implémentations à tester
+window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+// attention à ne pas utiliser "var indexedDB = ..."
+// si on n'est pas dans une fonction
+
+// On pourra éventuellement avoir besoin de références
+// envers les objets window.IDB* :
+window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
+window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
+// (Mozilla n'a jamais préfixé ces objets,
+// il n'est pas nécessaire d'écrire window.mozIDB*)
+
+// On ouvre la version 4 de notre base de données
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+// On ajoute ensuite les gestionnaires d'évènements
+// pour gérer le succès ou l'échec de l'ouverture
+// de la base de données
+DBOpenRequest.onerror = function(event) {
+  note.innerHTML += '<li>Erreur lors du chargement de la base.</li>';
+};
+
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Base de données initialisée.</li>';
+
+  // store the result of opening the database in the db
+  // variable. This is used a lot later on, for opening
+  // transactions and suchlike.
+  db = DBOpenRequest.result;
+};
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName("IndexedDB", "#idl-def-IDBFactory", "IDBFactory")}}{{Spec2("IndexedDB")}}
{{SpecName("IndexedDB 2", "#factory-interface", "IDBFactory")}}{{Spec2("IndexedDB 2")}}
{{SpecName("IndexedDB 3", "#factory-interface", "IDBFactory")}}{{Spec2("IndexedDB 3")}}
+ +

Compatibilité des navigateurs

+ + + +

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

+ +

Voir aussi

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

La méthode open() de l'interface {{domxref("IDBFactory")}} lance une requête pour ouvrir une connexion à une base de données.

+ +

La méthode renvoie immédiatement un objet {{domxref("IDBOpenDBRequest")}} puis effectue l'opération d'ouverture de façon asynchrone. Si l'opération réussit, un évènement success sera éms sur l'objet IDBOpenDBRequest renvoyé par la méthode, et la propriété result de l'évènement aura la valeur de l'objet {{domxref("IDBDatabase")}} associé à la connexion.

+ +

Si une erreur se produit lors de la connexion, un évènement error sera émis sur l'objet IDBOpenDBRequest renvoyé par la méthode.

+ +

Cette méthode peut également émettre les évènements upgradeneeded, blocked ou versionchange.

+ +

{{AvailableInWorkers}}

+ +

Syntaxe

+ +

La syntaxe standard est la suivante :

+ +
var IDBOpenDBRequest = indexedDB.open(nom);
+var IDBOpenDBRequest = indexedDB.open(nom, version);
+
+ +

Paramètres

+ +
+
nom
+
Le nom de la base de données qu'on souhaite ouvrir.
+
version {{optional_inline}}
+
Paramètre optionnel qui représente la version de la base de données qu'on veut ouvrir. Si ce paramètre n'est pas fourni et que la base de données existe, une connexion sera ouverte sans changer la version de la base de données. Si ce paramètre n'est pas fourni est que la base de données n'existe pas, elle sera créée avec une version 1.
+
+ +

Objet options expérimental de Gecko

+ +
+
options (version et storage) {{optional_inline}} {{deprecated_inline}}
+
Dans Gecko, à partir de la version 26, il est possible de passer en paramètre un objet options non standard, qui contienne le numéro de version de la base de données (équivalent donc au paramètre version définit ci-avant), et également une valeur storage qui décrit si on souhaite utiliser un stockage permanent (avec la valeur persistent) ou un stockage temporaire (avec la valeur temporary). +
Attention : l’attribut storage est déprécié et sera prochainement retiré de Gecko. Vous devriez utiliser {{domxref("StorageManager.persist()")}} à la place pour obtenir un stockage persistant.
+
+
+ +
+

Note : Vous pouvez consulter l'article les limites de stockage du navigateur et les critères d'éviction pour en savoir plus sur les différents types de stockage disponibles et la façon dont Firefox gère les données côté client.

+
+ +

Valeur de retour

+ +

Un objet {{domxref("IDBOpenDBRequest")}} sur lequel sont déclenchés les différents évènements liés à cette requête.

+ +

Exceptions

+ +

Cette méthode peut lever une {{domxref("DOMException")}} de type suivant :

+ + + + + + + + + + + + + + +
ExceptionDescription
TypeErrorLa valeur de version est zéro ou un nombre négatif ou n’est pas un nombre.
+ +

Exemples

+ +

Voici un exemple d'ouverture de la base de données toDoList en utilisant la syntaxe standard et le paramètre version :

+ +
var request = window.indexedDB.open("toDoList", 4);
+ +

Dans le fragment de code qui suit, on effectue une requête pour ouvrir une base de données et on inclut des gestionnaires d'évènements pour gérer la réussite ou l'échec de l'ouverture. Pour consulter un exemple fonctionnel complet, vous pouvez étudier notre application To-do Notifications (cf. l'exemple live).

+ +
var note = document.querySelector("ul");
+
+window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+// NE PAS utiliser "var indexedDB = ..." si on n’est pas dans une fonction.
+// On pourrait avoir besoin de références vers quelques objets window.IDB* :
+window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
+window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
+// Mozilla n’a jamais préfixé ces objets, donc on n’a pas besoin de window.mozIDB*
+
+// On ouvre la version 4 de la base de données
+var DBOpenRequest = window.indexedDB.open("toDoList", 4);
+
+// On ajoute deux gestionnaires d'évènements
+// Le premier utilisé en cas d'échec
+DBOpenRequest.onerror = function(event) {
+  note.innerHTML += '<li>Erreur lors du chargement de la base.</li>';
+};
+
+// Et le second en cas de réussite
+DBOpenRequest.onsuccess = function(event) {
+  note.innerHTML += '<li>Base de données initialisée.</li>';
+
+  // On stocke le résultat de l'ouverture dans la
+  // variable db qui sera utilisée par la suite
+  // pour d'autres opérations
+  db = DBOpenRequest.result;
+};
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('IndexedDB', '#widl-IDBFactory-open-IDBOpenDBRequest-DOMString-name-unsigned-long-long-version', 'open()')}}{{Spec2('IndexedDB')}} 
{{SpecName("IndexedDB 2", "#dom-idbfactory-open", "open()")}}{{Spec2("IndexedDB 2")}} 
+ +

Compatibilité des navigateurs

+ + + +

{{Compat("api.IDBFactory.open")}}

+ +

Voir aussi

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