Sauvez le web, faites des copies !

Informatique août 04, 2020

Et non, ceci ne s'appelle pas faites des backups (qui est un article que j'ai fini par jeter car je ne lui trouvais pas grand intĂ©rĂȘt), mais bien copier le web.

Pour vous qui me lisez (vous qui dĂ©couvrez mon blog au travers de cet article), vous n'ĂȘtes pas sans savoir que je suis plutĂŽt orientĂ© technique et surtout technologie dĂ©centralisĂ©e voir "Ă  l'ancienne" (coucou IRC). Et dans ces technologies Ă  l'ancienne je vois le web, remplis de blog, de crĂ©ations tout aussi sympathiques que ephĂ©mĂšres. Car oui, un blog, un strip ou autre peuvent disparaitre Ă  tout moment et cela pour de nombreuses raisons :

  • L'auteur ne peux plus s'occuper de son blog et l'abandonne / le supprime
  • L'auteur a voulu supprimer son blog volontairement pour diverse raison
  • L'hĂ©bergeur a fermĂ©, l'auteur n'a pas voulu remonter son blog ailleurs
  • L'auteur a fermĂ© son blog Ă  cause d'un Ă©vĂšnement extĂ©rieur (rĂ©ception d'insulte, de menace par exemple).
  • L'auteur est dĂ©cĂ©dĂ©, son nom de domaine disparait donc.

Mais ce web, il Ă©volue constament et intrinsĂšquement perds des perles, des articles ou des oeuvres introuvables par la suite. Parfois on retrouve ce qu'on cherche dans archive.org. Parfois on pleure. RĂ©cement j'ai eu ce soucis avec deux articles de blog que j'avais mis au chaud car ils contenaient tout deux des ressources / des aides mĂ©moires que j'utilisais de temps en temps. Et bien ces deux blogs ont disparus. Ils sont encore disponibles dans archive.org mais le site est long Ă  rĂ©pondre... Et il peut disparaitre Ă©galement ! (MĂȘme si ce n'est pas prĂ©vu).

Mais dans ce cas, on a qu'Ă  tout mettre sur Medium, Google ou Facebook non ?

Non, pas du tout. Car mĂȘme si, tout comme archive.org, ces sites ne sont pas censĂ© disparaitre, ils peuvent cependant trĂšs bien bloquer votre contenu (pour diverses raisons tout aussi improbables les unes que les autres), le supprimer, le perdre (oui oui), le rendre rendre accessible par abonnement ou mĂȘme vous demander de payer pour que vous puissiez le laisser public. Au final dĂ©poser votre contenu sur ce genre de site vous rend dĂ©pendant et vous laisse Ă  leur merci.

Si quelqu'un fait son blog, ses articles peuvent disparaitre, si quelqu'un fait un article sur Medium, ses articles peuvent disparaitre. Au final est-ce pas la vie d'internet de laisser des articles disparaitrent sous une tonne de nouvelles données ?

Idée intéressante que je ne trouve pas... Réaliste.
Internet a pendant de nombreuses années été déclaré comme étant une encyclopédie accessible à tous...
Imaginez ! Nous sommes en 2020, Jules Verne rédige 20 000 lieux sous les mers et dépose ce superbe ouvrage sur son blog en accÚs libre nommé blog.julesvernes.nantes (ouais, j'ai hésité avec .bzh).
Mais voilĂ , il passe de vie Ă  trĂ©pas en 2021. Son blog est arrĂȘtĂ© 1 an plus tard en 2022 et l'annĂ©e suivante archive.org se fait pirater et perds toutes ses donnĂ©es antĂ©rieur Ă  2023. Au final que reste t'il de 20 000 lieux sous les mers ? Rien.
Sauf qu'aujourd'hui, Jules Verne a écrit cette oeuvre sur du papier (papier qui servait aussi pour les encyclopédies). Cette oeuvre a été recopiée, imprimée, dupliquée ce qui fait qu'aujourd'hui toutes ses oeuvres sont encore présentes et accessibles.
Vous vous imaginez si toutes les oeuvres n'Ă©tait que temporaires ? Plus de seigneur des anneaux par exemple.

Au final une oeuvre est immortelle car elle est recopiée.

Oui, cela peut faire peur et vous allez me traiter de pirate ! Mais sans cette copie, certaines oeuvres cinĂ©matographiques (par exemple) parut dans les annĂ©es 50-60 auraient tout simplement disparues. Est-ce donc du vol oĂč de la conservation culturel ?
Je vais mĂȘme prendre un exemple : Le 5Ăšme Ă©lement, trouvable encore en DVD, Bluray, VOD sur Youtube car il a plu. TrĂšs bien. Mais si mon lecteur DVD est trop vieux ou trop rĂ©cent pour passer la sĂ©curitĂ© des disques fraichement achetĂ© ? Si Youtube dĂ©cide de retirer Ce film de Luc Besson de son catalogue, que reste-il d'encore accessible ? Les DRM empĂȘchent de le lire et il n'est plus accessible par un autre moyen.
Et donc aujourd'hui nous sommes capable de trouver un vieux bouquin de 150 ans mais pas un film d'il y a 70 ans ? Il est là le vice, tout est accessible facilement et nous semble fonc forcément acquis alors que nous sommes dépossédés de tout.

Avant de continuer ! Je tiens Ă  prĂ©ciser que le droit d'auteur est important et que, mĂȘme si on pense que tĂ©lĂ©charger sans payer un jeu vidĂ©o "c'est pas grave car ne verra pas la diffĂ©rence" cela contribue Ă©galement Ă  l'apauvrissement de la culture. Et d'ailleurs que cela soit un gros ou un petit studio (c'est mĂȘme pire dans ce dernier cas). Moins de rentabilitĂ©, moins de personnes, moins d'oeuvres, moins de culture.
Tout ça est un énorme cercle vicieux.
Mais ce que je veux dire au final c'est que copier permet de garantir la survie d'une oeuvre mais que pour qu'une oeuvre existe, il faut que quelqu'un la créee et si ce quelqu'un ne peut pas manger, iel ne fera pas cette oeuvre.
Bref, ne pensez pas que j'ai dis que télécharger tout c'est bien.

Houaaaaaa mais tu nous as perdu avec ces comparaisons ignoble.

En gros un article de blog, une bande dessinée en ligne est une oeuvre comme une autre. On ne doit pas la voler mais elle peut disparaitre d'un moment à l'autre. Il faut donc la préserver.

Et c'est lĂ  oĂč je vais vous parler d'un super outil que je viens de dĂ©couvrir : archivebox.io.
Je l'ai trouvĂ© en cherchant un moyen de faire des snapshots rĂ©guliĂšrs de mon site car je m'en veux de ne pas avoir conservĂ© le design original. Et puis au final l'outil semblait sympa, j'ai creusĂ© et j'ai dĂ©cidĂ© d'importer mes liens de wallabag et shaarlii. Je dĂ©couvre avec cette action que j'ai plus de 1/3 des articles que j'ai voulu lire ou partager qui n'existent plus. Et c'est dommage car les articles peuvent avoir Ă©tĂ© super bien expliquĂ©s, sont uniques, Ă©taient trĂšs jolis ou trĂšs sympathiques Ă  lire... Plus personne ne pourra le savoir ni le dĂ©couvrir. Et ça... Ça c'est dommage car au final une partie d'internet disparait chaque jour. C'est d'autant plus dommage qu'une vidĂ©o de chien qui pĂšte a une durĂ©e de vie bien supĂ©rieur Ă  un article de blog.

Bref

En 1 an 20% des liens n'existe plus. Et ça grandit de jours en jours (selon cet article)

Ce qui d'ailleurs tend à se confirmer avec le fait que mon Shaarli a été ouvert courant 2017 ainsi que mon Wallabag et que j'ai 1/3 des oeuvres disparus.

Et donc, le lien avec Archivebox ?

Molo, j'y viens !

Archivebox est une sorte de archive.org auto-hébergeable écrit en python et ne nécessitant pas forcément de daemon.
Il s'installe facilement et est facilement automatisable. Un simple archivebox add https://dryusdan.space et vous avez une copie de ma page d'accueil.

Aujourd'hui l'outil continue d'évoluer. Récement il s'est doté d'une interface d'administration si jamais vous avez envie de jouer du clickodrome. Pour moi il manque trois choses :

  • Le moyen de faire des snapshots d'un mĂȘme site chaque mois
  • Le moyen de faire un miroir complet du site
  • Une doc ultra carrĂ© (celle actuelle est pas tout a fait calĂ© sur la nouvelle version).

Mais c'est prévu !

Allez, attaquons le vif du sujet : L'outil.

Présentation

Le site possÚde deux interfaces. Une classique HTML sans dépendances ni serveurs qui liste chaque page sauvegardées.

Bien sur le must dans tout ça c'est que vous pouvez cliquez sur le nom du site, à 90% du temps vous vous croyez sur le site.
Mais lorsque vous cliquez sur le petit "files" (qui n'indique pas qu'il y a 8 fichiers avec le site mais 8 captures différentes) vous trouverez une nouvelle page !

En fonction de ce que vous avez paramétré vous aurez le site en HTML, Screenshot, un lien vers archive.org... Plein de moyen pour sauvegarder ce site.

L'autre interface permet de se passer de la CLI.

Personnellement je l'utilise surtout pour la fonction recherche et supprimer.

L'installation

Il vous faut pour ce superbe tutoriel : Un Linux, Debian ou dĂ©rivĂ© mais je sais que vous arriverez Ă  faire la mĂȘme chose sur un autre OS.
L'installation pour la version 0.4 n'est pas sur le repo git d'archivebox mais sur le site archivebox.io.

On commence par ajouter les dépendances :

apt install python3 python3-pip git curl wget youtube-dl chromium

Puis on installe archivebox

useradd -d /opt/archivebox/ -m -s /bin/bash archivebox
su - archivebox
pip install archivebox
mkdir data; cd data
archivebox init

Et lĂ  vous pouvez commencer Ă  sauvegarder votre bout de web :

archivebox add 'https://dryusdan.space'

Et le mieux dans tout ça ? L'abonnement aux flux RSS. Car Archivebox va détecter vos flux RSS et ajouter les liens qu'il croise pour les ajouter à votre collection

archivebox add 'https://dryusdan.space/feed/' --depth=1

Et lorsque archivebox a fini de copier la page, il vous indique comment consulter ça.

Bien sur j'ai mis l'admin à tourner en arriÚre plan et les pages HTML accessibles sur un autre domaine vu que j'ai pas mis de uwsgi, ou de gunicorn, devant l'admin n'est pas multithreadé donc pas accessible par deux personnes en simultanée. Pareillement la base de donnée utilisée est un sqlite3, donc pas de concurence.

Allez, je ne vous laisse pas mariner. Le daemon tourne grĂące Ă  systemd et l'HTML est accessible grĂące Ă  Nginx.

Pour Nginx je pars du principe que vous savez mettre en place un vhost. Je vais donc faire trĂšs bref et en HTTP.

server {
	listen 80 ;
server_name  archivebox.tld ;




client_max_body_size 2M;


	root /var/www/archive_dryusdan_fr/www/;
        index index/html;


	location / {
      index       index.html;
      autoindex   on;
      try_files   $uri $uri/ =404;
    }


}

Voilà, ça c'était pour un vhost nginx classique.

Maintenant le service avec le daemon.

Vous allez créer un petit fichier ici /etc/systemd/system/archivebox.service avec ce qui suit dedans :

[Unit]
Description=ArchiveBox
Documentation=https://github.com/pirate/ArchiveBox/
After=network-online.target
Wants=network-online.target

[Service]
Type=simple

User=archivebox
Group=archivebox
PIDFile=/var/tmp/archivebox.pid
WorkingDirectory=/opt/archivebox/data

ExecStart=/opt/archivebox/.local/bin/archivebox server 127.0.0.1:8001

Restart=on-failure
RestartSec=30
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Puis rechargez systemd avec la commande systemctl daemon-reload

On a dit Ă  archivebox d'Ă©couter uniquement en local sur le port 8001. À vous de dĂ©cidez comment vous souhaitez faire.
Le vhost arrive. Cependant faites attention, certaines fois l'application met du temps à répondre. Il va donc falloir jouer sur les timeout de nginx

server {
	listen 80 ;
	server_name  admin.archivebox.tld ;

	client_max_body_size 2M;

	proxy_connect_timeout 600s;
    proxy_read_timeout 600s;
    proxy_send_timeout 600s;


	location / {
		proxy_pass http://127.0.0.1:8001;
	}

}

Plus qu'une derniÚre petite chose, créer l'utilisateur principal. Pour ça, tapez les commandes ci dessous :

su - archivebox
cd data
archivebox manage createsuperuser

Remplissez et voilĂ . Maintenant vous pouvez sauvegarder le web !

Maintenant l'instant moins drÎle. Avec cet archivage, le droit à l'oublie n'existe plus car une oeuvre qui a volontairement été supprimée par l'auteur (pour des raisons légale, morale ou juste l'envie) existera toujours quelque part.

En fait c'est ça internet, des bots qui scannent et sauvegardent le web, et des humains qui vont faire une capture d'écran d'un quart d'une phrase pour la détourner ensuite et te la refoutre dans les dents dans les jours, mois voir années qui viennent. Un outil comme ça peut malheureusement servir à ce genre de fin, continuer le harcelement (aussi bien qu'un ctrl+s en fait).

En fait internet oublie ce qui est bien mais l'humain sauvegarde ce qu'il y a de mauvais. Si vous ĂȘtes victimes d'harcelement Ă  cause d'une personne sur internet, soit le shitstorm est suffisament faible pour que vous vous en foutiez, soit n'hĂ©sitez pas Ă  vous rapprocher des autoritĂ©s. Les plateformes vont juste bloquer le compte, supprimer le message mais rien d'autre. Alors qu'un aller au tribunal va en calmer plus d'un. Et les menaces de reprĂ©saile s: c'est du vent !

Bref, pour moi cet outil utilisé à bon escient permet de ne pas perdre d'oeuvre sur internet, de mémo ou autre. Et ça c'est vraiment cool !

Sur ce, portez vous bien.

Gif trouvé sur Tenor.
Photo by camilo jimenez.

Merci Ă  Victor pour la correction de cet article

Dryusdan

Bidouilleur le jour et administrateur systÚme la nuit (ou l'inverse, c'est comme vous voulez), j'écris entre deux pannes ou amélioration des morceaux de ma passion que je vis à fond.

Super ! Vous vous ĂȘtes inscrit avec succĂšs.
Super ! Effectuez le paiement pour obtenir l'accĂšs complet.
Bon retour parmi nous ! Vous vous ĂȘtes connectĂ© avec succĂšs.
Parfait ! Votre compte est entiÚrement activé, vous avez désormais accÚs à tout le contenu.