diff options
author | MDN <actions@users.noreply.github.com> | 2022-02-17 00:50:41 +0000 |
---|---|---|
committer | MDN <actions@users.noreply.github.com> | 2022-02-17 00:50:41 +0000 |
commit | ca4e750a3400bfd4208831391f115d2f76da23ff (patch) | |
tree | d62c647c9a49175619cf7c619915e02360088c96 /files/fr/conflicting/web/api | |
parent | c4f16c96e4b566dda3d48b91ebbb85de5c0a2ec3 (diff) | |
download | translated-content-ca4e750a3400bfd4208831391f115d2f76da23ff.tar.gz translated-content-ca4e750a3400bfd4208831391f115d2f76da23ff.tar.bz2 translated-content-ca4e750a3400bfd4208831391f115d2f76da23ff.zip |
[CRON] sync translated content
Diffstat (limited to 'files/fr/conflicting/web/api')
4 files changed, 382 insertions, 0 deletions
diff --git a/files/fr/conflicting/web/api/idbtransaction/abort_event/index.md b/files/fr/conflicting/web/api/idbtransaction/abort_event/index.md new file mode 100644 index 0000000000..86174af7c3 --- /dev/null +++ b/files/fr/conflicting/web/api/idbtransaction/abort_event/index.md @@ -0,0 +1,76 @@ +--- +title: IDBDatabase.onabort +slug: conflicting/Web/API/IDBTransaction/abort_event +tags: + - API + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBDatabase/onabort +original_slug: Web/API/IDBDatabase/onabort +--- +{{APIRef("IndexedDB")}} + +Le gestionnaire d'événement **`onabort`**, rattaché à l'interface {{domxref("IDBDatabase")}}, s'exécute au déclenchement de l'événement `abort`, lorsque la tentative d’accès à la base de données est interrompue. + +{{AvailableInWorkers}} + +## Syntaxe + +```js +db.onabort = function() { ... } +``` + +## Exemple + +Cette exemple illustre un gestionnaire d'événement {{domxref("IDBOpenDBRequest.onupgradeneeded")}} dans lequel on ajoute un magasin d'objet et les deux gestionnaires d'événement `onerror` et `onabort` pour gérer les cas d'échec. + +```js +DBOpenRequest.onupgradeneeded = function(event) { + var db = event.target.result; + + db.onerror = function() { + note.innerHTML += '<li>Erreur du chargement de la base de données.</li>'; + }; + + db.onabort = function() { + note.innerHTML += '<li>L\'ouverture de la connexion à été annulée !</li>'; + }; + + // On ajoute un magasin d'objet à la base de données + + var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" }); + + // On définit les index du magasin + + objectStore.createIndex("hours", "hours", { unique: false }); + objectStore.createIndex("minutes", "minutes", { unique: false }); + objectStore.createIndex("day", "day", { unique: false }); + objectStore.createIndex("month", "month", { unique: false }); + objectStore.createIndex("year", "year", { unique: false }); + + objectStore.createIndex("notified", "notified", { unique: false }); + + note.innerHTML += '<li>Le magasin d\'objets à été ajouté.</li>'; +}; +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------------------- | ---------------------------- | ------------ | +| {{SpecName('IndexedDB', '#widl-IDBDatabase-onabort', 'onabort')}} | {{Spec2('IndexedDB')}} | | + +## Compatibilité avec les navigateurs + +{{Compat("api.IDBDatabase.onabort")}} + +## 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/conflicting/web/api/idbtransaction/abort_event_0945f0eeba3f0bcb487692fdcd8d6f40/index.md b/files/fr/conflicting/web/api/idbtransaction/abort_event_0945f0eeba3f0bcb487692fdcd8d6f40/index.md new file mode 100644 index 0000000000..c67dfd0162 --- /dev/null +++ b/files/fr/conflicting/web/api/idbtransaction/abort_event_0945f0eeba3f0bcb487692fdcd8d6f40/index.md @@ -0,0 +1,108 @@ +--- +title: IDBTransaction.onabort +slug: >- + conflicting/Web/API/IDBTransaction/abort_event_0945f0eeba3f0bcb487692fdcd8d6f40 +tags: + - API + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBTransaction/onabort +original_slug: Web/API/IDBTransaction/onabort +--- +{{APIRef("IndexedDB")}} + +Le gestionnaire d'événement **`onabort`**, rattaché à l'interface {{domxref("IDBTransaction")}}, s'exécute au déclenchement d'un événement [`abort`](/fr/docs/Web/Events/abort), lorsque la transaction a été annulée avec la méthode {{domxref("IDBTransaction.abort")}}. + +{{AvailableInWorkers}} + +## Syntaxe + +```js +transaction.onabort = function() { ... }; +``` + +## Exemple + +Dans le code suivant, on ouvre une connexion à la base de données. Sur cette connexion, on démarre une transaction avec {{domxref("IDBTransaction")}} en lecture/écriture pour accéder au magasin d'objets intitulé `"toDoList"` et y ajouter un enregistrement (grâce à la méthode {{domxref("IDBObjectStore.add")}}). On notera également l'utilisation des gestionnaires d'événement {{domxref("IDBTransaction.oncomplete")}} et {{domxref("IDBTransaction.onerror")}} qui affichent le résultat de la transaction sur la page. + +On voit ici le gestionnaire d'événement **`onabort`** qui est utilisé pour afficher un message sur la console du développeur. + +```js +// Connexion à la base de données +var DBOpenRequest = window.indexedDB.open("toDoList", 4); + +DBOpenRequest.onsuccess = function(event) { + note.innerHTML += '<li>Connexion établie.</li>'; + + // On affecte la connexion à la variable db. + db = DBOpenRequest.result; + + // On exécute la fonction addData () afin de + // stocker des données dans la base + addData(); +}; + +function addData() { + // Voici un nouvel objet prêt à être emmagasiné + newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ]; + + // On ouvre une transaction en lecture/écriture, prête + // à traiter des données sur la connexion + var transaction = db.transaction(["toDoList"], "readwrite"); + + // On utilise oncomplete en cas de succès de + // l'ouverture de la transaction + transaction.oncomplete = function(event) { + note.innerHTML += '<li>Transaction terminée : modification de la base de données OK.</li>'; + }; + + // En cas d'échec de l'ouverture, ce sera + // le gestionnaire onerror qui interviendra + transaction.onerror = function(event) { + note.innerHTML += '<li>L\'erreur: "' + transaction.error +'" s\'est produite, échec de la transaction.</li>'; + }; + + // On ouvre l'accès au un magasin "toDoList" + // dans la transaction + var objectStore = transaction.objectStore("toDoList"); + + // Ici, l'enregistrement est ajouté + var objectStoreRequest = objectStore.add(newItem[0]); + objectStoreRequest.onsuccess = function(event) { + // On signale l'ajout de l'enregistrement + note.innerHTML += '<li>Enregistrement ajouté.</li>'; + }; + + transaction.onabort = function() { + // Ce gestionnaire permet de signaler + // qu'une transaction a été annulée avec succès + console.log("Transaction annulée !"); + }; + + // On abandonne la transaction qu'on vient de faire + transaction.abort(); +}; +``` + +> **Note :** Pour un exemple fonctionnel complet, voir notre application [To-do Notifications](https://github.com/mdn/to-do-notifications/) ([exemple _live_ disponible](https://mdn.github.io/to-do-notifications/)). + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------- | ---------------------------- | ------------ | +| {{SpecName('IndexedDB', '#widl-IDBTransaction-onabort', 'onabort')}} | {{Spec2('IndexedDB')}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBTransaction.onabort")}} + +## 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/conflicting/web/api/idbtransaction/complete_event/index.md b/files/fr/conflicting/web/api/idbtransaction/complete_event/index.md new file mode 100644 index 0000000000..f230eeb640 --- /dev/null +++ b/files/fr/conflicting/web/api/idbtransaction/complete_event/index.md @@ -0,0 +1,102 @@ +--- +title: IDBTransaction.oncomplete +slug: conflicting/Web/API/IDBTransaction/complete_event +tags: + - API + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBTransaction/oncomplete +original_slug: Web/API/IDBTransaction/oncomplete +--- +{{ APIRef("IndexedDB") }} + +Le gestionnaire d'événement **`oncomplete`**, rattaché à l'interface {{domxref("IDBTransaction")}}, s'exécute au déclenchement d'un événement [`complete`](/fr/docs/Web/Events/complete) lorsque la transaction se termine avec succès. + +> **Note :** Depuis Firefox 40, les transactions IndexedDB diminuent en efficacité pour gagner en efficience (voir {{Bug ( "1112702")}}). Auparavant, dans une transaction en [`readwrite`](#const_read_write), l'événement `complete` était déclenché seulement lorsque toutes les données étaient écrites sur le disque. Maintenant, l'événement `complete` est déclenché après que l'OS ai envoyé l'ordre d'écrire les données, mais potentiellement avant qu'elles aient été écrites sur le disque. L'événement `complete` peut ainsi être déclenché plus rapidement qu'auparavant. Cependant, il existe une chance infime pour que l'ensemble de la transaction soit perdue si le système d'exploitation plante ou s'il y a une perte de courant avant que les données aient été écrites sur le disque. Étant donné que ces événements catastrophiques sont rares, la plupart des utilisateurs ne devraient pas avoir à s'en préoccuper davantage. +> +> > **Attention :** Si vous devez vous assurer de l'efficacité d'une transaction pour une raison quelconque (par exemple, vous stockez des données critiques qui ne peuvent être recalculé plus tard), vous pouvez forcer l'enregistrement complet sur disque avant de déclencher l'événement `complete` en utilisant le mode `readwriteflush` (non-standard) expérimental (cf. {{domxref("IDBDatabase.transaction")}} ). Ce mode expérimentale ne peut être utilisé que si la préférence` dom.indexedDB.experimental `pref est réglée sur `true` dans `about: config`. +> +> {{AvailableInWorkers}} +> +> ## Syntaxe +> +> ```js +> transaction.oncomplete = function() { ... }; +> ``` +> +> ## Exemple +> +> Dans le code suivant, on ouvre une connexion à la base de donnée. Ensuite, sur cette connexion, on démarre une transaction (avec {{domxref("IDBTransaction")}}) en lecture/écriture pour accéder au magasin d'objet `"toDoList"` et y ajouter un enregistrement grâce à la méthode {{domxref("IDBObjectStore.add")}}. On notera également la façon dont le gestionnaire d'événement {{domxref("IDBTransaction.onerror")}} est utilisé dans la transaction. +> +> Le gestionnaires d'événement **`oncomplete`** de la transaction permet d'afficher un message de succès sur la page. +> +> ```js +> // Connexion à la base de données +> var DBOpenRequest = window.indexedDB.open("toDoList", 4); +> +> DBOpenRequest.onsuccess = function(event) { +> note.innerHTML += '<li>Connexion établie.</li>'; +> +> // Affectation de la connexion à la variable db. +> db = DBOpenRequest.result; +> +> // Exécution de la fonction addData () pour +> // stocker des données dans la base +> addData(); +> }; +> +> function addData() { +> // Voici un nouvel objet prêt à être emmagasiné +> newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ]; +> +> // On ouvre une transaction en lecture/écriture +> // prête au traitement des données sur la connexion +> var transaction = db.transaction(["toDoList"], "readwrite"); +> +> // Voici le gestionnaire utilisé en cas de succès +> // de l'ouverture de la transaction +> transaction.oncomplete = function(event) { +> note.innerHTML += '<li>Transaction terminée : modification de la base de données OK.</li>'; +> }; +> +> // Et celui utilisé en cas d'échec de +> // l'ouverture de la transaction +> transaction.onerror = function(event) { +> note.innerHTML += '<li>L\'erreur: "' + transaction.error +'" s\'est produite, échec de la transaction.</li>'; +> }; +> +> // Puis, on ouvre l'accès au un magasin "toDoList" +> // de la transaction +> var objectStore = transaction.objectStore("toDoList"); +> +> // Enfin on ajoute l'enregistrement +> var objectStoreRequest = objectStore.add(newItem[0]); +> objectStoreRequest.onsuccess = function(event) { +> // Et on signale l'ajout de l'enregistrement +> note.innerHTML += '<li>Enregistrement ajouté.</li>'; +> }; +> }; +> ``` +> +> > **Note :** Pour un exemple de travail complet, voir notre application [To-do Notifications](https://github.com/mdn/to-do-notifications/) ([exemple _live_ disponible](https://mdn.github.io/to-do-notifications/)). +> +> ## Spécifications +> +> | Spécification | État | Commentaires | +> | ---------------------------------------------------------------------------------------------------- | ---------------------------- | ------------ | +> | {{SpecName('IndexedDB', '#widl-IDBTransaction-oncomplete', 'oncomplete')}} | {{Spec2('IndexedDB')}} | | +> +> ## Compatibilité des navigateurs +> +> {{Compat("api.IDBTransaction.oncomplete")}} +> +> ## 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/conflicting/web/api/idbtransaction/error_event/index.md b/files/fr/conflicting/web/api/idbtransaction/error_event/index.md new file mode 100644 index 0000000000..6071c11756 --- /dev/null +++ b/files/fr/conflicting/web/api/idbtransaction/error_event/index.md @@ -0,0 +1,96 @@ +--- +title: IDBTransaction.onerror +slug: conflicting/Web/API/IDBTransaction/error_event +tags: + - API + - IndexedDB + - Propriété + - Reference +translation_of: Web/API/IDBTransaction/onerror +original_slug: Web/API/IDBTransaction/onerror +--- +{{APIRef("IndexedDB")}} + +Le gestionnaire d'événement **`onerror`**, rattaché à l'interface {{domxref("IDBTransaction")}}, s'exécute au déclenchement d'un événement [`error`](/fr/docs/Web/Events/error) lorsque la transaction échoue. + +{{AvailableInWorkers}} + +## Syntaxe + +```js +transaction.onerror = function() { ... }; +``` + +## Exemple + +Dans le code suivant, on commence par ouvrir une connexion à la base de donnée. Grâce à cette connexion, on initialise une transaction en lecture/écriture grâce à `IDBTransaction` pour accéder au magasin d'objets intitulé `toDoList` et y ajouter un enregistrement via la méthode {{domxref("IDBObjectStore.add")}}. On notera également l'utilisation du gestionnaire d'événements {{domxref("IDBTransaction.oncomplete")}}. + +Le gestionnaire d'événement **`onerror`** de la transaction affiche le code d'erreur de la propriété propriété {{domxref("IDBTransaction.error","error")}} sur la page. + +```js +// Connexion à la base de données +var DBOpenRequest = window.indexedDB.open("toDoList", 4); + +DBOpenRequest.onsuccess = function(event) { + note.innerHTML += '<li>Connexion établie.</li>'; + + // On affecte la connexion à la variable db. + db = DBOpenRequest.result; + + // On exécute la fonction addData () pour ajouter + // des données dans la base + addData(); +}; +function addData() { + // On crée un nouvel objet prêt à être emmagasiné + newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ]; + + // On ouvre une transaction de lecture / écriture + // pour traiter les données via la connexion + var transaction = db.transaction(["toDoList"], "readwrite"); + + // En cas de succès de l'ouverture de la transaction + // on utilise ce gestionnaire + transaction.oncomplete = function(event) { + note.innerHTML += '<li>Transaction terminée : modification de la base de données OK.</li>'; + }; + // En cas d'échec de l'ouverture de la transaction + // on utilisera ce gestionnaire + transaction.onerror = function(event) { + note.innerHTML += '<li>L\'erreur: "' + transaction.error +'" s\'est produite, échec de la transaction.</li>'; + }; + + // On ouvre l'accès au magasin "toDoList" de la transaction + var objectStore = transaction.objectStore("toDoList"); + + // Enfin on ajoute un enregistrement + var objectStoreRequest = objectStore.add(newItem[0]); + objectStoreRequest.onsuccess = function(event) { + // On signale l'ajout de l'enregistrement + note.innerHTML += '<li>Enregistrement ajouté.</li>'; + }; + }; + +``` + +> **Note :** Pour un exemple de travail complet, voir l'application [To-do Notifications](https://github.com/mdn/to-do-notifications/) ([exemple _live_ disponible ici](https://mdn.github.io/to-do-notifications/)). + +## Spécifications + +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------- | ---------------------------- | ------------ | +| {{SpecName('IndexedDB', '#widl-IDBTransaction-ononerror', 'onerror')}} | {{Spec2('IndexedDB')}} | | + +## Compatibilité des navigateurs + +{{Compat("api.IDBTransaction.onerror")}} + +## 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) |