aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/idbobjectstore/add
diff options
context:
space:
mode:
authorjulieng <julien.gattelier@gmail.com>2021-10-02 17:20:24 +0200
committerSphinxKnight <SphinxKnight@users.noreply.github.com>2021-10-02 17:30:20 +0200
commit1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde (patch)
tree30a56efd3eff3a01bd1611e1840fdbbfacf544a4 /files/fr/web/api/idbobjectstore/add
parentc05efa8d7ae464235cf83d7c0956e42dc6974103 (diff)
downloadtranslated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.tar.gz
translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.tar.bz2
translated-content-1407c8fdef01ecd0ffb8a8bd46e7113f119b9fde.zip
convert content to md
Diffstat (limited to 'files/fr/web/api/idbobjectstore/add')
-rw-r--r--files/fr/web/api/idbobjectstore/add/index.md194
1 files changed, 101 insertions, 93 deletions
diff --git a/files/fr/web/api/idbobjectstore/add/index.md b/files/fr/web/api/idbobjectstore/add/index.md
index 8aadd297b3..22877034f9 100644
--- a/files/fr/web/api/idbobjectstore/add/index.md
+++ b/files/fr/web/api/idbobjectstore/add/index.md
@@ -3,86 +3,108 @@ title: IDBObjectStore.add()
slug: Web/API/IDBObjectStore/add
translation_of: Web/API/IDBObjectStore/add
---
-<div>{{APIRef("IndexedDB")}}</div>
+{{APIRef("IndexedDB")}}
-<p>La méthode <strong><code>add()</code></strong>, rattachée à l'interface {{domxref("IDBObjectStore")}}, renvoie un objet {{domxref("IDBRequest")}} et, dans un <em>thread</em> séparé, crée un <a href="https://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#structured-clone">clone structurel</a> de la valeur et stocke la valeur clonée dans le magasin d'objet. Cette méthode permet d'ajouter de nouveaux enregistrements dans un magasin d'objet.</p>
+La méthode **`add()`**, rattachée à l'interface {{domxref("IDBObjectStore")}}, renvoie un objet {{domxref("IDBRequest")}} et, dans un _thread_ séparé, crée un [clone structurel](https://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#structured-clone) de la valeur et stocke la valeur clonée dans le magasin d'objet. Cette méthode permet d'ajouter de nouveaux enregistrements dans un magasin d'objet.
-<p>Afin de déterminer si l'opération <code>add</code> s'est effectuée correctement, on pourra écouter l'évènement <code>complete</code> de la transaction et l'évènement <code>success</code> de la requête <code>IDBObjectStore.add</code> car la transaction peut échouer après le déclenchement de l'évènement <code>success</code>. Autremnt dit, l'évènement <code>success</code> est uniquement déclenché au moment où la transaction a été mise dans la file.</p>
+Afin de déterminer si l'opération `add` s'est effectuée correctement, on pourra écouter l'évènement `complete` de la transaction et l'évènement `success` de la requête `IDBObjectStore.add` car la transaction peut échouer après le déclenchement de l'évènement `success`. Autremnt dit, l'évènement `success` est uniquement déclenché au moment où la transaction a été mise dans la file.
-<p>La méthode <code>add</code> ne permet que d'insérer des objets. Si un enregistrement existe déjà dans le magasin d'objet pour la clé fournie en argument, un évènement <code>ConstrainError</code> sera déclenché via l'objet {{domxref("IDBRequest")}}. Si on souhaite mettre à jour des enregistrements existants, on utilisera plutôt la méthode {{domxref("IDBObjectStore.put")}}.</p>
+La méthode `add` ne permet que d'insérer des objets. Si un enregistrement existe déjà dans le magasin d'objet pour la clé fournie en argument, un évènement `ConstrainError` sera déclenché via l'objet {{domxref("IDBRequest")}}. Si on souhaite mettre à jour des enregistrements existants, on utilisera plutôt la méthode {{domxref("IDBObjectStore.put")}}.
-<p>{{AvailableInWorkers}}</p>
+{{AvailableInWorkers}}
-<h2 id="Syntaxe">Syntaxe</h2>
+## Syntaxe
-<pre class="brush: js">var request = objectStore.add(valeur, clé);</pre>
+```js
+var request = objectStore.add(valeur, clé);
+```
-<h3 id="Paramètres">Paramètres</h3>
+### Paramètres
-<dl>
- <dt><code>valeur</code></dt>
- <dd>La valeur à ajouter au magasin.</dd>
- <dt><code>clé</code></dt>
- <dd>La clé qu'on souhaite utiliser pour identifier l'enregistrement. Si elle n'est pas indiquée, la valeur par défaut sera <code>null</code>.</dd>
-</dl>
+- `valeur`
+ - : La valeur à ajouter au magasin.
+- `clé`
+ - : La clé qu'on souhaite utiliser pour identifier l'enregistrement. Si elle n'est pas indiquée, la valeur par défaut sera `null`.
-<h3 id="Valeur_de_retour">Valeur de retour</h3>
+### Valeur de retour
-<p>Un objet {{domxref("IDBRequest")}} qui émettra les différents évènements relatifs à l'opération.</p>
+Un objet {{domxref("IDBRequest")}} qui émettra les différents évènements relatifs à l'opération.
-<h3 id="Exceptions">Exceptions</h3>
+### Exceptions
-<p>Cette méthode peut lever une exception {{domxref("DOMException")}} ayant l'un des types suivants :</p>
+Cette méthode peut lever une exception {{domxref("DOMException")}} ayant l'un des types suivants :
<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Exception</th>
- <th scope="col">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td><code>ReadOnlyError</code></td>
- <td>La transaction associée à cette opération est en lecture seule.</td>
- </tr>
- <tr>
- <td><code>TransactionInactiveError</code></td>
- <td>La transaction pour cet objet  {{domxref("IDBObjectStore")}} est inactive.</td>
- </tr>
- <tr>
- <td><code>DataError</code></td>
- <td>
- <p>Un des conditions suivantes est vérifiée :</p>
-
- <ul>
- <li>Le magasin d'objet utilise des clés en ligne ou possède un générateur de clés et une clé a été fournie dans la fonction.</li>
- <li>Le magasin d'objet utilise des clés hors lignes et et n'a pas de générateur de clés et aucune clé n'a été fournie dans la fonction.</li>
- <li>Le magasin d'objet utilise des clés en ligne mais ne possède pas de générateur de clés et le chemin de clé utilisé par le magasin ne pointe pas vers une clé valide.</li>
- <li>La clé a été fournie à la fonction mais ce paramètre n'est pas une clé valide.</li>
- </ul>
- </td>
- </tr>
- <tr>
- <td><code>InvalidStateError</code></td>
- <td>L'objet {{domxref("IDBObjectStore")}} a été supprimé ou déplacé.</td>
- </tr>
- <tr>
- <td><code>DataCloneError</code></td>
- <td>La donnée qui devait être enregistrée n'a pas pu être clonée par l'algorithme de clonage interne.</td>
- </tr>
- </tbody>
+ <thead>
+ <tr>
+ <th scope="col">Exception</th>
+ <th scope="col">Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>ReadOnlyError</code></td>
+ <td>La transaction associée à cette opération est en lecture seule.</td>
+ </tr>
+ <tr>
+ <td><code>TransactionInactiveError</code></td>
+ <td>
+ La transaction pour cet objet  {{domxref("IDBObjectStore")}}
+ est inactive.
+ </td>
+ </tr>
+ <tr>
+ <td><code>DataError</code></td>
+ <td>
+ <p>Un des conditions suivantes est vérifiée :</p>
+ <ul>
+ <li>
+ Le magasin d'objet utilise des clés en ligne ou possède un
+ générateur de clés et une clé a été fournie dans la fonction.
+ </li>
+ <li>
+ Le magasin d'objet utilise des clés hors lignes et et n'a pas de
+ générateur de clés et aucune clé n'a été fournie dans la fonction.
+ </li>
+ <li>
+ Le magasin d'objet utilise des clés en ligne mais ne possède pas de
+ générateur de clés et le chemin de clé utilisé par le magasin ne
+ pointe pas vers une clé valide.
+ </li>
+ <li>
+ La clé a été fournie à la fonction mais ce paramètre n'est pas une
+ clé valide.
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td><code>InvalidStateError</code></td>
+ <td>
+ L'objet {{domxref("IDBObjectStore")}} a été supprimé ou
+ déplacé.
+ </td>
+ </tr>
+ <tr>
+ <td><code>DataCloneError</code></td>
+ <td>
+ La donnée qui devait être enregistrée n'a pas pu être clonée par
+ l'algorithme de clonage interne.
+ </td>
+ </tr>
+ </tbody>
</table>
-<h2 id="Exemples">Exemples</h2>
+## Exemples
-<p>Dans le fragment de code suivant, on ouvre une transaction en lecture/écriture vers la base de données et on ajoute des données au magasin d'objet grâce à la méthode <code>add()</code>. On notera également les fonctions rattachées à la transaction qui sont utilisées comme gestionnaires d'évènement et qui permettent de savoir si la transaction a réussi ou échoué.</p>
+Dans le fragment de code suivant, on ouvre une transaction en lecture/écriture vers la base de données et on ajoute des données au magasin d'objet grâce à la méthode `add()`. On notera également les fonctions rattachées à la transaction qui sont utilisées comme gestionnaires d'évènement et qui permettent de savoir si la transaction a réussi ou échoué.
-<pre class="brush: js">// On ouvre la base de données
+```js
+// On ouvre la base de données
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = function(event) {
- note.innerHTML += '&lt;li&gt;Database initialisée.&lt;/li&gt;';
+ note.innerHTML += '<li>Database initialisée.</li>';
// On enregistre le résultat dans la variable db
// afin de l'utiliser par la suite
@@ -105,12 +127,12 @@ function addData() {
// On indique si la transaction s'est déroulées
// sans problème
transaction.oncomplete = function(event) {
- note.innerHTML += '&lt;li&gt;Transaction terminée : modification effectuée.&lt;/li&gt;';
+ note.innerHTML += '<li>Transaction terminée : modification effectuée.</li>';
};
transaction.onerror = function(event) {
- note.innerHTML += '&lt;li&gt;Ouverture de la transaction impossible : les objets dupliqués ne sont pas autorisés.&lt;/li&gt;';
+ note.innerHTML += '<li>Ouverture de la transaction impossible : les objets dupliqués ne sont pas autorisés.</li>';
};
// On crée un magasin d'objets pour la transaction
@@ -121,43 +143,29 @@ function addData() {
objectStoreRequest.onsuccess = function(event) {
// On indique la réussite de l'insertion
- note.innerHTML += '&lt;li&gt;Nouvel objet ajouté dans la base de données.&lt;/li&gt;';
+ note.innerHTML += '<li>Nouvel objet ajouté dans la base de données.</li>';
};
-};</pre>
+};
+```
-<div class="note">
-<p><strong>Note :</strong> pour un exemple fonctionnel complet, voir notre <a href="https://github.com/mdn/to-do-notifications/">application To-do</a> (<a href="https://mdn.github.io/to-do-notifications/">exemple</a>).</p>
-</div>
+> **Note :** pour un exemple fonctionnel complet, voir notre [application To-do](https://github.com/mdn/to-do-notifications/) ([exemple](https://mdn.github.io/to-do-notifications/)).
-<h2 id="Spécifications">Spécifications</h2>
+## Spécifications
-<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-IDBObjectStore-add-IDBRequest-any-value-any-key', 'add()')}}</td>
- <td>{{Spec2('IndexedDB')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
+| Spécification | État | Commentaires |
+| ------------------------------------------------------------------------------------------------------------------------ | ---------------------------- | ------------ |
+| {{SpecName('IndexedDB', '#widl-IDBObjectStore-add-IDBRequest-any-value-any-key', 'add()')}} | {{Spec2('IndexedDB')}} |   |
-<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+## Compatibilité des navigateurs
-<p>{{Compat("api.IDBObjectStore.add")}}</p>
+{{Compat("api.IDBObjectStore.add")}}
-<h2 id="Voir_aussi">Voir aussi</h2>
+## Voir aussi
-<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>
+- [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/)).