diff options
author | julieng <julien.gattelier@gmail.com> | 2021-10-02 17:20:24 +0200 |
---|---|---|
committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-10-02 17:30:20 +0200 |
commit | 1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde (patch) | |
tree | 30a56efd3eff3a01bd1611e1840fdbbfacf544a4 /files/fr/web/api/idbfactory | |
parent | c05efa8d7ae464235cf83d7c0956e42dc6974103 (diff) | |
download | translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.tar.gz translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.tar.bz2 translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.zip |
convert content to md
Diffstat (limited to 'files/fr/web/api/idbfactory')
-rw-r--r-- | files/fr/web/api/idbfactory/cmp/index.md | 163 | ||||
-rw-r--r-- | files/fr/web/api/idbfactory/deletedatabase/index.md | 104 | ||||
-rw-r--r-- | files/fr/web/api/idbfactory/index.md | 104 | ||||
-rw-r--r-- | files/fr/web/api/idbfactory/open/index.md | 155 |
4 files changed, 207 insertions, 319 deletions
diff --git a/files/fr/web/api/idbfactory/cmp/index.md b/files/fr/web/api/idbfactory/cmp/index.md index 0abf09e9d2..0ce4678d23 100644 --- a/files/fr/web/api/idbfactory/cmp/index.md +++ b/files/fr/web/api/idbfactory/cmp/index.md @@ -9,105 +9,68 @@ tags: - Reference translation_of: Web/API/IDBFactory/cmp --- -<div>{{APIRef("IndexedDB")}}</div> - -<p>La méthode <strong><code>cmp()</code></strong> 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.</p> - -<p>{{AvailableInWorkers}}</p> - -<div class="note"><p><strong>Note :</strong> 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.</p></div> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox">var resultat = window.indexedDB.cmp(a, b);</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>a</code></dt> - <dd>La première clé pour la comparaison.</dd> - <dt><code>b</code></dt> - <dd>La deuxième clé pour la comparaison.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>Un entier qui indique le résultat de la comparaison. Le tableau ci-dessous indique les valeurs possibles et leur signification :</p> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Valeur renvoyée</th> - <th scope="col">Description</th> - </tr> - <tr> - <td>-1</td> - <td>La clé 1 est plus petite que la clé 2.</td> - </tr> - <tr> - <td>0</td> - <td>Les deux clé sont égales.</td> - </tr> - <tr> - <td>1</td> - <td>La clé 1 est plus grande que la clé 2.</td> - </tr> - </tbody> -</table> - -<h3 id="Exceptions_levées">Exceptions levées</h3> - -<p>Cette méthode peut lever une exception {{domxref("DOMException")}} de type :</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Exception</th> - <th scope="col">Description</th> - </tr> - <tr> - <td><a href="/fr/docs/Web/API/DOMError"><code>DataError</code></a></td> - <td>L'une des clés fournies n'est pas valide.</td> - </tr> - </thead> -</table> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush: js;">var a = 1; +{{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ée | Description | +| --------------- | -------------------------------------- | +| -1 | La clé 1 est plus petite que la clé 2. | +| 0 | Les deux clé sont égales. | +| 1 | La clé 1 est plus grande que la clé 2. | + +### Exceptions levées + +Cette méthode peut lever une exception {{domxref("DOMException")}} de type : + +| Exception | Description | +| ---------------------------------------- | ----------------------------------------- | +| [`DataError`](/fr/docs/Web/API/DOMError) | L'une des clés fournies n'est pas valide. | + +## Exemples + +```js +var a = 1; var b = 2; var result = window.indexedDB.cmp(a, b); -console.log( "Résultat de la comparaison : " + result );</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('IndexedDB', '#widl-IDBFactory-cmp-short-any-first-any-second', 'cmp')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBFactory.cmp")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB">Utiliser IndexedDB</a></li> - <li>Initier une connexion : {{domxref("IDBDatabase")}}</li> - <li>Utiliser les transactions : {{domxref("IDBTransaction")}}</li> - <li>Définir un intervalle de clés : {{domxref("IDBKeyRange")}}</li> - <li>Récupérer et modifier les données : {{domxref("IDBObjectStore")}}</li> - <li>Utiliser les curseurs {{domxref("IDBCursor")}}</li> - <li>Exemple de référence : <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a href="https://mdn.github.io/to-do-notifications/">exemple <em>live</em></a>).</li> -</ul> +console.log( "Résultat de la comparaison : " + result ); +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------ | +| {{SpecName('IndexedDB', '#widl-IDBFactory-cmp-short-any-first-any-second', 'cmp')}} | {{Spec2('IndexedDB')}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBFactory.cmp")}} + +## Voir aussi + +- [Utiliser IndexedDB](/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB) +- Initier une connexion : {{domxref("IDBDatabase")}} +- Utiliser les transactions : {{domxref("IDBTransaction")}} +- Définir un intervalle de clés : {{domxref("IDBKeyRange")}} +- Récupérer et modifier les données : {{domxref("IDBObjectStore")}} +- Utiliser les curseurs {{domxref("IDBCursor")}} +- Exemple de référence : [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) ([exemple _live_](https://mdn.github.io/to-do-notifications/)). diff --git a/files/fr/web/api/idbfactory/deletedatabase/index.md b/files/fr/web/api/idbfactory/deletedatabase/index.md index a890a63166..45b1745eb8 100644 --- a/files/fr/web/api/idbfactory/deletedatabase/index.md +++ b/files/fr/web/api/idbfactory/deletedatabase/index.md @@ -8,44 +8,41 @@ tags: - Reference translation_of: Web/API/IDBFactory/deleteDatabase --- -<div>{{APIRef("IndexedDB")}}</div> +{{APIRef("IndexedDB")}} -<p>La méthode <strong><code>deleteDatabase()</code></strong>, 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.</p> +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. -<p>Si la base de données est bien supprimée, un évènement <code>success</code> est déclenché sur l'objet <code>IDBOpenDBRequest</code> renvoyé et la propriété <code>result</code> vaut alors <code>undefined</code>. Si une erreur se produit lors de la suppression, ce sera un évènement <code>error</code> qui sera déclenché sur l'objet renvoyé par la méthode.</p> +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. -<div> -<p>Lorsque la méthode <code>deleteDatabase()</code> est invoquée, toutes les autres connexions qui sont ouvertes sur cette base de données recevront un évènement <code><a href="/fr/docs/Web/Events/versionchange_indexedDB">versionchange</a></code>.</p> -</div> +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`](/fr/docs/Web/Events/versionchange_indexedDB). -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<p>La syntaxe actuellement standard est :</p> +La syntaxe actuellement standard est : -<pre class="syntaxbox">var <em>request</em> = <em>indexedDB</em>.deleteDatabase(<em>nom</em>);</pre> + var request = indexedDB.deleteDatabase(nom); -<p>Une version expérimentale permet de gérer des options (cf. ci-après) :</p> +Une version expérimentale permet de gérer des options (cf. ci-après) : -<pre class="syntaxbox">var <em>request</em> = <em>indexedDB</em>.deleteDatabase(nom, options);</pre> + var request = indexedDB.deleteDatabase(nom, options); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>nom</code></dt> - <dd>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).</dd> - <dt><code>options</code> {{NonStandardBadge}}</dt> - <dd>Dans Gecko, à partir de <a href="/fr/Firefox/Releases/26">la version 26</a>, il est possible d'inclure un paramètre pour indiquer le stockage de la base. La valeur peut être <code>permanent</code> (la valeur par défaut) ou <code>temporary</code> si on souhaite supprimer une base de données qui fait partie d'une mémoire partagée.</dd> -</dl> +- `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](/fr/Firefox/Releases/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. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Cette méthode renvoie un objet {{domxref("IDBOpenDBRequest")}} sur lequel seront déclenchés les évènements relatifs à la requête.</p> +Cette méthode renvoie un objet {{domxref("IDBOpenDBRequest")}} sur lequel seront déclenchés les évènements relatifs à la requête. -<h2 id="Exemples">Exemples</h2> +## Exemples -<pre class="brush: js">var DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList"); +```js +var DBDeleteRequest = window.indexedDB.deleteDatabase("toDoList"); DBDeleteRequest.onerror = function(event) { console.log("Erreur lors de la suppression de la base"); @@ -56,42 +53,25 @@ DBDeleteRequest.onsuccess = function(event) { console.log(event.result); // undefined }; -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('IndexedDB', '#widl-IDBFactory-deleteDatabase-IDBOpenDBRequest-DOMString-name', 'deleteDatabase()')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName("IndexedDB 2", "#dom-idbfactory-deletedatabase", "deleteDatabase()")}}</td> - <td>{{Spec2("IndexedDB 2")}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBFactory.deleteDatabase")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB">Manipuler IndexedDB</a></li> - <li>Démarrer des transactions : {{domxref("IDBDatabase")}}</li> - <li>Manipuler des transactions : {{domxref("IDBTransaction")}}</li> - <li>Définir un intervalle de clés : {{domxref("IDBKeyRange")}}</li> - <li>Récupérer des données et les modifier : {{domxref("IDBObjectStore")}}</li> - <li>Manipuler des curseurs : {{domxref("IDBCursor")}}</li> - <li>Exemple de référence pour IndexedDB : <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a></li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------ | +| {{SpecName('IndexedDB', '#widl-IDBFactory-deleteDatabase-IDBOpenDBRequest-DOMString-name', 'deleteDatabase()')}} | {{Spec2('IndexedDB')}} | | +| {{SpecName("IndexedDB 2", "#dom-idbfactory-deletedatabase", "deleteDatabase()")}} | {{Spec2("IndexedDB 2")}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBFactory.deleteDatabase")}} + +## Voir aussi + +- [Manipuler IndexedDB](/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB) +- Démarrer des transactions : {{domxref("IDBDatabase")}} +- Manipuler des transactions : {{domxref("IDBTransaction")}} +- Définir un intervalle de clés : {{domxref("IDBKeyRange")}} +- Récupérer des données et les modifier : {{domxref("IDBObjectStore")}} +- Manipuler des curseurs : {{domxref("IDBCursor")}} +- Exemple de référence pour IndexedDB : [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) diff --git a/files/fr/web/api/idbfactory/index.md b/files/fr/web/api/idbfactory/index.md index b424b0af20..fbcba34c21 100644 --- a/files/fr/web/api/idbfactory/index.md +++ b/files/fr/web/api/idbfactory/index.md @@ -3,30 +3,29 @@ title: IDBFactory slug: Web/API/IDBFactory translation_of: Web/API/IDBFactory --- -<div>{{APIRef("IndexedDB")}}</div> +{{APIRef("IndexedDB")}} -<p>L'interface <strong><code>IDBFactory</code></strong> fait partie de l'<a href="/fr/docs/Web/API/API_IndexedDB">API IndexedDB</a> et permet aux applications d'accéder à des bases de données de façon asynchrone. L'objet qui implémente cette interface est <code>window.indexedDB</code>. 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 <code>IDBFactory</code>.</p> +L'interface **`IDBFactory`** fait partie de l'[API IndexedDB](/fr/docs/Web/API/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`. -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<h2 id="Méthodes">Méthodes</h2> +## Méthodes -<dl> - <dt>{{domxref("IDBFactory.open")}}</dt> - <dd>Une méthode qui permet d'ouvrir une connexion à une base de données.</dd> - <dt>{{domxref("IDBFactory.deleteDatabase")}}</dt> - <dd>Une méthode qui permet de demander la suppression d'une base de données.</dd> - <dt>{{domxref("IDBFactory.cmp")}}</dt> - <dd>Une méthode qui compare deux clés et renvoie un résultat qui indique laquelle est la plus grande.</dd> - <dt>{{domxref("IDBFactory.databases")}}</dt> - <dd>Une méthode qui répertorie toutes les bases de données disponibles, y compris leurs noms et leurs versions.</dd> -</dl> +- {{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. -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>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 <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">notre application To-do Notifications</a> (<a href="https://mdn.github.io/to-do-notifications/">voir l'exemple en <em>live</em></a>).</p> +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](https://github.com/mdn/to-do-notifications/tree/gh-pages) ([voir l'exemple en _live_](https://mdn.github.io/to-do-notifications/)). -<pre class="brush:js">var note = document.querySelector("ul"); +```js +var note = document.querySelector("ul"); // Dans la ligne suivante, inclure les préfixes des // implémentations à tester @@ -48,58 +47,37 @@ var DBOpenRequest = window.indexedDB.open("toDoList", 4); // 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>'; + 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>'; + 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; }; -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName("IndexedDB", "#idl-def-IDBFactory", "IDBFactory")}}</td> - <td>{{Spec2("IndexedDB")}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName("IndexedDB 2", "#factory-interface", "IDBFactory")}}</td> - <td>{{Spec2("IndexedDB 2")}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName("IndexedDB 3", "#factory-interface", "IDBFactory")}}</td> - <td>{{Spec2("IndexedDB 3")}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBFactory")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB">Manipuler IndexedDB</a></li> - <li>Démarrer des transactions : {{domxref("IDBDatabase")}}</li> - <li>Manipuler des transactions : {{domxref("IDBTransaction")}}</li> - <li>Définir un intervalle de clés : {{domxref("IDBKeyRange")}}</li> - <li>Récupérer des données et les modifier : {{domxref("IDBObjectStore")}}</li> - <li>Manipuler des curseurs : {{domxref("IDBCursor")}}</li> - <li>Exemple de référence pour IndexedDB : <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a></li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------------------ | -------------------------------- | ------------ | +| {{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 + +- [Manipuler IndexedDB](/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB) +- Démarrer des transactions : {{domxref("IDBDatabase")}} +- Manipuler des transactions : {{domxref("IDBTransaction")}} +- Définir un intervalle de clés : {{domxref("IDBKeyRange")}} +- Récupérer des données et les modifier : {{domxref("IDBObjectStore")}} +- Manipuler des curseurs : {{domxref("IDBCursor")}} +- Exemple de référence pour IndexedDB : [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) diff --git a/files/fr/web/api/idbfactory/open/index.md b/files/fr/web/api/idbfactory/open/index.md index 1bc014016e..04d42ffe9c 100644 --- a/files/fr/web/api/idbfactory/open/index.md +++ b/files/fr/web/api/idbfactory/open/index.md @@ -9,82 +9,66 @@ tags: - Reference translation_of: Web/API/IDBFactory/open --- -<div>{{APIRef("IndexedDB")}}</div> +{{APIRef("IndexedDB")}} -<p>La méthode <strong><code>open()</code></strong> de l'interface {{domxref("IDBFactory")}} lance une requête pour ouvrir une <a href="/fr/docs/Web/API/API_IndexedDB#Se_connecter_à_la_base_de_données">connexion à une base de données</a>.</p> +La méthode **`open()`** de l'interface {{domxref("IDBFactory")}} lance une requête pour ouvrir une [connexion à une base de données](/fr/docs/Web/API/API_IndexedDB#Se_connecter_à_la_base_de_données). -<p>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 <code>success</code> sera éms sur l'objet <code>IDBOpenDBRequest</code> renvoyé par la méthode, et la propriété <code>result</code> de l'évènement aura la valeur de l'objet {{domxref("IDBDatabase")}} associé à la connexion.</p> +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. -<p>Si une erreur se produit lors de la connexion, un évènement <code>error</code> sera émis sur l'objet <code>IDBOpenDBRequest</code> renvoyé par la méthode.</p> +Si une erreur se produit lors de la connexion, un évènement `error` sera émis sur l'objet `IDBOpenDBRequest` renvoyé par la méthode. -<p>Cette méthode peut également émettre les évènements <code>upgradeneeded</code>, <code>blocked</code> ou <code>versionchange</code>.</p> +Cette méthode peut également émettre les évènements `upgradeneeded`, `blocked` ou `versionchange`. -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<p>La syntaxe standard est la suivante :</p> +La syntaxe standard est la suivante : -<pre class="syntaxbox">var <em>IDBOpenDBRequest</em> = <em>indexedDB</em>.open(<em>nom</em>); -var <em>IDBOpenDBRequest</em> = <em>indexedDB</em>.open(<em>nom</em>, <em>version</em>); -</pre> + var IDBOpenDBRequest = indexedDB.open(nom); + var IDBOpenDBRequest = indexedDB.open(nom, version); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>nom</code></dt> - <dd>Le nom de la base de données qu'on souhaite ouvrir.</dd> - <dt><code>version</code> {{optional_inline}}</dt> - <dd>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 <code>1</code>.</dd> -</dl> +- `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`. -<h4 id="Objet_options_expérimental_de_Gecko">Objet options expérimental de Gecko</h4> +#### Objet options expérimental de Gecko -<dl> - <dt><code>options</code> (<code>version</code> et <code>storage</code>) {{optional_inline}} {{deprecated_inline}}</dt> - <dd>Dans Gecko, à partir de <a href="/fr/Firefox/Releases/26">la version 26</a>, il est possible de passer en paramètre un objet <code>options</code> non standard, qui contienne le numéro de version de la base de données (équivalent donc au paramètre <code>version</code> définit ci-avant), et également une valeur <code>storage</code> qui décrit si on souhaite utiliser un stockage permanent (avec la valeur <code>persistent</code>) ou un stockage temporaire (avec la valeur <code>temporary</code>). - <div class="warning"> - <p><strong>Attention :</strong> l’attribut <code>storage</code> est déprécié et sera prochainement retiré de Gecko. Vous devriez utiliser {{domxref("StorageManager.persist()")}} à la place pour obtenir un stockage persistant.</p> - </div> - </dd> -</dl> +- `options` (`version` et `storage`) {{optional_inline}} {{deprecated_inline}} -<div class="note"> -<p><strong>Note :</strong> Vous pouvez consulter l'article <a href="/fr/docs/Web/API/API_IndexedDB/Browser_storage_limits_and_eviction_criteria">les limites de stockage du navigateur et les critères d'éviction</a> 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.</p> -</div> + - : Dans Gecko, à partir de [la version 26](/fr/Firefox/Releases/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`). -<h3 id="Valeur_de_retour">Valeur de retour</h3> + > **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. -<p>Un objet {{domxref("IDBOpenDBRequest")}} sur lequel sont déclenchés les différents évènements liés à cette requête.</p> +> **Note :** Vous pouvez consulter l'article [les limites de stockage du navigateur et les critères d'éviction](/fr/docs/Web/API/API_IndexedDB/Browser_storage_limits_and_eviction_criteria) 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. -<h3 id="Exceptions">Exceptions</h3> +### Valeur de retour -<p>Cette méthode peut lever une {{domxref("DOMException")}} de type suivant :</p> +Un objet {{domxref("IDBOpenDBRequest")}} sur lequel sont déclenchés les différents évènements liés à cette requête. -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Exception</th> - <th scope="col">Description</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>TypeError</code></td> - <td>La valeur de version est zéro ou un nombre négatif ou n’est pas un nombre.</td> - </tr> - </tbody> -</table> +### Exceptions -<h2 id="Exemples">Exemples</h2> +Cette méthode peut lever une {{domxref("DOMException")}} de type suivant : -<p>Voici un exemple d'ouverture de la base de données <code>toDoList</code> en utilisant la syntaxe standard et le paramètre <code>version</code> :</p> +| Exception | Description | +| ----------- | -------------------------------------------------------------------------- | +| `TypeError` | La valeur de version est zéro ou un nombre négatif ou n’est pas un nombre. | -<pre class="brush: js">var request = window.indexedDB.open("toDoList", 4);</pre> +## Exemples -<p>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 <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a href="https://mdn.github.io/to-do-notifications/">cf. l'exemple <em>live</em></a>).</p> +Voici un exemple d'ouverture de la base de données `toDoList` en utilisant la syntaxe standard et le paramètre `version` : -<pre class="brush:js">var note = document.querySelector("ul"); +```js +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](https://github.com/mdn/to-do-notifications/tree/gh-pages) ([cf. l'exemple _live_](https://mdn.github.io/to-do-notifications/)). + +```js +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. @@ -99,54 +83,37 @@ 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>'; + 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>'; + 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; }; -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('IndexedDB', '#widl-IDBFactory-open-IDBOpenDBRequest-DOMString-name-unsigned-long-long-version', 'open()')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName("IndexedDB 2", "#dom-idbfactory-open", "open()")}}</td> - <td>{{Spec2("IndexedDB 2")}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBFactory.open")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB">Utiliser IndexedDB</a></li> - <li>Démarrer des transactions : {{domxref("IDBDatabase")}}</li> - <li>Manipuler des transactions : {{domxref("IDBTransaction")}}</li> - <li>Définir un intervalle de clés : {{domxref("IDBKeyRange")}}</li> - <li>Récupérer des données et les modifier : {{domxref("IDBObjectStore")}}</li> - <li>Manipuler des curseurs : {{domxref("IDBCursor")}}</li> - <li>Exemple de référence pour IndexedDB : <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a></li> -</ul> +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------ | +| {{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 + +- [Utiliser IndexedDB](/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB) +- Démarrer des transactions : {{domxref("IDBDatabase")}} +- Manipuler des transactions : {{domxref("IDBTransaction")}} +- Définir un intervalle de clés : {{domxref("IDBKeyRange")}} +- Récupérer des données et les modifier : {{domxref("IDBObjectStore")}} +- Manipuler des curseurs : {{domxref("IDBCursor")}} +- Exemple de référence pour IndexedDB : [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) |