Firefox 58

Posté par  (site web personnel) . Édité par Adrien Dorsaz, ZeroHeure, cracky, ariasuni, Benoît Sibaud, Davy Defaud, rpnpif, Anonyme, cpc6128 et jcr83. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
48
25
fév.
2018
Mozilla

Firefox Quantum 58 est à votre disposition depuis le 23 janvier 2018. Cette version 58 est la première version de correctifs et améliorations suite à la mise à disposition de Firefox Quantum.

Firefox continue d’optimiser les performances par l’optimisation des rendus graphiques, du compilateur des codes WebAssembly et des améliorations dans la gestion du cache (activé pour JavaScript pour l’instant).

Sommaire

Firefox 58 : changements communs pour bureau et pour Android

Améliorations du gestionnaire de cache

Une optimisation du cache a été apportée pour le chargement du JavaScript durant le téléchargement des sites Web. Il faut savoir que, jusqu’à maintenant, seul le code source JavaScript était conservé dans le cache.

Pour pouvoir exécuter du code JavaScript, le navigateur doit d’abord le valider avec un analyseur (parser). Puis, quand il est détecté comme valide et qu’il est appelé, le navigateur compile la source JavaScript en bytecode et exécute le bytecode.

La validation par l’analyse et la compilation sont des opérations coûteuses. L’idée est donc d’ajouter dans le cache du site Web le dernier bytecode calculé à côté du code source JavaScript.

En effet, les deux ressources sont nécessaires dans le cache, car il faut pouvoir invalider le cache si le serveur Web a modifié le JavaScript. La seconde idée des développeurs a donc été d’enregistrer le bytecode comme contenu alternatif au code source JavaScript.

Ainsi, le cache peut facilement valider (sans avoir à retraduire le code compilé) que le code source n’a pas changé sur le serveur et transmettre directement le code compilé au processus de rendu.

Cerise sur le gâteau, cette nouvelle façon d’utiliser le cache a été faite de manière à être généralisable à d’autres types de sources : le décodage d’images pourra aussi en profiter, ainsi que les scripts WebAssembly pré‐compilés par exemple.

Un compilateur WebAssembly drastiquement plus efficace

Lin Clark détaille dans un nouvel article comment le compilateur de code WebAssembly peut être rendu plus efficace.

Elle y explique notamment que, à partir de Firefox 58, la compilation se déroulera en deux temps et au fil de l’eau pendant le téléchargement des fichiers WebAssembly.

La compilation au fil de l’eau peut être réalisée grâce à deux propriétés de WebAssembly : d’abord l’envoi d’un fichier WebAssembly peut être effectuée en diffusion (streaming) (avec une réponse de type WebAssembly.instantiateStreaming). Ensuite, les objets WebAssembly sont organisés de manière à envoyer d’abord le code, puis les données.

La compilation se fait également en deux temps : une première passe sans optimisation du code, ce qui permet de compiler et exécuter très rapidement le code. Même s’il n’est pas optimisé, l’intérêt est qu’il est très rapidement disponible. Dans un second temps, une nouvelle compilation avec optimisation est effectuée et remplace à chaud le code non optimisé lorsque cette deuxième passe est terminée.

Enfin, dans son article, elle explique que la compilation WebAssembly pourra encore être optimisée par la suite grâce à l’utilisation de la nouvelle gestion du cache qui vient d’être activée pour JavaScript (voir ci‐dessus).

Firefox 58 pour bureau

Avant d’installer cette version, pensez à faire une sauvegarde supplémentaire (vous en faites tous les jours, pas vrai ?) de votre profil Firefox : des changements ont introduit une incompatibilité des profils de Firefox 58 avec les versions précédentes.

Une des principales modifications est que le rendu des pages est accéléré pour les utilisateurs de Windows grâce au dessin en dehors du processus principal (Off‐Main‐Thread Painting).

Off‐Main‐Thread Painting (OMTP) s’appuie sur la technologie Off‐Main‐Thread Compositing (OMTC). Si OMTC est actuellement déployée sur toutes les plates‐formes, OMTP en revanche n’est actif par défaut que sous Windows.

Dans les commentaires de son annonce, David Anderson nous apprend que ce n’est pas encore actif par défaut sous GNU/Linux, que ça devrait fonctionner et que ça sera certainement bientôt activé par défaut également. En attendant, vous pouvez activer la préférence layers.omtp.enabled pour tester OMTP sur votre système favori !

Pour nos lecteurs les plus attentifs, ce nouveau code ne sera pas utilisé par le prochain nouveau moteur de rendu WebRender. En effet, WebRender ne se contentera pas de déplacer le dessin dans un autre processus, mais directement dans le processeur graphique (GPU). Pour les utilisateurs de Firefox Nightly, il a été annoncé récemment que WebRender peut maintenant être testé en activant l’option gfx.webrender.all et en redémarrant le navigateur.

Quelques améliorations sur les captures d’écran :

  • copier‐coller des captures d’écran directement depuis le tampon de copie ;
  • fonctionnement en mode navigation privée.

D’autres changements ont aussi été annoncés :

Les traductions népalaises (ne-NP) ont été ajoutées.

Firefox 58 reçoit les correctifs de sécurité déjà publiés pour Firefox 57.0.4 qui permettent de réduire les impacts des failles Meltdown et Spectre (plus de détails dans les paragraphes suivants).

Un autre correctif, inclus depuis Firefox 57.0.3, règle un problème avec le rapporteur de plantage qui transmettait, sans en avertir l’utilisateur, les rapports de plantage pour les onglets qui étaient en arrière plan.

La version 58.0 a aussi reçu une correction pour les utilisateurs de GNU/Linux : les polices d’écriture installées dans un répertoire non standard n’étaient pas dessinées (seulement des vides étaient affichés).

Dans les bogues non résolus, il y a toujours des problèmes avec le son joué sur Windows à travers des sessions RDP.

Si vous utilisez des lecteurs d’écran, vous pouvez ressentir des ralentissements. Mozilla recommande pour l’instant de continuer à utiliser Firefox ESR en attendant les correctifs.

Enfin, sous Windows, si vous utilisez d’autres politiques de sécurité que celles par défaut (comme, par exemple, avec la politique Windows Defender Exploit Protection ou avec des produits de sécurité de Webroot), Firefox peut échouer à charger des pages. Un correctif est disponible depuis la version 58.0.1.

Firefox a été mis à jour suite à la divulgation des vulnérabilités Meltdown et Spectre

Le 4 janvier 2018, une version 57.0.4 du navigateur a été publiée pour tenter de limiter, au niveau du navigateur, les vulnérabilités Meltdown et Spectre présentes dans certains processeurs (cf. le bulletin de sécurité ad hoc et l’article explicatif de Numerama). Cette version 58 inclut évidemment le même correctif.

Firefox 58 pour Android

Firefox pour Android a aussi reçu quelques améliorations spécifiques :

  • il gère dorénavant les Progressive Web Apps, ce qui permet de faire passer un site Web standard pour une application native ;
  • il est maintenant possible de demander que la synchronisation par Firefox Sync ne soit active que sur des réseaux à connexion illimitée (comme le Wi‐Fi) ;
  • la gestion des marque‐pages peut se faire en plein écran et permet une organisation par dossier ;
  • il est capable de jouer des fichiers audio de type FLAC ;
  • la couleur de la barre d’état d’Android peut être modifiée via les thèmes de Firefox ;
  • l’ancien module Firefox Search qui permettait d’afficher une barre de recherche sur l’écran d’accueil d’Android a été supprimé ;
  • la version 4 du protocole de Safe Browsing est activée ;
  • la localisation pour le bengali (bn-BD) est disponible, en plus du népalais (ne-NP) qui a été activé en même temps que Firefox pour bureau.

Changements pour les développeurs

Sous le capot, Firefox 58 apporte des changements peu visibles pour les utilisateurs, mais importants pour les développeurs. Cette page étant très détaillée, nous vous proposons une liste d’éléments intéressants :

  • l’ancienne version de l’outil Responsive Design Mode a été supprimée ;
  • la méthode finally a été implémentée pour les promesses JavaScript ;
  • l’information worker-src est prise en compte dans le Content-Security-Policy ;
  • la méthode non standard toLocaleFormat() pour les objets Date dans JavaScript a été supprimée ;
  • des propriétés CSS propriétaires de Mozilla (options -moz-*) ont été supprimées ;
  • pour les développeurs d’extensions :
    • une nouvelle API pkcs11 a été ajoutée pour gérer l’utilisation des périphériques de sécurité PKCS #11 ;
    • l’API BrowserSettings permet de savoir si les notifications ont été désactivées.

Autour de Firefox et changements à venir

Firefox 59

Suppression de la prise en charge de GTK+ 2

Cette modification permettra au passage une petite réduction du code de Firefox (cf. ce billet sur Phoronix).

Avancées du portage Wayland

Martin Stránský, en charge du portage pour Red Hat, vient de signaler dans le méta‐bogue correspondant que le gros du portage devrait être fait pour la version 59, même s’il restera encore à peaufiner en vue d’une diffusion auprès du grand public.

Firefox Focus 4.0.1

Deux nouvelles fonctionnalités ont été ajoutées au sein de Firefox Focus (navigateur spécialisé dans la navigation privée pour Android et iOS, nommé Firefox Klar dans F-Droid) :

  • une liste de moteurs de recherche est disponible et celui par défaut peut être configuré ;
  • les suggestions de liens dans la barre d’adresse peuvent être configurées : il est possible, soit d’utiliser les sites les plus populaires, soit d’utiliser une liste de sites personnalisée ou encore les deux systèmes.

Tor Browser 7.5

Le navigateur sécurisé est à présent basé sur Firefox 52.6.0 ESR et bénéficie notamment d’un certain nombre d’améliorations visant à simplifier l’expérience utilisateur. Par ailleurs, il n’est pas affecté par les failles Spectre et Meltdown. Lire l’annonce officielle (en anglais).

Qwant nettoie son application mobile pour Android (et bientôt iOS) de vilains trackers

Pour rappel, l’application mobile Qwant propose en bundle : Firefox, avec la protection contre le pistage activée par défaut, et le moteur de recherche Qwant, qui se veut respectueux de la vie privée.
Suite à une expertise externe de différentes applications Android, trois trackers ont été découverts dans l’application officielle Qwant mobile : deux provenaient de Google (Crashlytics et DoubleClick) et un troisième provenait de Shibsted. Après vérifications, Qwant a découvert que « ces trackers avaient été secrètement ajoutés par des services tiers qui étaient accessibles dans des parties accessoires de l’application ». Une nouvelle version de Qwant mobile pour Android, nettoyée de ces trackers, a été publiée en conséquence (voir le billet de blogue officiel).

Thunderbird : nouvelles versions et nouvelle équipe

Nous vous renvoyons vers le billet paru sur blog.mozfr.org pour les détails de cette excellente nouvelle ! Pour les personnes pressées, le billet rappelle les quatre dernières embauches depuis fin 2016 et ajoute que « ces quatre employés ne sont qu’un début. Le projet est actuellement dans un processus de recrutement de développeurs pour résorber la dette technique, régler certains points sensibles dans le logiciel et faire une transition de la base de code depuis un mix de C++, JavaScript, XUL et XPCOM vers une base qui repose sur des technologies Web ».

Les prochaines versions de Thunderbird devraient donc amener de profondes évolutions. Ces dernières devront combler les 22 failles de sécurité — dont cinq sévères et trois critiques — découvertes lors d’un récent audit (posteo.de).

Thunderbird a aussi droit à son relooking « Photon », tout comme Firefox, déjà disponible en bêta.

Comme Thunderbird suit les versions ESR de Firefox, la prochaine version de Thunderbird sera construite au‐dessus de Firefox 60 (actuellement, il utilise Firefox 52). Malgré ce passage, Thunderbird conservera la possibilité d’utiliser des extensions XUL (alors que Firefox ne permet d’utiliser que des WebExtensions depuis Firefox 57).

Comme beaucoup de changements dans l’environnement de développement a eu lieu, il faudra prévoir un certain temps avant que vos extensions préférées soient disponibles pour Thunderbird 60 (si une extension est cruciale pour vous, encouragez les développeurs à tester leur extension sur la version Nightly de Thunderbird et à suivre le guide de migration). Heureusement, les outils de développement de Firefox sont dorénavant facilement utilisables depuis Thunderbird et sont améliorés en continu par Firefox.

Rapport 2017 pour le nouveau cadriciel de traduction Fluent

Zibi Braniecki nous livre un rapport détaillé sur les changements fait dans Gecko en 2017 pour livrer le nouveau cadriciel Fluent en charge des traductions de l’application.

Restriction annoncée des nouvelles fonctionnalités aux pages chargées via HTTPS

Une bonne partie des nouvelles fonctionnalités de Firefox seront utilisables uniquement sur des pages Web accédées via HTTPS.

Aller plus loin

  • # Tor brouter & meltdown

    Posté par  . Évalué à 3.

    Tor Browser 7.5
    Le navigateur sécurisé est à présent basé sur Firefox 52.6.0 ESR et bénéficie notamment d’un certain nombre d’améliorations visant à simplifier l’expérience utilisateur. Par ailleurs il n’est pas affecté par les failles Spectre/Meltdown. Lire l’annonce officielle (en anglais).

    Quelle est la source ?

  • # Merci aux contributeurs

    Posté par  (site web personnel) . Évalué à 10.

    J'ai débuté cette dépêche en voyant qu'aucune n'était en cours peu de temps avant la sortie de cette version, mais j'ai surtout écrit dans « Autour de Firefox et changements à venir » faute de temps donc merci à tous ceux qui ont contribué à cette dépêche : elle leur appartient autant si ce n'est plus qu'à moi

  • # Pronostic de sortie

    Posté par  . Évalué à 3.

    Martin Stránský, en charge du portage pour Red Hat, vient de signaler dans le méta‐bogue correspondant que le gros du portage devrait être fait pour la version 59, même s’il restera encore à peaufiner en vue d’une diffusion auprès du grand public.

    Vu que firefox 60 est une ESR, la diffusion auprès du grand public n'arrivera pas avant firefox 61 (26 juin).

    • [^] # Re: Pronostic de sortie

      Posté par  (site web personnel) . Évalué à 2.

      Bien vu ;)
      De toutes les façons, je doute que ça aurait été prêt pour 60.

    • [^] # Re: Pronostic de sortie

      Posté par  (site web personnel) . Évalué à 2.

      Selon ce billet pas tout à fait, mais tu as peut-être des infos plus récentes?

      What’s the plan?

      In order to accommodate the group policy implementation, we are making Firefox 60 our next ESR version and will be following this plan:

      • May 8th – ESR 60.0 released (we’d love feedback from early adopters at that point and will be sharing a feedback form through the enterprise mailing list)
      • July 3rd – ESR 60.1 released
      • August 28th – End of life for ESR 52 and release of ESR 60.2.0. No further updates will be offered for ESR52 and an update to ESR 60.2.0 will be provided through the application update service
  • # https

    Posté par  . Évalué à 3.

    Une bonne partie des nouvelles fonctionnalités de Firefox seront utilisables uniquement sur des pages Web accédées via HTTPS.

    source : https://blog.mozilla.org/security/2018/01/15/secure-contexts-everywhere/

    Qu'en est-t-il pour les autres protocoles que http où les pages sont fournies par un serveur local intermediaire ?

  • # Gestion du cache

    Posté par  . Évalué à -1. Dernière modification le 26 février 2018 à 12:13.

    Ceci m'inquiète beaucoup :

    La validation par l’analyse et la compilation sont des opérations coûteuses. L’idée est donc d’ajouter dans le cache du site Web le dernier bytecode calculé à côté du code source JavaScript.

    En effet, les deux ressources sont nécessaires dans le cache, car il faut pouvoir invalider le cache si le serveur Web a modifié le JavaScript. La seconde idée des développeurs a donc été d’enregistrer le bytecode comme contenu alternatif au code source JavaScript.

    Ainsi, le cache peut facilement valider (sans avoir à retraduire le code compilé) que le code source n’a pas changé sur le serveur et transmettre directement le code compilé au processus de >rendu.

    Est-ce qu'avant de transmettre le code compilé, il est vérifié qu'il n'y a pas eu une violation du cache ? Qu'est ce qui m'empêche d'injecter un fichier dans le cache qui serait alors exécuté ?

    • [^] # Re: Gestion du cache

      Posté par  . Évalué à 4.

      C’est différent de modifier le cache avec un fichier js non compilé ?

    • [^] # Re: Gestion du cache

      Posté par  (site web personnel) . Évalué à 1.

      Tu veux dire, quelqu’un qui aurait accès au cache de ton firefox, donc accès à ta machine ?

      Rien ne l’empêche d’exécuter ce qu’il veut, en effet. Mais pas besoin de firefox pour ça, un simple shell suffit.

  • # Firefox ESR 60 «policy engine»

    Posté par  (site web personnel) . Évalué à 4.

    Apparemment il y a un gros effort pour rendre ESR plus adapté aux entreprises, notamment en facilitant son déploiement et sa configuration. Il devrait être ainsi adaptable aux GPO d'Active Directory (et Samba 4), mais pas que.

    https://blog.mozilla.org/futurereleases/2018/01/11/announcing-esr60-policy-engine/

    Sortie prévue le 8 mai.

  • # Thunderbird - bonne nouvelle

    Posté par  . Évalué à 6.

    Je suis content pour Thunderbird. Je suis un utilisateur actif et je pense que ça reste essentiel comme outil pour beaucoup de monde. Un peu de modernisation fera du bien :-)

  • # Trackers ?

    Posté par  (site web personnel) . Évalué à 2.

    Suite à une expertise externe de différentes applications Android, trois trackers ont été découverts dans l’application officielle Qwant mobile : deux provenaient de Google (Crashlytics et DoubleClick) et un troisième provenait de Shibsted. Après vérifications, Qwant a découvert que « ces trackers avaient été secrètement ajoutés par des services tiers qui étaient accessibles dans des parties accessoires de l’application ». Une nouvelle version de Qwant mobile pour Android, nettoyée de ces trackers, a été publiée en conséquence (voir le billet de blogue officiel).

    L'info n'est pas tout à fait exacte puisque -peu après- un complément a été publié : https://blog.qwant.com/exodus-privacy-result-of-our-investigation-regarding-reported-trackers/ dans lequel on lit notamment :

    we can affirm that neither the DoubleClick tracker (from Google) nor the Shibsted tracker were embedded in our app

    Il s'agissait donc de faux-positifs pour ces deux là. Pour ce qui est de Crashlytics : ils l'avaient eux-même utilisé, comme de nombreux développeurs, mais ont tout de même décidé de s'en passer par souci de respect pour la vie privée.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.