Vous êtes ici

web

L'archive web locale du pauvre, sans prise de tête

💡 Pour une meilleure appréhension, il est recommandé de lire ce tutoriel sur le wiki ou à l'aide du mode lecture de votre navigateur web.


En attendant un web majoritairement décentralisé via IPFS (ou une autre technologie) archiver le web reste une pratique utile pour diverses raisons, par exemple :

  • comme contre mesure à la censure
  • pour consulter des pages web hors ligne
  • en cas d'indisponibilité ou inaccessibilité temporaire
  • ou pour avoir un historique lorsqu'un site ou une page web disparaît (ou est remplacé⋅e par une autre ou encore est modifié⋅e mais qu'il manque des informations)

Si l'acteur principal dans ce domaine - Internet Archive avec son archive.org - fait un travail remarquable, reste que tout n'est pas toujours archivé ou archivable et que vous pouvez vous retrouver déconnecté d'internet ou avoir une faible bande passante, insuffisante pour consulter ce dont vous avez besoin.

De plus si certains sites comme Wikipédia possèdent bien une version téléchargeable, le moins que l'on puisse dire, c'est que c'est loin d'être une généralité.

D’où l'idée d'avoir sa propre archive web. Même si elle restera probablement modeste, si de nombreuses personnes en ont, un historique du web décent pourrait advenir.

Comme vous allez le constater, il n'est pas nécessaire d'avoir un équipement coûteux ou complexe, l'objectif ici est simplement de sauvegarder tout le contenu d'une page web dans un seul fichier avec à côté les contenus audio ou vidéo qu'elle pourrait contenir.

Un disque dur de taille suffisante (à vous de choisir en fonction de vos besoins) et les logiciels suivants seront nécessaires.

Prérequis techniques

optionnel :

Installation

Incron, youtube-dl, archivement

Selon votre distribution :

sudo dnf install incron youtube-dl archivemount

ou

sudo dnf install incron youtube-dl archivemount

les bash, awk, tar sont généralement déjà installés (ou vous les utilisez déjà pour d'autres choses)

Configuration

SingleFile

1.

Clic droit sur l'icône de l'extension puis menu Gérer l'extension

singlefile2.png

Onglet "Préférences"

Ne pas oublier d'ajouter l'URL de la page sauvegardée dans la barre d'information

{url-href}

... et d'inclure la barre d'information dans la page sauvegardée.

Je propose également le modèle de nom de fichier (nomenclature) suivante :

{url-href-flat}_{page-title}_({date-locale}_{time-locale}).html

Ne pas hésiter à choisir des noms de fihiers longs.

singlefile25.png

2.

Avec les options suivantes :

singlefile3.png

Incron

 sudo rm -f  /etc/incron.allow
 echo $USER | sudo tee -a /etc/incron.allow
 incrontab -e # équivalent de crontab -e, permet de surveiller un dossier et de déclencher un script en fonction des événèments

Ajouter la ligne suivante :

/chemin/de/l/archive IN_CLOSE_WRITE /chemin/de/l/archive/incron-script-archive-web.sh
# cette ligne va permettre à incron de :
# 1. Surveiller le dossier : ...
# 2. Et lorsqu'un fichier est créé ou modifier 
# 3. Lancer le script : ...

Sauvegarder.

Automatisation

Lors de l'enregistrement de la page web, un dossier est créé avec le nom du site. La page déplacée à l'interieur de ce dossier et youtube-dl tente de télécharger les podcasts ou la vidéo qui se trouvent sur la même page.

nano /chemin/de/l/archive/incron-script-archive-web.sh
# le script contiendra :
FULLPATH="$1"
FILENAME="$2"
if [[ $FILENAME == **.html ]] # Si le fichier créé ou modifié est au format HTML
then
URL=$(grep -m 1 "url:" "$FULLPATH/$FILENAME") # Récupère l'URL exacte de la page sauvegardée dans les métadonnées enregistrées par l'extension SingleFile
URL=$(echo ${URL//url:/}) # Supprime la partie qui commence par "url :"
DOMAIN=$(echo $URL | awk -F/ '{print $3}') # Extraction du nom de domaine
cd "$FULLPATH" # Se rendre dans le dossier de l'archive
mkdir "$DOMAIN" # Création d'un dossier au nom du site
mv "$FILENAME" "$DOMAIN" # Déplacement de la page dans ce dossier
cd "$DOMAIN/"
youtube-dl -o '$FILENAME_%(title)s-%(id)s.%(ext)s' "$URL" # Sauvegarde des médias de cette page
else
echo "Fichier non HTML"
fi

Réduction de l'espace disque occupé par l'archive

Étant donné que les fichiers HTML seront en grand partie constitués de texte, le gain potentiel - même avec une compression sans perte - devrait être assez important.

sudo dnf install archivemount
touch fichier.vide
tar -czvf archive.tar.gz fichier.vide # Création du fichier d'archive
# Ajouter en début de script :
archivemount /chemin/de/archive.tar.gz /chemin/de/l/archive/ # montage du fichier d'archive

Lorsque l'archivage des fichiers est terminé :

# Ajouter en fin de script :
umount /chemin/de/l/archive/

Que faire quand on a (toujours et vraiment) trop d'onglets ?

1

Un billet qui fait suite à cet article d'antistress sur Linuxfr.org que j'ai trouvé pertinent et qui vous donnera des pistes pour vous en sortir (je pense notamment à Pocket qui est gratuit). Car il est vrai qu'entre l'actualité de la presse en ligne, les réseaux sociaux et les flux RSS on atteint vite des centaines d'onglets ouverts !

Pour ma part je me sers d'un mix de :

  • SemanticScuttle : comme marque-page webisé (disponible partout) + ArchiveBox pour ne pas risquer de 404 si le site tombe ou l'auteur décide de supprimer la page
  • Wallabag pour sauvegarder et lire plus tard des pages épurées de toutes publicités (mais ne fonctionne pas toujours d'ou le besoin d'ArchiveBox). Il permet aussi de lire des pages au hasard...
  • Mettre l'onglet en sommeil et le réveiller plus tard (fin de semaine par exemple)
  • Mon instance PeerTube pour les vidéos

Malgré cela il me reste encore souvent des centaines d'onglets ouverts dans lesquels je vais rechercher avec Tabhunter

Je vais désormais aussi tenter la méthode psychologique d'antistress avec Tab Tally et redonner une chance à Simple Tab Groups qui m'avait causé des pertes d'onglets et que j'avais trouvé assez peu performant à l'époque...

Finalement il faut se faire une raison et parfois faire l'impasse sur certaines pages. Ce n'est humainement pas possible de tout lire, tout voir, tout écouter. L'infobésité est une maladie.


  1. Capture d'écran Laurent Espitallier, sous licence CC BY 4.0 ↩︎

Extensions recommandées pour Mozilla Firefox (été 2019)

Mes extensions recommandées pour Mozilla Firefox

Version été 2019

Productivité

  • Copy URL To Clipboard Copier le nom de la page et/ou l'URL au format souhaité dans le presse-papier
  • Add to (Semantic)Scuttle ajouter des pages à un marque-pages collaboratif (nécessite une instance de Scuttle)
  • Wallabagger Sauvegarder et classer des pages web pour les lire ultérieurement (nécessite une instance de Wallabag)
  • Diaspora - Optimizer ajouter des fonctionnalités au réseau social Diaspora
  • Imgur-Uploader mettre en ligne des images sur imgur pour les partager par URL sur des réseaux sociaux ou forums
  • Switch Container Passer l'onglet d'un conteneur à un autre
  • Temporary Containers Ouvrir automatiquement le site web dans un conteneur temporaire (utile contre certains paywalls qui limitent le nombre de lectures)
  • Grammalecte Correcteur grammatical

Organisation

  • AutoPinTab épingler automatiquement les onglets lorsque vous affichez certains sites web
  • Snooze tabs Réouvir un onglet à une date/heure ultérieure planifiable

Cybersécurité et vie privée

  • ClearURLs supprime les variables de pistage dans toutes les URLs
  • Disconnect Supprime le pistage dans les pages web (en complément à Privacy Badger)
  • Facebook Container Isole les onglets du navigateur ouvert sur Facebook des autres sites visités sur les autres onglets du navigateur (l'équivalent existe aussi pour Google et bien d'autres)
  • Firefox Multi-Account Containers
  • HTTPS Everywhere Force le passage à la version chiffrée (SSL/TLS, le S de HTTPS) de bout en bout d'un site web si le site la propose.
  • I don't care about cookies Refuser systématiquement l'installation des cookies lorsqu'un site web conforme au RGPD vous le demande
  • Invidition Remplacer l'utilisation de Youtube par Indivious, une interface alternative à Youtube qui vous évite d'être pisté en plus de proposer d'autres fonctionnalités (comme le téléchargement des vidéos, etc.)
  • Open Page in Private Window Ouvrir l'onglet courant dans une fenêtre de navigation privée par le menu contextuel
  • Privacy Badger Bloque les pisteurs d'une page web (en complément à Disconnect)
  • uBlock Origin Bloquer les publicités
  • Chameleon Se faire passer pour un autre internaute, éviter le pistage
  • TrackMeNot Protège du profilage à l'aide de requêtes aléatoires sur des moteurs de recherche (technique d'Offuscation )

Dépannage

  • User-Agent Switcher and Manager Faire croire au site web visité que l'on utilise un autre navigateur (afin parfois de débloquer certaines fonctionnalités)

Libertés numériques

  • Wayback Machine Sauvegarder la page sur Internet Archive (archive.org)
  • Unpaywall Trouver une version en open access d'une publication scientifique.

Extensions compatibles avec Mozilla Firefox 57 et supérieur

Blog: 

Mozilla Firefox 57 et les versions suivantes imposeront définitivement les extensions web (aka WebExtensions) issues initialement du navigateur Google Chrome. L'occasion pour moi de prendre de l'avance en refaisant le point sur les extensions anciennes ou nouvelles qui en novembre 2017 seront déjà compatibles et qui pourraient améliorer votre quotidien de webonaute comme le mien. Je vais essayer d'assurer un suivi jusqu'en novembre pour vous proposer ma sélection. Des mises à jour sont à prévoir sur cette page, donc...

Pour Mme Michu

µBlock OriginSupprime les publicités superflues et aide à préserver votre vie privée
Privacy BadgerProtection contre le pistage et l'espionnage
DisconnectAméliorer la performance, la vie privée et la sécurité en filtrant les publicités
TrackMeNotOutil d'obsfucation qui aide également à préserver la vie privée
CheckMyHTTPSS'assure que vos connexions HTTPS ne sont pas détournées (et donc écoutées).
Send To MailEnvoie l'adresse de la page en cours par mail
snoozetabsMets en sommeil un onglet pendant une durée choisie, puis rouvre automatiquement l'onglet à la bonne date
testpilot containersPermet d'isoler les onglets dans des groupes (ex : travail, perso, réseaux sociaux,etc.) afin d'améliorer encore la lutte contre le pistage, la surveillance.
Open page in private WindowPlus sécurisant que les groupes d'onglets dans des conteneurs, permet d'ouvrir la page en cours une fenêtre de navigation privée
Tab2QRPour envoyer la page en cours à un autre terminal disposant d'un appareil photo (smartphone, tablette, etc.)
Wayback MachineEnregistrer définitivement une page web sur archive.org et consulter ensuite les pages qui ont été supprimées ou d'anciennes versions de celles-ci.
Copy URL To ClipboardCopier l'URL et le nom de la page en cours pour poster le lien ailleurs, correctement formaté (document, forum, wiki, etc.)
WappalyserAnalyser les technologies des sites web que l'on consulte.
To Google TranslateTraduire le texte sélectionné
Link CleanerNettoie les URL de certains élements inutiles (après le ?)
User Agent SwitcherFaire croire au site web que l'on utilise un autre navigateur (ce qui peut changer son comportement)
Grammalecte

Corriger les fautes de grammaire + conjugaison

Tree Style TabAfficher les onglets verticalement dans un panneau latéral et des ranger de manière arborescente. Tout onglet ouvert devient un onglet enfant de l'onglet en cours.
AutoPinTabÉpingler automatiquement, dès leur ouverture, les onglets ayant une adresse particulière ou correpondant à un certain nom de domaine
UnpaywallRetrouver sur le web une version en open access d'une publication scientique derrière un paywall sur un site

Pour le geek

Add to (Semantic)ScuttleAjouter des marques-pages à une instance de Scuttle ou Semantic Scuttle
Google+ SharePartager des pages sur le réseau social Google+
Share BackportedPartager des pages sur divers réseaux sociaux (fonction initialement intégrée à Firefox mais supprimée dans la 57)
WallabaggerEnregistrer des pages pour les lire plus tard ou sur un autre appareil (la mise en forme inutile et les publicités sont "nettoyées")
PassmanGestionnaire de mots de passe web relativement bien sécurisé en autohébergement (sous Nextcloud)

 

Subscribe to RSS - web