Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Dossier : Firefox - Trucs et astuces

Dossier : Firefox - Trucs et astuces

Sécurité informatique - Vie privée - Neutralité
Carnets de voyage en terres truquées
Bienvenue sur le Web

Firefox, de la Fondation Mozilla, est un navigateur Web libre, gratuit, et open source, ne jouant pas à l'espionnage de ses utilisateurs.

Firefox bénéficie d'une stabilité remarquable, d'une vitesse irréprochable, d'une sécurité au-dessus des autres, d'un principe natif de protection de la vie privée et de milliers d'add-on dont peu on un équivalent ailleurs.

Il est possible de faire tant de choses avec lui, tellement agréablement.

Dans ce dossier, voici une liste d'explications sur quelques réglages, trucs et astuces, où les faire et comment les faire.

..Dossier - Moteur de rendu de Firefox

En gros, un navigateur Web est composé de 3 éléments :

  • Un moteur de rendu (qui n'est pas le navigateur). Il calcul graphiquement et affiche la page Web visitée (ils sont tous open source). Un moteur de rendu est, lui-même, composé de 3 éléments :

    • Le moteur de rendu HTML 5 (il en existe 3 qui doivent répondre strictement, rien de plus, rien de moins, aux directives des standards du Web édictés par le W3C. Ils sont donc tous plus ou moins identiques (Quantum, WebKit, Blink). Le 8 décembre 2018, Microsoft a annoncé abandonner le moteur de rendu d'Edge, EdgeHTML, au profit de Blink. Les 2 ou 3 autres moteurs de rendu qui restent sont en voie de disparition. J'ai rencontré un bug d'affichage dans Blink.

    • Le moteur/compilateur JavaScript. Il existe une course à la vitesse dans laquelle le moteur JavaScript de Firefox (Ion) sort premier (voir les captures d'écran des tests dans Firefox).

    • Le moteur de styles CSS (les « feuilles de style en cascade »).

  • Le navigateur Web proprement dit, qui sert à naviguer sur le Web. Mis à part celui de Firefox qui est open source, ils sont tous en code propriétaire (secret) avec interdiction contractuelle d'ingénierie inverse. C'est là que se cache tous les outils d'espionnage, suivi, surveillance, etc.

  • Des modules additionnels (add-on), parfois obligatoires, parfois optionnels, aux goûts et usages de l'utilisateur. C'est du code injecté dans le navigateur. Certains sont « propres », d’autres sont de véritables espions ou malveillances.

Tout cela sert :

  • A afficher une page Web visitée

  • A naviguer sur le Web

  • A personnaliser le navigateur

Choisir un navigateur Web pour se rendre sur l'Internet
Choisir un navigateur Web pour se rendre sur le Web

  • 01 Le noyau central : le moteur de rendu

    Le « moteur de rendu », c'est ce qui fait comment vous voyez, à l'écran, une page Web, juste la page Web, indépendamment de tout le reste qui s'affiche à l'écran, autour de la page Web visitée (entête, menu, bare de navigation, bare d'outils, panneaux latéraux, bas de la fenêtre, etc.), et relève du navigateur Web, pas du « moteur de rendu » (le navigateur Web peut demander au « moteur de rendu » d'afficher certains objets graphiques qui n'appartiennent pas à la page Web, comme les ascenseurs, les barres d'outils et les menus). Le « moteur de rendu » :

    • Interprète et affiche plus ou moins bien le code HTML selon les standards du W3C (y compris les formulaires et la prise en charge de l'interaction avec l'internaute)

    • En respectant plus ou moins bien les styles et formats décripts dans les feuilles de style en cascade (CSS) selon les standards du W3C

    • En interprétant plus ou moins bien, et plus ou moins rapidement, les codes Javascript (les scripts) de la page Web (il y a divers « moteurs javascript » (« interpréteur javascript ») dans les navigateurs Web dont les tests comparatifs de vitesse font l'objet de combats homériques : SpiderMonkey, TraceMonkey, JägerMonkey, IonMonkey, V8, JavaScriptCore, Chakra, Rhino, Tamarin, Carakan, Futhark, etc.

    • Avec un comportement dit « à tolérance de panne » (« fault tolerant ») qui passe son temps à tenter de rendre visible et cohérente une page bourée de fautes de syntaxe HTML et CSS, comportement hautement et admirablement abracadabrantesque (une véritable gymnastique les pieds au mur) qui fait des merveilles, mais permet aussi beaucoup de laxisme de la part des webmasteurs.

    Il existe désormais (normalisation forte) très peu de « moteur de rendu » (Quantum, Webkit, Blink, Gecko et c'est presque tout). Ils sont tous open source (sauf Khtml et Trident, tous deux en voie de disparition).

    Les critères de choix vont donc être :

    • Respect des standards du W3C

    • Vitesse

    Aucun souci du côté des « moteurs de rendu » en termes de sécurité et de protection ou violation de la vie privée - Les « moteurs de rendu » n'interviennent absolument pas dans ce domaine et ne communiquent pas avec l'ordinateur (sauf les routines appelant les APIs du processeur graphiques et les requêtes en ressources matérielles).

    ATTENTION : LE MOTEUR DE RENDU N'EST PAS LE NAVIGATEUR WEB.

    Qui utilise quoi ? Quels navigateurs Web (et autres applications) utilisent Webkit ou Gecko ou Quantum ou Blink ?

    • Gecko puis Quantum :
      Un des objectifs de Gecko a été, dès le départ, le strict respect des standards du web et des recommandations du W3C. Les standards reconnus par Gecko sont notamment HTTP, FTP, SSL, Unicode, JPEG, GIF, HTML, XHTML, XML, CSS, Javascript, ECMAScript, DOM, MathML, RDF, XSLT, SVG, PNG, RSS, Atom, Ajax et XUL. Gecko est remplacé par Quantum dans Firefox (mais continue d'exister dans des dizaines de navigateurs Web dérivés de Firefox.

    • Trident :
      L'un des objectifs de Microsoft, avec Trident, est de ne respecter aucun standard si ce ne sont pas des « standards » de Microsoft. A ce petit jeu, façe au W3C et face à tous les autres « moteurs de rendu », Microsoft a perdu.

    Moteurs de rendu

    #

    Gecko

    Fondation Mozilla

    Webkit

    Apple-Nokia

    Dérivé de KHTML du projet Unix KDE

    WebCore

    Apple

    Dérivé de KHTML du projet Unix KDE

    Blink

    Google

    Dérivé de Webkit

    Trident

    Microsoft

    EdgeHTML

    Microsoft

    Un fork de Trident

    Quantum

    Fondation Mozilla

    FirefoxKonquerorEpiphanyGoogle ChromeInternet Explorer (toutes les versions, depuis la version 4.0 à 11.0)Edge (jusqu'au passage à Blink annoncé le 8 déc 2018Firefox à partir de la version 57 le 14 novembre 2017
    ThunderbirdABrowseFlock (depuis version 3)ChromiumNetscape (dans la version 8)
    SeaMonkeyGtkHTML du projet GNOMEiCab (depuis version 4)Opera depuis sa version 15Maxthon (peut utiliser Gecko à la place de Trident)
    ServoNetFront (microbrowser pour petits appareils)iWebVivaldiAvant Browser
    CaminoOmniWebEdge (annonce du 8 déc 2018)AOL Explorer
    Flock (avant la version 3)RapidWeaverYahoo! Explorer
    Beonex CommunicatorSafariiRider
    Netscape (depuis la version 6)ShiiraGoogle Talk
    K-MeleonSunriseBrowserImpulse
    GaleonSwift
    KazehakaseMidori
    Pale Moon (moteur Goanna, basé sur Gecko)Origyn Web Browser
    CyberfoxSputnik
    WaterfoxNaveo
    NvuProtom Navigator
    Kompozer
    BlueGriffon
    Songbird
    Lunascape
    SmartNet Browser
    Epiphany
    Fennec
    Symphony OS (une distribution de Linux)
    Maxthon (peut utiliser Gecko à la place de Trident)

  • 02 Le navigateur Web proprement dit

    C'est lui qui permet de cliquer sur un lien pour y aller, d'aller à la page précédente/suivante, de précharger les contenus pointés dans la page Web (c'est une mauvaise bonne idée, ça) pour y accéder plus rapidement si on clique sur l'un de ces liens, de demander le rafraîchissement de la page, de gérer les paramètres et options, de gérer les certificats, de gérer les marque-pages et, surtout, toutes les fonctions et activités cachées, secrètes, avec interdiction d'ingénierie inverse du code lorsque celui-ci n'est pas open source.

    • Code open source : tout le monde peut voir ce qu'il y a dedans, ce qu'il fait et ne fait pas (il ne cache rien). Il n'y en a qu'un : Firefox.

    • Code fermé, propriétaire, secret, et personne ne sait ce qu'il y a dedans, ni ce qu'il fait, ni comment il le fait (filtrage du Web servant au suivi, suivi, pistage, espionnage, tracking, clickstream, suivi des déplacements du pointeur de la souris même sans action (sans clic) de l'utilisateur, géolocalisation, horodatage, mots clé, page précédente, page suivante, préalable au chiffrement HTTPS, exploitation de la caméra, exploitation du micro, contournement du hosts local, collectes de données privées, etc.). Sauf Firefox, ils sont tous à code fermé.

  • 03 Les add-on (modules additionnels)

    Choisis et installés par l'utilisateur, certains add-on sont de confiance, comme ceux développés par la Fondation Mozilla elle-même ou l'EFF (Privacy Badger, HTTPS Everywhere...), NoScript, Ghostery, Decentraleyes, AdBlock Plus, d'autres sont extrêmement suspects.

..Dossier - Moteur de rendu de Firefox

La Fondation Mozilla fait en sorte que Firefox soit universel, entre autres afin que la même version soit disponible au sein d'un grand groupe aux plates-formes matériel/systèmes d'exploitation hétérogènes et aux langues diverses dans une multinationale.

Avec l’aide de bénévoles dévoués du monde entier, le navigateur Firefox est très largement localisé (96 langues au 25.05.2020) :

#IdentifiantLangueLangue (dans la langue)

ach

Acholi

af

Afrikaans

an

Aragonese

aragonés

ar

Arabic

????

ast

Asturian

Asturianu

az

Azerbaijani

Az?rbaycanca

be

Belarusian

??????????

bg

Bulgarian

?????????

bn

Bengali

?????

br

Breton

Brezhoneg

bs

Bosnian

Bosanski

ca

Catalan

Català

cak

Kaqchikel

MayaKaqchikel

ca-valencia

Catalan(Valencian)

Català(Valencià)

cs

Czech

?eština

cy

Welsh

Cymraeg

da

Danish

Dansk

de

German

Deutsch

dsb

LowerSorbian

Dolnoserbš?ina

el

Greek

????????

en-CA

English(Canadian)

en-GB

English(British)

en-US

English(US)

eo

Esperanto

es-AR

Spanish(Argentina)

Español(deArgentina)

es-CL

Spanish(Chile)

Español(deChile)

es-ES

Spanish(Spain)

Español(deEspaña)

es-MX

Spanish(Mexico)

Español(deMéxico)

et

Estonian

Eestikeel

eu

Basque

Euskara

fa

Persian

?????

ff

Fulah

Pulaar-Fulfulde

fi

Finnish

suomi

fr

French

Français

fy-NL

Frisian

Frysk

ga-IE

Irish

Gaeilge

gd

Gaelic(Scotland)

Gàidhlig

gl

Galician

Galego

gn

Guarani

Avañe'?

gu-IN

Gujarati(India)

???????(????)

he

Hebrew

?????

hi-IN

Hindi(India)

??????(????)

hr

Croatian

Hrvatski

hsb

UpperSorbian

Hornjoserbsce

hu

Hungarian

magyar

hy-AM

Armenian

???????

ia

Interlingua

id

Indonesian

BahasaIndonesia

is

Icelandic

íslenska

it

Italian

Italiano

ja

Japanese

???

ka

Georgian

???????

kab

Kabyle

Taqbaylit

kk

Kazakh

?????

km

Khmer

?????

kn

Kannada

?????

ko

Korean

???

lij

Ligurian

Ligure

lt

Lithuanian

Lietuvi?

lv

Latvian

Latviešu

mk

Macedonian

??????????

mr

Marathi

?????

ms

Malay

Melayu

my

Burmese

??????????

nb-NO

Norwegian(Bokmål)

Norskbokmål

ne-NP

Nepali

??????

nl

Dutch

Nederlands

nn-NO

Norwegian(Nynorsk)

Norsknynorsk

oc

Occitan(Lengadocian)

occitan(lengadocian)

pa-IN

Punjabi(India)

??????(????)

pl

Polish

Polski

pt-BR

Portuguese(Brazilian)

Português(do Brasil)

pt-PT

Portuguese(Portugal)

Português(Europeu)

rm

Romansh

rumantsch

ro

Romanian

Român?

ru

Russian

???????

si

Sinhala

?????

sk

Slovak

sloven?ina

sl

Slovenian

Slovenš?ina

son

Songhai

So?ay

sq

Albanian

Shqip

sr

Serbian

??????

sv-SE

Swedish

Svenska

ta

Tamil

?????

te

Telugu

??????

th

Thai

???

tl

Tagalog

tr

Turkish

Türkçe

trs

Triqui

uk

Ukrainian

??????????

ur

Urdu

?????

uz

Uzbek

O?zbektili

vi

Vietnamese

Ti?ngVi?t

xh

Xhosa

isiXhosa

zh-CN

Chinese(Simplified)

??(??)

zh-TW

Chinese(Traditional)

????(??)

..Dossier - Localisation

La Fondation Mozilla fait en sorte que Firefox soit universel, entre autres afin que la même version soit disponible au sein d'un grand groupe aux plates-formes matériel/systèmes d'exploitation hétérogènes et aux langues diverses dans une multinationale.

Plates-formes (systèmes d'exploitation/matériel) officiellement supportées :

  • Windows 64-bit

  • Windows 64-bit MSI

  • macOS

  • Linux 64-bit (x86-64)

  • Linux 32-bit (x86)

  • Windows 32-bit

  • Windows 32-bit MSI

Autres systèmes d'exploitation sous lesquels Firefox fonctionne, officiellement et de manière stable ou officieusement. En savoir plus sur les arbres des priorités d'ingénierie de Mozilla Firefox.

Cibles (plates-formes - systèmes d'exploitation) supportées par les versions (builds) de Firefox

Il existe actuellement trois niveaux de cibles (plates-formes - systèmes d'exploitation) et de prises en charge par les versions de Firefox. Ces niveaux représentent les priorités d'ingénierie du projet Mozilla.

Le classement des priorités dans les arbres d'ingénierie est à la charge de shérifs (Tree Sheriffs). Les shérifs sont chargés de surveiller l'arbre. Leur définition des niveaux concerne les travaux d'automatisation, qui indiquent aux développeurs ce que l'on attend d'eux lorsqu'ils décrochent du code. Ce document concerne les niveaux de cibles de build pris en charge, qui indiquent à une personne qui compile / utilise Firefox ce qu'elle peut attendre de Mozilla.

  1. Plates-formes Firefox de niveau 1

    Le terme « plates-formes Firefox de niveau 1 » fait référence aux plates-formes - architectures CPU et systèmes d'exploitation - qui sont au cœur des efforts de développement de Firefox. Les « plates-formes de niveau 1 » sont entièrement prises en charge par les processus d'intégration continue de Mozilla et Try Server. Tout changement proposé à Firefox sur ces plates-formes qui entraîne des échecs de construction, des échecs de test, des régressions de performances ou d'autres problèmes majeurs sera immédiatement annulé.

    Les « plates-formes Firefox de niveau 1 » et leurs compilateurs pris en charge sont :

    • Android sur Linux x86, x86-64, ARMv7 et ARMv8-A (clang)

    • Linux / x86 et x86-64 (gcc et clang)

    • OSX 10.9 et versions ultérieures sur x86-64 (clang)

    • Windows / x86, x86-64 et AArch64 (clang-cl)

    Avant Firefox 63, Windows / x86 et Windows / x86-64 dépendaient du compilateur MSVC; à partir de Firefox 63, MSVC n'est pas pris en charge. Les anciens processeurs x86 32 bits sans instructions SSE2 tels que le Pentium III et Athlon XP ne sont pas non plus considérés comme des plates-formes de niveau 1 et ne sont pas pris en charge. Notez également que même si Windows / x86 et ARM / AArch64 sont pris en charge en tant que cibles de génération, il n'est pas possible de créer Firefox sur des systèmes Windows / x86 ou Windows / AArch64.

  2. Plates-formes Firefox de niveau 2

    Les « plates-formes de niveau 2 » sont activement maintenues par la communauté Mozilla, mais avec des exigences moins rigoureuses. Les modifications proposées entraînant une rupture ou des régressions limitées à ces plates-formes peuvent ne pas entraîner immédiatement une réversion. Cependant, les développeurs qui cassent ces plates-formes doivent travailler avec les responsables de la plate-forme pour résoudre les problèmes et peuvent être tenus d'annuler leurs modifications si un correctif est introuvable.

    Les plates-formes Firefox de niveau 2 et leurs compilateurs pris en charge sont:

    • Linux / AArch64 (clang)

    • Windows / x86 (mingw-clang) - maintenu par Tom Ritter et Jacek Caban -

    Notez que certaines fonctionnalités de cette plate-forme sont désactivées, car elles nécessitent MS COM ou le projet w32api n'expose pas les API Windows nécessaires.

  3. Plates-formes Firefox de niveau 3

    Les « plates-formes de niveau 3 » ont un mainteneur ou une communauté qui essaie de faire fonctionner la plate-forme. Ces plates-formes ne sont pas prises en charge par nos processus d'intégration continue, et Mozilla ne teste pas régulièrement sur ces plates-formes, ni ne bloque le développement ultérieur des résultats de ces tests.

    À tout moment, un Firefox construit à partir de mozilla-central pour ces plates-formes peut ou peut ne pas fonctionner correctement ou construire du tout.

    Les plates-formes Firefox de niveau 3 incluent:

    • Linux sur diverses architectures de CPU, y compris les variantes ARM non répertoriées ci-dessus, PowerPC et CPU x86 sans prise en charge SSE2 - maintenues par diverses distributions Linux

    • FreeBSD / x86, x86-64, Aarch64 (clang) - maintenu par Jan Beich

    • OpenBSD / x86, x86-64 (clang) - maintenu par Landry Breuil

    • NetBSD / x86-64 (gcc) - maintenu par David Laight

    • Solaris / x86-64, sparc64 (gcc) - maintenu par Petr Sumbera

    • Windows / x86-64 (mingw-gcc) - Non pris en charge en raison des exigences de clang-bindgen

    Si vous déposez un bogue contre Firefox sur une plate-forme de niveau 3 (ou toute combinaison d'OS, de processeur et de compilateur non répertoriés ci-dessus), veuillez garder à l'esprit que les développeurs de Mozilla n'ont pas accès de manière fiable à des plates-formes, des environnements ou à des versions non de niveau 1. Pour être des rapports de bogues exploitables sur des plates-formes non de niveau 1, ils doivent inclure autant d'informations que possible pour aider le propriétaire du bogue à déterminer la cause du problème et la solution appropriée. Si vous pouvez fournir un correctif, une plage de régression ou aider à vérifier que les correctifs du développeur fonctionnent pour votre plate-forme, cela aiderait beaucoup à corriger et à archiver vos bogues.

..Dossier - Plates-formes supportées
..Dossier - Fonctionnalités de Firefox