ArchiveBox : archivage web open source auto-hébergé
🗃 Archivage Web auto-hébergé open source. Prend les URL/l'historique du navigateur/les favoris/la poche/le tableau d'affichage/etc., enregistre le HTML, le JS, les PDF, les médias et plus encore...
En bref
- De quoi s’agit-il ?
- Préservez des pages web et des médias dans des fichiers durables que vous contrôlez.
- À qui s’adresse-t-il ?
- ArchiveBox s'adresse aux personnes qui acceptent d'examiner `archivebox init`, `archivebox add`, `archivebox schedule` et les artefacts produits avant une intégration. Il convient moins à un usage qui exige une garantie non documentée ou une dépendance entièrement invisible.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 2 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Archivage web auto-hébergé
ArchiveBox est une application auto-hébergée qui permet de préserver le contenu de sites web dans plusieurs formats. Le README le décrit comme un outil open source permettant à des organisations et à des particuliers d'archiver du contenu web public et privé tout en gardant le contrôle de leurs données. Il enregistre des fichiers HTML, PNG, PDF, TXT, JSON, WARC et SQLite standard, lisibles sans exécuter ArchiveBox. Le projet utilise des outils existants comme Chrome, wget et yt-dlp, et stocke tout dans des fichiers et dossiers ordinaires. La motivation : sans effort de préservation actif, tout sur Internet finit par disparaître ou se dégrader.
Dans ArchiveBox, le contrôle 1 prend une forme concrète : `archivebox init`, `archivebox add`, `archivebox schedule`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car SQLite, WARC, HTML et captures ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.
Pour une équipe, la question pratique du contrôle 1 est la reproductibilité du chemin ArchiveBox : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.
Ajouter des URL à l'archive
ArchiveBox accepte les URL une par une ou par lots planifiés. Les sources d'entrée incluent l'extension de navigateur officielle, l'historique et les favoris exportés, les flux RSS, les fichiers JSON, CSV, TXT, SQL, HTML, Markdown, ainsi que des services de favoris comme Pocket, Pinboard, Instapaper et Shaarli. Un outil proxy MITM nommé archivebox-proxy peut capturer en temps réel le trafic de tout appareil. La commande `archivebox add` gère les importations manuelles, et `archivebox schedule` exécute des importations régulières sans conteneur cron séparé. Le README indique qu'il prend en charge les URL dans tout format texte.
Dans ArchiveBox, le contrôle 2 prend une forme concrète : `archivebox init`, `archivebox add`, `archivebox schedule`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car SQLite, WARC, HTML et captures ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.
Pour une équipe, la question pratique du contrôle 2 est la reproductibilité du chemin ArchiveBox : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.
Ce que contient chaque instantané
Pour chaque URL ajoutée, ArchiveBox crée un dossier Snapshot contenant des fichiers ordinaires : index.html et index.json, le HTML original et CSS/JS, un instantané HTML SingleFile, un clone wget, un PDF imprimé, une capture d'écran PNG, un dump DOM, le texte d'article extrait, les en-têtes de réponse, le favicon et un lien vers une copie archive.org. Il extrait également des médias avec yt-dlp (MP3, MP4, sous-titres, métadonnées) et clone des dépôts Git à partir de liens GitHub, GitLab ou Bitbucket. Les extracteurs fonctionnent immédiatement, mais peuvent être désactivés individuellement. Le README qualifie ces formats de durables et lisibles pendant des décennies.
Dans ArchiveBox, le contrôle 3 prend une forme concrète : `archivebox init`, `archivebox add`, `archivebox schedule`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car SQLite, WARC, HTML et captures ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.
Pour une équipe, la question pratique du contrôle 3 est la reproductibilité du chemin ArchiveBox : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.
Choix d'installation
Le README recommande Docker Compose comme méthode d'installation la plus simple, avec un fichier docker-compose.yml téléchargé depuis docker-compose.archivebox.io. Le Docker simple, une installation basée sur uv (`uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev'`), apt, Homebrew, pacman, pkg, nix et un script curl sont également documentés. Les systèmes d'exploitation pris en charge incluent Linux, BSD, macOS et Windows (via Docker). Après installation, vous exécutez `archivebox init` dans un répertoire de données vide, puis `archivebox install` pour installer les dépendances d'exécution comme Chrome, SingleFile et yt-dlp. Les mêmes commandes fonctionnent via Docker avec `docker compose run archivebox` ou `docker run`.
Dans ArchiveBox, le contrôle 4 prend une forme concrète : `archivebox init`, `archivebox add`, `archivebox schedule`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car SQLite, WARC, HTML et captures ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.
Pour une équipe, la question pratique du contrôle 4 est la reproductibilité du chemin ArchiveBox : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.
CLI, interface web et API
ArchiveBox peut être géré depuis un terminal, une interface web auto-hébergée, une API Python (version bêta) et une API REST (version alpha). Les sous-commandes CLI incluent `add`, `list`, `update`, `remove`, `schedule`, `config`, `server` et `manage`. L'interface web écoute par défaut sur le port 8000, avec des sous-domaines public et admin (web.archivebox.localhost et admin.archivebox.localhost). Vous pouvez aussi accéder directement à l'archive via SQLite3 et le système de fichiers. Le README note que toutes les interfaces sont équivalentes et peuvent être utilisées de manière interchangeable sur les mêmes données.
Dans ArchiveBox, le contrôle 5 prend une forme concrète : `archivebox init`, `archivebox add`, `archivebox schedule`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car SQLite, WARC, HTML et captures ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.
Pour une équipe, la question pratique du contrôle 5 est la reproductibilité du chemin ArchiveBox : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.
Configuration et contrôle des données
La configuration se fait via des variables d'environnement, la commande `archivebox config` ou un fichier `./ArchiveBox.conf`. Le README mentionne des paramètres comme `PUBLIC_ADD_VIEW`, `PERMISSIONS`, `PUBLIC_INDEX`, `BASE_URL` et `BIND_ADDR`. Par défaut, ArchiveBox enregistre aussi une copie de chaque page sur archive.org pour redondance, mais cela peut être désactivé pour un usage local uniquement. Comme les données sont stockées dans des fichiers normaux et un index SQLite, vous pouvez copier le répertoire d'archive sur une autre machine ou lire des instantanés sans exécuter ArchiveBox.
Dans ArchiveBox, le contrôle 6 prend une forme concrète : `archivebox init`, `archivebox add`, `archivebox schedule`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car SQLite, WARC, HTML et captures ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.
Pour une équipe, la question pratique du contrôle 6 est la reproductibilité du chemin ArchiveBox : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.
Licence et support professionnel
ArchiveBox est publié sous licence MIT, avec le droit d'auteur attribué à Nick Sweeting (l'année de droit d'auteur dans l'extrait de licence est 2026). La licence MIT accorde la permission d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre des copies du logiciel, et stipule explicitement que le logiciel est fourni tel quel, sans garantie d'aucune sorte. Le README décrit également des services d'intégration professionnels payants pour les journalistes, avocats, chercheurs, particuliers et gouvernements, y compris le support de configuration, le déblocage CAPTCHA et des limites de débit, le SSO et les journaux d'audit. Selon le README, le projet est opéré par un sponsor financier à but non lucratif 501(c)(3).
Dans ArchiveBox, le contrôle 7 prend une forme concrète : `archivebox init`, `archivebox add`, `archivebox schedule`. Le fichier de référence et la sortie attendue doivent rester visibles pendant l'essai, car SQLite, WARC, HTML et captures ne constitue pas une promesse indépendante du contexte. Une lecture attentive des erreurs, des journaux et des artefacts produits permet de distinguer une fonction réellement disponible d'une simple mention dans le README.
Pour une équipe, la question pratique du contrôle 7 est la reproductibilité du chemin ArchiveBox : quelles dépendances sont locales, quels droits sont requis et quel résultat peut être inspecté sans service tiers ? Cette séparation est utile pour décider si l'outil convient à un poste isolé, à un pipeline automatisé ou à une expérimentation courte. Le dépôt ne documente pas toutes les combinaisons possibles ; les cas non décrits doivent donc rester des hypothèses.
Conclusion éditoriale
ArchiveBox s'adresse aux personnes qui acceptent d'examiner `archivebox init`, `archivebox add`, `archivebox schedule` et les artefacts produits avant une intégration. Il convient moins à un usage qui exige une garantie non documentée ou une dépendance entièrement invisible. Commencez par reproduire ce chemin et observez SQLite, WARC, HTML et captures dans votre environnement.
Notes de la communauté