# StockMaster Pro v2.1

## 🎉 Nouveau dans v2.1

- ✅ Système Entrée de Stock vs Ajout (protection stock maximum)
- ✅ Pagination sur toutes les listes
- ✅ Fournisseurs + Marques intégrés
- ✅ Cards produits avec badges magasins
- ✅ Scanner avec arrêt automatique sur code inconnu
- ✅ CSRF Protection
- ✅ Rate Limiting Login
- ✅ Validation formulaires client
- ✅ Impression tableaux optimisée
- ✅ Filtres avancés mouvements
- ✅ Backup automatique (cron)

Voir [CHANGELOG.md](CHANGELOG.md) pour la liste complète.

---

## Déploiement

1. Copiez le dossier `stockmaster/` sur votre serveur PHP (Apache, Nginx, etc.)
2. Assurez-vous que PHP ≥ 8.1 est installé
3. Le dossier `data/` doit être **inscriptible** par le serveur web :
   ```
   chmod 775 data/
   chmod 775 uploads/
   ```
4. Accédez à `http://votre-serveur/index.php`

## Connexion par défaut
- **Username** : `admin`
- **Mot de passe** : `admin123`
- Changez le mot de passe dès la première connexion dans Paramètres > Utilisateurs

## Bibliothèques tierces
Les fichiers dans `libs/` chargent automatiquement depuis CDN (internet requis).
Pour un déploiement **hors ligne**, téléchargez les fichiers suivants et remplacez :

| Fichier | URL CDN |
|---|---|
| `libs/jsbarcode.all.min.js` | https://cdn.jsdelivr.net/npm/jsbarcode@3.11.6/dist/JsBarcode.all.min.js |
| `libs/qrcode.js` | https://cdn.jsdelivr.net/npm/qrcode-generator@1.4.2/qrcode_generator.js |
| `libs/quagga2.min.js` | https://cdn.jsdelivr.net/npm/quagga2@0.0.10/dist/quagga.min.js |

## Fonctionnalités
- Gestion multi-magasins avec codes couleur
- Produits avec SKU auto, codes barres, images
- **Mouvements** : ajout, sortie (avec raison/chantier/opérateur), transfert
- **Historique complet** : filtres par type/date/magasin/produit
- **Alertes** : seuils min/max par produit par magasin
- **Inventaires** : comptage physique avec détection d'écarts
- **Scanner** : camera live (Quagga2) + scan image + entrée manuelle
- **Codes barres / QR** : génération unitaire + impression groupée
- **Gestion utilisateurs** : Admin (tout) + Utilisateur (sortie stock uniquement)
- **Thème** : sombre / clair (persisté)
- **Export/Import** : sauvegarde JSON complète + CSV produits/mouvements
- **Mobile/Tablet** : edge-to-edge, bottom nav, touch-optimised
