100 lines
4.4 KiB
Markdown
100 lines
4.4 KiB
Markdown
---
|
|
title: BrickTracker
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, tracking, lego, collection, python, flask]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/, https://github.com/username/bricktracker]
|
|
---
|
|
|
|
# BrickTracker 🧱
|
|
|
|
> Un catalogueur de collection LEGO self-hosted, avec suivi des sets, des pièces, de l'inventaire et de la valeur de marché.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://bricktracker.app/ |
|
|
| **GitHub** | https://github.com/nicolasthreatt/bricktracker |
|
|
| **License** | MIT |
|
|
| **Langage principal** | Python (Flask) |
|
|
| **Étoiles GitHub** | ⭐12 |
|
|
| **Dernière MAJ** | 2026-02-08 |
|
|
| **Catégorie** | [[cat-tracking]] |
|
|
|
|
## Description
|
|
|
|
BrickTracker est un **gestionnaire de collection LEGO** auto-hébergé, conçu pour les AFOLs (Adult Fans Of Lego) qui veulent savoir précisément ce qu'ils possèdent, ce qu'il leur manque pour compléter un set, et combien leur collection vaut. L'application s'appuie sur les données de **Rebrickable** (la base de données LEGO la plus complète) pour identifier sets, pièces et minifigs par leur numéro.
|
|
|
|
L'architecture est volontairement simple : **Flask** côté backend, SQLite côté base, et des templates Jinja2 pour le rendu. On scanne ou on entre manuellement le code des pièces, l'application fait le matching avec Rebrickable, et l'inventaire se constitue progressivement. Le suivi inclut les **sets en cours de construction**, les **instructions manquantes**, et la **valeur** (prix catalogue vs prix du marché secondaire BrickLink).
|
|
|
|
La **recherche de pièces détachées** est la killer feature : « de combien de briques 2x4 rouges est-ce que je dispose ? » est une question que tout AFOL se pose, et BrickTracker y répond. Export CSV des inventaires pour partage ou backup.
|
|
|
|
⚠️ **Projet jeune, bus factor 1** — un seul mainteneur actif, rythme de publication irrégulier. La fonctionnalité de scan est encore basique (saisie manuelle du code, pas de webcam).
|
|
|
|
## Installation
|
|
### Via Docker (recommandé)
|
|
```yaml
|
|
services:
|
|
bricktracker:
|
|
container_name: bricktracker
|
|
image: ghcr.io/nicolasthreatt/bricktracker:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8088:5000"
|
|
volumes:
|
|
- bricktracker-data:/data
|
|
environment:
|
|
- SECRET_KEY=changez-moi-32-chars
|
|
- REBRICKABLE_API_KEY=votre-cle-rebrickable
|
|
- DATABASE_URL=sqlite:////data/bricktracker.db
|
|
|
|
volumes:
|
|
bricktracker-data:
|
|
```
|
|
|
|
### Installation manuelle
|
|
1. Pré-requis : Python 3.11+, SQLite.
|
|
2. Cloner : `git clone https://github.com/nicolasthreatt/bricktracker.git`
|
|
3. `cd bricktracker && pip install -r requirements.txt`
|
|
4. Configurer `.env` (clé secrète, clé API Rebrickable).
|
|
5. `flask db upgrade` puis `flask run` ou via Gunicorn en production.
|
|
|
|
## Configuration
|
|
|
|
- Obtenir une **clé API Rebrickable** gratuite sur https://rebrickable.com/api/.
|
|
- Créer le **premier utilisateur** via `flask create-user`.
|
|
- Configurer les **listes** (en stockage, à construire, à revendre).
|
|
- Définir le **stockage des photos** de sets/pièces (volume Docker persistant).
|
|
- Activer l'**intégration BrickLink** pour les prix du marché (optionnel).
|
|
|
|
## Alternatives
|
|
### Open source
|
|
- **Rebrickable** *(propriétaire)* — la base de référence, mais cloud
|
|
- **BrickLists** — apps mobiles, non self-hosted
|
|
- [[app-koillection]] — générique (collections de tout type), adaptable aux LEGO
|
|
- **Grocy** — gestion d'inventaire, pas spécifique LEGO
|
|
### Propriétaires
|
|
- **Rebrickable** — base de données + apps, freemium
|
|
- **BrickLink** *(propriétaire, mais marketplace)* — pour acheter/revendre, pas un catalogueur
|
|
- **Brickset** — base de données + wishlist, freemium
|
|
|
|
## Sécurité
|
|
|
|
- **Changer `SECRET_KEY`** par une valeur aléatoire forte.
|
|
- **HTTPS obligatoire** (reverse proxy Traefik/Caddy) pour protéger la session.
|
|
- **Sauvegarder** la base SQLite régulièrement (le volume `bricktracker-data`).
|
|
- **Clé Rebrickable** : limitée à l'API publique, ne pas confondre avec la clé premium.
|
|
- En multi-utilisateur (famille), créer des **comptes distincts** plutôt que partager un login.
|
|
|
|
## Ressources
|
|
- Site officiel : https://bricktracker.app/
|
|
- Dépôt GitHub : https://github.com/nicolasthreatt/bricktracker
|
|
- API Rebrickable : https://rebrickable.com/api/
|
|
- selfh.st : https://selfh.st/apps/
|
|
|
|
## Pages Liées
|
|
- [[cat-tracking]]
|
|
- [[recettes-docker-compose]]
|