Parution de Firefox 41

Posté par  . Édité par M5oul, Nÿco, cbri, Benoît Sibaud, Nils Ratusznik, Sylvestre Ledru, Jiehong et rpnpif. Modéré par Florent Zara. Licence CC By‑SA.
62
24
sept.
2015
Mozilla

La 41e version du navigateur Firefox, édité par Mozilla, est parue le 22 septembre 2015. Tous les détails sont dans la seconde partie de la dépêche.

Firefox

On peut également noter la sortie de Firefox ESR 38.3, non couvert dans cette dépêche.

Sommaire

Changements communs

Nouveautés

Depuis quelques versions, la composition se fait sur le fil d’exécution compositeur, distinct du fil principal pour ne pas le bloquer. Dorénavant, les animations de transform et opacity se font également sur le fil compositeur, ce qui permet aux animations de rester fluides même quand le fil principal est trop occupé. Voir ce billet de blog pour plus de détails.

Côté performances, on voit aussi une amélioration pour le rendu de box-shadow qui a été complètement retravaillé, et le décodage d’image avec des performances jusqu’à deux fois supérieures dans certains cas, en particulier lors du défilement, et ceci grâce à un petit changement d’algorithme et le décodage de plusieurs images en parallèle.

Le réglage permettant de désactiver la lecture automatique des vidéos HTML5 ne pourra plus être outrepassé par les webmestres.

Firefox dispose d’une option qui empêche les sites web d’utiliser leurs propres polices de caractères (Préférences → Contenu → Section « Police et couleurs » → bouton « Avancé » → option « Autoriser les pages web à utiliser leurs propres polices au lieu de celles choisies ci-dessus »). Or, certains sites dépendent d’une police d’icône (comme Awesome ou Octicons) et désactiver l’option dégradait l’expérience d’utilisation. Désormais, même si l’option est désactivée, Firefox téléchargera les polices d’icônes en cas d'utilisation par le site afin de délivrer une expérience optimale (une option permet néanmoins de ne jamais charger ces polices).

Avant, les polices utilisées pour les formules mathématiques écrites avec MathML (balises <math>) étaient codées en dur dans un fichier CSS. Désormais, dans la configuration avancée des polices, on peut trouver « Mathématiques » dans la liste des langues et donc y configurer les polices dédiées aux formules mathématiques (bug 947654).

« Mathématiques » dans la liste des langues !

En outre, une anomalie qui empêchait les éléments HTML <picture> de réagir à un redimensionnement/changement de viewport et de nombreuses failles de sécurité ont été corrigées.

Développement

Suppression de la gestion des composants binaires XPCOM dans les extensions, utilisez le mécanisme de tube pour les binaires natifs de system/child_process du SDK modules à la place.

Les API MessageChannel et MessagePort activées par défaut.

Prise en charge de la propriété transform-origin sur les éléments SVG.

L’API de chargement de police CSS (CSS Font Loading) est activée par défaut. Contrairement à @font-face, on peut vérifier si le chargement d’une police a pris effet.

On peut copier/couper du contenu web en JavaScript vers le presse-papier de l’OS avec document.execCommand("cut"/"copy"). Auparavant, le seul moyen d’effectuer cette opération était de passer par un plugin (par exemple, GitHub utilise Flash pour cela, mais une alternative sans Flash a déjà été réalisée grâce à cette API).

Firefox Desktop

Nouveautés

Du côté de Windows, deux changements :

Firefox Hello, solution de VoIP de Mozilla intégrée dans Firefox, inclut, après l’ajout du partage de fenêtre, à présent une messagerie instantanée. De plus, on peut désormais mettre une image de profil à son compte Firefox.

Capture d’écran de la messagerie instantanée dans Firefox Hello

Les images en SVG (format d’images vectorielles) peuvent à présent être utilisées en tant que favicon. Auparavant, uniquement les formats d’images matricielles étaient gérés. Opera prenait en charge cette fonctionnalité mais ça n’est plus le cas. Seul Safari sur iOS prenait donc effectivement en charge cette fonctionnalité jusqu’à maintenant, qui est également prévue pour la prochaine version de Safari.

Mozilla voulait rendre obligatoire la signature des extensions dans cette version, cependant l’intégration de cette fonctionnalité tant controversée a été reportée pour la version 43.

On ne peut plus changer l’URL chargée lors de l’ouverture d’un nouvel onglet car l’option browser.newtab.url de l’écran about:config a été supprimé : pas modifiable dans l’interface graphique, utilisé principalement par les logiciels malveillants, Mozilla conseille d’installer une extension (comme New Tab Override) en remplacement.

WebRTC nécessite dorénavant une connexion à confidentialité persistante (perfect forward secrecy).

La surconsommation mémoire d’Adblock Plus a été grandement réduite. uBlock Origin ne bénéficie pas de ce changement car il n’était pas affecté par ce bug, il reste cependant toujours plus léger et performant qu’Adblock Plus.

Développement

À présent, Navigator.onLine varie en fonction de la véritable connexion Internet (uniquement sous Windows et Mac OS X).

L’API Cache a été implémentée pour requêter les caches nommés qui sont des Window, Worker, et ServiceWorker accessibles.

Les outils de développement de Firefox ont reçu plein de nouvelles fonctionnalités. L’inspecteur a reçu principalement quatre nouveautés :

  • copie d’écran d’un nœud ou d’un élément (clic droit sur un élément puis « Copie d’Écran de Nœud ») ;
  • ajout rapide d’une nouvelle règle CSS (avec le bouton situé juste à côté de la barre de recherche) ;
  • copie des déclarations de règles CSS (clic droit sur une règle CSS puis « Copier règle ») ;
  • copie d’une image dans une déclaration CSS background-image sous forme d’URL data: (clic droit sur l’URL puis « Copier l’image en tant que Data-URL ») comme il était déjà possible de le faire pour une URL d’image dans du code HTML ;
  • panneau de Pseudo Classe dans l’inspecteur.

De plus, les requêtes réseau peuvent être exportées au format HAR (HTTP ARchive) (avec un clic droit sur une ligne puis « Tout copier en tant que HAR » ou « Tout enregistrer en tant que HAR »).
You can now export HAR archives directly from the network monitor

Le code HTML peut désormais être ouvert dans un nouvel onglet (il faut passer view_source.tab à true dans about:config). De plus, c’est le code HTML de la page en cache qui est affiché (la page n’est pas demandée à nouveau au serveur), ce qui est beaucoup plus logique et rapide.
View Page Source always opens in a tab now

https://developer.mozilla.org/en-US/docs/Tools/GCLI/Display_security_information

La ligne de commande de Firefox, invocable via Maj + F2, dispose d’une nouvelle commande security csp pour afficher les informations relatives au CSP. Exemple sur un domaine prenant en charge CSP :

Capture d’écran du résultat de la commande `security scp`

Firefox Mobile

Nouveautés

Lorsqu’on effectuait une recherche dans la barre d’adresse, on obtenait une liste de choix permettant de chercher ce qu’on avait tapé avec plusieurs moteurs de recherche. Désormais, une liste horizontale de boutons illustrées avec les favicons des moteurs de recherche apparait en bas de l’écran. Cela laisse plus d’emplacement à l’affichage des résultats, de l’historique et des marques-pages tout en permettant un accès facile à plusieurs moteurs de recherches. Ci-dessous, l’ancienne interface se trouve à gauche et à droite la nouvelle.

Écran de recherche avec l’ancienne et la nouvelle sélection des moteurs de recherche

Balayer un onglet le ferme sur tablette, à l’image de la version mobile.

Ajout d’une interface pour rechercher manuellement et copier/coller ses identifiants depuis le gestionnaire d’identifiants lorsque les champs ne sont pas auto-complétés.

Amélioration de la gestion des marque-pages : lorsqu’une page est déjà en marque-page, l’icône qui est habituellement une étoile creuse devient pleine et un appui sur le bouton supprime le marque-page au lieu d’en rajouter un nouveau, apportant un comportement plus pratique et plus proche de celui de Firefox Desktop.

On peut désormais ouvrir des applications Android via des URI d’Intent (signifie « intention », système d’Android pour lancer depuis une application une action spécifique, par exemple lire un fichier MP3, ou une autre applications). Voir l’explication sur developer.chrome.com.

L’agent utilisateur inclut à présent la version d’Android.

Une anomalie qui empêchait Firefox de lire les fichiers MP3 à partir d’Android 5.0, connue depuis la version 35, a été résolue.

Après la prise en charge du breton et de l’espéranto dans la version 35, c’est au tour du croate (hr) d’être ajouté.

Développement

JavaAddonManager peut à présent envoyer, recevoir et répondre aux messages provenants de Gecko.

Une API expérimentale pour modifier la page « appel rapide » (speed dial) pour les extensions fait son apparition (extension d’exemple)

Une API générique permet au développeurs de créer une grille d’icône, et d’ajouter en option une large image d’entête.

Prochaines versions

Firefox 42

La prochaine version atteindra le fameux nombre 42. En référence au livre : le Guide du voyageur galactique.

42

La version 42 devrait apporter :

Firefox 44

En concertation avec Microsoft et Google, la désactivation de RC4 devrait prendre effet. Mozilla fait la liste des sites à qui le retrait de cet ancien algorithme de chiffrement pose problème.
L’IETF avait publié en début d’année, une note déconseillant l’usage de RC4.

Plus tard

Mozilla s’est associé à Microsoft, Google, Cisco (qui avait annoncé son propre codec Thor), Netflix, Amazon et Intel pour créer un nouveau format vidéo le plus ouvert possible. Cela vient du flou au sujet de H265 : alors que la MPEG LA (qui a lancé le H264) avait annoncé un prix de 0,20$ par appareil pour les licences d'utilisation du codec HEVC, une autre entité – HEVC Advance – a annoncé que son portefeuille de brevets sur le H265 coûterait entre 1,30 et 2,60 $ par appareil selon les pays. (cf Wikipédia)
Notez qu’en même temps, Microsoft annonce l’arrivée du VP9 et de WebM dans Edge dans le cas d’usage du streaming.

Firefox pour iOS est disponible en avant-première en Nouvelle-Zélande

Enfin, Mozilla et Microsoft cherchent à permettre le glisser/déposer de dossiers en Javascript, fonctionnalité souvent implantée en Flash à l’heure actuelle. Après le couper/coller en Javascript, c’est donc un pas de plus pour pouvoir se passer de Flash. Cette technique sera différente de celle utilisée dans Google Chrome : New API for directory picking and drag-and-drop.

Aller plus loin

  • # source

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

    Le code HTML est désormais ouvert dans un nouvel onglet.

    étrange, il s'ouvre toujours dans une nouvelle fenêtre chez moi depuis le menu contextuel. il y a-t-il une option à activer pour qu'il s'ouvre dans un onglet?

    wind0w$ suxX, GNU/Linux roxX!

    • [^] # Re: source

      Posté par  . Évalué à 9.

      Il faut mettre view_source.tab à true dans about:config. On se base sur les notes de version de la bêta qui n’est pas exactement le même que celui de la stable, d’ailleurs j’ai sauvegardé un joli paragraphe sur la signature des extensions rendue obligatoire sur mon ordinateur pour la prochaine dépêche ou celle d’après puisque le changement a été intégré dans la bêta mais repoussé pour la stable.

      Si un modérateur pouvait préciser que ce n’est pas activé par défaut ça serait sympa. :)

      Écrit en Bépo selon l’orthographe de 1990

  • # content

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

    content de voir qu'un bug que j'avais rapporté au mois de mai 2015 a été corrigé et intégré dans cette version. C'était un crash de Firefox sur l'affichage du pdf de la feuille des matchs du jours du tournoi local de tennis. Bon, le tournoi est fini depuis 5 mois mais désormais, le pdf ne fait plus crasher firefox :-) Au passage, j'ai pu constater qu'il y a de sacrées procédures de mise en évidence du bug, de test, de relance du développeur, de non régression qui sont mises en œuvre

  • # Du Rust dans Firefox

    Posté par  . Évalué à 5.

    C’est bête que je ne l’ai pas vu avant, mais d’après ce rapport de bug, la bibliothèque mp4parse-rust a été intégrée dans Firefox 41 pour remplacer l’implémentation C++.

    Écrit en Bépo selon l’orthographe de 1990

    • [^] # Re: Du Rust dans Firefox

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

      J'en doute, d'après le patch, le code est arrivé dans le source de Firefox, ça veut pas dire qu'il est compilé ou utilisé (dixit le commentaire #0 de Ralph).

      • [^] # Re: Du Rust dans Firefox

        Posté par  . Évalué à 1.

        J’ai été un peu vite du coup je n’ai pas vu ni précisé que c’était présent mais pas encore utilisé. Merci pour la correction. :)

        Écrit en Bépo selon l’orthographe de 1990

  • # mais excellence sera ...

    Posté par  . Évalué à -2.

    Tous les sondages indiquent que l'excellence sera (tambours … )
    Firefox 43.

    bon je --->

    Tout le monde a un cerveau. Mais peu de gens le savent.

    • [^] # Re: mais excellence sera ...

      Posté par  . Évalué à 1. Dernière modification le 28 septembre 2015 à 17:31.

      pour les spécialistes du moins, un petit indice

      La version 42 devrait apporter :

      Une navigation privée permettant de contrôler sa vie privée en bloquant les domaines ou les sites connus pour traquer les utilisateurs (Mozilla s’appuiera sur le travail effectué par disconnect.me). Plus d'informations en anglais.
      Une liste de critères pour vérifier que les extensions sont sans risque pour l’utilisateur.
      Une compilation par défaut avec GTK+3 :-) (d'ailleurs on peut tester dès à présent la version GTK+3isée). Voilà qui nous rapproche d’une version pour Wayland.
      Une visualisation de l’onglet qui produit du son et dans le cas échéant, le couper à l’aide d’un clic ou d’un raccourci clavier (bug 486262). Cette fonctionnalité devrait concerner aussi bien l’audio mis en œuvre via HTML5 que via Flash (bug 1167690).
      Une amélioration du gestionnaire de mots de passe sur les versions bureau et mobile.

      Firefox 44

      En concertation avec Microsoft et Google, la désactivation de RC4 devrait prendre effet. Mozilla fait la liste des sites à qui le retrait de cet ancien algorithme de chiffrement pose problème.
      L’IETF avait publié en début d’année, une note déconseillant l’usage de RC4.
      Plus tard ………….

      Tout le monde a un cerveau. Mais peu de gens le savent.

  • # Bravo

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

    Bravo aux rédacteurs de cette dépêche qui n'ont pas ménagé leurs efforts pour la publier dans les temps ;)

  • # Firefox Hello

    Posté par  . Évalué à 5.

    J'ai testé pour vous la nouvelle fonctionnalité de chat

    Firefox Hello, solution de VoIP de Mozilla intégrée dans Firefox, inclut, après l’ajout du partage de fenêtre, à présent une messagerie instantanée

    Et bien, c'est assez décevant, il faut que la page web auquel les correspondants accèdent ait accès au micro pour pouvoir chatter par écrit.

    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Firefox Hello

      Posté par  . Évalué à 2.

      Je dirais que ça vaut le coup d'ouvrir un bug, si c'est pareil dans Nightly :)

      • [^] # Re: Firefox Hello

        Posté par  . Évalué à 3.

        Si je ne me trompe pas, la page à laquelle les correspondants accèdent n'est pas générée par le navigateur mais par le service Firefox, du coup, ça ne devrait pas changer avec nightly. D'ailleurs, c'est la même chose avec Chromium.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

  • # Accès au presse papier de l'OS????

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

    On peut copier/couper du contenu web en JavaScript vers le presse-papier de l’OS avec document.execCommand("cut"/"copy"). Auparavant, le seul moyen d’effectuer cette opération était de passer par un plugin (par exemple, GitHub utilise Flash pour cela, mais une alternative sans Flash a déjà été réalisée grâce à cette API).

    J'ai toujours des trucs sensibles dans mon presse papier. Ça m'ennuie que ce soit disponible silencieusement par le site Internet. Ou alors je n'ai rien compris.

    Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

  • # polices d’icônes

    Posté par  . Évalué à 3.

    La possibilité de forcer ses propres polices sans désactiver les polices d'icônes sera vraiment bienvenue ! Je jonglais souvent entre l'activation et la désactivation de l'option de blocage des polices de sites, à cause des icônes.

    Soit dit en passant, je ne comprends pas cette mode de contre-emploi des polices pour faire des icônes, alors que tous les navigateurs savent faire du rendu de SVG. En plus on se contraint au monochrome. Un webmaster pourrait-il expliquer d'où sort ce qui semble être une aberration ?

    • [^] # Re: polices d’icônes

      Posté par  . Évalué à 3.

      Ça a des inconvénients comme tu le soulignes, mais aussi des avantages:

      • monochrome, certes, mais tu peux changer très facilement la couleur.
      • tous les glyphes dans un seul fichier bien compressé (le woff2 utilise la compression brotli)
      • le support de SVG reste récent dans certains navigateurs (koff IE koff)

      Bon, moi je suis plutôt de ton côté sur ce coup ;)

    • [^] # Re: polices d’icônes

      Posté par  . Évalué à 6.

      Soit dit en passant, je ne comprends pas cette mode de contre-emploi des polices pour faire des icônes, alors que tous les navigateurs savent faire du rendu de SVG. En plus on se contraint au monochrome. Un webmaster pourrait-il expliquer d'où sort ce qui semble être une aberration ?

      Alors sans parler de police. Je suis pas sûr que le SVG soit génial. C'est relativement lourd à gérer (il faut gérer un dom en plus qui peut contenir du JS etc), alors que pour des images aussi petites rester simple est un plus. Utiliser par contre d'autre bitmap (PNG pour avoir de la transparence par exemple) peut être intéressant. Je présume que le fait d'utiliser des polices permet de se baser sur un CDN et de bénéficier du cache du navigateur.

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: polices d’icônes

        Posté par  . Évalué à 5.

        Font vs PNG, c'est surtout pour gérer les différences de DPI (Retina-like).

        J'ai un autre argument pour les icon fonts par rapport à SVG: les fonts ont des mécanismes pour pouvoir ajuster des trucs à différentes tailles, alors que SVG n'en a pas; et donc rendre du SVG en tout petit, ça fait bien souvent de la bouillie de pixels.

    • [^] # Re: polices d’icônes

      Posté par  . Évalué à 3.

      L'usage de caractères ne me gêne pas en soit, ça permet de réduire les appels à des ressources externes (images) et la complexification du DOM (SVG). Les polices spéciales m’embêtent déjà plus alors que Unicode contient déjà une chiée de symboles, ce qui permet de faire beaucoup avec une seule police (évidemment il faut qu'elle soit un peu complète). Ce que je trouve vraiment pénible c'est l'usage de CDN @lacon pour fournir ces ressources et, pire, parfois c'est du JavaScript qui s'occupe du chargement.

      • [^] # Re: polices d’icônes

        Posté par  . Évalué à 2.

        Ce que je trouve vraiment pénible c'est l'usage de CDN @lacon pour fournir ces ressources […]

        Pourquoi ? Ça réduit la charge sur le serveur du site en question et ça te permet de bénéficier d'un cache « multi-site ».

        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: polices d’icônes

          Posté par  . Évalué à 6.

          Mais ça n'est pas anodin en terme d'implications sur la vie privée, via les métadonnées notamment.

          • [^] # Re: polices d’icônes

            Posté par  . Évalué à 2.

            Tu peux détailler SVP ?

          • [^] # Re: polices d’icônes

            Posté par  . Évalué à 4.

            Ah ? Vraiment ? Prenons le premier CDN qui me viens sous la main :

            michel % curl -vvv "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"
            [...]
            > 
            < HTTP/1.1 200 OK
            < Vary: Accept-Encoding
            < Content-Type: text/javascript; charset=UTF-8
            < Last-Modified: Tue, 17 Mar 2015 22:05:24 GMT
            < Date: Wed, 02 Sep 2015 08:37:42 GMT
            < Expires: Thu, 01 Sep 2016 08:37:42 GMT
            < Access-Control-Allow-Origin: *
            < Timing-Allow-Origin: *
            < X-Content-Type-Options: nosniff
            * Server sffe is not blacklisted
            < Server: sffe
            < X-XSS-Protection: 1; mode=block
            < Cache-Control: public, max-age=31536000
            < Age: 2433461
            < Alternate-Protocol: 443:quic,p=1
            < Alt-Svc: quic=":443"; p="1"; ma=604800
            < Accept-Ranges: none
            < Transfer-Encoding: chunked
            <

            J'attire ton attention sur l'entête :

            Expires: Thu, 01 Sep 2016 08:37:42 GMT

            Et la doc pour voir la RFC qui décris cette entête : http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21

            Donc non, pour une url d'un CDN donné tu va faire une requête par an… pas très rentable pour récupérer des métadonnées.

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: polices d’icônes

              Posté par  . Évalué à 3.

              Ok, et donc ça

              GET /ajax/libs/angularjs/1.3.15/angular.min.js HTTP/1.1
              User-Agent: curl/7.30.0
              Host: ajax.googleapis.com

              Ce ne sont pas des requêtes qui partent vers le serveur ?

              Le fait que tu ne re-télécharge pas le fichier ne veut pas dire que tu n'échange rien avec le serveur.

              Il faut bien vérifier que la version que tu possèdes est la bonne et qu'il n'y a pas une version plus récente/à jour à télécharger.

              Il y a bien un GET qui part vers le CDN qui indique la ressource à laquelle tu as voulu accéder, quand tu as voulu y accéder et potentiellement par l'intermédiaire/pour le compte de quel site.

              Est fournit également le User-agent qui peut être très bavard.
              On rappellera notamment https://panopticlick.eff.org/ et https://amiunique.org/ à ce propos.

              • [^] # Re: polices d’icônes

                Posté par  . Évalué à 2.

                Il faut bien vérifier que la version que tu possèdes est la bonne et qu'il n'y a pas une version plus récente/à jour à télécharger.

                Non, le lien que je donne pointe aussi vers comment doit fonctionner un mécanisme de cache :

                HTTP caching works best when caches can entirely avoid making requests to the origin server. The primary mechanism for avoiding requests is for an origin server to provide an explicit expiration time in the future, indicating that a response MAY be used to satisfy subsequent requests. In other words, a cache can return a fresh response without first contacting the server.

                Donc si tu cherche à faire du tracking monter un CDN n'est pas une bonne idée.

                Ce qui rend le CDN intéressant ce n'est pas la performance du serveur, c'est de ne pas avoir à faire de requête (même pas de HEAD).

                Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # Trainspotting: Firefox 41 est sorti

    Posté par  . Évalué à 2.

    L'article de Mozilla a destination des développeurs est sorti: https://hacks.mozilla.org/2015/09/trainspotting-firefox-41/

    Un résumé en français: http://mozillazine-fr.org/avec-firefox-41-mozilla-soigne-les-developpeurs/

Suivre le flux des commentaires

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