Indexed Database API — Wikipédia

Indexed Database API ou IndexedDB est une proposition de standard du W3C pour une base de données locale embarquée dans le navigateur. Il s'agit d'une interface de programmation en JavaScript (API) fournie par les navigateurs web permettant de gérer une base de données NoSQL d'objets.

Contrairement au Stockage web local ou Web Storage (localStorage et sessionStorage), qui impose des limites fixes par site web, IndexedDB offre une capacité de stockage plus importante, avec des limites qui sont souvent très élevées, voire inexistantes selon le navigateur.

Fonctionnement

[modifier | modifier le code]

Cette base de données est organisée comme une collection d'objets insérés dans la base en utilisant une syntaxe JSON, de manière similaire à des bases NoSQL comme MongoDB ou CouchDB. Chaque objet est identifié par une clé générée au moment de l'insertion. Un système d'indexation permet ensuite d'optimiser l'accès aux objets.

IndexedDB est conçu afin de permettre de stocker une grande quantité de données et d'y accéder de manière rapide, grâce à l'indexation.

  • Mise en cache des données des applications web pour une utilisation hors ligne.
  • Stockage de données pour certains modules du navigateur, comme les outils de développement (DevTools) ou les extensions.

Performance

[modifier | modifier le code]

Étant donné qu’IndexedDB fonctionne à l’intérieur du sandbox de sécurité du navigateur, toutes les opérations doivent passer par plusieurs couches de sécurité, ce qui réduit ses performances[1].

Avec IndexedDB 2.0, la méthode getAll() a été introduite, permettant d'améliorer les performances lors des lectures en masse.

Support par les navigateurs

[modifier | modifier le code]

Fin 2013, les navigateurs proposant le support d'IndexedDB sont Internet Explorer (depuis la version 10), Firefox (depuis la version 10), Chrome (depuis la version 23), Safari (depuis la version 7.1), Safari pour iOS (depuis iOS 8), Opera (depuis la version 15), Opera Mobile (depuis la version 16), Chrome pour Android (depuis la version 29), Firefox pour Android (depuis la version 24) et Internet Explorer Mobile (depuis la version 10).

Références

[modifier | modifier le code]
  1. (en) « Indexed Database API 2.0 is now a W3C Recommendation », sur W3C, (consulté le )

Liens externes

[modifier | modifier le code]