Web Serial débarque enfin dans Firefox !
On est vendredi, j’ai un mal de tête carabiné mais je me pose quand même devant l’ordi pour vous annoncer une bonne nouvelle ! Firefox 151 sur desktop vient enfin d’implémenter une fonctionnalité que Mozilla refusait catégoriquement de supporter depuis 6 ans : le support de l’API Web Serial.
Alors non, c’est pas un gros mot, hein, ça veut surtout dire qu’un site web ouvert avec Firefox peut maintenant lire et écrire directement sur du matériel que vous branchez en USB, genre un Arduino, un ESP32, une imprimante 3D, une clé crypto ou que sais-je encore, sans que vous ayez à installer le moindre logiciel ou pilote.
Le cas d’usage le plus parlant, c’est le flashage de microcontrôleurs. Avant, pour mettre un firmware sur un ESP32, il fallait installer esptool en Python, ou l’IDE Arduino, galérer avec les drivers série, choisir le bon port à la main. Maintenant des outils comme ESPHome ou Home Assistant font tout ça depuis un onglet, en quelques clics. Vous branchez la carte, le site demande l’autorisation d’accéder au port, et c’est réglé. Adafruit fait pareil pour installer CircuitPython sur ses cartes ESP32-S2.
Et pour comprendre pourquoi c’est une vraie bonne nouvelle, il faut se rappeler d’où on vient. Chrome propose quand même Web Serial depuis 2021 mais Mozilla a toujours considéré qu’un accès série accordait trop de contrôle sur un appareil, sans la moindre authentification. Et ils n’ont pas tord… D’ailleurs Apple, de son côté, campe toujours sur cette position et qualifie carrément la spec de dangereuse, notamment à cause des risques de
fingerprinting
.
Mais ce qui a fait bouger Mozilla, c’est un revirement progressif en interne. En 2022, Bobby Holley, le CTO de Firefox, a rouvert le dossier, puis en 2024, il a posé ses conditions, à savoir un mécanisme de contrôle par add-on et un consentement clairement formulé. Et le résultat, on peut le voir dans l’implémentation finale, puisque l’autorisation marche par site et par port. C’est bien puisqu’un site ne voit absolument rien tant que vous ne lui donnez pas la main, et ne récupère aucune liste des appareils branchés, ni aucune info de fingerprinting exploitable au-delà du port que vous sélectionnez vous-même.
J’étais le premier à pester contre Mozilla pour cette absence de support. Parfois je les trouve trop prudent, au delà du raisonnable, ce qui les mets en décalage avec ce que proposent les autres et ce qui fait leur fait perdre bêtement des parts de marché.
Mais c’est vrai aussi que la prudence sur ce genre d’API qui touche directement au hardware, c’est ce qu’on attend tous d’un navigateur qui mise tout sur le respect de la vie privée de ses utilisateurs. D’ailleurs, pour les parano ou les admins système (oui c’est pareil ^^), sachez qu’en environnement Firefox Enterprise, Web Serial est désactivé par défaut.
Au-delà du flashage de cartes, les usages réels sont déjà très nombreux. Un ingénieur de Mozilla, Florian Quèze, s’en sert par exemple pour lire la consommation d’un compteur USB d’énergie standard (du genre AVHzY C3 ou Joy-IT TC66C) et balancer les données directement dans le Firefox Profiler. Les imprimantes 3D, les briques LEGO programmables, les Raspberry Pi Pico, tout ce petit monde cause série et devient ainsi pilotable depuis une page web.
D’ailleurs je vous parlais récemment de
CANviz, qui analyse le bus CAN de votre bagnole
directement dans le navigateur, hé bien c’est typiquement le genre de truc que Web Serial rend possible sans app native.
Après la spec Web Serial traîne toujours au Web Incubator Community Group, donc rien n’est gravé dans le marbre mais cela dit, Mozilla pousse pour une vraie standardisation via le WHATWG, ce qui n’était pas gagné vu d’où on est parti.
Voilà, allez, je vous laisse, j’ai un dafalgan qui m’attend ^^

Leave a Comment