2.0.30 Historique des versions - Module Shopify Integration pour Dolibarr

Historique des versions

🚨 Version 2.0.30 (2025-09-09) - CORRECTIONS CRITIQUES SYNCHRONISATION COMMANDES

🚨 Corrections critiques de production
  • Issue #86 - CRITIQUE : Correction crash "Failed to fetch company" en production
  • CAUSE IDENTIFIÉE : Méthode createOrUpdateCustomer() retournait des types mixtes (-1 ou objet Societe)
  • CORRECTIF : Validation stricte des types avant accès aux propriétés client
  • Issue #87 : Système de logs complet pour debug production
  • Issue #88 : Vérification automatique droits utilisateur CRON
  • Issue #90 : Gestion d'erreurs renforcée dans gestion clients
🔧 Améliorations du code
  • Sécurité des types : Validation stricte objet et ID pour toutes opérations clients
  • Contexte d'erreur : Messages d'erreur enrichis avec email, entité et détails opération
  • Sécurité transactionnelle : Gestion améliorée transactions BDD avec rollback approprié
  • Standards de logs : Standardisation niveaux de logs (DEBUG, INFO, WARNING, ERR)
🎯 Impact client
  • IMMÉDIAT : Résout les crashes "Failed to fetch company" en production
  • FIABILITÉ : Gestion d'erreurs renforcée prévient interruptions synchronisation
  • SUPPORT : Logs détaillés facilitent résolution rapide des problèmes
  • MONITORING : Vérification permissions CRON prévient échecs silencieux
📊 Fichiers modifiés
  • class/shopifyordermanager.class.php : Gestion client renforcée avec validation stricte
  • core/modules/modShopifyIntegration.class.php : Version 2.0.30

🐛 Version 2.0.29 (2025-09-05) - CORRECTIONS CRITIQUES MULTI-ENTITÉ

🚨 Corrections critiques
  • Issue #83 - CRITIQUE : Correction erreur "Failed to fetch company" en environnement multi-entité
  • Issue #84 : Version dynamique dans l'export diagnostic JSON
✨ Améliorations
  • Multi-entité : Recherche clients maintenant filtrée par entité
  • Diagnostic : Version récupérée automatiquement depuis le module
  • Logs : Gestion d'erreur améliorée pour fetch() des sociétés
🎯 Impact client
  • ✅ Synchronisation commandes restaurée pour utilisateurs multi-entité
  • ✅ Export diagnostic affiche maintenant la vraie version
  • ✅ Support client facilité avec diagnostics précis

🐛 Version 2.0.28 (2025-09-04) - CORRECTIONS CRITIQUES SYNCHRONISATION

🚨 Corrections critiques
  • BUG #80 CRITIQUE : Commandes devenant "payées" après création non synchronisées
  • SOLUTION : Utilisation de updated_at_min au lieu de created_at_min
  • FENÊTRE SÉCURITÉ : Ajout automatique d'une fenêtre de 24h pour capturer les commandes manquées
  • BUG #81 CRITIQUE : Erreur getDolGlobalBool() sur Dolibarr v19-20
  • POLYFILL : Fonction de compatibilité automatique pour versions antérieures à v21
✨ Améliorations diagnostiques
  • EXPORT JSON : Diagnostic complet exportable pour support technique (47 vérifications + 39 paramètres)
  • INTERFACE AMÉLIORÉE : Classes CSS pour statuts connexion Shopify avec couleurs visuelles
  • CONFIGURATION SÉCURISÉE : Export avec masquage automatique des clés sensibles (API keys, tokens)
  • TIMING CORRECTION : Export JSON après construction complète du rapport
📝 Documentation support
  • EMAILS TECHNIQUES : Templates pour support client avec explications détaillées
  • SOLUTIONS : Documentation des bugs et solutions pour cases similaires
🔄 Compatibilité universelle
  • DOLIBARR v19 : Compatibilité complète avec polyfill
  • DOLIBARR v20 : Compatibilité complète avec polyfill
  • DOLIBARR v21+ : Fonction native utilisée

🎯 Version critique : Installation fortement recommandée pour tous les utilisateurs, particulièrement si vous utilisez Dolibarr v19-20 ou rencontrez des problèmes de synchronisation commandes.

🚀 Version 2.0.27 (2025-08-28) - MIGRATION CONFIGURATION VERS CONSTANTES DOLIBARR

🏗️ Changements architecturaux majeurs
  • ISSUE #73 CRITIQUE : Migration complète de la table custom vers les constantes Dolibarr standard
  • CHANGEMENT MAJEUR : Configuration maintenant stockée dans llx_const au lieu de llx_shopify_dolibarr_storedetails
  • NOUVELLE CLASSE : ConfigurationMigrator pour migration automatique et compatibilité descendante
  • MIGRATION AUTO : Migration automatique au premier accès avec fallback vers ancienne table si nécessaire
  • 42 PARAMÈTRES : Tous les paramètres de configuration migrés vers constantes Dolibarr avec nommage approprié
  • MULTI-ENTITÉ : Support multi-entité amélioré via mécanismes Dolibarr standard
🔧 Diagnostics et monitoring améliorés
  • COMPTEUR MIGRATION : Affichage du statut de migration dans vérificateur de droits (X/42 paramètres)
  • INDICATEURS VISUELS : Badges pour configuration complète/partielle/non migrée
  • DÉTECTION : Signalement présence ancienne table pour guidance nettoyage
  • STATISTIQUES : Méthode getConfigurationStats() pour monitoring détaillé
  • LOGS : Journalisation complète du processus de migration et erreurs
📊 Fichiers migrés vers système constantes
  • admin/setup.php : Toutes sauvegardes via dolibarr_set_const()
  • admin/diagnostic.php : Lecture configuration via ConfigurationMigrator
  • admin/sync_products.php : Vérifications configuration via constantes
  • class/importcollections.class.php : loadConfiguration() modernisé
  • class/collectionsconflictresolver.class.php : loadConfiguration() modernisé
  • class/shopifyordermanager.class.php : Dates import historique via constantes
  • lib/shopifyintegration.lib.php : Onglets admin via constantes
🛡️ Compatibilité descendante et sécurité
  • ZERO RUPTURE : Fallback automatique vers ancienne table si constantes manquantes
  • MIGRATION TRANSPARENTE : Aucune intervention utilisateur requise
  • SÉCURITÉ : Si migration échoue, système continue avec ancienne table
  • AUTOMATIQUE : Migration s'exécute au premier accès après mise à jour
  • RÉVERSIBLE : Ancienne table préservée jusqu'au nettoyage manuel
🐛 Corrections critiques (2025-08-29)
  • CORRECTION CRITIQUE : ConfigurationMigrator affichait faussement "30/42 paramètres migrés"
  • CORRECTION CRITIQUE : Migration gère maintenant correctement les valeurs `0` (exclues par condition `!empty()` précédente)
  • CORRECTION CRITIQUE : Ajout traductions manquantes interface UserRightsCheck (5 langues)
  • CORRECTION : Checkboxes synchronisation produits s'affichent correctement selon constantes migrées
  • CORRECTION : Statistiques migration comptent maintenant précisément les 42 paramètres mappés
  • CORRECTION : Options synchronisation produits (prix, descriptions, images, stocks, attributs) correctement migrées
🚀 Améliorations Interface (2025-08-29)
  • NOUVEAU : Bouton "Forcer migration" dans l'interface diagnostic pour migrations incomplètes (< 42 paramètres)
  • NOUVEAU : Test automatique connexion API Shopify avec vérification des droits au chargement
  • NOUVEAU : Interface diagnostic unifiée combinant toutes les fonctionnalités de vérification
  • NOUVEAU : Traductions complètes ajoutées pour toutes les nouvelles fonctionnalités (14 clés × 5 langues = 70 traductions)
  • AMÉLIORÉ : Page diagnostic inclut maintenant état migration, vérification droits et connectivité API en vue unique
  • AMÉLIORÉ : Méthode forceMigration() pour re-migrer tous les paramètres même si déjà présents
  • AMÉLIORÉ : Méthode testShopifyConnection() avec requête GraphQL shop et détection scopes
  • SUPPRIMÉ : Onglet séparé rights_check.php - fonctionnalité intégrée dans diagnostic principal
🩺 Système de diagnostic des droits utilisateurs (2025-08-31)
  • ISSUE #74 NOUVELLE : Système complet de vérification des droits utilisateurs pour accélération support
  • CLASSE NOUVELLE : ShopifyRightsChecker pour analyse exhaustive des permissions
  • VÉRIFICATION TEMPS RÉEL : Contrôle de 15+ droits Dolibarr requis (produits, commandes, factures, stocks, admin)
  • DISTINCTION CRITIQUE/OPTIONNEL : Droits critiques manquants = rouge, optionnels manquants = orange
  • INDICATEURS VISUELS : Codage couleur automatique (vert/orange/rouge)
  • ANALYSE IMPACT : Impact détaillé pour chaque droit manquant avec guidance corrective
  • SUPPORT MULTILINGUE : Compatibilité via attributs data-* (FR/EN/DE/ES/IT)
  • INTÉGRATION UNIFIÉE : Toutes vérifications dans page admin/diagnostic.php unique
🔧 Améliorations majeures interface diagnostic (2025-08-31)
  • CORRECTION CRITIQUE : Structure HTML corrigée - section "Statut configuration" correctement fermée
  • CORRECTION CRITIQUE : Détection JavaScript via attributs data-* au lieu de texte dépendant langue
  • CORRECTION CRITIQUE : Calcul droits utilisateurs structure données correcte (status['current'] vs status['status'])
  • NOUVEAU : Sections repliables avec expansion/réduction automatique selon statut
  • NOUVEAU : Codage couleur visuel avec classes CSS (has-success, has-warning, has-error)
  • NOUVEAU : Cohérence complète entre valeurs affichées et calculs JavaScript
  • AMÉLIORÉ : Auto-réduction sections succès, auto-expansion avertissements/erreurs
  • AMÉLIORÉ : Test connexion Shopify avec analyse détaillée scopes (requis vs optionnel)
🎯 Bénéfices : Performance (cache natif Dolibarr), Standards (conformité conventions), Multi-entité (support amélioré), Maintenance (plus de table custom), Débogage (intégration outils Dolibarr), Future-proof (préparé versions futures)

🔧 Version 2.0.26 (2025-08-21) - PATCH COLLECTIONS

🚨 Corrections critiques
  • CRON DUPLIQUÉS : Résolution complète du problème de création de CRONs en double (6 au lieu de 2)
  • SQL INCOMPATIBLE : Scripts SQL maintenant compatibles toutes versions MySQL/MariaDB
  • NETTOYAGE AUTO : Suppression automatique des CRONs inactifs dupliqués des versions précédentes
  • DIAGNOSTIC INTELLIGENT : Détection des doublons avec bouton de nettoyage en un clic
  • MODULE PROPRE : Nettoyage automatique des CRONs lors activation/désactivation
  • NOUVELLE SESSION : Constructeur ShopifyDiagnostic corrigé (paramètre $langs manquant)
  • NOUVELLE SESSION : Affichage HTML boutons diagnostic corrigé (échappement HTML)
  • NOUVELLE SESSION : Export JSON maintenant en téléchargement direct
  • NOUVELLE SESSION : Activation CRON via API Dolibarr officielle (au lieu SQL direct)
  • NOUVELLE SESSION : Script génération package amélioré (nettoyage dossier dist)
🆕 Nouvelles fonctionnalités
  • Issue #70 : Restauration synchronisation collections (perdue lors migration GraphQL)
  • NOUVEAU : Système de mapping bidirectionnel collections-catégories avec résolution conflits complète
  • NOUVEAU : Table de mapping collections (`llx_shopify_collections_mapping`) pour traçabilité synchronisation
  • NOUVEAU : Configuration synchronisation collections avec 3 directions : Dolibarr→Shopify, Shopify→Dolibarr, Bidirectionnel
  • NOUVEAU : Interface administrative (`admin/collections_mapping.php`) pour gestion des mappings
  • NOUVEAU : Détection et résolution automatique conflits avec 3 stratégies (priorité Dolibarr/Shopify/plus récent)
  • NOUVEAU : Fonction d'import collections depuis Shopify vers catégories Dolibarr
  • NOUVEAU : Nettoyage mappings orphelins pour collections supprimées de Shopify
  • NOUVELLE SESSION : Exclusion automatique catégorie parente de la synchronisation
  • NOUVELLE SESSION : Système diagnostic professionnel complet (versions Dolibarr/DB/PHP/environnement)
  • NOUVELLE SESSION : Statistiques collections/catégories avec suivi exclusion catégorie parente
  • NOUVELLE SESSION : Configuration avancée module (direction sync, résolution conflits, paramètres CRON)
🏗️ Architecture technique
  • CLASSE : CollectionsUtils - Gestion mapping avec CRUD et détection changements par hash
  • CLASSE : ImportCollections - Import Shopify vers Dolibarr avec support pagination
  • CLASSE : CollectionsConflictResolver - Système intelligent détection/résolution conflits
  • AMÉLIORÉ : ImportProducts::getOrCreateShopifyCollection() utilise maintenant table mapping
  • AMÉLIORÉ : ShopifyApi avec 4 nouvelles méthodes GraphQL pour gestion collections complète
📊 Base de données et interface
  • TABLE : llx_shopify_collections_mapping avec indexation complète et contraintes clés étrangères
  • MIGRATION : update_2.0.25_2.0.26.sql avec création table conditionnelle
  • ADMIN : Paramètres synchronisation produits enrichis avec options collections
  • ADMIN : Interface complète gestion mappings avec affichage conflits temps réel
  • MULTILINGUE : Traductions complètes 5 langues (FR/EN/DE/ES/IT) toutes nouvelles fonctionnalités
  • UX : Comportement formulaire dynamique JavaScript pour dépendances configuration
📈 Impact
  • CORRIGE : Fonctionnalité collections perdue migration GraphQL série v2.0.x
  • PRÉVIENT : Création collections dupliquées et mappings orphelins
  • PERMET : Synchronisation bidirectionnelle professionnelle avec auditabilité complète
  • MAINTIENT : Compatibilité backward complète avec flux unidirectionnels existants

🚨 Version 2.0.25 (2025-08-04) - HOTFIX CRITIQUE

🔧 Corrections critiques
  • BUG CRITIQUE : Correction première synchronisation ne récupérant pas les commandes récentes quand aucune sync précédente n'existe
  • CAUSE RACINE : Quand MAX(tms) retourne NULL (table vide), aucun filtre de date n'était appliqué à la requête GraphQL, faisant retourner les commandes les plus anciennes au lieu des récentes
  • SOLUTION : Implémentation d'un fallback intelligent utilisant la date d'installation du module quand aucune sync précédente n'existe
  • NOUVELLE MÉTHODE : SqlUtils::getModuleInstallationDate() avec logique de fallback hiérarchique :
    • Priorité 1: Date d'activation du module depuis la table llx_const
    • Priorité 2: Date de création de table depuis information_schema
    • Priorité 3: Date de première configuration depuis store details
    • Priorité 4: Fallback par défaut (6 mois en arrière)
  • AMÉLIORÉ : ShopifyOrderManager::getLastSuccessfulSync() garantit maintenant une date de référence valide pour toutes les synchronisations
📈 Impact
  • CORRIGE : Clients en v2.0.23/2.0.24 rencontrant "aucune commande synchronisée" sur installations fraîches
  • ASSURE : Première synchronisation récupère correctement les commandes récentes depuis l'installation du module
  • MAINTIENT : Compatibilité backward complète avec synchronisations existantes

🚀 Version 2.0.24 (2025-01-08) - IMPORT HISTORIQUE ET AUTO-ACTIVATION

🆕 Nouvelles fonctionnalités
  • Issue #60 : Import automatique des commandes historiques intégré au système CRON
  • Issue #60 : Auto-activation des CRONs quand les configurations produits et commandes sont complètes
  • NOUVEAU : Gestion intelligente des CRONs avec vérifications de complétude de configuration
  • NOUVEAU : Import historique via ShopifyOrderSyncCron avec création automatique de clients
  • NOUVEAU : Auto-désactivation des CRONs quand la configuration est incomplète pour éviter les erreurs API
🔧 Corrections critiques
  • Issue #61 : Correction synchronisation manuelle affichant produits mais incapable de les synchroniser (cas S001)
  • Issue #62 : Correction services synchronisés comme produits physiques au lieu de services
  • CRITIQUE : Correction incohérence gestion paramètres entre interfaces search et sync
  • CRITIQUE : Correction détection type service - services définissent maintenant requiresShipping: false dans Shopify
⚡ Améliorations
  • OPTIMISÉ : Gestion paramètres unifiée avec GETPOST('search_ref', 'aZ09') pour préserver zéros de tête dans SKUs
  • OPTIMISÉ : Différenciation correcte service vs produit dans synchronisation Shopify (détection fk_product_type)
  • OPTIMISÉ : Tâches CRON désactivées par défaut à l'installation pour éviter appels API prématurés
  • OPTIMISÉ : Validation configuration avant exécution CRON dans ImportProductsCron et ShopifyOrderSyncCron
  • SIMPLIFIÉ : Suppression interface import_orders séparée - fonctionnalité intégrée dans système CRON
  • MULTILINGUE : Ajout traductions nouvelles fonctionnalités dans 5 langues (FR/EN/DE/ES/IT)
🏗️ Améliorations techniques
  • ARCHITECTURE : Import historique commandes intégré dans workflow CRON existant
  • FIABILITÉ : Ajout vérifications complétude configuration avant exécution CRON
  • ERGONOMIE : Messages feedback automatique activation CRON pour utilisateurs
  • MAINTENANCE : Suppression fichier interface import_orders.php redondant

🚀 Version 2.0.23 (2025-05-31) - REFONTE ARCHITECTURALE MAJEURE

🆕 Nouvelles fonctionnalités
  • Issue #56 : Colonne fk_product_parent pour meilleures relations parent-variant
  • Issue #40 : Interface synchronisation manuelle des produits dans l'administration
  • NOUVEAU : Statut 'skipped' pour produits n'ayant pas besoin de mise à jour
  • WEBSITE : Redirecteur automatique changelog.php pour navigation multilingue intelligente
🔧 Corrections critiques
  • CRITIQUE : Unification architecturale complète - manageProductMapping() seul point d'accès table
  • CRITIQUE : Correction variants restant en statut 'pending' avec mises à jour en cascade
  • CRITIQUE : Correction duplications et régressions synchronisation (Issues #42, #43)
  • CRITIQUE : Correction synchronisation manuelle et mécanisme verrouillage sync
  • CRITIQUE : Correction régression findProductBySku() et découverte produits
  • WEBSITE : Correction erreurs 404 sur liens changelog toutes langues
⚡ Améliorations architecturales
  • UNIFIÉ : Élimination 112 lignes code dupliqué (releaseSyncLock, updateVariantsStatusFromParent, setSyncLock)
  • ATOMIQUE : Mises à jour parent + variants cohérentes en transaction unique
  • PERFORMANCE : Logique cascade optimisée avec paramètre isParentWithVariants
  • FIABILITÉ : Impossible d'avoir états parent/variants incohérents ou verrous orphelins
🏗️ Base de données et technique
  • BDD : Colonne fk_product_parent avec contraintes clés étrangères pour intégrité données
  • BDD : Réorganisation colonnes table et index pour optimisation performances
  • BDD : Migration intelligente données et contraintes uniques anti-doublons
  • ARCHITECTURE : Distinction claire produits simples, parents, et variants
  • ARCHITECTURE : Gestion cascade sync_lock suit automatiquement statut parent
  • CODE : Factorisation getProductVariants() éliminant duplication méthodes sync
🌐 Website et UX
  • UX : Navigation multilingue fluide sans erreurs 404
  • UX : Mémorisation préférence langue via cookies (30 jours)
  • SEO : Ajout sitemap.xml et robots.txt pour optimisation référencement
  • DOCUMENTATION : Architecture multilingue documentée (website/README.md)

Version 2.0.22 - Mai 2025

✨ Nouvelles fonctionnalités
  • Interface de synchronisation manuelle des produits dans l'administration (Issue #40)
  • Recherche en temps réel de produits Dolibarr avec autocomplétion
  • Synchronisation individuelle ou par lot directement depuis l'interface
  • Feedback visuel immédiat du statut de synchronisation
  • Support multilingue complet (FR, EN, DE, ES, IT)
🐛 Corrections de bugs
  • CRITIQUE: Correction des erreurs d'arrondi des prix (.95€ devenant .96€) affectant 13 références produits (Issue #38)
  • Les prix privilégient maintenant les prix TTC stockés au lieu de recalculer HT + TVA
  • CRITIQUE: Correction de la duplication des produits lors des synchronisations (Issue #37)
  • Mécanisme de verrou temporel (5 minutes) pour empêcher les synchronisations concurrentes
  • Protection par session pour éviter les doublons dans une même requête
  • Libération automatique des verrous même en cas d'erreur
💡 Améliorations techniques
  • Standardisation des en-têtes PHP et déclarations de licence dans tout le projet
  • Amélioration de la détection des modes d'exécution (CLI/web) pour les crons
  • Nouvelle option de configuration pour la priorité des prix TTC en mode multi-prix
  • Amélioration des logs de calcul de prix pour un meilleur débogage
  • Optimisation de l'organisation des requêtes SQL
  • Guide de configuration: Amélioration de la hiérarchie visuelle des options du chapitre 6
  • Sections hiérarchiques avec icônes : Configuration Prix, Contenu, Stocks
  • Indentation visuelle pour les options dépendantes avec indicateurs conditionnels
  • Interface plus claire avec en-têtes colorés et mise en page structurée
  • Filtrage des catégories: Correction pour utiliser uniquement la catégorie configurée et ses enfants
  • Récupération corrigée de la configuration des catégories depuis la base de données
  • Calcul amélioré des statistiques produits pour les catégories configurées uniquement
  • Interface de synchronisation manuelle avec structure hiérarchique des catégories basée sur la configuration
  • Mode debug: Ajout mode debug complet (?debug=1) pour diagnostiquer les problèmes de filtrage
  • Correction SQL critique: Correction des références de colonnes dans l'interface de synchronisation manuelle
  • - Changement de `p.fk_product_parent` vers `p.fk_parent` pour le filtrage des produits parents
  • - Changement de `dsp.dolibarr_product_id` vers `dsp.fk_product` pour les jointures de la table de synchronisation
  • Amélioration variants: Ajout support des produits parents de variants dans l'interface de synchronisation
  • - Inclusion des produits sans variants (fk_parent IS NULL OR fk_parent = 0)
  • - Inclusion des produits parents de variants (sous-requête EXISTS p2.fk_parent = p.rowid)
  • Simplification des requêtes SQL pour de meilleures performances et fiabilité
  • Validation du schéma de base de données et logs détaillés des requêtes SQL pour le dépannage
  • Correction des statistiques retournant 0 produit par correction des requêtes complexes

Version 2.0.21 - Mai 2025

🐛 Corrections de bugs
  • Correction de la logique de synchronisation des images qui se lançait même quand désactivée
  • Correction de la logique empty() vs isset() pour le paramètre sync_product_images
  • Suppression des vérifications redondantes de configuration dans syncProductAllImages()
  • La synchronisation d'images respecte maintenant correctement le paramètre "sync_product_images" (0=désactivé, 1=activé)
💡 Améliorations techniques
  • Simplification de la logique de synchronisation d'images en supprimant les vérifications de configuration dupliquées
  • Amélioration de la validation des paramètres pour la configuration de synchronisation d'images
  • Amélioration de la maintenabilité du code en centralisant les vérifications de synchronisation

Version 2.0.20 - Mai 2025

🐛 Corrections de bugs
  • Correction du problème de stocks négatifs lors de la synchronisation avec Shopify
  • Amélioration de la gestion des caractères spéciaux dans les noms de fichiers d'images
  • Correction de la recherche de produits dans la fonction de purge pour les produits dans les catégories et sous-catégories
  • Ajout du dossier ajax dans la configuration de construction du module
  • Correction des erreurs PHP fatales dans le script de recherche AJAX
  • Correction de la vérification du token CSRF dans search_products.php
  • Implémentation correcte du système de logs dans les endpoints AJAX
  • Amélioration de la gestion et des logs des stocks dans importproducts.class.php
  • Correction du problème de synchronisation des stocks quand la propriété stock est vide
💡 Améliorations techniques
  • Ajout d'un mécanisme de fallback pour les erreurs 404 avec encodage alternatif
  • Amélioration des logs pour faciliter le débogage des problèmes d'images
  • Restructuration de la recherche AJAX de produits en classe OOP avec LoggerTrait
  • Amélioration de l'interface utilisateur pour la recherche avec indicateur de chargement et messages d'erreur
  • Meilleure gestion des erreurs dans la recherche de produits
  • Ajout d'un mécanisme de fallback pour la récupération des sous-catégories (get_all_ways/get_all_childs)
  • Standardisation des logs dans l'ensemble du module avec LoggerTrait
  • Ajout du chargement préventif du stock avant calcul dans la mise à jour des inventaires de variantes
  • Amélioration des logs de stock avec une différenciation claire entre les types de stock

Version 2.0.19 - Mai 2025

🐛 Corrections de bugs
  • Correction complète pour sauvegarder le champ "dolibarr_hosturl" dans les paramètres du module
  • Résolution des erreurs SQL dans la gestion de la correspondance des méthodes d'expédition
💡 Améliorations techniques
  • Mise en place d'un système LoggerTrait centralisé pour tous les messages de log du module
  • Amélioration du format des logs avec ajout automatique du nom de la classe et de la méthode
  • Amélioration du debugging de configuration avec masquage sécurisé des tokens

Version 2.0.18 - Mai 2025

🐛 Corrections de bugs
  • Corrigé l'erreur "Unable to parse URI: https:///" dans le contexte des crons
  • Amélioration du chargement de configuration dans les contextes cron
  • Gestion robuste de l'entity avec fallback automatique à l'entity 1
💡 Améliorations techniques
  • Centralisation de la gestion de configuration dans ShopifyApi
  • Amélioration du logging pour le débogage des contextes cron
  • Refactorisation de toutes les classes pour utiliser la configuration centralisée
  • Les crons passent maintenant explicitement l'entity aux classes métier

Version 2.0.17 - Mai 2025

✨ Nouvelles fonctionnalités
  • Options de synchronisation des produits configurables dans l'interface d'administration
  • Support complet des niveaux de prix multiples de Dolibarr avec sélection configurable
  • Déplacement de l'option stock virtuel vers l'onglet produits pour une meilleure organisation
  • Activation/désactivation automatique des options dépendantes dans l'interface
  • Nouveau système de purge de la table de synchronisation avec réinitialisation auto_increment
🐛 Corrections de bugs
  • Correction de la synchronisation des variantes de produits (utilisation correcte de Product::id)
  • Résolution des problèmes de synchronisation lorsque le prix est zéro ou null
  • Amélioration de la gestion des erreurs pour le téléchargement d'images
  • Résolution des problèmes de validation des variantes avec métachamps Shopify
  • Support amélioré des métachamps spécifiques comme 'shopify.color-pattern'
💡 Améliorations
  • Interface utilisateur plus intuitive avec options contextuelles
  • Journalisation détaillée des niveaux de prix multiples
  • Système de validation extensible pour les options et métachamps
  • Guide de configuration mis à jour avec toutes les nouvelles fonctionnalités

Version 2.0.16 - Novembre 2024

✨ Nouvelles fonctionnalités
  • Support du stock virtuel pour la synchronisation des stocks
  • Intégration des pourboires Shopify dans les commandes
  • Amélioration de la gestion des remises sur les commandes
🐛 Corrections de bugs
  • Correction du calcul des prix TTC à partir des prix HT
  • Amélioration de la gestion des erreurs SQL
  • Résolution des problèmes de synchronisation multi-entités

Version 2.0.15 - Octobre 2024

✨ Nouvelles fonctionnalités
  • Gestion des variantes marquées "Hors ventes"
  • Import sélectif par référence de produit
  • Option pour garder les titres et descriptions existants
🐛 Corrections de bugs
  • Correction de la gestion des erreurs de connexion API
  • Amélioration de la stabilité du cron
Retour à la page principale