Firefox 48 : l’architecte Mozilla passe en multiprocessus

Poste de travail
firefox-48

La dernière version stable de Firefox apporte ce que Mozilla qualifie de changement sans précédent : une architecture multiprocessus.

Pour Mozilla, il s’agit du « plus gros changement jamais fait dans Firefox » : la dernière version stable du navigateur, disponible depuis ce mardi 2 août 2016 sur Windows, Mac, Linux et Android, repose sur une architecture multiprocessus.

Dans la pratique, peu d’utilisateurs peuvent en bénéficier dès à présent. Mozilla avance à tâtons sur ce projet de long terme baptisé « Electrolysis » ; un nom qui reflète l’ampleur des travaux réalisés par ses équipes de développement.

L’idée générale est de séparer le navigateur en plusieurs processus afin d’améliorer les performances, la stabilité et la sécurité.

Google Chrome fonctionne sur ce modèle, avec un processus qui gère l’interface utilisateur et les échanges de données (réseau et disque), un pour le contenu de chaque page Web et un pour chaque module complémentaire.

Diviser pour mieux gérer

Pour Mozilla, la première étape a consisté à séparer Firefox en deux processus : un pour l’interface et l’autre pour l’ensemble des contenus. Avec un objectif : que la navigation reste fluide même si des pages lourdes se chargent.

firefox-multi-process

C’est sur cette architecture que fonctionne Firefox 48… pour le moment en cercle très restreint. En l’occurrence, chez environ 1 % de l’ensemble des utilisateurs pour lesquels il a été déterminé que le modèle fonctionnerait.

Si l’expérience est concluante, elle sera étendue à l’ensemble des utilisateurs éligibles. Soit environ la moitié de ceux qui auront installé Firefox 48, selon Mozilla.

Avec Firefox 49, dont la disponibilité générale devrait intervenir aux alentours de la mi-septembre, le multiprocessus sera étendu aux utilisateurs qui exploitent des modules complémentaires réputés compatibles avec la nouvelle architecture.

Avec Firefox 50, la démarche sera élargie aux add-ons qui se sont signalés compatibles ou qui sont construits avec la nouvelle API WebExtensions.

Avec Firefox 51, la logique sera étendue aux écrans tactiles et aux navigateurs sur lesquels des fonctions d’accessibilité sont activées.

Sur la feuille de route, la prochaine étape majeure doit intervenir au premier semestre 2017 : la gestion du contenu sera répartie en plusieurs processus, afin notamment que le chargement d’une page ne perturbe pas le chargement d’autres pages.

firefox-multi-process-2017

Le même schéma fonctionnel sera ensuite appliqué aux extensions, qui seront par là même plus sécurisées, car isolées chacune dans leur sandbox. Plus globalement, si un élément crashe, ce n’est pas tout le navigateur qui plantera.

firefox-multi-process-2017-2

Signé Mozilla

Dans un autre registre, la protection contre les téléchargements malveillants, ajoutées sur Windows avec Firefox 31 et sous Mac/Linux avec Firefox 39, s’améliore avec la détection des « logiciels potentiellement indésirables » et les « téléchargements peu fréquents ».

Les premiers sont susceptibles d’opérer des modifications inattendues qui peuvent entraîner, entre autres, des collectes de données non sollicitées. Les seconds ne sont pas forcément malveillants, mais il s’agit de prévenir l’utilisateur qu’il ne s’agit peut-être pas des fichiers qu’il pense télécharger.

On notera par ailleurs que les modules complémentaires qui n’ont pas reçu une signature numérique de Mozilla ne pourront être ni installés, ni exécutés. Les extensions sont concernées ; pas les thèmes, les plugins et les paquetages linguistiques.

Firefox 48, c’est aussi une vingtaine de failles corrigées (gestion JavaScript, décodage vidéo, rendu SVG…), l’élimination d’un bug qui causait une distorsion audio sur certains équipements Heyo, Jabra et Logitech utilisés avec WebRTC… ainsi que la fin de la prise en charge d’OS X 0.6, 10.7 et 10.8.

Crédit photo : choikh – Shutterstock.com


Lire la biographie de l´auteur  Masquer la biographie de l´auteur