Battery Status API : comment HTML5 permettra de préserver votre batterie

Uniquement via Firefox pour le moment 45
Alors que nous faisions quelques recherches sur l'HTML5, nous avons pu découvrir l'une des API qui pourrait le composer, et qui devrait INtéresser les amateurs de mobilité : la Battery Status API. Poussée par des employés de Nokia et Mozilla, celle-ci est déjà fonctionnelle dans plusieurs versions de Firefox, et devrait permettre aux sites de s'adapter en fonction de l'état de votre batterie... entre autres.

En effet, si l'on en croit le site du W3C, elle permet de récupérer quatre informations principales via un simple code Javascript, et l'objet navigator.battery :

  • charging (boolean) : le statut de la batterie
  • chargingTime (double) : le temps restant, en secondes, avant que la batterie ne soit chargée
  • dischargingTime (double) : le temps restant, en secondes, avant que la batterie ne soit déchargée
  • level (double) : le niveau de la batterie compris entre 0 et 1.0

Bien entendu, des évènements permettent aussi de réagir à un changement de l'une de ces quatre valeurs, afin de mettre à jour le contenu d'une page lorsque l'utilisateur branche ou débranche le chargeur, par exemple.

Le tout pourrait permettre l'arrivée d'outils de mesure de l'autonomie centrés sur l'utilisation d'un navigateur au sein d'un portable ou d'un mobile, mais aussi, et surtout, aux développeurs d'adapter le comportement de leurs sites en fonction de l'état de votre batterie. Ils peuvent ainsi réduire les fonctionnalités Javascript à partir d'un certain pourcentage par exemple, ou la fréquence de vérification de certaines données. Une manière d'adapter un peu plus les applications en ligne à la mobilité et à sa contrainte principale : une autonomie qui n'est pas infinie.

D'après nos constatations, cette API n'est pour le moment fonctionnelle que sous Firefox, dans sa version destinée aux PC de bureau, mais aussi de manière partielle avec la bêta proposée sous Android, comme vous pouvez le voir sur cette capture :

Battery Status API 

L'implémentation ne semble d'ailleurs pour le moment pas unifiée au sein des navigateurs puisque dans les différents codes que nous avons pu analyser çà et là, on peut voir des versions préfixées navigator.mozBattery et navigator.webkitBattery être utilisées.

Vous trouverez plus de détails sur le Mozilla Developer Network ou même via ce billet d'un développeur qui propose une page d'exemple simple et plutôt réussie. Afin de vous permettre de savoir si cette API fonctionne au sein de votre navigateur, nous l'avons intégrée en quelques lignes de code au sein de cette actualité. Si vous voyez une valeur indiquée ci-dessous plutôt que la mention « Inconnu », c'est que votre navigateur est paré :

Niveau de la batterie : Inconnu

Vous pouvez aussi utiliser le « Fiddle » ci-dessous, publié il y a quelques mois par Pierre Lebédel au sein du blog de son agence :