Firefox 48 : API WebExtensions, Electrolysis et sécurité

Source: LinuxFR – les dépêches
Liens: Firefox 48 : API WebExtensions, Electrolysis et sécurité
Firefox 48 : API WebExtensions, Electrolysis et sécurité

La 48e version de Firefox est sortie le 2 août 2016, et c’est un gros morceau, même si cela ne sautera pas immédiatement aux yeux de l’utilisateur ! L’essentiel des nouveautés consiste en effet en d’importantes mises à jour d’architecture qui vont permettre de débuter un nouveau cycle qui portera ses fruits progressivement :

  • l’arrivée à maturité des WebExtensions va autoriser la conversion progressive des extensions existantes à ce nouveau format qui offre plus de facilité pour les développeurs visant plusieurs navigateurs et plus de sécurité pour l’utilisateur ;
  • le déploiement progressif chez les utilisateurs du mode multi‐processus (cette avancée étant, in fine, liée à la précédente) permettant une meilleure réactivité de l’interface et, à terme, une plus grande sécurité ;
  • la préparation de Firefox pour recevoir du code Rust, qui offre une plus grande sécurité que le code C++, par exemple.

Fait notable de cette version : désormais il n’est plus possible de passer outre l’obligation de recourir à des extensions signées !

Logo horizontal de Firefox

Sommaire

Version bureau

Oxydation

La rouille va commencer à oxyder Firefox avec cette version qui est la première à comporter du code écrit en Rust ! En l’occurrence, il s’agit du nouvel analyseur de fichiers MP4 écrit par Ralph Giles et Matthew Gregan (cf. notre précédente dépêche), qui remplace donc son équivalent C++ dans Gecko. Ce remplacement se fait à performances identiques, mais avec les bénéfices en sécurité inhérents au langage Rust. L’objectif de long terme étant que Gecko et Servo partagent de plus en plus de code Rust.
Notons que l’oxydation débute avec la version bureau, et ce, simultanément pour tous les systèmes d’exploitation habituellement pris en charge par Firefox (Nathan Froyd, Nick Nethercote, Ted Mielczarek, Gregory Szorc et Alex Crichton ont préparé Firefox à cet effet). La version pour Android devrait suivre rapidement.
C’est également la première fois que du code Rust va être déployé à aussi grande échelle : la communauté derrière ce langage peut légitimement s’estimer satisfaite.

Signature requise pour les extensions

Les extensions (modules de type 2) doivent être signées par Mozilla, sinon elles ne pourront être installées (et les extensions déjà installées seront désactivées). Ce comportement n’est pas réversible dans la version bureau (la préférence cachée permettant de contrôler ce comportement sera supprimée de la version Android dans une prochaine version). Firefox ESR 45 (édition longue durée actuelle) imposait déjà la signature des extensions, mais réversible avec la préférence cachée. Ce ne sera plus le cas dans la prochaine ESR.

Ce comportement est gênant pour les développeurs d’extensions, car il bloque la possibilité de tester les versions de développement des extensions (en particulier les versions bêta). C’est pourquoi le blocage est désactivé pour les versions « Developer Edition » et nightly de Firefox [source]. En effet, ces versions clairement annoncées comme instables et prévues pour faire des tests de développement (Firefox est une marque de Mozilla qui annonce un gage de qualité), il est naturel de pouvoir y installer des versions instables des extensions. Malheureusement, ces versions n’ont pas de mises à jour automatiques et sont disponibles uniquement en anglais.

De plus, depuis Firefox 40, il n’est plus possible d’imposer l’installation et l’activation d’extensions pour améliorer la sécurité. Les admins sys d’écoles ou d’entreprises, par exemple, ont eu peur de voir arriver cette restriction dans Firefox ESR, la version à support étendu du navigateur Web. Firefox ESR 38 n’est plus pris en charge depuis peu, et Firefox ESR 45 possède ces restrictions : pour tous les cas qui ne sont plus pris en charge directement par Firefox, il est possible d’utiliser l’extension CCK2.

Modifications de l’interface utilisateur

Barre de recherche

La barre de recherche fait bouger les icônes correspondant aux onglets et aux marque‐pages sur le côté gauche, au lieu du côté droit.

La taille de la barre de suggestion remplit maintenant toute la largeur de la page.

Nouvelle page Catalogue des modules complémentaires

Comme le notait gHacks en juillet, Firefox 48 dispose dans son gestionnaire de modules complémentaires d’une page Catalogue refondue.

Amélioration de la protection des téléchargements malveillants

Grâce aux progrès du service de navigation sécurisé de Google, Firefox 48 améliore sa protection contre les téléchargements malveillants et en profite pour améliorer son interface et le contrôle des options par l’utilisateur. Voyez cet article en français et le billet du blog communautaire francophone expliquant comment fonctionne le blocage des sites malveillants dans Firefox.

Deux catégories sont ajoutées à la protection existante :

  • les logiciels potentiellement indésirables qui provoquent des changements inattendus sur votre ordinateur, qui sont utilisés pour collecter vos informations personnelles sans votre consentement et qui peuvent complexifier leur désinstallation ;
  • les téléchargements peu fréquents qui protègent contre le téléchargement d’un logiciel populaire comme Firefox ou VLC depuis une source inhabituelle et potentiellement malveillante vers laquelle un hameçonnage (phishing) vous aurait amené.

Les applications du Firefox Marketplace ne fonctionnent plus sur ordinateur

À compter de Firefox 48, les applications autonomes basées sur le moteur de Firefox qui pouvaient être installées depuis le Firefox Marketplace, la boutique d’applications de Mozilla pour Firefox OS surtout, ne fonctionneront plus. L’article de SUMO (support.mozilla.org) conseille de chercher l’application sur le Web, d’utiliser une application alternative ou Firefox ESR (édition longue durée qui les prend en charge pour un an encore).

Réduction de l’utilisation d’Adobe Flash

Comme l’annonce Benjamin Smedberg dans un billet traduit par la communauté Mozilla francophone :

Dès le mois d’août, Firefox bloquera certains contenus Flash qui ne sont pas indispensables à la navigation, tout en continuant de prendre en charge les anciens contenus Flash. Ces changements et ceux à venir vont faire bénéficier les utilisateurs de Firefox d’une sécurité renforcée, d’une réduction de la consommation énergétique, d’un chargement plus rapide des pages Web et d’une plus grande réactivité lors de la navigation.

Afin de minimiser les problèmes de compatibilité entre les sites Web, les modifications seront d’abord limitées à une liste courte, contrôlée, de contenus Flash pouvant être remplacés par du HTML.

Version Android

Qwant dans les moteurs de recherche

Qwant fait son entrée dans la liste des moteurs de recherche de Firefox pour Android (également, depuis le 27 juillet, dans Firefox pour iOS) pour les versions locales francophones, du Royaume‐Uni et d’Allemagne. Voyez cette interview de J-B Piacentino, un ancien de Mozilla, sur l’accord entre Qwant, le moteur de recherche français respectueux de la vie privée et de la neutralité des recherches, et Mozilla.

Écran d’accueil intelligent

Suggestions d’Amazon

Dans cette version 48 pour Android, les suggestions de recherche de produits chez Amazon ont été ajoutées à l’écran d’accueil intelligent.

Ajout des sites fréquemment visités possible

Dans le volet Les plus visités, une vignette « + » vous permet d’ajouter vos sites fréquemment visités à votre écran d’accueil.

Sync

Un nouveau point d’entrée a été ajouté à l’écran d’accueil intelligent pointant vers la création d’un compte Firefox pour les nouveaux utilisateurs.

Définition comme navigateur par défaut plus facile

Pour Android 6 Marshmallow et les versions supérieures, il est plus facile de définir Firefox comme le navigateur par défaut sur Android.

Commun

WebExtensions

Extensions logo
Les WebExtensions sont déclarées stables dans cette version de Firefox et Mozilla recommande aux développeurs d’extensions de commencer à utiliser l’API correspondante. Comme nous le soulignions dans la dépêche précédente, la fondation s’est assurée que l’[API] permettait à des extensions populaires ayant trait à la sécurité et à la vie privée comme Ghostery, RequestPolicy, NoScript (cf. ce billet de blogue) et uBlock Origin de fonctionner avec ce nouveau modèle, quitte à étendre l’API de base qui est commune à Chrome. Par ailleurs, les WebExtensions débarquent sur la déclinaison Android du navigateur à partir de cette version 48.

Des corrections et compléments sont dans les tuyaux pour la version 49 : https://blog.mozilla.org/addons/2016/06/09/webextensions-for-firefox-49/

La documentation de Mozilla a été mise à jour pour l’occasion.

Multi‐processus

Electrolysis
Dans les versions actuelles de Firefox pour bureau, le navigateur ne s’exécute que dans un seul processus du système d’exploitation. En particulier, le JavaScript exécutant l’interface graphique du navigateur (également connu sous le nom « code Chrome ») s’exécute dans le même processus que celui présent dans les pages Web (appelé aussi « contenu » ou « contenu Web »).
Les versions futures de Firefox vont exécuter l’interface du navigateur dans un processus différent de celui des pages Web. Dans la première itération de cette architecture, tous les onglets tourneront dans le même processus et l’interface utilisateur du navigateur dans un processus différent. Dans les itérations suivantes, nous espérons avoir plus d’un processus pour le contenu. Le projet qui consiste à apporter le multi‐processus dans Firefox est appelé Electrolysis, qui s’abrège en e10s.
Les pages Web classiques ne sont pas affectées par l’apparition du multi‐processus dans Firefox. Les développeurs travaillant sur Firefox lui‐même ou les extensions du navigateur seront affectés si leur code repose sur la possibilité d’accéder directement à du contenu Web.

[https://developer.mozilla.org/fr/Firefox/Multiprocessus_Firefox]

Avec la version 48, 1 % des utilisateurs remplissant les conditions de déploiement à ce stade auront le mode multi‐processus activé pour commencer. Les utilisateurs exclus de la population éligible sont les utilisateurs sous Windows XP, les utilisateurs de lecteurs d’écran, les utilisateurs RTL (écriture de droite à gauche) et les utilisateurs d’extensions. Les 1 % permettront des comparaisons et des retours. Si tout va bien, tous les autres utilisateurs éligibles recevront e10s dans les semaines suivantes. Sinon, le déploiement pourra être ralenti ou suspendu, et e10s pourra même être désactivé chez ceux l’ayant déjà reçu [source].

Pour déterminer si le navigateur Firefox présent sur son ordinateur a activé e10s, il suffit de taper « about:support » dans la barre d’adresse. Si e10s est activé, le message « 1/1 (activé par défaut) » apparaîtra sur la ligne Fenêtres multi‐processus [source]. Les plus téméraires d’entre vous peuvent forcer l’activation d’e10s en allant dans about:config, clic droit → NouvelleValeur booléenne, lui donner pour nom browser.tabs.remote.force-enable et lui donner la valeur true, puis redémarrer le navigateur. Pour annuler, changez la valeur pour false.

https://blog.mozilla.org/futurereleases/2016/08/02/whats-next-for-multi-process-firefox/
https://mozillazine-fr.org/appel-a-laction-pour-firefox-multi-processus-et-les-extensions/
https://asadotzler.com/2016/06/06/firefox-48-beta-release-and-e10s/
https://wiki.mozilla.org/Electrolysis#Schedule
https://wiki.mozilla.org/E10s/Status/July22

Pour les développeurs

https://developer.mozilla.org/en-US/Firefox/Releases/48

Installer Firefox

Les systèmes Android 2.3 d’une part et Mac OS X 10.6, 10.7 et 10.8 d’autre part ne sont plus pris en charge à partir de cette version. Les MacOSeux concernés se tourneront vers Firefox 45 ESR pour bénéficier d’un petit sursis et continuer à recevoir des mises à jour pendant un temps.

Prochaines versions

Fonctionnalité de synthèse vocale

https://forums.mozfr.org/viewtopic.php?p=823117&sid=7671b0814735f38ef40afac9c65d3807#p823117
http://www.ghacks.net/2016/03/08/narrate-text-to-speech-firefox/

Modernisation de la version pour GNU/Linux

Après le passage chaotique de GTK+2 à GTK+3, voici venir : l’abandon des dépendances obsolètes libgnome et libgnomeui (obsolètes suite au projet Ridley qui prédate GNOME 3, les plus âgé[e]s s’en souviendront peut‐être), le bac à sable (bogue général toutes plates‐formes), OpenGL accelerated layers par défaut, portage de X.Org vers Wayland (un paquet expérimental est disponible pour Fedora).

Fonctionnalité Container Tab

Comme expliqué par Abraxas sur le forum Geckozone :

« En gros, un conteneur offre un degré de cloisonnement pour le surf au sein d’un même profil. Ça peut être utile si vous souhaitez ne pas polluer votre session actuelle par vos comptes sociaux qui aiment souvent bien savoir quel(s) site(s) vous avez visité(s). Ou, par exemple, lancer une session shopping, divertissement, etc., au boulot, en dehors de la session de travail.

On pourra aussi ouvrir plusieurs comptes sur un même site sans changer de profil, car le conteneur sépare les cookies, le cache HTTP, localStorage, indexedDB, etc. Un conteneur se lance depuis le menu Fichier ou en mettant une icône “nouveau conteneur” depuis le menu de personnalisation. »

Comme le rappelle ce billet de Genma, vous pouvez d’ores et déjà tester cette fonctionnalité (et bien d’autres) si vous choisissez la version nightly, évoquée sommairement dans notre précédente dépêche. Pascal Chevrel qui est à l’origine de ce reboot Nightly l’explique dans cette interview du blog communautaire francophone.

Version 50 : option de sélection des sous‐titres

https://bugzilla.mozilla.org/show_bug.cgi?id=887934

Le certificat racine de Let’s Encrypt sera reconnu par Firefox dès la version 50

http://www.nextinpact.com/news/100908-le-certificat-racine-lets-encrypt-sera-reconnu-par-firefox-des-version-50.htm

Évolution du programme Test Pilot

Il n’est plus nécessaire d’avoir un compte Firefox pour souscrire au programme Test Pilot évoqué dans notre précédente dépêche.

Fin programmée de la prise en charge des différents greffons NPAPI

« Firefox prévoit d’arrêter le support des différents greffons NPAPI, à l’exception de Flash, en mars 2017. La prochaine version ESR de Firefox, également planifiée pour mars, continuera à prendre en charge les greffons tels que Silverlight et Java jusqu’en début 2018, pour permettre aux utilisateurs de mettre en place une transition. »

Et, s’agissant du cas particulier de Flash : « En 2017, Firefox rendra obligatoire la demande d’activation affichée aux utilisateurs avant qu’un site Web puisse activer le greffon Flash, quel que soit le contenu. »
Vous en saurez plus en lisant ce billet.

Disparition de Hello

Hello, la fonctionnalité de discussion audio et vidéo basée sur WebRTC disparaît à partir de la version 49, le rapport de bogue le demandant n’explique pas les raisons derrière ce choix. Il n’y a pas non plus de date de suppression de la version serveur, mais, comme ce n’était pas inclus dans les versions ESR, on peut supposer que cela disparaîtra assez vite.

Autour de Firefox

Firefox 5.0 pour iOS

Cette déclinaison, qui, rappelons‐le, s’appuie obligatoirement sur le moteur de rendu WebKit proposé par Apple au sein d’iOS (au lieu, en l’occurrence, de Gecko, celui conçu par Mozilla), reçoit également une mise à jour : vous pouvez découvrir la liste des nouveautés ici.

Servo/Rust

logo Rust

B2G OS

logo B2G

  • B2G OS (ex‐Firefox OS pour smartphones).

https://firefoxos.mozfr.org/post/2016/06/B2G-OS-pour-smartphones-c-est-votre-moment

Code Markdown de l’article de MozFr : https://public.etherpad-mozilla.org/p/Firefox_48_MozFr — Mozinet.

Lire les commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *