Le cœur de PiStock, c'est le lien entre FreeCAD et votre inventaire. Vous exportez une pièce depuis FreeCAD, et quelques secondes plus tard elle apparaît dans le navigateur, avec sa miniature et un modèle 3D qu'on peut faire tourner, sans logiciel de CAO.
L'atelier PiStock dans FreeCAD
Une fois installé, l'atelier ajoute une barre d'outils avec ces commandes :
| Commande | Rôle |
|---|---|
| Export part | envoie la pièce active (fichier CAO, miniature, modèle 3D) au serveur |
| Browse catalog | parcourt le catalogue du serveur et ouvre les pièces |
| Browse local folder | explore un dossier local, sans serveur |
| Generate thumbnails | génère les miniatures manquantes de tout un dossier |
| BOM from assembly | crée une nomenclature PiStock depuis un assemblage |

Les icônes jaunes travaillent avec le serveur. Les vertes fonctionnent en local, sans réseau.
L'explorateur local, même sans serveur
L'explorateur local est utile avant même d'installer un serveur.
Il parcourt un dossier et tous ses sous-dossiers, les affiche en
arbre, et montre sous chacun une petite miniature par fichier .FCStd.
Un clic ouvre le document dans FreeCAD.
C'est idéal pour faire le tri dans une bibliothèque CAO existante et voir d'un coup d'œil ce que vous avez déjà.

Astuce : les miniatures sont lues dans les fichiers eux-mêmes. Activez dans FreeCAD Préférences → Général → Document l'option d'enregistrement de la miniature avec le document (Save thumbnail with document), ou utilisez Generate thumbnails pour les créer d'un coup sur les anciens fichiers.
Le visualiseur 3D et les révisions
À l'export, PiStock produit un modèle .glb optimisé. Dans le
navigateur, on inspecte la pièce ou l'assemblage en 3D, ce qui est
pratique pour un collaborateur qui n'utilise pas FreeCAD, ou pour
vérifier une pièce depuis l'atelier sur son téléphone.
Chaque nouvel export crée une révision : on garde l'historique de la pièce et on sait toujours quelle version est la bonne.
Des plugins pour tout le reste
PiStock garde un cœur simple et délègue le reste à des plugins : sauvegarde de la base, notes de fabrication, recherche dans le stock, arbre de nomenclature, « où est utilisée cette pièce », calendrier, tableau blanc…

Écrire le sien est volontairement simple : un dossier dans plugins/
avec deux fichiers.
plugins/
└── mon_plugin/
├── manifest.json identifiant, nom, version, icône
└── plugin.py le code, qui expose register(app)
def register(app):
from nicegui import ui
@ui.page("/plugin/mon_plugin")
def ma_page():
ui.label("Bonjour depuis mon_plugin !")
Le serveur charge automatiquement chaque plugin au démarrage. Deux règles
de bonne conduite : un plugin peut lire toute la base, mais n'écrit
que dans ses propres tables (plugin_<id>_*). Et un plugin qui plante
est simplement ignoré : il ne casse jamais le reste de PiStock.
La documentation des plugins est dans le dépôt : plugins/README.md.
Pour démarrer : installer PiStock sur un Raspberry Pi. Le code : github.com/pistock-org/PiStock.