URL: https://linuxfr.org/news/firefox-58 Title: Firefox 58 Authors: antistress Adrien Dorsaz, ZeroHeure, cracky, ariasuni, Benoît Sibaud, Davy Defaud, rpnpif, Anonyme, jcr83 et cpc6128 Date: 2018年01月07日T02:34:26+01:00 License: CC By-SA Tags: mozilla, firefox, meltdown et spectre Score: 48 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). ---- [Notes de version Firefox 58 pour bureau](https://www.mozilla.org/en-US/firefox/58.0/releasenotes/) [Notes de version Firefox 58 pour Android](https://www.mozilla.org/en-US/firefox/android/58.0/releasenotes/) [Notes de version Firefox 58 pour les développeurs](https://developer.mozilla.org/fr/Firefox/Releases/58) [Failles de sécurités connues pour Firefox 58](https://www.mozilla.org/en-US/security/known-vulnerabilities/firefox/#firefox57) [Résumé officiel des nouveautés](https://blog.mozilla.org/press-fr/2018/01/23/la-derniere-version-de-firefox-quantum-protege-toujours-mieux-la-vie-privee-des-utilisateurs-avec-une-protection-a-la-demande-contre-le-pistage-et-lintegration-de-nouvelles-fonctionnalites/) [Dépêche de la version précédente](https://linuxfr.org/news/firefox-quantum-premiere-partie-du-projet-quantum-de-mozilla-est-disponible) [Notes de version pour Firefox Focus / Klar](https://github.com/mozilla-mobile/focus-android/releases) ---- # Firefox 58 : changements communs pour bureau et pour Android ## Améliorations du gestionnaire de cache Une [optimisation du cache](https://blog.mozilla.org/javascript/2017/12/12/javascript-startup-bytecode-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_](https://fr.wikipedia.org/wiki/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](https://hacks.mozilla.org/2018/01/making-webassembly-even-faster-firefoxs-new-streaming-and-tiering-compiler/) 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](https://mozillagfx.wordpress.com/2017/12/05/off-main-thread-painting/), 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](https://linuxfr.org/news/un-nouveau-moteur-de-rendu-ultra-rapide-pour-firefox-quantum-render#la-composition-acc%C3%A9l%C3%A9r%C3%A9e-par-les-processeurs-graphiques). 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](https://mozillagfx.wordpress.com/2018/02/13/webrender-newsletter-14/) 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](https://www.mozilla.org/en-US/firefox/57.0.4/releasenotes/) 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](https://www.mozilla.org/en-US/firefox/57.0.3/releasenotes/), 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](https://www.mozilla.org/en-US/firefox/58.0.1/releasenotes/). ## 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_](https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/) et [l’article explicatif de _Numerama_](https://www.numerama.com/tech/319046-meltdown-spectre-pourquoi-mozilla-patche-son-navigateur-firefox.html)). 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_](https://fr.wikipedia.org/wiki/Progressive_web_app), 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](https://support.mozilla.org/kb/manage-bookmark-folders-firefox-android) peut se faire en plein écran et permet une organisation par dossier ; * il est capable de jouer des fichiers audio de type [FLAC](https://fr.wikipedia.org/wiki/Free_Lossless_Audio_Codec "Free Lossless Audio Codec") ; * 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](https://developer.mozilla.org/en-US/Firefox/Releases/58). 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_](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/pkcs11) a été ajoutée pour gérer l’utilisation des périphériques de sécurité [PKCS #11](https://en.wikipedia.org/wiki/PKCS_11) ; * l’API BrowserSettings [permet de savoir](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserSettings/webNotificationsDisabled) 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_](https://www.phoronix.com/scan.php?page=news_item&px=Firefox-59-Does-Away-With-GTK2)). ### Avancées du portage Wayland Martin Stránský, en charge du portage pour Red Hat, vient de signaler dans [le méta‐bogue correspondant](https://bugzilla.mozilla.org/show_bug.cgi?id=635134#c86) 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](https://f-droid.org/packages/org.mozilla.klar/)) : * 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](https://blog.mozilla.org/blog/2017/12/13/firefox-focus-adds-quick-access-without-sacrificing-users-privacy/) 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)](https://blog.torproject.org/tor-browser-75-released). ## 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](https://blog.qwant.com/fr/une-nouvelle-appli-qwant-mobile-pour-mieux-proteger-votre-vie-privee/)). ## Thunderbird : nouvelles versions et nouvelle équipe Nous vous renvoyons vers [le billet paru sur _blog.mozfr.org_](https://blog.mozfr.org/post/2017/12/Thunderbird-nouvelles-versions-equipe) 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_](https://posteo.de/en/blog/security-warning-for-thunderbird-users-and-enigmail-users-vulnerabilities-threaten-confidentiality-of-communication)). 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](https://ftp.mozilla.org/pub/thunderbird/nightly/latest-comm-central/) et à suivre [le guide de migration]((https://wiki.mozilla.org/Thunderbird/Add-ons_Guide_57))). 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é](https://diary.braniecki.net/2018/01/08/multilingual-gecko-in-2017/) 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](https://lord.re/fast-posts/07-mozilla-features-unencrypted/).