Mozilla Firefox – Profil utilisateur

Remarques :

  • Cet article traite du profil utilisateur Firefox sous Windows
  • Sous Linux, le profil utilisateur est situé dans /home/username/.mozilla/firefox/

 

Résumé : fichiers et dossiers à conserver en cas de restauration partielle du profil

bookmarkbackups/
cert_override.txt
cert8.db
content-prefs.sqlite
extensions/
formhistory.sqlite
key3.db
logins.json
mimeTypes.rdf
permissions.sqlite
places.sqlite
pluginreg.dat
prefs.js
search.json.mozlz4
secmod.db
sessionstore.js

 

La structure du profil utilisateur

 
Sous Windows, le profil utilisateur est stocké dans le dossier suivant :

C:\Users\username\AppData\Roaming\Mozilla\Firefox\

ou, plus globalement, pour l’utilisateur connecté :

%APPDATA%\Mozilla\Firefox\

Dans ce dossier, on trouve les éléments suivants :

├── Profiles/
│   └── gdz0pm93.default/
└── profiles.ini

Le dossier Profiles contient le profil utilisateur à proprement parlé, ici gdz0pm93.default, mais le nom varie car il est généré aléatoirement à sa création à partir de 8 caractères alphanumériques.
Le fichier profiles.ini spécifie le chemin relatif du profil utilisateur à charger, ici Profiles/gdz0pm93.default

[General]
StartWithLastProfile=1

[Profile0]
Name=default
IsRelative=1
Path=Profiles/gdz0pm93.default
Default=1

Rmq :
Le cache local du navigateur est situé dans le dossier suivant (à adapter en fonction du nom généré pour le profil) :

C:\Users\username\AppData\Local\Mozilla\Firefox\Profiles\gdz0pm93.default

 
Le profil utilisateur est donc situé dans le dossier C:\Users\username\AppData\Roaming\Mozilla\Firefox\Profiles\gdz0pm93.default\ et contient, entre autres, les éléments principaux suivants :

├── Profiles/
│   └── gdz0pm93.default/
│       ├── bookmarkbackups/                                    1→ sauvegardes automatiques marque-pages
│       ├── cert8.db                                            2→ certificats
│       ├── cert_override.txt                                   3→ exceptions de sécurité
│       ├── content-prefs.sqlite                                4→ préférences par site (upload, download, zoom)
│       ├── extensions/                                         5→ fichiers des extensions installées
│       ├── formhistory.sqlite                                  6→ historique d'auto-complétion
│       ├── key3.db                                             7→ clé de cryptage
│       ├── logins.json                                         8→ logins et mots de passe stockés et cryptés
│       ├── mimeTypes.rdf                                       9→ actions de téléchargement
│       ├── permissions.sqlite                                  10→ permissions + autorisations + préférences par site
│       ├── places.sqlite                                       11→ historique + marque-pages + téléchargements
│       ├── pluginreg.dat                                       12→ associations extensions et plugins
│       ├── prefs.js                                            13→ préférences de l'utilisateur
│       ├── search.json.mozlz4                                  14→ moteurs de recherche installés
│       ├── secmod.db                                           15→ base de données des modules de sécurité
│       ├── sessionstore.js                                     16→ session précédente
│       └── xulstore.json                                       17→ taille + position barre d'outils et fenêtres
└── profiles.ini

 
1 bookmarkbackups/
Il stocke les fichiers de sauvegarde qui peuvent être utilisés pour restaurer vos marque-pages.
Les fichiers de sauvegarde sont au format .jsonlz4 (json compressé) et sont créés à intervalles réguliers.
Leur nom est bookmarks-YYYY-MM-JJ suffixé d’une valeur cryptée.
ex : bookmarks-2017-01-19_91_EhbCqYVFvJiNVEre2qfUUg==.jsonlz4
 
2 cert8.db
Contient les certificats faisant autorité ou importés par l’utilisateur.

 
3 cert_override.txt
Contient les exceptions de sécurité ajoutées par l’utilisateur en passant outre le message d’avertissement.

 
4 content-prefs.sqlite
Base de données contenant les préférences de chaque site définies par l’utilisateur : dernier répertoire de téléchargement (browser.download.lastDir), dernier répertoire d’upload (browser.upload.lastDir) et niveau de zoom (browser.content.full-zoom).
 
5 extensions/
Dossier contenant les fichiers/dossiers relatifs aux extensions installées : arborescences de fichiers/dossiers ou fichiers .xpi (archive compressée)
 
6 formhistory.sqlite
Il mémorise ce que vous avez recherché depuis la barre de recherche de Firefox (searchbar-history) et les informations que vous avez saisies dans les formulaires sur les sites web (email, log, username, etc.)
 
7 key3.db
Base de données contenant la clé de cryptage permettant de crypter/décrypter les logins et mots de passe stockés dans le fichier logins.json
 
8 logins.json
Contient la liste des logins et mots de passe mémorisés par site et cryptés avec la clé stockée dans le fichier key3.db

{

    "id": 3,
    "hostname": "http://opensharing.priv",
    "httpRealm": null,
    "formSubmitURL": "http://opensharing.priv",
    "usernameField": "log",
    "passwordField": "pwd",
    "encryptedUsername": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "encryptedPassword": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "guid": "{e3edd42f-f326-4eb4-8c0c-0242154bf3f3}",
    "encType": 1,
    "timeCreated": 1484746555717,
    "timeLastUsed": 1484818251088,
    "timePasswordChanged": 1484746555717,
    "timesUsed": 2

}

 
9 mimeTypes.rdf
Fichier XML définissant l’action à adopter lors de l’ouverture d’une URL correspondant à un type de fichier particulier (ex : mp4, pdf, etc.).
Les actions possibles sont, entre autres, Toujours demander (alwaysAsk), Enregistrer le fichier (saveToDisk), Aperçu dans Firefox (handleInternal), etc.
 
10 permissions.sqlite
Définit, pour chaque site, les permissions que l’utilisateur lui a accordées, comme l’activation d’un plugin particulier (ex : Java), ou l’affichage des fenêtres popup, entre autres.

 
11 places.sqlite
Il contient tous vos marque-pages de Firefox et la liste de tous les fichiers que vous avez téléchargés et des sites web que vous avez visités.
Plus précisément, cette base de données stocke, entre autres, l’URL de chaque marque-page (url), son favicon (favicon), son titre (title) ou encore la date de visite d’un site web (visit_date), etc.
 
12 pluginreg.dat
Il stocke les types MIME liés à vos plugins installés (ex : .pdf avec Adobe Reader, .jnlp avec Java, etc.).
 
13 prefs.js
Il stocke les paramètres de préférences de l’utilisateur, tels que les changements que vous faites dans les boîtes de dialogue des Options de Firefox ou dans la page de configuration about:config.
Par exemple, l’option browser.download.dir du fichier prefs.js permet de définir le répertoire de téléchargement de Firefox :

Elle peut être définie via le menu Outils > Options
 

ou via la page de configuration about:config
 

Rmq : Les préférences définies dans prefs.js peuvent être écrasées par des préférences de même nom dans un fichier (à créer) user.js (sous réserves que des préférences globales identiques mais de type lockPref ou pref n’existent pas).
 
14 search.json.mozlz4
Ce fichier JSON compressé au format LZ4 stocke les moteurs de recherche installés par l’utilisateur qui sont disponibles dans la barre de recherche de Firefox.

Le moteur de recherche Google sera ainsi défini dans ce fichier :

{
    "_name": "Google",
    "_shortName": "google",
    "_loadPath": "jar:[app]/omni.ja!browser/google.xml",
    "description": "Google Search",
    "__searchForm": null,
    "_iconURL": "XXXX",
    "_metaData": {
        "order": 3
    },
    "_urls": [
        {
            "template": "https://www.google.com/complete/search?client=firefox&q={searchTerms}",
            "rels": [ ],
            "resultDomain": "google.com",
            "type": "application/x-suggestions+json",
            "params": [ ]
        },
        {
            "template": "https://www.google.com/search",
            "rels": [
                "searchform"
            ],
            "resultDomain": "google.com",
            "params": [
                {
                    "name": "q",
                    "value": "{searchTerms}"
                },
                {
                    "name": "ie",
                    "value": "utf-8"
                },
                {
                    "name": "oe",
                    "value": "utf-8"
                },
                {
                    "name": "client",
                    "value": "firefox-b-ab",
                    "purpose": "keyword"
                },
                {
                    "name": "client",
                    "value": "firefox-b",
                    "purpose": "searchbar"
                }
            ]
        }
    ],
    "queryCharset": "UTF-8"
}

 
15 secmod.db
Ce fichier est la base de données des modules de sécurité cryptographiques (PKCS #11 et standards PSM) permettant l’établissement d’une connexion SSL/TLS, la vérification des signatures, la gestion des certificats, etc.
 
16 sessionstore.js
Ce fichier JavaScript stocke les onglets et fenêtres ouverts avant la fermeture de Firefox. Il est généré lorsque l’utilisateur quitte le navigateur.

{
	"url":"https://www.debian.org/",
	"title":"Debian -- Le système d'exploitation universel",
	"charset":"UTF-8",
	"ID":3103682341,"docshellID":53,
	"originalURI":"https://www.debian.org/",
	"docIdentifier":51,
	"persist":true
}

 
17 xulstore.json
Il stocke les paramètres de taille et de position des barres d’outils et fenêtres.

[...]
    "chrome://browser/content/places/bookmarkProperties.xul": {
        "bookmarkproperties": {
            "screenX": "620",
            "screenY": "390",
            "width": "376"
        }
    },
[...]

 

Pour aller plus loin

 

Les préférences globales

Nous avons vu que les préférences utilisateur étaient stockées dans le fichier prefs.js du profil et qu’elles étaient de la forme :

user_pref(preference, valeur);

ex :

user_pref("privacy.sanitize.sanitizeOnShutdown", true);
user_pref("privacy.clearOnShutdown.history", true);
user_pref("privacy.clearOnShutdown.downloads", true);
user_pref("privacy.clearOnShutdown.sessions", true);
user_pref("privacy.clearOnShutdown.formdata", true);
user_pref("privacy.clearOnShutdown.cookies", true);
user_pref("privacy.clearOnShutdown.cache", true);
user_pref("privacy.clearOnShutdown.siteSettings", true);
user_pref("privacy.clearOnShutdown.offlineApps", true);

 
La première ligne active le vidage de l’historique lors de la fermeture de Firefox :

Les suivantes définissent les éléments à supprimer lors de la fermeture de Firefox dans le cas où les deux premières sont activées :

Il est toutefois possible de spécifier une valeur prédéfinie pour une liste de paramètres au niveau global de Firefox, c’est-à-dire pour l’ensemble des profils utilisateur. Ainsi, chaque profil généré se verra affecter les préférences listées avec les valeurs définies.
Pour cela, il faut tout d’abord créer le fichier all.js suivant :

C:\Program Files (x86)\Mozilla Firefox\defaults\pref\all.js

Contenant les 2 lignes suivantes :

pref("general.config.obscure_value", 0);
pref('general.config.filename', 'firefox.cfg');

Ensuite, il faut créer un fichier firefox.cfg (ou du nom spécifié dans le fichier précédent) à la racine de l’application :

C:\Program Files (x86)\Mozilla Firefox\firefox.cfg

Contenant les préférences prédéfinies (avec 2 lignes vides en tête de fichier), par exemple :



lockPref("privacy.sanitize.sanitizeOnShutdown", true);
lockPref("privacy.clearOnShutdown.history", true);
lockPref("privacy.clearOnShutdown.downloads", true);
lockPref("privacy.clearOnShutdown.sessions", true);
lockPref("privacy.clearOnShutdown.formdata", true);
lockPref("privacy.clearOnShutdown.cookies", true);
lockPref("privacy.clearOnShutdown.cache", true);
lockPref("privacy.clearOnShutdown.siteSettings", true);
lockPref("privacy.clearOnShutdown.offlineApps", true);

La fonction lockPref spécifie une option dont la valeur est verrouillée et donc que l’utilisateur ne pourra pas modifier.
Il existe principalement 3 fonctions globales (en plus de la fonction user_pref propre au fichier prefs.js) :

  • lockPref : pour bloquer les préférences. Elles ne pourront pas être changées par la GUI ou via about:config. Dans la majeure partie des cas, la GUI va enlever l’option ou la griser. Certains éléments de la configuration nécessitent un réglage via lockPref, tels que app.update.enabled (pref ne fonctionnera pas).
  • defaultPref : pour modifier la valeur par défaut. Si un utilisateur change cette valeur, il pourra la garder entre plusieurs sessions. Les préférences peuvent être réinitialisées via la GUI ou autre méthode. Elle sera montrée avec un statut « par défaut » dans about:config
  • pref : Un utilisateur peut changer une valeur, mais elle sera effacée au prochain redémarrage

 
Prenons l’exemple de l’option privacy.clearOnShutdown.cache permettant de vider le cache à la fermeture de Firefox et dont la valeur est à true par défaut.

 

lockPref("privacy.clearOnShutdown.cache", true);

L’option apparaitra grisée et ne pourra pas être modifiée par l’utilisateur.

 

defaultPref("privacy.clearOnShutdown.cache", true);

L’option pourra être modifiée par l’utilisateur et sera conservée lors de la session suivante.


Si l’utilisateur modifie sa valeur à false, la ligne user_pref("privacy.clearOnShutdown.cache", false); sera ajoutée à son fichier prefs.js et about:config la désignera comme "défini par l’utilisateur".

 

pref("privacy.clearOnShutdown.cache", true);

L’option pourra être modifiée par l’utilisateur mais ne sera pas conservée lors de la session suivante.



 

Préférences utiles

user_pref("privacy.sanitize.sanitizeOnShutdown", true);

Active le vidage de l’historique, des cookies, du cache, etc. lors de la fermeture de Firefox
Par défaut, cette valeur est à false

user_pref("privacy.clearOnShutdown.history", true);

Active le vidage de l’historique de navigation lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à true

user_pref("privacy.clearOnShutdown.downloads", true);

Active le vidage de l’historique de téléchargement lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à true

user_pref("privacy.clearOnShutdown.sessions", true);

Active le vidage des connexions actives lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à true

user_pref("privacy.clearOnShutdown.formdata", true);

Active le vidage de l’historique des formulaires et des recherches lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à true

user_pref("privacy.clearOnShutdown.cookies", true);

Active le vidage des cookies lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à true

user_pref("privacy.clearOnShutdown.cache", true);

Active le vidage du cache de navigation lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à true

user_pref("privacy.clearOnShutdown.siteSettings", true);

Active le vidage des préférences de site lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à false

user_pref("privacy.clearOnShutdown.offlineApps", true);

Active le vidage des données de site web hors connexion lors de la fermeture de Firefox (nécessite que privacy.sanitize.sanitizeOnShutdown soit à true)
Par défaut, cette valeur est à false

user_pref("browser.startup.homepage", "https://www.debian.org/");

Définit la page d’accueil
Par défaut, cette valeur est à about:home (Page de démarrage de Mozilla Firefox)

user_pref("browser.download.dir", "C:\\Local");

Définit le répertoire de téléchargement
Par défaut, cette valeur est vide

user_pref("dom.max_script_run_time", 30);

Définit le timeout (en secondes) au bout duquel le message suivant peut apparaitre : Attention : le script ne répond pas … Continuer ou Arrêter le script
Par défaut, cette valeur est à 10 (secondes)

user_pref("extensions.blocklist.enabled", false);

Supprime l’avertissement signalant à l’utilisateur qu’une extension (comme Flash ou Java) est obsolète.
Par défaut, cette valeur est à true (avertit l’utilisateur).

user_pref("webgl.disabled", true);

Désactive l’API WebGL (utilisant OpenGL for Embedded Systems) pouvant générer des plantages (lors de l’exploitation de l’accélération graphique) liés à des drivers de carte graphiques obsolètes et provoquer le message suivant : Attention : le script ne répond pas … Continuer ou Arrêter le script
Par défaut, cette valeur est à false.

 

Installation silencieuse

> executable -ms -ira

ex :

> "Firefox Setup 45.6.0esr.exe" -ms -ira

 

Extensions utiles

Session Manager
Ecosia – The green search
Lilo
JSONView
Tab Auto Reload
Tab Sliedshow
Awesome Screenshot Plus
Evernote Web Clipper
DNSSEC/TLSA Validator
HTTPS Everywhere

 

Références

Fermer le menu
%d blogueurs aiment cette page :