11 votes

Firefox 29 - Comment supprimer les entrées de l'historique visitées moins de x fois

Contexte :

J'utilise mon profil Firefox depuis quelques années maintenant. Mon fichier d'historique est devenu énorme, naturellement. J'ai configuré Firefox Sync entre mon PC principal de bureau et mon ordinateur portable.

Configurations matérielles :

  • PC : i5-3450, 8 Go de RAM DDR3, SSD Crucial M4 de 128 Go
  • Ordinateur portable : Pentium SU4100, 4 Go de RAM DDR3, disque dur WD 5400 tr/min

Accéder aux entrées de l'historique en tapant dans la barre de recherche sur mon de bureau prend beaucoup de temps malgré la configuration correcte, l'ordinateur portable est encore plus lent. L'expérience est assez peu réactive.

J'ai pensé que si je nettoyais un peu l'historique, je pourrais éviter de créer un nouveau profil pour accélérer les choses.

La question en elle-même :

Pour illustrer :

historique

Y a-t-il un moyen de supprimer toutes les entrées d'historique qui ont été visitées moins de x (disons 5) fois et en même temps la visite récente remonte à moins de y (disons 120) jours ?

À ma connaissance, le fichier d'historique est une sorte de base de données SQL, mais je ne suis pas vraiment sûr de la manière dont les données sont enregistrées, s'il existe un "moyen sûr" de les éditer et à quoi ressemblerait la requête pour faire ce dont j'ai besoin.


J'ai continué à parcourir les questions précédentes de SuperUser pour voir si je pouvais trouver des informations pertinentes.

Dans le répertoire de mon profil Firefox, il y a un fichier nommé places.sqlite. En l'ouvrant avec sqlite révèle (entre autres) les tables moz_places et moz_historyvisits. Il semble que moz_historyvisits utilise la clé primaire de moz_places pour faire référence aux URL.

Étant donné que je ne suis pas familier des bases de données, je ne comprends pas vraiment la manière dont les deux tables mentionnées dans la citation sont liées entre elles.

screenshot d'une partie des tables places_sqlite

J'ai remarqué que le visit_count est dans un format standard, ce qui le rend facile à manipuler. La last_visit_date semble cryptée à mes yeux non avertis, mais je ne peux pas voir de quelle manière.

J'espère que cela aide, je suis à bout de ressources.

9voto

Mikey Points 1

Avec un peu de recherche (voir à la fin pour les 'références'), j'ai trouvé cette solution (un peu) simple:


SAUVEGARDEZ D'ABORD. FERMEZ FIREFOX D'ABORD


Cela nécessite que vous éditiez la Base de données SQLite (une base de données SQL autonome; voir article Wikipedia) de Mozilla Firefox en faisant une requête pour trouver tous les enregistrements qui satisfont la condition (dans votre cas - consultés moins de 5 fois et non visités dans les 120 derniers jours).


SAUVEGARDEZ D'ABORD. FERMEZ FIREFOX D'ABORD

Les instructions commencent:


Cela fonctionne (testé et fonctionnant avec mon Firefox v. 29.0.1). En 12 étapes faciles(ish):

  1. Installez SQLite Database Browser

  2. Ouvrez-le

  3. Cliquez sur Ouvrir la base de données

  4. Naviguez jusqu'à C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[PROFILE] en modifiant si nécessaire

    SAUVEGARDEZ LE FICHIER SUIVANT PREMIER!!

  5. Ouvrez places.sqlite du répertoire que vous avez ouvert à l'étape 4.

    SÉRIEUSEMENT, SAUVEGARDEZ D'ABORD!!

  6. Cliquez sur l'onglet Exécuter SQL.

  7. Entrez ceci:

    SELECT *
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)
  8. Remplacez x(2) par 5 (dans votre exemple)

  9. Remplacez 2014-04-01 et 2014-05-30 par la plage de dates souhaitée

  10. Appuyez sur le bouton play bleu.

  11. Vérifiez si les sites affichés sont corrects (ils devraient l'être, mais vérifiez tout de même!)

  12. S'ils le sont, remplacez les deux premières lignes du code ci-dessus par:

    DELETE
    FROM moz_places

    de sorte que votre code ressemble à ceci:

    DELETE
    FROM moz_places
    WHERE
        last_visit_date BETWEEN strftime('%s','2014-04-01')*1000000
                        AND strftime('%s','2014-05-30')*1000000
        AND visit_count < x(2)

TERMINÉ ! Fermez le programme et cliquez sur Enregistrer lors de la fermeture.

Les instructions se terminent


_Que dire de la last_visit_date?_

La last_visit_date semble cryptée à premier regard, mais je ne vois pas de quelle manière.

Je ne l'appellerais pas 'crypté' (bien que je ne nie pas que ça a l'air crypté). C'est juste dans un autre 'système'. La date est dans le système de temps Unix (ou Epoque / POSIX). C'est le nombre de secondes écoulées depuis 00:00:00 (UTC) le 1er janvier 1970. 1 heure représente 3600 secondes. 1 an représente 31556926 jours.

Pour plus d'infos, consultez cet article Wikipedia, ou ce site qui convertit le temps en et depuis le temps d'époque.


Captures d'écran (ignorez les requêtes SQL sur ces images, elles sont incorrectes. Celles-ci visent surtout à vous montrer où regarder)

SQLite Database BrowserSQLite Database BrowserSQLite Database Browser

Merci à ;):

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X