Changelog
Historique complet des versions du module ProductionInterne.
v1.1.5 Version actuelle
2026-02-05Corrigé
- **Fix #97 - Stock=0 faux positif** : Le stock à zéro ne déclenche plus de faux positif dans la détection des produits à produire - Correction de la condition `< qty` remplacée par `< 0` dans `countLocalProducts()` et `production_tab.php` - Les produits avec stock suffisant ne sont plus affichés comme nécessitant une production
- **Fix #98 - Filtrage services production** : Correction du filtrage SQL des services selon leur mode d'approvisionnement par défaut - Les services sont maintenant correctement filtrés dans les requêtes de production
Modifié
- **Documentation technique** : Réécriture complète de CLAUDE.md avec architecture détaillée
- **Support client** : Ajout documentation réponse client (Fabian Repp, Würzburg)
v1.1.4
2025-08-19Corrigé
- **Limite de surproduction** : Correction du bug empêchant la saisie au-delà de la capacité "par production" - Suppression de l'attribut HTML `max` qui bloquait la saisie dans le formulaire - Transformation de l'erreur bloquante en avertissement pour le type "par_production" - Amélioration du JavaScript pour afficher des avertissements au lieu de forcer des valeurs - Permet maintenant de saisir une quantité supérieure à la limite si nécessaire
- **Nouvelle clé de traduction** : Ajout de `CapacityExceeded` dans les 5 langues supportées - Message d'avertissement spécifique pour le dépassement de capacité de production
v1.1.3
2025-07-04Corrigé
- **Compatibilité Dolibarr 19.x** : Correction critique de compatibilité pour les versions 19.x et antérieures - Remplacement de `getDolGlobalInt()` par `getDolGlobalString()` avec conversion explicite - Assure le fonctionnement sur Dolibarr 16.x à 21.x
- **Calcul stock virtuel** : Correction majeure du calcul de stock pour l'affichage des productions - Utilisation du stock virtuel (stock réel - réservations) au lieu du stock réel seul - Correction dans `countLocalProducts()` et `production_tab.php` - Les produits avec stock virtuel négatif sont maintenant correctement détectés - L'onglet Production s'affiche et liste correctement les produits à produire
Ajouté
- **Documentation démonstration** : Guide complet pour les vidéos de démonstration avec profils utilisateurs
- **Script oral multilingue** : Script complet pour vidéo YouTube en 5 langues
- **Configuration Apache** : Fichiers .htaccess pour sécuriser l'accès au répertoire version
Modifié
- **Docker** : Renommage docker-compose-demo.yml vers docker-compose-demo-20.yml pour clarifier la version Dolibarr
v1.1.2
2025-06-30Corrigé
- **Onglet Production sur pages expédition** : L'onglet Production s'affiche maintenant correctement sur les pages d'expédition en récupérant automatiquement la commande d'origine
- **Logique de capacité production** : Refonte complète du système de pré-remplissage et de validation - Production journalière : Calcul intelligent depuis le lancement (jours_écoulés × capacité_journalière) - Par production : Respect de la limite physique par ligne de production - Par période : Respect de la limite temporelle de capacité - Suppression des limites arbitraires hardcodées (999 unités)
Amélioré
- **Pré-remplissage intelligent** : Les quantités suggérées sont maintenant calculées selon le type de capacité défini
- **Validation métier** : Seules les vraies contraintes physiques et temporelles sont appliquées
- **Messages d'erreur** : Messages explicites différenciant les types de limites (par ligne, par période)
Supprimé
- **Scripts obsolètes** : Nettoyage des scripts de correction ponctuels devenus inutiles
- **Limites artificielles** : Plus de blocage arbitraire pour les productions en millions d'unités
v1.1.1
2025-06-29Corrigé
- **🐛 Issue #82 - Conformité package Dolibarr** : - Remplacement de `require_once DOL_DOCUMENT_ROOT . '/custom/productioninterne/'` par `dol_include_once('/productioninterne/')` - Correction de 7 occurrences non conformes aux standards Dolibarr - **Impact** : Respect total des règles de packaging Dolibarr - **Fichiers modifiés** : Tous les fichiers PHP du module
- **🐛 Issue #83 - Problèmes filtres liste production** : - Ajout de logs de débogage détaillés pour tracer les requêtes de filtrage - Correction logique filtres : vérification `!== '' && != '-1'` pour les select - Amélioration type GETPOST pour les champs de recherche - **Impact** : Traçabilité complète des problèmes de filtrage - **Fichiers modifiés** : `production_list.php`
- **🐛 Issue #84 - Traductions manquantes interface** : - Ajout clés manquantes : `High`, `Completed` dans les 5 langues - Correction incohérences : `StatusDraft` → `Draft`, etc. - Chargement traductions "main" pour compatibilité - **Impact** : Interface 100% traduite et cohérente - **Fichiers modifiés** : Tous les fichiers `/langs/*/productioninterne.lang`
- **🖼️ Correction icône productioninterne.png** : - Remplacement icône personnalisée par icône standard Dolibarr `industry` - **Impact** : Suppression erreur chargement image inexistante - **Fichiers modifiés** : `production_list.php`
Amélioré
- **🌐 MAJEUR - Réorganisation complète traductions multilingues** : - **Fichier FR** : Réorganisé en 16 sections logiques avec emojis (192 clés) - **Synchronisation 5 langues** : EN, ES, DE, IT suivent structure française - **Suppression doublons** : Élimination clés redondantes dans toutes les langues - **Cohérence parfaite** : 192 clés synchronisées dans FR, EN, ES, DE, IT - **Sections standardisées** : 📋 Module, 🎯 Statuts, 🏭 Productions, ⚙️ Actions, 📊 Données, 🔧 Config, 🔔 Notifications, 🏷️ ExtraFields, 🛠️ Services, 🎛️ Interface, ✅ Confirmations, ❌ Erreurs, 📈 États, 🏷️ Avancée, ⚙️ Options - **Impact** : Architecture traductions parfaitement standardisée et maintenable - **Statistiques finales** : Toutes les langues synchronisées à 192 clés exactement
- **📋 Documentation technique enrichie** : - Ajout section "CONVENTIONS DE NOMMAGE DOLIBARR 2025" dans CLAUDE.md - Règles strictes : format, encodage, anti-patterns - Commandes de vérification qualité - **Impact** : Prévention régression future, maintenabilité optimale
v1.1.0
2025-06-27Ajouté
- **Module de production complet pour services** : - Configuration complète dans `admin/setup.php` avec paramètres dédiés aux services - Constante `PRODUCTIONINTERNE_ENABLE_SERVICES` pour activer/désactiver la production sur services - Support des services avec mode d'approvisionnement et gestion de production
- **Fichier de constantes centralisé** (`core/constants.php`) : - `PRODUCTIONINTERNE_PRODUIT_LOCAL_EXTERNE = '1'` (approvisionnement externe) - `PRODUCTIONINTERNE_PRODUIT_LOCAL_INTERNE = '2'` (fabrication interne)
- **Nouvel onglet Production sur fiches de commande** : - Interface dédiée remplaçant les colonnes par un onglet complet - Affichage conditionnel uniquement si la commande contient des produits locaux - Badge intelligent indiquant le nombre de produits nécessitant une production - Gestion complète des statuts avec codes couleur Dolibarr - Actions contextuelles (Lancer/Voir production) selon les permissions
- **Système de valeurs par défaut automatiques** : - Application intelligente détectant les champs vides - Hooks multiples (`formObjectOptions`, `doActions`) pour compatibilité maximale - Configuration centralisée dans l'interface d'administration - Logique spécifique pour chaque extrafield
- **Gestion flexible de la surproduction** : - Configuration `PRODUCTIONINTERNE_ALLOW_OVERPRODUCTION` (activée par défaut) - Répartition automatique FIFO de l'excédent sur autres ordres en attente - Système intelligent de distribution avec traçabilité complète - Limites basées sur la capacité de production du produit
- **Documentation et guides** : - Guide utilisateur pour le système de notifications/événements - Documentation des workflows projet dans `PROJECT_RULES.md` - Rapport de validation complet des issues
Modifié
- **Migration vers constantes globales** : - Remplacement de toutes les valeurs hardcodées (0/1) par constantes (1/2) - Utilisation uniforme dans tous les fichiers du module - Cohérence totale du code avec les nouvelles valeurs
- **Refactorisation architecturale majeure** : - Suppression complète du JavaScript (`js/productioninterne.js.php`) - Migration vers CSS pur avec pseudo-éléments pour les badges - Hook PHP `printFieldListValue` propre selon conventions Dolibarr - Réduction de ~690 lignes de code obsolète
- **Optimisation des performances** : - Requêtes SQL optimisées (INNER JOIN au lieu de LEFT JOIN) - Suppression des logs DEBUG en production - Cache intelligent pour les produits - JavaScript minimal (60 lignes vs 1079 lignes)
- **Interface utilisateur améliorée** : - Badges CSS purs avec icônes (🏭/🚚) sans JavaScript - Classes unifiées `.badge-externe` et `.badge-interne` - CSS responsive avec adaptation mobile - Transitions et animations CSS natives
Corrigé
- **Services dans l'onglet production** : Filtrage conditionnel avec badge et cohérence d'affichage
- **Valeurs par défaut extrafields** : Application correcte sans forcer les produits externes
- **Script migration SQL** : Suppression des UPDATE forcés préservant les valeurs NULL
- **Badges produits locaux** : Taille de police corrigée (0.85rem) pour lisibilité
- **Détection mode édition** : Protection CSS contre application badges en édition
- **Erreur SQL production_tab.php** : Suppression filtrage `cd.entity` inexistant
- **Normalisation priorités** : Migration ancien système (0-2) vers nouveau (1-5)
- **Menu Production** : Position et icône corrigées pour cohérence Dolibarr
- **Trigger PRODUCT_MODIFY** : Désactivé pour éviter conflits avec pré-remplissage
Supprimé
- **JavaScript complet** : Fichier `js/productioninterne.js.php` entièrement supprimé
- **Classe CSS inutilisée** : `class/cssutils.class.php` (381 lignes)
- **Hook obsolète** : `printCommonFooter` avec requêtes SQL inutiles
- **CSS conflictuel** : ~270 lignes d'anciens styles badges
- **Extrafields obsolètes** : Références à `capacite_production_jour` supprimées
Sécurité
- **Contrôle strict des valeurs** : Validation des priorités et formulaires
- **Correction bugs critiques** : Gestion valeurs par défaut et migration SQL
Technique
- **Architecture Dolibarr native** : CSS dédié + Hooks PHP standards
- **Performance optimale** : Toutes optimisations implémentées
- **Compatibilité maximale** : Support Dolibarr 18.0 → 21.0+
- **Tests validés** : Workflow complet avec syntaxe PHP et CSS
Issues GitHub
- **Milestone v1.1.0** : 10 issues ouvertes, 31 fermées
- **Milestone v1.2.0** : Nouvelles fonctionnalités planifiées
- **Documentation complète** : Toutes les issues techniques résolues
v1.0.0
2025-01-06Ajouté
- **Module ProductionInterne complet** : Structure 100% fonctionnelle
- **Configuration automatique** : Extrafields produits avec gestion d'erreurs
- **Classes métier** : ProductionInterne, ProductionLine, ProductionUtils
- **Support multi-langues** : 5 langues (FR, EN, DE, ES, IT)
- **Infrastructure GitHub** : Actions CI/CD, templates, auto-releases
- **Documentation** : CLAUDE.md, spécifications, architecture détaillée
Infrastructure technique
- **Base de données** : 2 tables optimisées avec 15+ index
- **Permissions** : Système granulaire 4 niveaux
- **Multi-entité** : Support natif environnements multi-sociétés
- **Traçabilité** : Audit complet avec utilisateurs et dates