Un gestionnaire d'accès, de suivi et de traçabilité des machines pour un FabLab, conçu avec Node-RED, MariaDB et une interface utilisateur Web.
Ce projet vise à :
- Suivre l’utilisation des machines par les utilisateurs
- Enregistrer les matériaux utilisés, les durées, les coûts
- Gérer les utilisateurs et les accès
- Disposer d’une interface simple et visuelle via le tableau de bord de Node-RED
Avant d’installer ce projet, assurez-vous d’avoir les éléments suivants sur votre machine :
| Logiciel | Version recommandée |
|---|---|
| Node.js | 16+ |
| Node-RED | dernière stable |
| MariaDB | 10+ |
| Git | n’importe |
| npm | inclus avec Node.js |
git clone https://github.com/InfiniFab/FabManager-TALM.git
cd FabManager-TALMnpm installConnectez-vous à MariaDB :
sudo mariadb
Créez une base et un utilisateur :
CREATE DATABASE fabmanager;
CREATE USER 'fabuser'@'localhost' IDENTIFIED BY 'motdepasse';
GRANT ALL PRIVILEGES ON fabmanager.* TO 'fabuser'@'localhost';
FLUSH PRIVILEGES;
Vous pouvez adapter les noms (fabmanager, fabuser, motdepasse) selon vos besoins.
Ouvrez l’éditeur Node-RED : http://localhost:1880
Cliquez sur un nœud MariaDB
Renseignez :
Host : localhost
Database : fabmanager
User : fabuser
Password : motdepasse
Dans le fichier settings.js de Node-RED (~/.node-red/settings.js) :
Ajoutez ou modifiez :
adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "<mot-de-passe-hashé>",
permissions: "*"
},
{
username: "user",
password: "<mot-de-passe-hashé>",
permissions: "read"
}
]
},
Pour générer le mot de passe hashé :
node-red-admin hash-pw
Si node-red-admin ne fonctionne pas sur le Raspberry Pi, vous pouvez générer le hash sur une autre machine et le coller.
Toujours dans settings.js :
httpNodeAuth: { user: "admin", pass: "<mot-de-passe-hashé>" }
Cela protègera aussi les URLs comme /ui.
FabManager-TALM/
├── flows.json Flows Node-RED
├── package.json Dépendances et scripts npm
├── settings.js Configuration Node-RED
├── .config.users.json Utilisateurs Node-RED (local)
├── projects/Fabmanager/ Contenu principal du projet
├── .gitignore Fichiers exclus de Git
└── README.md Ce fichier
Le .gitignore a été configuré pour exclure automatiquement :
node_modules/
Clés SSH : projects/.sshkeys/
Fichiers sensibles : credentials.json, *.sql, *.log, .tmp, backups/, etc.
Fichiers d’état comme .sessions.json
Lancer Node-RED
node-red
Accéder ensuite à :
Éditeur : http://localhost:1880
Interface UI : http://localhost:1880/ui
Ajout de machines : Ajoutez des nœuds pour chaque machine dans Node-RED
Suivi des utilisateurs : Adaptez les formulaires du tableau de bord
Comptabilité / Paiement : Ajoutez des règles métier ou des exports CSV
La connexion MariaDB
Les mots de passe (si l’authentification est activée)
Les fichiers settings.js et les credentials
cd FabManager-TALM
npm install