Multiprocessus, sandbox : Mozilla fait le point sur les évolutions de Firefox

Même carcasse, nouveau moteur 29
image dediée
Navigateurs

Les trois dernières versions de Firefox ont installé Electrolysis chez bon nombre d’utilisateurs, mais beaucoup ne l’ont pas encore. Mozilla fait le point et détaille un peu plus ses ambitions pour les prochaines moutures, la route étant encore longue.

Electrolysis est le nom donné au projet de Mozilla pour la séparation du processus monobloc de Firefox en deux. Dans l’un, on trouve le moteur de rendu Gecko et l’ensemble des opérations servant à afficher une page. Dans l’autre, tout le reste, notamment tout ce qui touche à l’interface. La réactivité de Firefox est donc en hausse et le chargement est plus rapide, avec des pointes à 400 et 700 % de mieux dans certains cas.

Pour autant, on savait que ce projet allait prendre du temps et serait diffusé petit à petit, à cheval sur plusieurs versions. Pourquoi ? Parce que séparer ainsi les calculs en plusieurs processus posait de gros problèmes initialement aux extensions. Il a fallu donc faire évoluer les habitudes des développeurs pour préparer le terrain.

La montée en puissance du multiprocessus

Ainsi, Firefox 48 n’a activé Electrolysis que chez un nombre restreint d’utilisateurs au début, avant d’apparaître progressivement chez l’ensemble des personnes n’ayant aucune extension. Il s’agissait en effet de la cible prioritaire pour Mozilla, puisque la fonctionnalité ne pouvait alors pas être entravée. Environ la moitié de la masse totale des utilisateurs était alors concernée, montrant par la même occasion que l’utilisation des extensions n’est pas une règle systématique sur Firefox.

Firefox 49 est allé un cran plus loin en permettant d’activer Electrolysis sur les configurations possédant quelques extensions triées sur le volet. Mozilla indique que la télémétrie récupérée pendant les semaines suivantes a permis d’établir que tout se passait bien. Firefox 50 a donc agrandi la liste des extensions déclarées compatibles, continuant ainsi la progression chez le grand public.

Electrolysis chez (presque) tout le monde

Et maintenant ? Electrolysis entre désormais dans une phase plus floue, avec des résultats moins garantis. La prochaine mouture, Firefox 51, va activer la fonctionnalité chez la totalité des utilisateurs restants, à moins que l’une des extensions soit explicitement marquée comme « incompatible ». Auquel cas Electrolysis continuera à dormir en attendant des jours meilleurs sur ce type de configuration.

Mais ce projet, qui a nécessité bien des années pour être mis en place, n’est qu’une première étape. Avec l’annonce du futur moteur de rendu Quantum, on sait que les projets de Mozilla ont désormais une finalité commune. L’éditeur précise en effet que l’isolation des calculs de rendu dans un processus sera suivie d’une nouvelle phase de découpage, peut-être jusqu’à parvenir à un processus par onglet, comme le font Chrome et Edge par exemple.

Mozilla ne nie pas les avantages en termes de réactivité et de sécurité. Les développeurs vont cependant avancer progressivement, en activant très prochainement un deuxième processus de rendu dans les versions Nightly. Avant d’optimiser en effet Firefox pour les calculs parallèles, l’équipe veut déjà observer la répartition des calculs de rendu en deux lots. Des travaux qui doivent permettre à Firefox, en fin d’année prochaine, d’accueillir Quantum, pensé dès le départ pour les calculs parallèles. Gecko, présent depuis les débuts du projet Phoenix, prendrait donc une retraite méritée.

Après le multiprocessus, la nouvelle sandbox

Mais comme le précise l’éditeur, l’évolution vers les processus multiples s’accompagne pour Firefox d’un autre grand chantier : une nouvelle sandbox. Il s’agit pour rappel d’un espace isolé dans la mémoire, dans laquelle s’ébat joyeusement le navigateur en verrouillant tous les accès. Les données qui y sont traitées, affichées et exécutées ne peuvent pas en sortir, à moins d’une faiblesse dans le code, en d’autres termes une faille de sécurité. S’échapper de la sandbox est d’ailleurs devenu l’un des sports favoris des hackers participant à des concours tels que Pwn2Own.

Depuis Firefox 50, une nouvelle sandbox a été intégrée, pour l’instant dans la version Windows uniquement. L’éditeur indique qu’elle est encore « jeune » et continuera donc d’être renforcée au cours des prochains mois, pour la rendre beaucoup plus restrictive. Des versions Mac et Linux seront également ajoutées prochainement. Le travail s’est surtout porté pour l’instant sur les fondations qui permettront un véritable cadre strict.

Une année à examiner de près

2017 devrait être finalement l’année la plus importante pour Firefox depuis ses débuts. Le multiprocessus et la sandbox sont deux mécanismes modernes à côté duquel le navigateur est passé jusqu’à présent, alors que la concurrence les a utilisés comme bases pour leurs produits. Coincé, Mozilla n’a finalement pas eu d’autre choix que de se lancer à corps perdu dans des travaux de grande ampleur, d’autant plus que l’écosystème des extensions participait à cette sclérose.

Évidemment, les utilisateurs de Firefox devraient largement bénéficier de tous ces travaux. D’un autre côté, on peut se demander si les différences techniques entre les navigateurs ne se gomment pas au point d’obtenir pratiquement la même chose d’un produit à un autre. Chrome est passé par là et toute l’industrie s’est mise au diapason. Impossible pour Mozilla de le nier, tant le navigateur de Google a marqué les esprits, qu’il s’agisse d’un cycle de développement ou de simples éléments d’interface.

Il reste une philosophie à part

Mozilla a cependant une vraie carte à jouer, ne serait-ce qu’avec un navigateur open source accompagné par une politique de vie privée bien plus stricte que les gros concurrents de chez Google et Microsoft. Par ailleurs, l’éditeur a dans ses cartons un moteur de rendu flambant neuf, dont il promet des performances largement supérieures à celles de l’actuel Gecko. Les aficionados de Firefox suivront donc probablement ces évolutions de près.

Publiée le 22/12/2016 à 17:00
Vincent Hermann

Rédacteur/journaliste spécialisé dans le logiciel et en particulier les systèmes d'exploitation. Ne se déplace jamais sans son épée.

Soutenez nos journalistes

Le travail et l'indépendance de la rédaction dépendent avant tout du soutien de nos lecteurs.

Abonnez-vous
À partir de 0,99 €


chargement
Chargement des commentaires...