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/idbrequest | |
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/idbrequest')
-rw-r--r-- | files/fr/web/api/idbrequest/error/index.md | 147 | ||||
-rw-r--r-- | files/fr/web/api/idbrequest/index.md | 141 | ||||
-rw-r--r-- | files/fr/web/api/idbrequest/onerror/index.md | 104 | ||||
-rw-r--r-- | files/fr/web/api/idbrequest/onsuccess/index.md | 106 | ||||
-rw-r--r-- | files/fr/web/api/idbrequest/readystate/index.md | 85 | ||||
-rw-r--r-- | files/fr/web/api/idbrequest/result/index.md | 53 | ||||
-rw-r--r-- | files/fr/web/api/idbrequest/source/index.md | 87 | ||||
-rw-r--r-- | files/fr/web/api/idbrequest/transaction/index.md | 93 |
8 files changed, 340 insertions, 476 deletions
diff --git a/files/fr/web/api/idbrequest/error/index.md b/files/fr/web/api/idbrequest/error/index.md index 1604f594ad..95598e8927 100644 --- a/files/fr/web/api/idbrequest/error/index.md +++ b/files/fr/web/api/idbrequest/error/index.md @@ -10,64 +10,39 @@ tags: - Reference translation_of: Web/API/IDBRequest/error --- -<div>{{APIRef("IndexedDB")}}</div> - -<p>La propriété <strong><code>error</code></strong> de l'interface {{domxref("IDBRequest")}} renvoie l'erreur associée lorsque la requête est un échec.</p> - -<p>{{AvailableInWorkers}}</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox">var myError = request.error;</pre> - -<h3 id="Valeur">Valeur</h3> - -<p>Une erreur {{domxref("DOMError")}} qui contient l'erreur pertinente. Pour Chrome 48 et les versions ultérieures, cette propriété est une {{domxref("DOMException")}} car <code>DOMError</code> a été retiré du standard pour le DOM. Les codes d'erreurs suivants sont utilisés selon les conditions d'erreur :</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Erreur</th> - <th scope="col">Explication</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>AbortError</code></td> - <td>Si on annule la transaction en cours, toutes les requêtes en cours reçoivent cette erreur.</td> - </tr> - <tr> - <td><code>ConstraintError</code></td> - <td>Erreur obtenue lorsqu'on tente d'insérer des données qui ne respectent pas une contrainte. C'est un type d'exception utilisé lorsqu'on crée des magasins d'objet et des index. On aura cette erreur lorsqu'on essaiera par exemple d'ajouter une clé qui existe déjà dans l'enregistrement.</td> - </tr> - <tr> - <td><code>QuotaExceededError</code></td> - <td>Erreur obtenue lorsque atteint le quota d'espace disque et que l'utilisateur refuse de céder plus d'espace mémoire.</td> - </tr> - <tr> - <td><code>UnknownError</code></td> - <td>Erreur obtenue lorsque l'opération a échoué pour des raisons qui ne sont pas propres à la base de données (par exemple une erreur d'écriture sur le disque).</td> - </tr> - <tr> - <td><code>NoError</code></td> - <td>Valeur utilisée lorsque la requête est réussie.</td> - </tr> - <tr> - <td><code>VersionError</code></td> - <td>Erreur obtenue lorsqu'on essaye d'ouvrir une base de données avec une version inférieure à celle dont elle dispose déjà.</td> - </tr> - </tbody> -</table> - -<p>En plus des codes d'erreur envoyés à l'objet {{domxref("IDBRequest")}}, les opérations asynchrones peuvent également déclencher des exceptions. La liste décrit les problèmes qui peuvent se produire lorsque la requête est en cours d'exécution mais d'autres problèmes peuvent apparaître lors de la construction de la requête. Ainsi, si la requête a échoué et que le résultat n'est pas disponible, l'exception <code>InvalidStateError </code>sera levée.</p> - -<h2 id="Exemples">Exemples</h2> - -<p>Dans l'exemple qui suit, on effectue une requête sur le titre de l'enregistrement. Le gestionnaire d'évèvenement <code>onsuccess</code> traite l'enregistrement obtenu depuis le magasin d'objet ({{domxref("IDBObjectStore")}}) et qui est disponible via <code>objectStoreTitleRequest.result</code>. Le gestionnaire met ensuite à jour une propriété de l'enregistrement puis replace l'enregistrement mis à jour dans le magasin d'objet.</p> - -<p>On dispose également d'une fonction <code>onerror</code> qui permet d'indiquer l'erreur qui s'est produite si la requêté échoue. Pour consulter un exemple complet, voir <a href="https://github.com/mdn/to-do-notifications/">l'application de notifications To-do</a> (cf. <a href="https://mdn.github.io/to-do-notifications/">la démonstration <em>live</em></a>).</p> - -<pre class="brush: js">var title = "Walk dog"; +{{APIRef("IndexedDB")}} + +La propriété **`error`** de l'interface {{domxref("IDBRequest")}} renvoie l'erreur associée lorsque la requête est un échec. + +{{AvailableInWorkers}} + +## Syntaxe + + var myError = request.error; + +### Valeur + +Une erreur {{domxref("DOMError")}} qui contient l'erreur pertinente. Pour Chrome 48 et les versions ultérieures, cette propriété est une {{domxref("DOMException")}} car `DOMError` a été retiré du standard pour le DOM. Les codes d'erreurs suivants sont utilisés selon les conditions d'erreur : + +| Erreur | Explication | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `AbortError` | Si on annule la transaction en cours, toutes les requêtes en cours reçoivent cette erreur. | +| `ConstraintError` | Erreur obtenue lorsqu'on tente d'insérer des données qui ne respectent pas une contrainte. C'est un type d'exception utilisé lorsqu'on crée des magasins d'objet et des index. On aura cette erreur lorsqu'on essaiera par exemple d'ajouter une clé qui existe déjà dans l'enregistrement. | +| `QuotaExceededError` | Erreur obtenue lorsque atteint le quota d'espace disque et que l'utilisateur refuse de céder plus d'espace mémoire. | +| `UnknownError` | Erreur obtenue lorsque l'opération a échoué pour des raisons qui ne sont pas propres à la base de données (par exemple une erreur d'écriture sur le disque). | +| `NoError` | Valeur utilisée lorsque la requête est réussie. | +| `VersionError` | Erreur obtenue lorsqu'on essaye d'ouvrir une base de données avec une version inférieure à celle dont elle dispose déjà. | + +En plus des codes d'erreur envoyés à l'objet {{domxref("IDBRequest")}}, les opérations asynchrones peuvent également déclencher des exceptions. La liste décrit les problèmes qui peuvent se produire lorsque la requête est en cours d'exécution mais d'autres problèmes peuvent apparaître lors de la construction de la requête. Ainsi, si la requête a échoué et que le résultat n'est pas disponible, l'exception `InvalidStateError `sera levée. + +## Exemples + +Dans l'exemple qui suit, on effectue une requête sur le titre de l'enregistrement. Le gestionnaire d'évèvenement `onsuccess` traite l'enregistrement obtenu depuis le magasin d'objet ({{domxref("IDBObjectStore")}}) et qui est disponible via `objectStoreTitleRequest.result`. Le gestionnaire met ensuite à jour une propriété de l'enregistrement puis replace l'enregistrement mis à jour dans le magasin d'objet. + +On dispose également d'une fonction `onerror` qui permet d'indiquer l'erreur qui s'est produite si la requêté échoue. Pour consulter un exemple complet, voir [l'application de notifications To-do](https://github.com/mdn/to-do-notifications/) (cf. [la démonstration _live_](https://mdn.github.io/to-do-notifications/)). + +```js +var title = "Walk dog"; // On ouvre une transaction var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); @@ -98,37 +73,25 @@ objectStoreTitleRequest.onerror = function() { // S'il se produit une erreur pendant la requête // on l'enregistre console.log("Il y a eu une erreur pour la récupération des données : " + objectStoreTitleRequest.error); -};</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-IDBRequest-error', 'error')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBRequest.error")}}</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> +}; +``` + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------- | ---------------------------- | ------------ | +| {{SpecName('IndexedDB', '#widl-IDBRequest-error', 'error')}} | {{Spec2('IndexedDB')}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBRequest.error")}} + +## 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/idbrequest/index.md b/files/fr/web/api/idbrequest/index.md index dac0d4018c..ef33447c2f 100644 --- a/files/fr/web/api/idbrequest/index.md +++ b/files/fr/web/api/idbrequest/index.md @@ -12,59 +12,56 @@ tags: - TopicStub translation_of: Web/API/IDBRequest --- -<p>{{APIRef("IndexedDB")}}</p> +{{APIRef("IndexedDB")}} -<p>L'interface <strong><code>IDBRequest</code></strong> de l'API IndexedDB donne accès par ses gestionnaires d'événements aux résultats des requêtes asynchrones sur la base de données, les magasins d'objets ou les index. Chaque opération d'écriture ou lecture sur la base de données utilise une requête.</p> +L'interface **`IDBRequest`** de l'API IndexedDB donne accès par ses gestionnaires d'événements aux résultats des requêtes asynchrones sur la base de données, les magasins d'objets ou les index. Chaque opération d'écriture ou lecture sur la base de données utilise une requête. -<p>Cet objet <strong><code>IDBRequest</code></strong> ne contient aucune information sur le résultat de l'opération, mais dès qu'une information est disponible un événement est déclenché. L'objet <strong><code>IDBRequest</code></strong> utilise ses gestionnaires d'événements pour le capter et mettre l'information à disposition.</p> +Cet objet **`IDBRequest`** ne contient aucune information sur le résultat de l'opération, mais dès qu'une information est disponible un événement est déclenché. L'objet **`IDBRequest`** utilise ses gestionnaires d'événements pour le capter et mettre l'information à disposition. -<p>Toute les opération asynchrone retourne immédiatement une instance <strong><code>IDBRequest</code></strong> avec une propriété <code>readyState</code> défini à <code>'pending'</code> qui passe à <code>'done'</code> lorsque la requête réussie ou échoue. Quand l'état passe à <code>done</code>, chaque requête retourne <code>result</code> et <code>error</code>, et un évènement est envoyé sur la requête. Quand l'état est sur <code>pending</code>, chaque accès à <code>result</code> ou <code>error</code> lève une exception <code>InvalidStateError</code>.</p> +Toute les opération asynchrone retourne immédiatement une instance **`IDBRequest`** avec une propriété `readyState` défini à `'pending'` qui passe à `'done'` lorsque la requête réussie ou échoue. Quand l'état passe à `done`, chaque requête retourne `result` et `error`, et un évènement est envoyé sur la requête. Quand l'état est sur `pending`, chaque accès à `result` ou `error` lève une exception `InvalidStateError`. -<p>Pour faire simple, chaque méthode asynchrome retourne un objet de requête. Si l'opération réussi, le résultat est disponible dans la propriété <code>result</code> et un évènement <code>success</code> est lancé ({{domxref("IDBRequest.onsuccess")}}). Si une erreur est rencontrée, une exeption est disponible dans la propriété <code>error</code> et un évènement <code>error</code> est lancé ({{domxref("IDBRequest.onerror")}}).</p> +Pour faire simple, chaque méthode asynchrome retourne un objet de requête. Si l'opération réussi, le résultat est disponible dans la propriété `result` et un évènement `success` est lancé ({{domxref("IDBRequest.onsuccess")}}). Si une erreur est rencontrée, une exeption est disponible dans la propriété `error` et un évènement `error` est lancé ({{domxref("IDBRequest.onerror")}}). -<p>L'interface {{domxref("IDBOpenDBRequest")}} est dérivé de <code>IDBRequest</code>.</p> +L'interface {{domxref("IDBOpenDBRequest")}} est dérivé de `IDBRequest`. -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<p>{{InheritanceDiagram}}</p> +{{InheritanceDiagram}} -<h2 id="Propriétés">Propriétés</h2> +## Propriétés -<p><em>Hérite des propriétés de {{domxref("EventTarget")}}.</em></p> +_Hérite des propriétés de {{domxref("EventTarget")}}._ -<dl> - <dt>{{domxref("IDBRequest.result","result")}} {{readonlyInline}}</dt> - <dd>La propriété <strong><code>result</code></strong> de l'interface <strong><code>IDBRequest</code></strong> renvoie le résultat de la requête. Si la requête est en cours, échoue ou que le résultat n'est pas disponible, l'exception <code>InvalidStateError</code> est levée.</dd> - <dt>{{domxref("IDBRequest.error","error")}} {{readonlyInline}}</dt> - <dd>La propriété <strong><code>error</code></strong> de l'interface <strong><code>IDBRequest</code></strong> indique le code de l'erreur survenue durant le traitement de la requête. Si la requête est en cours l'exception <code>InvalidStateError</code> est levée.</dd> - <dt>{{domxref("IDBRequest.source","source")}} {{readonlyInline}}</dt> - <dd>La propriété <strong><code>source</code></strong> de l'interface <strong><code>IDBRequest</code></strong> renvoie la source de la requête, tel qu'un {{domxref("IDBIndex","index")}}, un {{domxref("IDBObjectStore","magasin d'ojets")}} ou <code>null</code> s'il n'y a pas de source (lors de l'appel {{domxref("indexedDB.open")}} par exemple).</dd> - <dt>{{domxref("IDBRequest.transaction","transaction")}} {{readonlyInline}}</dt> - <dd>La propriété <strong><code>transaction</code></strong> de l'interface <strong><code>IDBRequest</code></strong> renvoie la {{domxref("IDBTransaction","transaction")}} dans laquelle on fait la requête. La propriété peut renvoyer <code>null</code> si requête se fait sans transaction, comme un objet IDBRequest renvoyé par {{domxref("IDBFactory.open")}} dans ce cas on est juste connecté à la base de données.</dd> - <dt>{{domxref("IDBRequest.readyState","readyState")}} {{readonlyInline}}</dt> - <dd>La propriété <strong><code>readyState</code></strong> de l'interface <strong><code>IDBRequest</code></strong> renvoie l'état de la requête. Chaque requête débute avec un statut <code>pending</code> et passe au statut <code>done</code> quand la requête réussie ou échoue.</dd> -</dl> +- {{domxref("IDBRequest.result","result")}} {{readonlyInline}} + - : La propriété **`result`** de l'interface **`IDBRequest`** renvoie le résultat de la requête. Si la requête est en cours, échoue ou que le résultat n'est pas disponible, l'exception `InvalidStateError` est levée. +- {{domxref("IDBRequest.error","error")}} {{readonlyInline}} + - : La propriété **`error`** de l'interface **`IDBRequest`** indique le code de l'erreur survenue durant le traitement de la requête. Si la requête est en cours l'exception `InvalidStateError` est levée. +- {{domxref("IDBRequest.source","source")}} {{readonlyInline}} + - : La propriété **`source`** de l'interface **`IDBRequest`** renvoie la source de la requête, tel qu'un {{domxref("IDBIndex","index")}}, un {{domxref("IDBObjectStore","magasin d'ojets")}} ou `null` s'il n'y a pas de source (lors de l'appel {{domxref("indexedDB.open")}} par exemple). +- {{domxref("IDBRequest.transaction","transaction")}} {{readonlyInline}} + - : La propriété **`transaction`** de l'interface **`IDBRequest`** renvoie la {{domxref("IDBTransaction","transaction")}} dans laquelle on fait la requête. La propriété peut renvoyer `null` si requête se fait sans transaction, comme un objet IDBRequest renvoyé par {{domxref("IDBFactory.open")}} dans ce cas on est juste connecté à la base de données. +- {{domxref("IDBRequest.readyState","readyState")}} {{readonlyInline}} + - : La propriété **`readyState`** de l'interface **`IDBRequest`** renvoie l'état de la requête. Chaque requête débute avec un statut `pending` et passe au statut `done` quand la requête réussie ou échoue. -<h2 id="Méthodes">Méthodes</h2> +## Méthodes -<p><em>Pas de méthodes spécifiques, mais hérite des méthodes de {{domxref("EventTarget")}}.</em></p> +_Pas de méthodes spécifiques, mais hérite des méthodes de {{domxref("EventTarget")}}._ -<h2 id="Gestionnaire_dévénement">Gestionnaire d'événement</h2> +## Gestionnaire d'événement -<p>On peut écouter les évènement avec <code>addEventListener()</code> ou bien en assignant un gestionnaire d'évènement à la propriété <code>on<em>eventname</em></code> de cette interface.</p> +On peut écouter les évènement avec `addEventListener()` ou bien en assignant un gestionnaire d'évènement à la propriété `oneventname` de cette interface. -<dl> - <dt>{{domxref("IDBRequest.onerror","onerror")}}</dt> - <dd>Le gestionnaire d'événement <strong><code>onerror</code></strong> de l'interface <strong><code>IDBRequest</code></strong> capte l'événement <code><a href="/en-US/docs/Web/Events/error">error</a></code>, déclenché quand une requête renvoie une erreur.</dd> - <dt>{{domxref("IDBRequest.onsuccess","onsuccess")}}</dt> - <dd>Le gestionnaire d'événement <strong><code>onsuccess</code></strong> de l'interface <strong><code>IDBRequest</code></strong> capte l'événement <code><a href="/en-US/docs/Web/Events/success">success</a></code>, déclenché quand la requête réussie.</dd> -</dl> +- {{domxref("IDBRequest.onerror","onerror")}} + - : Le gestionnaire d'événement **`onerror`** de l'interface **`IDBRequest`** capte l'événement [`error`](/en-US/docs/Web/Events/error), déclenché quand une requête renvoie une erreur. +- {{domxref("IDBRequest.onsuccess","onsuccess")}} + - : Le gestionnaire d'événement **`onsuccess`** de l'interface **`IDBRequest`** capte l'événement [`success`](/en-US/docs/Web/Events/success), déclenché quand la requête réussie. -<h2 id="Exemple">Exemple</h2> +## Exemple -<p>Dans l'exemple suivant, on ouvre une base de données et on fait une requête. Les gestionnaires d'événement <code>{{domxref("IDBRequest.onsuccess","onsuccess")}}</code> et <code>{{domxref("IDBRequest","onerror")}}</code> sont inclus. Pour un exemple de travail complet, voir notre application <a href="https://github.com/mdn/to-do-notifications/">To-do Notifications</a> (<a href="http://mdn.github.io/to-do-notifications/">voir l'exemple en direct</a>).</p> +Dans l'exemple suivant, on ouvre une base de données et on fait une requête. Les gestionnaires d'événement `{{domxref("IDBRequest.onsuccess","onsuccess")}}` et `{{domxref("IDBRequest","onerror")}}` sont inclus. Pour un exemple de travail complet, voir notre application [To-do Notifications](https://github.com/mdn/to-do-notifications/) ([voir l'exemple en direct](http://mdn.github.io/to-do-notifications/)). -<pre class="brush: js">var db; +```js +var db; // Ouvre une base de données. var DBOpenRequest = window.indexedDB.open("toDoList", 4); @@ -72,58 +69,34 @@ var DBOpenRequest = window.indexedDB.open("toDoList", 4); // Ces deux gestionnaires d'événement interviennent quand la dase de // de données s'ouvre ou non. DBOpenRequest.onerror = function(event) { - note.innerHTML += '<li>Error loading database.</li>'; + note.innerHTML += '<li>Error loading database.</li>'; }; DBOpenRequest.onsuccess = function(event) { - note.innerHTML += '<li>Database initialised.</li>'; + note.innerHTML += '<li>Database initialised.</li>'; // Affecte le resutat de l'ouverture à la variable. 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">Statut</th> - <th scope="col">Commentaire</th> - </tr> - <tr> - <td>{{SpecName('IndexedDB', '#idbrequest', 'IDBRequest')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td>Définition initiale.</td> - </tr> - <tr> - <td>{{SpecName("IndexedDB 2", "#request-api", "IDBRequest")}}</td> - <td>{{Spec2("IndexedDB 2")}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility">Compatibilité avec les navigateurs</h2> - -<div> -<div> -<div> - - -<p>{{Compat("api.IDBRequest")}}</p> -</div> -</div> -</div> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/API/IndexedDB_API/Using_IndexedDB">Utiliser IndexedDB</a></li> - <li>Démarrer une transaction: {{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 vos 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="http://mdn.github.io/to-do-notifications/">view example live</a>.)</li> -</ul> +}; +``` + +## Spécifications + +| Spécification | Statut | Commentaire | +| ---------------------------------------------------------------------------- | -------------------------------- | -------------------- | +| {{SpecName('IndexedDB', '#idbrequest', 'IDBRequest')}} | {{Spec2('IndexedDB')}} | Définition initiale. | +| {{SpecName("IndexedDB 2", "#request-api", "IDBRequest")}} | {{Spec2("IndexedDB 2")}} | | + +## Compatibilité avec les navigateurs + +{{Compat("api.IDBRequest")}} + +## Voir aussi + +- [Utiliser IndexedDB](/fr/docs/Web/API/IndexedDB_API/Using_IndexedDB) +- Démarrer une transaction: {{domxref("IDBDatabase")}} +- Utiliser les transactions: {{domxref("IDBTransaction")}} +- Définir un intervalle de clés: {{domxref("IDBKeyRange")}} +- Récupérer et modifier vos 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) ([view example live](http://mdn.github.io/to-do-notifications/).) diff --git a/files/fr/web/api/idbrequest/onerror/index.md b/files/fr/web/api/idbrequest/onerror/index.md index dc57020d05..edad1a851e 100644 --- a/files/fr/web/api/idbrequest/onerror/index.md +++ b/files/fr/web/api/idbrequest/onerror/index.md @@ -3,82 +3,70 @@ title: IDBRequest.onerror slug: Web/API/IDBRequest/onerror translation_of: Web/API/IDBRequest/onerror --- -<p>{{ APIRef("IndexedDB") }}</p> +{{ APIRef("IndexedDB") }} -<p>le gestionnaire d'événement <strong><code>onerror</code></strong> de l'interface {{domxref("IDBRequest")}} capte l'événement <code><a href="/en-US/docs/Web/Events/error">error</a></code>, déclenché quand une requête renvoie une erreur.</p> +le gestionnaire d'événement **`onerror`** de l'interface {{domxref("IDBRequest")}} capte l'événement [`error`](/en-US/docs/Web/Events/error), déclenché quand une requête renvoie une erreur. -<p>Le gestionnaire d'événement reçoit l'événement <a href="/en-US/docs/Web/Events/error">error</a> avec le type="error" en paramètre.</p> +Le gestionnaire d'événement reçoit l'événement [error](/en-US/docs/Web/Events/error) avec le type="error" en paramètre. -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="brush: js">request.onerror = function( event ) { ... };</pre> +```js +request.onerror = function( event ) { ... }; +``` -<h2 id="Exemple">Exemple</h2> +## Exemple -<p>L'exemple suivant demande un titre d'enregistrement donné, <code>onsuccess</code> obtient l'enregistrement associé au {{domxref("IDBObjectStore","magasin d'objets")}} (mis à disposition en tant que <code>objectStoreTitleRequest.result</code>), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement <code>onerror</code> affiche le code d'erreur si la {{domxref("IDBRequest","requête")}} échoue. Pour un exemple de travail complet, voir notre <a href="https://github.com/mdn/to-do-notifications/">To-do Notifications</a> app (<a href="http://mdn.github.io/to-do-notifications/">view example live</a>).</p> +L'exemple suivant demande un titre d'enregistrement donné, `onsuccess` obtient l'enregistrement associé au {{domxref("IDBObjectStore","magasin d'objets")}} (mis à disposition en tant que `objectStoreTitleRequest.result`), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement `onerror` affiche le code d'erreur si la {{domxref("IDBRequest","requête")}} échoue. Pour un exemple de travail complet, voir notre [To-do Notifications](https://github.com/mdn/to-do-notifications/) app ([view example live](http://mdn.github.io/to-do-notifications/)). -<pre>var title = "Walk dog"; + var title = "Walk dog"; -// Ouvrez une transaction comme d'habitude -var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); + // Ouvrez une transaction comme d'habitude + var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); -// Obtenez l'objet toDoList qui a ce titre -var objectStoreTitleRequest = objectStore.get(title); + // Obtenez l'objet toDoList qui a ce titre + var objectStoreTitleRequest = objectStore.get(title); -objectStoreTitleRequest.onsuccess = function() { - // Prenez l'objet de données renvoyé comme résultat - var data = objectStoreTitleRequest.result; + objectStoreTitleRequest.onsuccess = function() { + // Prenez l'objet de données renvoyé comme résultat + var data = objectStoreTitleRequest.result; - // Mettre à jour la valeur notified de l'objet à "yes" - data.notified = "yes"; + // Mettre à jour la valeur notified de l'objet à "yes" + data.notified = "yes"; - // Créer une autre requête qui insère le nouvelle élément dans la base de données - var updateTitleRequest = objectStore.put(data); + // Créer une autre requête qui insère le nouvelle élément dans la base de données + var updateTitleRequest = objectStore.put(data); - // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage - updateTitleRequest.onsuccess = function() { - displayData(); - }; -}; + // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage + updateTitleRequest.onsuccess = function() { + displayData(); + }; + }; -objectStoreTitleRequest.onerror = function() { - // Si une erreur se produit à la demande, on l'affiche - console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error); -}; -</pre> + objectStoreTitleRequest.onerror = function() { + // Si une erreur se produit à la demande, on l'affiche + console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error); + }; -<h2 id="Spécifications">Spécifications</h2> +## Spécifications -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaire</th> - </tr> - <tr> - <td>{{SpecName('IndexedDB', '#widl-IDBRequest-onerror', 'onerror')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - </tbody> -</table> +| Spécification | Statut | Commentaire | +| ------------------------------------------------------------------------------------ | ---------------------------- | ----------- | +| {{SpecName('IndexedDB', '#widl-IDBRequest-onerror', 'onerror')}} | {{Spec2('IndexedDB')}} | | -<h2 id="Browser_compatibility">Compatibilité des navigateurs</h2> +## Compatibilité des navigateurs -<p>{{Compat("api.IDBRequest.onerror")}}</p> +{{Compat("api.IDBRequest.onerror")}} -<h2 id="Voir_aussi">Voir aussi</h2> +## Voir aussi -<ul> - <li><a href="/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB">Using IndexedDB</a></li> - <li><a href="/en-US/docs/Web/Events/error">Error Event</a></li> - <li>Starting transactions: {{domxref("IDBDatabase")}}</li> - <li>Using transactions: {{domxref("IDBTransaction")}}</li> - <li>Setting a range of keys: {{domxref("IDBKeyRange")}}</li> - <li>Retrieving and making changes to your data: {{domxref("IDBObjectStore")}}</li> - <li>Using cursors: {{domxref("IDBCursor")}}</li> - <li>Reference example: <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a href="http://mdn.github.io/to-do-notifications/">view example live</a>.)</li> -</ul> +- [Using IndexedDB](/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB) +- [Error Event](/en-US/docs/Web/Events/error) +- Starting transactions: {{domxref("IDBDatabase")}} +- Using transactions: {{domxref("IDBTransaction")}} +- Setting a range of keys: {{domxref("IDBKeyRange")}} +- Retrieving and making changes to your data: {{domxref("IDBObjectStore")}} +- Using cursors: {{domxref("IDBCursor")}} +- Reference example: [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) ([view example live](http://mdn.github.io/to-do-notifications/).) diff --git a/files/fr/web/api/idbrequest/onsuccess/index.md b/files/fr/web/api/idbrequest/onsuccess/index.md index a13ed4c5e7..201d7b58cf 100644 --- a/files/fr/web/api/idbrequest/onsuccess/index.md +++ b/files/fr/web/api/idbrequest/onsuccess/index.md @@ -3,84 +3,70 @@ title: IDBRequest.onsuccess slug: Web/API/IDBRequest/onsuccess translation_of: Web/API/IDBRequest/onsuccess --- -<p>{{ APIRef("IndexedDB") }}</p> +{{ APIRef("IndexedDB") }} +Le gestionnaire d'événement **`onsuccess`** de l'interface {{domxref("IDBRequest")}} capte l'événement [`success`](/en-US/docs/Web/Events/success), déclenché quand la requête réussie. -<p>Le gestionnaire d'événement <strong><code>onsuccess</code></strong> de l'interface {{domxref("IDBRequest")}} capte l'événement <code><a href="/en-US/docs/Web/Events/success">success</a></code>, déclenché quand la requête réussie.</p> +Le gestionnaire d'événement un événement [success](/en-US/docs/Web/Events/success) avec le type="success" en paramètre. -<p>Le gestionnaire d'événement un événement <a href="/en-US/docs/Web/Events/success">success</a> avec le type="success" en paramètre.</p> +{{AvailableInWorkers}} -<p>{{AvailableInWorkers}}</p> +## Syntaxe +```js +request.onsuccess = function( event ) { ... }; +``` -<h2 id="Syntaxe">Syntaxe</h2> +## Exemple -<pre class="brush: js">request.onsuccess = function( event ) { ... };</pre> +L'exemple suivant demande un titre d'enregistrement donné, `onsuccess` obtient l'enregistrement associé de {{domxref("IDBObjectStore")}} (mis à disposition en tant que `objectStoreTitleRequest.result`), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement `onerror` affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre [To-do Notifications](https://github.com/mdn/to-do-notifications/) app ([view example live](http://mdn.github.io/to-do-notifications/)). -<h2 id="Exemple">Exemple</h2> + var title = "Walk dog"; -<p>L'exemple suivant demande un titre d'enregistrement donné, <code>onsuccess</code> obtient l'enregistrement associé de {{domxref("IDBObjectStore")}} (mis à disposition en tant que <code>objectStoreTitleRequest.result</code>), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objets. En bas le gestionnaire d'événement <code>onerror</code> affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre <a href="https://github.com/mdn/to-do-notifications/">To-do Notifications</a> app (<a href="http://mdn.github.io/to-do-notifications/">view example live</a>).</p> + // Ouvrez une transaction comme d'habitude + var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); -<pre>var title = "Walk dog"; + // Obtenez l'objet toDoList qui a ce titre + var objectStoreTitleRequest = objectStore.get(title); -// Ouvrez une transaction comme d'habitude -var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); + objectStoreTitleRequest.onsuccess = function() { + // Prenez l'objet de données renvoyé comme résultat + var data = objectStoreTitleRequest.result; -// Obtenez l'objet toDoList qui a ce titre -var objectStoreTitleRequest = objectStore.get(title); + // Mettre à jour la valeur notified de l'objet à "yes" + data.notified = "yes"; -objectStoreTitleRequest.onsuccess = function() { - // Prenez l'objet de données renvoyé comme résultat - var data = objectStoreTitleRequest.result; + // Créer une autre requête qui insère le nouvelle élément dans la base de données + var updateTitleRequest = objectStore.put(data); - // Mettre à jour la valeur notified de l'objet à "yes" - data.notified = "yes"; + // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage + updateTitleRequest.onsuccess = function() { + displayData(); + }; + }; - // Créer une autre requête qui insère le nouvelle élément dans la base de données - var updateTitleRequest = objectStore.put(data); + objectStoreTitleRequest.onerror = function() { + // Si une erreur se produit à la demande, on l'affiche + console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error); + }; - // Lorsque cette requête réussit, appelle de la fonction displayData() pour mettre à jour l'affichage - updateTitleRequest.onsuccess = function() { - displayData(); - }; -}; +## Spécifications -objectStoreTitleRequest.onerror = function() { - // Si une erreur se produit à la demande, on l'affiche - console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error); -}; -</pre> +| Spécification | Statut | Commentaire | +| -------------------------------------------------------------------------------------------- | ---------------------------- | ----------- | +| {{SpecName('IndexedDB', '#widl-IDBRequest-onsuccess', 'onsuccess')}} | {{Spec2('IndexedDB')}} | | -<h2 id="Spécifications">Spécifications</h2> +## Compatibilité des navigateurs -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaire</th> - </tr> - <tr> - <td>{{SpecName('IndexedDB', '#widl-IDBRequest-onsuccess', 'onsuccess')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - </tbody> -</table> +{{Compat("api.IDBRequest.onsuccess")}} -<h2 id="Browser_compatibility">Compatibilité des navigateurs</h2> +## Voir aussi -<p>{{Compat("api.IDBRequest.onsuccess")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB">Using IndexedDB</a></li> - <li><a href="/en-US/docs/Web/Events/success">Success Event</a></li> - <li>Starting transactions: {{domxref("IDBDatabase")}}</li> - <li>Using transactions: {{domxref("IDBTransaction")}}</li> - <li>Setting a range of keys: {{domxref("IDBKeyRange")}}</li> - <li>Retrieving and making changes to your data: {{domxref("IDBObjectStore")}}</li> - <li>Using cursors: {{domxref("IDBCursor")}}</li> - <li>Reference example: <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a href="http://mdn.github.io/to-do-notifications/">view example live</a>.)</li> -</ul> +- [Using IndexedDB](/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB) +- [Success Event](/en-US/docs/Web/Events/success) +- Starting transactions: {{domxref("IDBDatabase")}} +- Using transactions: {{domxref("IDBTransaction")}} +- Setting a range of keys: {{domxref("IDBKeyRange")}} +- Retrieving and making changes to your data: {{domxref("IDBObjectStore")}} +- Using cursors: {{domxref("IDBCursor")}} +- Reference example: [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) ([view example live](http://mdn.github.io/to-do-notifications/).) diff --git a/files/fr/web/api/idbrequest/readystate/index.md b/files/fr/web/api/idbrequest/readystate/index.md index 2a91b7552e..710868b47b 100644 --- a/files/fr/web/api/idbrequest/readystate/index.md +++ b/files/fr/web/api/idbrequest/readystate/index.md @@ -9,27 +9,28 @@ tags: - Reference translation_of: Web/API/IDBRequest/readyState --- -<div>{{APIRef("IndexedDB")}}</div> +{{APIRef("IndexedDB")}} -<p>La propriété <strong><code>readyState</code></strong>, rattachée à l'interface {{domxref("IDBRequest")}}, est une propriété en lecture seule qui indique l'état de la requête.</p> +La propriété **`readyState`**, rattachée à l'interface {{domxref("IDBRequest")}}, est une propriété en lecture seule qui indique l'état de la requête. -<p>Chaque requête démarre avec l'état <code>pending</code> (c'est-à-dire en attente). Cet état vaut ensuite <code>done</code> (fini) lorsque la requête est terminée (en cas de réussite de l'opération comme en cas d'échec).</p> +Chaque requête démarre avec l'état `pending` (c'est-à-dire en attente). Cet état vaut ensuite `done` (fini) lorsque la requête est terminée (en cas de réussite de l'opération comme en cas d'échec). -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">var <em>currentReadyState</em> = <em>request</em>.readyState;</pre> + var currentReadyState = request.readyState; -<h3 id="Valeur">Valeur</h3> +### Valeur -<p>La valeur {{domxref("IDBRequestReadyState")}} de la requête, qui peut être l'un de deux valeurs. <code>pending</code> lorsque la requête est en attente, <code>done</code> lorsque celle-ci est finie.</p> +La valeur {{domxref("IDBRequestReadyState")}} de la requête, qui peut être l'un de deux valeurs. `pending` lorsque la requête est en attente, `done` lorsque celle-ci est finie. -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Dans l'exemple qui suit, on effectue une requête sur un enregistrement avec un titre donné et on recupère l'enregistrement associé grâce au gestionnaire d'évènement <code>onsuccess</code> à partir du magasin d'objets {{domxref("IDBObjectStore")}}. Ensuite, on met à jour une des propriétés de cet enregistrement et on replace cet objet mis à jour dans le magasin d'objets via une autre requête. La valeur de la propriété <code>readyState</code> pour la deuxième requête est affichée dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre appliction <a href="https://github.com/mdn/to-do-notifications/">To-do Notifications</a> (<a href="https://mdn.github.io/to-do-notifications/">cf. également l'exemple <em>live</em></a>).</p> +Dans l'exemple qui suit, on effectue une requête sur un enregistrement avec un titre donné et on recupère l'enregistrement associé grâce au gestionnaire d'évènement `onsuccess` à partir du magasin d'objets {{domxref("IDBObjectStore")}}. Ensuite, on met à jour une des propriétés de cet enregistrement et on replace cet objet mis à jour dans le magasin d'objets via une autre requête. La valeur de la propriété `readyState` pour la deuxième requête est affichée dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre appliction [To-do Notifications](https://github.com/mdn/to-do-notifications/) ([cf. également l'exemple _live_](https://mdn.github.io/to-do-notifications/)). -<pre class="brush: js">var title = "Walk dog"; +```js +var title = "Walk dog"; // On ouvre une transaction var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); @@ -58,42 +59,26 @@ objectStoreTitleRequest.onsuccess = function() { updateTitleRequest.onsuccess = function() { displayData(); }; -};</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-IDBRequest-readyState', 'readyState')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName("IndexedDB 2", "#dom-idbrequest-readystate", "readyState")}}</td> - <td>{{Spec2("IndexedDB 2")}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBRequest.readyState")}}</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-IDBRequest-readyState', 'readyState')}} | {{Spec2('IndexedDB')}} | | +| {{SpecName("IndexedDB 2", "#dom-idbrequest-readystate", "readyState")}} | {{Spec2("IndexedDB 2")}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBRequest.readyState")}} + +## 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/idbrequest/result/index.md b/files/fr/web/api/idbrequest/result/index.md index 066ba37fa7..69b9d13094 100644 --- a/files/fr/web/api/idbrequest/result/index.md +++ b/files/fr/web/api/idbrequest/result/index.md @@ -4,29 +4,27 @@ slug: Web/API/IDBRequest/result translation_of: Web/API/IDBRequest/result browser-compat: api.IDBRequest.result --- -<div>{{APIRef("IndexedDB")}}</div> +{{APIRef("IndexedDB")}} -<p>La propriété <strong><code>result</code></strong>, rattachée à l'interface <a href="/fr/docs/Web/API/IDBRequest"><code>IDBRequest</code></a>, renvoie le résultat de la requête. Si la requête échoue et que le résultat n'est pas disponible, une exception <code>InvalidStateError</code> sera levée.</p> +La propriété **`result`**, rattachée à l'interface [`IDBRequest`](/fr/docs/Web/API/IDBRequest), renvoie le résultat de la requête. Si la requête échoue et que le résultat n'est pas disponible, une exception `InvalidStateError` sera levée. -<div class="note"> - <p><strong>Note :</strong> Cette fonctionnalité est disponible via les <a href="/fr/docs/Web/API/Web_Workers_API">Web Workers</a>.</p> -</div> +> **Note :** Cette fonctionnalité est disponible via les [Web Workers](/fr/docs/Web/API/Web_Workers_API). -<h2 id="syntax">Syntaxe</h2> +## Syntaxe -<pre class="brush: js"> +```js let resultat = request.result; -</pre> +``` -<h3 id="value">Valeur</h3> +### Valeur -<p>La valeur du résultat de la requête (le type dépend des objets du magasin d'objets).</p> +La valeur du résultat de la requête (le type dépend des objets du magasin d'objets). -<h2 id="example">Exemple</h2> +## Exemple -<p>Dans l'exemple qui suit, on souhaite récupérer l'enregistrement qui correspond à un titre donné. Le gestionnaire d'évènements <code>onsuccess</code> permet de récupérer l'enregistrement contenu dans le magasin d'objet (<a href="/fr/docs/Web/API/IDBObjectStore"><code>IDBObjectStore</code></a>) (via <code>objectStoreTitleRequest.result</code>). Ensuite, on met à jour une propriété de cet enregistrement et on replace cet enregistrement dans le magasin d'objet. Pour un exemple fonctionnel complet, voir <a href="https://github.com/mdn/to-do-notifications/">l'application To-do Notifications</a> (<a href="https://mdn.github.io/to-do-notifications/">voir l'exemple <i>live</i></a>).</p> +Dans l'exemple qui suit, on souhaite récupérer l'enregistrement qui correspond à un titre donné. Le gestionnaire d'évènements `onsuccess` permet de récupérer l'enregistrement contenu dans le magasin d'objet ([`IDBObjectStore`](/fr/docs/Web/API/IDBObjectStore)) (via `objectStoreTitleRequest.result`). Ensuite, on met à jour une propriété de cet enregistrement et on replace cet enregistrement dans le magasin d'objet. Pour un exemple fonctionnel complet, voir [l'application To-do Notifications](https://github.com/mdn/to-do-notifications/) ([voir l'exemple _live_](https://mdn.github.io/to-do-notifications/)). -<pre class="brush: js;"> +```js let title = "Promener le chien"; // On ouvre une transaction en lecture/écriture @@ -49,24 +47,23 @@ objectStoreTitleRequest.onsuccess = function() { updateTitleRequest.onsuccess = function() { displayData(); }; -};</pre> +}; +``` -<h2 id="specifications">Spécifications</h2> +## Spécifications -<p>{{Specifications}}</p> +{{Specifications}} -<h2 id="browser_compatibility">Compatibilité des navigateurs</h2> +## Compatibilité des navigateurs -<p>{{Compat}}</p> +{{Compat}} -<h2 id="see_also">Voir aussi</h2> +## Voir aussi -<ul> - <li><a href="/fr/docs/Web/API/IndexedDB_API/Using_IndexedDB">Utiliser IndexedDB</a></li> - <li>Initier une transaction : <a href="/fr/docs/Web/API/IDBDatabase"><code>IDBDatabase</code></a></li> - <li>Utiliser les transactions : <a href="/fr/docs/Web/API/IDBTransaction"><code>IDBTransaction</code></a></li> - <li>Définir un intervalle de clés : <a href="/fr/docs/Web/API/IDBKeyRange"><code>IDBKeyRange</code></a></li> - <li>Récupérer et modifier les données : <a href="/fr/docs/Web/API/IDBObjectStore"><code>IDBObjectStore</code></a></li> - <li>Utiliser les curseurs : <a href="/fr/docs/Web/API/IDBCursor"><code>IDBCursor</code></a></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 <i>live</i></a>).</li> -</ul> +- [Utiliser IndexedDB](/fr/docs/Web/API/IndexedDB_API/Using_IndexedDB) +- Initier une transaction : [`IDBDatabase`](/fr/docs/Web/API/IDBDatabase) +- Utiliser les transactions : [`IDBTransaction`](/fr/docs/Web/API/IDBTransaction) +- Définir un intervalle de clés : [`IDBKeyRange`](/fr/docs/Web/API/IDBKeyRange) +- Récupérer et modifier les données : [`IDBObjectStore`](/fr/docs/Web/API/IDBObjectStore) +- Utiliser les curseurs : [`IDBCursor`](/fr/docs/Web/API/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/idbrequest/source/index.md b/files/fr/web/api/idbrequest/source/index.md index 8a03050021..68ea7bf33d 100644 --- a/files/fr/web/api/idbrequest/source/index.md +++ b/files/fr/web/api/idbrequest/source/index.md @@ -9,28 +9,28 @@ tags: - Reference translation_of: Web/API/IDBRequest/source --- -<div>{{APIRef("IndexedDB")}}</div> +{{APIRef("IndexedDB")}} -<p>La propriété <strong><code>source</code></strong> est une propriété en lecture seule, rattachée à l'interface {{domxref("IDBRequest")}}, et qui indique la source de la requête (c'est-à-dire l'index ou le magasin d'objets utilisé). Si aucune source n'existe (par exemple car on a appelé {{domxref("indexedDB.open")}}), la propriété vaut <code>null</code>.</p> +La propriété **`source`** est une propriété en lecture seule, rattachée à l'interface {{domxref("IDBRequest")}}, et qui indique la source de la requête (c'est-à-dire l'index ou le magasin d'objets utilisé). Si aucune source n'existe (par exemple car on a appelé {{domxref("indexedDB.open")}}), la propriété vaut `null`. -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">var <em>IDBIndex</em> = <em>request</em>.source; -var <em>IDBCursor</em> = <em>request</em>.source; -var <em>IDBObjectStore</em> = <em>request</em>.source; -</pre> + var IDBIndex = request.source; + var IDBCursor = request.source; + var IDBObjectStore = request.source; -<h3 id="Valeur">Valeur</h3> +### Valeur -<p>Un objet qui représente la source de la requête. Ce peut être un objet {{domxref("IDBIndex")}}, {{domxref("IDBObjectStore")}} ou un objet {{domxref("IDBCursor")}}.</p> +Un objet qui représente la source de la requête. Ce peut être un objet {{domxref("IDBIndex")}}, {{domxref("IDBObjectStore")}} ou un objet {{domxref("IDBCursor")}}. -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Dans l'exemple qui suit, on récupère un enregistrement avec un titre donné depuis un magasin d'objets. Ensuite, on met à jour une des propriétés de cet enregistrement et on met à jour le magasin d'objets en insérant cet objet modifié. Lors de cette deuxième requête, on affiche la source dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre application <a href="https://github.com/mdn/to-do-notifications/">To-do Notifications</a> (<a href="https://mdn.github.io/to-do-notifications/">cf. l'exemple <em>live</em></a>).</p> +Dans l'exemple qui suit, on récupère un enregistrement avec un titre donné depuis un magasin d'objets. Ensuite, on met à jour une des propriétés de cet enregistrement et on met à jour le magasin d'objets en insérant cet objet modifié. Lors de cette deuxième requête, on affiche la source dans la console. Pour consulter un exemple fonctionnel complet, vous pouvez vous référer à notre application [To-do Notifications](https://github.com/mdn/to-do-notifications/) ([cf. l'exemple _live_](https://mdn.github.io/to-do-notifications/)). -<pre class="brush: js">var title = "Walk dog"; +```js +var title = "Walk dog"; // On ouvre une transaction var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); @@ -61,42 +61,25 @@ objectStoreTitleRequest.onsuccess = function() { // l'affichage updateTitleRequest.onsuccess = function() { displayData(); }; }; -</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-IDBRequest-source', 'source')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName("IndexedDB 2", "#dom-idbrequest-source", "source")}}</td> - <td>{{Spec2("IndexedDB 2")}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBRequest.source")}}</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-IDBRequest-source', 'source')}} | {{Spec2('IndexedDB')}} | | +| {{SpecName("IndexedDB 2", "#dom-idbrequest-source", "source")}} | {{Spec2("IndexedDB 2")}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBRequest.source")}} + +## 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/idbrequest/transaction/index.md b/files/fr/web/api/idbrequest/transaction/index.md index a81f6d0774..1bbf05d769 100644 --- a/files/fr/web/api/idbrequest/transaction/index.md +++ b/files/fr/web/api/idbrequest/transaction/index.md @@ -3,29 +3,30 @@ title: IDBRequest.transaction slug: Web/API/IDBRequest/transaction translation_of: Web/API/IDBRequest/transaction --- -<p>{{ APIRef("IndexedDB") }}</p> +{{ APIRef("IndexedDB") }} -<p>La propriété <strong><code>transaction</code></strong> de l'interface IDBRequest renvoie la {{domxref("IDBTransaction","transaction")}} dans laquelle on fait la requête.La propriètè peut renvoiyer <code>null</code> si requête se fait sans transaction, comme un objet IDBRequest renvoyé par {{domxref("IDBFactory.open")}} dans ce cas on est juste connecté à la base de données.</p> +La propriété **`transaction`** de l'interface IDBRequest renvoie la {{domxref("IDBTransaction","transaction")}} dans laquelle on fait la requête.La propriètè peut renvoiyer `null` si requête se fait sans transaction, comme un objet IDBRequest renvoyé par {{domxref("IDBFactory.open")}} dans ce cas on est juste connecté à la base de données. -<div class="note"> - <p><strong>Note :</strong> Durant la gestion d'un événement {{domxref("IDBOpenDBRequest.onupgradeneeded", "upgradeneeded")}} qui met à jour la version de la base de données, la propriété <strong><code>transaction</code></strong> doit être une {{domxref("IDBTransaction","transaction")}} ouverte en {{domxref("IDBTransaction.mode", "mode")}} <code>"versionchange"</code>, on peut alors accéder aux {{domxref("IDBObjectStore","magasins d'objets")}} et {{domxref("IDBIndex","index")}} ou annulé la mise à niveau. Après quoi, la propriété <strong><code>transaction</code></strong> renverra encore <code>null</code>.</p> -</div> +> **Note :** Durant la gestion d'un événement {{domxref("IDBOpenDBRequest.onupgradeneeded", "upgradeneeded")}} qui met à jour la version de la base de données, la propriété **`transaction`** doit être une {{domxref("IDBTransaction","transaction")}} ouverte en {{domxref("IDBTransaction.mode", "mode")}} `"versionchange"`, on peut alors accéder aux {{domxref("IDBObjectStore","magasins d'objets")}} et {{domxref("IDBIndex","index")}} ou annulé la mise à niveau. Après quoi, la propriété **`transaction`** renverra encore `null`. -<p>{{AvailableInWorkers}}</p> +{{AvailableInWorkers}} -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="brush: js">var myTransaction = request.transaction;</pre> +```js +var myTransaction = request.transaction; +``` -<h3 id="Valeur">Valeur</h3> +### Valeur -<p>Une {{domxref("IDBTransaction","transaction")}}.</p> +Une {{domxref("IDBTransaction","transaction")}}. -<h2 id="Exemple">Exemple</h2> +## Exemple -<p>L'exemple suivant demande un titre d'enregistrement donné, <code>onsuccess</code> obtient l'enregistrement associé du {{domxref("IDBObjectStore","magasin d'objects")}} (mis à disposition en tant que <code>objectStoreTitleRequest.result</code>), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objects. La {{domxref("IDBTransaction","transaction")}} à l'origine de la deuxième {{domxref("IBBRequest","requête")}} est affichée sur la console du développeur (Ps, les deux requêtes proviennent de la même transaction). En bas est une fonction onerror qui affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre <a href="https://github.com/mdn/to-do-notifications/">To-do Notifications</a> app (<a href="http://mdn.github.io/to-do-notifications/">view example live</a>).</p> +L'exemple suivant demande un titre d'enregistrement donné, `onsuccess` obtient l'enregistrement associé du {{domxref("IDBObjectStore","magasin d'objects")}} (mis à disposition en tant que `objectStoreTitleRequest.result`), on met à jour une propriété de l'enregistrement, puis le sauve dans le magasin d'objects. La {{domxref("IDBTransaction","transaction")}} à l'origine de la deuxième {{domxref("IBBRequest","requête")}} est affichée sur la console du développeur (Ps, les deux requêtes proviennent de la même transaction). En bas est une fonction onerror qui affiche le code d'erreur si la requête échoue. Pour un exemple de travail complet, voir notre [To-do Notifications](https://github.com/mdn/to-do-notifications/) app ([view example live](http://mdn.github.io/to-do-notifications/)). -<pre class="brush: js">var title = "Walk dog"; +```js +var title = "Walk dog"; // Ouvrez une transaction comme d'habitude var objectStore = db.transaction(['toDoList'], "readwrite").objectStore('toDoList'); @@ -55,21 +56,22 @@ objectStoreTitleRequest.onerror = function() { // Si une erreur pendant la requête, on l'affiche console.log("Il y a eu une erreur dans la récupération des données: " + objectStoreTitleRequest.error); }; -</pre> +``` -<p>Cet exemple montre comment la propriété <strong><code>transaction</code></strong> peut être utilisé pendant une mise à niveau de version pour accéder à des {{domxref("IDBObjectStore","magasins d'objects")}} existants: </p> +Cet exemple montre comment la propriété **`transaction`** peut être utilisé pendant une mise à niveau de version pour accéder à des {{domxref("IDBObjectStore","magasins d'objects")}} existants: -<pre class="brush: js">var openRequest = indexedDB.open('db', 2); +```js +var openRequest = indexedDB.open('db', 2); console.log(openRequest.transaction); // Affiche "null". openRequest.onupgradeneeded = function(event) { console.log(openRequest.transaction.mode); // Affiche "versionchange". var db = openRequest.result; - if (event.oldVersion < 1) { + if (event.oldVersion < 1) { // Nouvelle base de données, créer un magasin d'objets "livres". db.createObjectStore('books'); } - if (event.oldVersion < 2) { + if (event.oldVersion < 2) { // Mise à niveau de la base de données v1: ajoute un index sur "title" pour stocker les livres. var bookStore = openRequest.transaction.objectStore('books'); bookStore.createIndex('by_title', 'title'); @@ -79,37 +81,24 @@ openRequest.onupgradeneeded = function(event) { openRequest.onsuccess = function() { console.log(openRequest.transaction); // Affiche "null". }; -</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">Statut</th> - <th scope="col">Commentaire</th> - </tr> - <tr> - <td>{{SpecName('IndexedDB', '#widl-IDBRequest-transaction', 'transaction')}}</td> - <td>{{Spec2('IndexedDB')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Browser_compatibility">Compatibilité des navigateurs</h2> - -<p>{{Compat("api.IDBRequest.transaction")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB">Using IndexedDB</a></li> - <li>Starting transactions: {{domxref("IDBDatabase")}}</li> - <li>Using transactions: {{domxref("IDBTransaction")}}</li> - <li>Setting a range of keys: {{domxref("IDBKeyRange")}}</li> - <li>Retrieving and making changes to your data: {{domxref("IDBObjectStore")}}</li> - <li>Using cursors: {{domxref("IDBCursor")}}</li> - <li>Reference example: <a href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a href="http://mdn.github.io/to-do-notifications/">view example live</a>.)</li> -</ul> +``` + +## Spécifications + +| Spécification | Statut | Commentaire | +| ------------------------------------------------------------------------------------------------ | ---------------------------- | ----------- | +| {{SpecName('IndexedDB', '#widl-IDBRequest-transaction', 'transaction')}} | {{Spec2('IndexedDB')}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBRequest.transaction")}} + +## Voir aussi + +- [Using IndexedDB](/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB) +- Starting transactions: {{domxref("IDBDatabase")}} +- Using transactions: {{domxref("IDBTransaction")}} +- Setting a range of keys: {{domxref("IDBKeyRange")}} +- Retrieving and making changes to your data: {{domxref("IDBObjectStore")}} +- Using cursors: {{domxref("IDBCursor")}} +- Reference example: [To-do Notifications](https://github.com/mdn/to-do-notifications/tree/gh-pages) ([view example live](http://mdn.github.io/to-do-notifications/).) |