À propos du projet

Topos est une application web open-source pour cataloguer le stockage physique tel que les classeurs, les boîtes d'archives et les tiroirs, ainsi que les articles qu'ils contiennent. Elle fournit un modèle d'inventaire à quatre entités couvrant les conteneurs, les articles, les catégories hiérarchiques et les actions de suivi. L'application fonctionne comme une application web progressive (PWA) hors ligne d'abord, avec un cache de lecture Dexie, rendant les pages instantanément depuis IndexedDB avant de revalider auprès de l'API. Un backend optionnel FastAPI/SQLite sert de source de vérité unique. Une fonctionnalité clé est l'import Excel sans perte : les utilisateurs peuvent télécharger un classeur dans une forme spécifique à trois feuilles, et Topos matérialise l'inventaire, y compris les chaînes de catégories ascendantes. L'import est idempotent sur les identifiants externes des conteneurs, donc réimporter le même fichier ne produit pas de doublons. Les noms de catégories allemands sont traduits en slugs anglais lors de l'import tout en préservant l'allemand original comme noms d'affichage. Le projet est construit sur PluginForge, un cadre de plugins indépendant de l'application, avec l'importateur Excel lui-même implémenté comme plugin. Cette architecture vise à soutenir de futures importations, exportations, étiquettes QR et pièces jointes photo. Un lanceur de bureau multiplateforme pour Linux, macOS et Windows est construit à partir du même code FastAPI et React en utilisant PyInstaller. Topos en est au stade d'amorçage et n'est pas encore durci pour la production. Le README déconseille de l'exécuter sur une infrastructure partagée sans proxy inverse et recommande de remplacer la clé secrète par défaut. Le dépôt comprend des tests backend avec pytest, des tests frontend avec Vitest et un test de fumée Playwright.