245 lines
5.5 KiB
Markdown
Executable File
245 lines
5.5 KiB
Markdown
Executable File
# 🚀 Démarrage Rapide - Docker
|
|
|
|
Guide ultra-rapide pour lancer Linux BenchTools avec le module Périphériques dans Docker.
|
|
|
|
## ⚡ En 3 commandes
|
|
|
|
```bash
|
|
# 1. Cloner et entrer dans le dépôt
|
|
git clone <votre-repo> && cd serv_benchmark
|
|
|
|
# 2. Lancer Docker Compose
|
|
docker-compose up -d --build
|
|
|
|
# 3. Accéder à l'interface
|
|
# Frontend : http://localhost:8087
|
|
# API Docs : http://localhost:8007/docs
|
|
```
|
|
|
|
**C'est tout !** Le module périphériques est activé par défaut.
|
|
|
|
## 📍 URLs importantes
|
|
|
|
| Service | URL | Description |
|
|
|---------|-----|-------------|
|
|
| **Frontend principal** | http://localhost:8087 | Dashboard benchmarks |
|
|
| **Module Périphériques** | http://localhost:8087/peripherals.html | Inventaire périphériques |
|
|
| **API Backend** | http://localhost:8007 | API REST |
|
|
| **API Docs (Swagger)** | http://localhost:8007/docs | Documentation interactive |
|
|
| **Stats Périphériques** | http://localhost:8007/api/peripherals/statistics/summary | Statistiques JSON |
|
|
|
|
## 🔍 Vérifier que tout fonctionne
|
|
|
|
```bash
|
|
# Healthcheck backend
|
|
curl http://localhost:8007/api/health
|
|
# ✅ {"status":"ok"}
|
|
|
|
# Stats périphériques
|
|
curl http://localhost:8007/api/peripherals/statistics/summary
|
|
# ✅ {"total_peripherals":0,"en_pret":0,"disponible":0,...}
|
|
|
|
# Logs backend
|
|
docker-compose logs backend | tail -20
|
|
# Vous devriez voir :
|
|
# ✅ Main database initialized
|
|
# ✅ Peripherals database initialized
|
|
# ✅ Peripherals upload directories created
|
|
```
|
|
|
|
## 📂 Fichiers créés automatiquement
|
|
|
|
Après le premier démarrage, vous aurez :
|
|
|
|
```
|
|
serv_benchmark/
|
|
├── backend/data/
|
|
│ ├── data.db # ✅ Créé automatiquement
|
|
│ └── peripherals.db # ✅ Créé automatiquement
|
|
│
|
|
└── uploads/
|
|
└── peripherals/ # ✅ Créé automatiquement
|
|
├── photos/
|
|
├── documents/
|
|
└── locations/
|
|
```
|
|
|
|
## 🎯 Premiers pas
|
|
|
|
### 1. Ajouter votre premier périphérique
|
|
|
|
**Via l'interface web :**
|
|
1. Aller sur http://localhost:8087/peripherals.html
|
|
2. Cliquer sur "Ajouter un périphérique"
|
|
3. Remplir le formulaire
|
|
4. Enregistrer
|
|
|
|
**Via l'API (curl) :**
|
|
```bash
|
|
curl -X POST http://localhost:8007/api/peripherals \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"nom": "Logitech MX Master 3",
|
|
"type_principal": "USB",
|
|
"sous_type": "Souris",
|
|
"marque": "Logitech",
|
|
"modele": "MX Master 3",
|
|
"prix": 99.99,
|
|
"etat": "Neuf",
|
|
"rating": 5.0,
|
|
"quantite_totale": 1,
|
|
"quantite_disponible": 1
|
|
}'
|
|
```
|
|
|
|
### 2. Importer un périphérique USB
|
|
|
|
**Méthode automatique :**
|
|
```bash
|
|
# Sur votre machine, récupérer les infos USB
|
|
lsusb -v > /tmp/usb_info.txt
|
|
|
|
# Uploader via l'API
|
|
curl -X POST http://localhost:8007/api/peripherals/import/usb \
|
|
-F "lsusb_output=@/tmp/usb_info.txt"
|
|
```
|
|
|
|
**Méthode via interface :**
|
|
1. Exécuter `lsusb -v` dans un terminal
|
|
2. Copier toute la sortie
|
|
3. Sur http://localhost:8087/peripherals.html
|
|
4. Cliquer "Importer USB"
|
|
5. Coller la sortie
|
|
6. Valider
|
|
|
|
### 3. Créer une localisation
|
|
|
|
```bash
|
|
curl -X POST http://localhost:8007/api/locations \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"nom": "Bureau",
|
|
"type": "piece",
|
|
"description": "Bureau principal"
|
|
}'
|
|
```
|
|
|
|
## 🛠️ Personnalisation
|
|
|
|
### Modifier les types de périphériques
|
|
|
|
Éditer `config/peripheral_types.yaml` et redémarrer :
|
|
|
|
```bash
|
|
nano config/peripheral_types.yaml
|
|
docker-compose restart backend
|
|
```
|
|
|
|
### Ajuster la compression d'images
|
|
|
|
Éditer `config/image_processing.yaml` :
|
|
|
|
```yaml
|
|
image_processing:
|
|
compression:
|
|
quality: 85 # 1-100 (défaut: 85)
|
|
```
|
|
|
|
```bash
|
|
docker-compose restart backend
|
|
```
|
|
|
|
### Désactiver le module périphériques
|
|
|
|
Dans `.env` :
|
|
|
|
```bash
|
|
PERIPHERALS_MODULE_ENABLED=false
|
|
```
|
|
|
|
```bash
|
|
docker-compose restart backend
|
|
```
|
|
|
|
## 🐛 Problèmes courants
|
|
|
|
### Le module ne se charge pas
|
|
|
|
```bash
|
|
# Vérifier les logs
|
|
docker-compose logs backend | grep -i peripheral
|
|
|
|
# Forcer la recréation de la DB
|
|
docker-compose exec backend rm /app/data/peripherals.db
|
|
docker-compose restart backend
|
|
```
|
|
|
|
### Erreur Pillow/QRCode
|
|
|
|
```bash
|
|
# Rebuild complet
|
|
docker-compose down
|
|
docker-compose build --no-cache backend
|
|
docker-compose up -d
|
|
```
|
|
|
|
### Permissions uploads
|
|
|
|
```bash
|
|
# Vérifier les permissions
|
|
docker-compose exec backend ls -la /app/uploads/
|
|
|
|
# Les créer manuellement si besoin
|
|
mkdir -p uploads/peripherals/{photos,documents,locations/images,locations/qrcodes}
|
|
chmod -R 755 uploads/
|
|
```
|
|
|
|
## 📊 Commandes utiles
|
|
|
|
```bash
|
|
# Voir tous les conteneurs
|
|
docker-compose ps
|
|
|
|
# Logs en temps réel
|
|
docker-compose logs -f
|
|
|
|
# Redémarrer un service
|
|
docker-compose restart backend
|
|
|
|
# Arrêter tout
|
|
docker-compose down
|
|
|
|
# Rebuild et redémarrer
|
|
docker-compose up -d --build
|
|
|
|
# Shell dans le backend
|
|
docker-compose exec backend /bin/bash
|
|
|
|
# Taille des bases de données
|
|
docker-compose exec backend du -h /app/data/*.db
|
|
|
|
# Backup rapide
|
|
docker-compose exec backend tar -czf /tmp/backup.tar.gz /app/data/
|
|
docker cp linux_benchtools_backend:/tmp/backup.tar.gz ./backup.tar.gz
|
|
```
|
|
|
|
## 📚 Documentation complète
|
|
|
|
- **Module Périphériques** : [README_PERIPHERALS.md](README_PERIPHERALS.md)
|
|
- **Déploiement Docker** : [DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md)
|
|
- **README principal** : [README.md](README.md)
|
|
- **Changelog** : [CHANGELOG.md](CHANGELOG.md)
|
|
|
|
## 🎉 Prochaines étapes
|
|
|
|
1. ✅ Ajouter vos périphériques
|
|
2. ✅ Créer vos localisations
|
|
3. ✅ Importer vos périphériques USB
|
|
4. ✅ Uploader photos et documents
|
|
5. ✅ Générer des QR codes pour les localisations
|
|
6. ✅ Gérer les prêts de matériel
|
|
|
|
---
|
|
|
|
**Besoin d'aide ?** Consultez la documentation complète ou ouvrez une issue.
|