Module de Parametrage FR

From Dolibarr ERP CRM Wiki
Revision as of 10:12, 27 January 2020 by Yves.brungard (talk | contribs) (Ajout d'un mot oublié)
Jump to navigation Jump to search

Informations

Module name Parametrage
Editor / Editeur Dolipar.org - http://dolipar.org/content/parametrage
Download or buy page / Page achat ou téléchargement
Status / Statut / Estado Stable
Prerequisites / Prérequis Dolibarr min version 10.0.X   
Last update date / Date mise à jour fiche / Fecha última actualización 2020-01-27
Note / Nota

Prérequis

Dolibarr 10.0.x

Résumé

Le module de paramétrage est le point d'arrivée de tous les modules paramétrables de Dolipar.org que sont les modules Cashdeskpar et Menupar. Les modules Facturepar et Corepar ont disparu au profit de ce module qui permet de créer à la volée toutes leurs fonctionnalités et plus.

Installation

  • Téléchargez le fichier archive du module (.zip) depuis le site web www.dolistore.com ou récupérez le par toute autre manière.
  • Placez le fichier dans le répertoire racine de dolibarr ou bien créez un dossier custom à la racine de dolibarr pour l'y placer avec tous vos modules supplémentaires ( Si vous choisissez cette solution, pensez à dé-commenter les deux lignes du fichier de conf en rapport)
  • Décompressez le fichier par la commande unzip module_parametrage-X.Y.Z.zip
  • L'emplacement correct du module doit être du type : htdocs/custom/parametrage.
  • Aller dans l'emplacement d'installation du module et donner les privilèges de lecture et d'écriture au seveur PHP pour les fichiers suivants :
  1. parametrage_consts.php
  2. parametrage_default_consts.php

Le module est opérationnel et peut être activé.

Remarques sur le paramétrage logiciel en général et dans Dolibarr :

Pour bien comprendre les fonctions du module, il est nécessaire de connaitre quelques notions sur le paramétrage de logiciel en général, puis pourquoi et comment on a implémenté toute une méthodologie de paramétrage dans Dolibarr avec les bénéfices qu'elle apporte.

Les types de paramètres du logiciel:

Par convention dans les solutions logicielles web, on utilise trois types de paramètres :

    1. Les paramètres base de données ( En majorité ) : Ce sont des paramètres  stockés dans la base de données dans le but de pouvoir être gérés comme n’importe quel autre type de données.

    2. Les paramètres fichiers : Utilisés pour définir des paramètres qui dépendent de la plateforme ou qui définissent les paramètres d’accès à la base de données et ne peuvent donc pas être stockés en base de données.

    3. Les paramètres utilisateurs : Ce troisième type de paramètres concerne ceux qui sont spécifiques aux utilisateurs. Dans la plupart des applications, ces paramètres sont stockés au niveau du navigateur, dans les cookies ou dans sa base de données locale.

Les types de paramètres dans Dolibarr :

Dans Dolibarr, comme dans la plupart des applications web, les constantes base de données sont utilisées pour configurer les différentes options de l’application qui sont appelées à être modifiées au cours du sa mise en œuvre et sont stockées dans la table « llx_const ».

En plus de stocker les paramètres d’accès à la base de données, les constantes fichier sont utilisées pour référencer les chemins des différents sous-ensembles de l’application ainsi que le mode de fonctionnement (développement ou production). En un sens, les constantes fichiers concernent les paramètres à qui on affecte des valeurs une seule fois et ne sont pas destinés à être changés dans une installation.  

Pour les paramètres utilisateurs , on utilise dans Dolibarr une table spéciale « llx_user_param » pour enregistrer les données de l’utilisateur. Les cookies sont seulement utilisées pour identifier la session.

Le concept de configuration au sens large :

On désigne comme configuration au sens large, l’ensemble de tous les paramètres d’une application adaptés à une entreprise ou une activité déterminée. Un ERP tel que Dolibarr pourrait par exemple être utilisé par une entreprise de commerce de détail ou par une entreprise de production avec deux configurations complètement différentes. Les deux entreprises peuvent utiliser des modules communs avec des paramètres communs ou de modules, spécifiques au type d’entreprise.  

De la, on peut définir une configuration comme un ensemble de valeurs affectées à des paramètres. On peut utiliser une configuration pour enregistrer l’ensemble de valeurs de paramètres associés à chacun des deux types d’entreprises. Ceci inclut les modules activés, les valeurs de paramètres associés à chacun de ces modules ainsi que des valeurs associées à des paramètres de Dolibarr.

Considérations pour le stockage des paramètres de configurations :

On peut stocker les paramètres qui définissent une configuration dans une table de la base de données ou bien dans un fichier. Bien que traditionnellement on préfère utiliser les constantes base de données pour stocker les paramètres de l’application, on distingue plusieurs avantages pour l’utilisation de fichiers à la place:

  1. Un fichier est plus facilement consultable qu’une table de base de données. Il peut même être consulté sans installation de Dolibarr.
  2. Les modifications dans un fichier peuvent être gérées par un gestionnaire de versions tel que GIT. Dans le cas d’une table, Il faudra créer une table spéciale pour gérer l’historique avec le traitement qui s’ensuit.
  3. Dans le cas de Dolibarr, il existe encore un troisième avantage, qui est celui de pouvoir définir des métadonnées en commentaires sur les paramètres au lieu d'utiliser les champs limités de la table llx_const. C'est ce qui a permis de définir plusieurs types de données dans les fichiers de configurations de modules paramétrable (Voir ci dessous).

Il existe toutefois quelques inconvénients mineurs :

    1. Les requêtes SQL sont très utiles pour faire des consultations complexes. Un effort de programmation plus important est nécessaire pour faire des recherches complexes dans des fichiers texte.

Description de notre solution de gestion de configurations dans Dolibarr :

Dans le cas de Dolibarr, une configuration est un simple fichier php avec des directives define pour chaque paramètre de module paramétrable et une instruction du type $conf->global->XX=YY pour les paramètres base de données. C’est l’exécution de ce fichier qui définit la configuration choisie. Ces paramètres peuvent être modifiés pour ajuster la configuration. On peut aussi créer de nouvelles configurations par modification de configurations préexistantes.

Cette solution inclut les modules paramétrables, les modules ono paramétrables et le module de paramétrage.

Les modules paramétrables :

Les modules paramétrables sont des modules conçus pour interagir efficacement avec le module de paramétrage. Ils se limitent actuellement à Cashdeskpar et Menupar. Leurs caractéristiques sont :

  1. Tous les paramètres de ces modules sont inscrits sur un fichier de configuration.
  2. Les paramètres sont consultables et modifiables dans la configuration du module.
  3. On définit 3 types de paramètres : chaîne,intervalle et booléens.
  4. Dans la page de configuration du module, on peut définir une ou plusieurs pages qui affichent une section de paramétrage pour changer les valeurs de paramètres à la volée.
  5. Chaque paramètre peut être configuré pour apparaître ou non dans les sections de paramétrage autres que la page de configuration du module.

Les modules non paramétrables :

Tous les modules sur Dolistore ainsi que les modules inclus dans la distribution standard de Dolibarr font partie de cette catégorie. Leur paramètres de configuration sont enregistrés dans la base de données de Dolibarr dans la table llx_const. Par convention, le nom du module est inclu dans le nom du paramètre et est composé des premières lettres de ce dernier avant le caractère souligné.

Le module de paramétrage :

Ses tâches essentielles sont :

  1. La composition de configurations par chargement de paramètres de la base de données et de fichiers de configuration de modules paramétrables.
  2. La modification des valeurs des paramètres actuels.
  3. La sauvegarde et restauration de configurations.
  4. L’inclusion de sections de paramétrage adaptées à des pages spécifiques.

Le module gère deux types de paramètres :

  1. Les paramètres base de données : Ils sont enregistrés dans la table llx_const et sont composés de deux sous-types :
    1. Les paramètres du core : sont tous les paramètres commençant par MAIN_ ou qui ne contiennent pas de caractères soulignés.
    2. Les paramètres de modules non paramétrables :sont tous les paramètres commençant par un nom de module suivi d'un caractère souligné.
  2. Les paramètres de modules paramétrables : sont des paramètres enregistrés sous forme de constantes PHP et sont définis dans les fichiers de configuration de modules à l'aide d'instructions define.

Exemple de module paramétrable et de son fichier de configuration :

L'exemple le plus représentatif de module paramétrable est le module Cashdeskpar dont la démo est disponible sous le lien: http://dolipar.org/dolibarr/htdocs/custom_dolipar/cashdeskpar/affIndex.php?menu=facturation

Ci dessous une copie d'écran de sa page principale :

Page principale de Cashdeskpar
Page principale de Cashdeskpar


Ci dessous le contenu de son fichier de configuration cashdespar_default_consts.php :


<?php

global $conf;

//param_BD

$conf->global->CHARTOFACCOUNTS='113';//Plan comptable

//param_CASHDESKPAR--------------

define('CASHDESKPAR_AUTOCOMPLETE',0);//bm//0//1-requiert 2:Formulaire autocomplete pour sélection

define('CASHDESKPAR_DONT_POPUP_TICKET',0);//bm//0//2-inhibe l'ouverture automatique du ticket

define('CASHDESKPAR_DONT_PRINT_TICKET',0);//bm//0//3-inhibe l'impression automatique du ticket

define('CASHDESKPAR_FOCUS_LISTE',0);//bm//0//4-Rend le focus à la liste si ref vide

define('CASHDESKPAR_HIDE_REMISE_PERCENT',0);//bm//0//5-Cacher remise en pourcentage

define('CASHDESKPAR_HIDE_TVA',0);//bm//0//6-cache TVA dans cashdesk

define('CASHDESKPAR_MODIFIABLE_PRICE',0);//bm//0//7-prix modifiable

define('CASHDESKPAR_MODIFY_DELETED',1);//bm//0//8-Modifier une ligne aprés suppression

define('CASHDESKPAR_MONNAIE_CODE',1);//bm//////9-xx

define('CASHDESKPAR_MONNAIE_VIDE',0);//bm//0//10-Ticket sans type de monnaie

define('CASHDESKPAR_PANIER_RAPIDE',0);//bm//0//11-saisie rapide

define('CASHDESKPAR_PAIEMENT_AUTO',0);//bm//0//12-saisie automatique du paiement égal au montant total

define('CASHDESKPAR_PARAMETRES',1);//bm//0//13-Formulaire de parametrage

define('CASHDESKPAR_QTE_ENTER_KEY',1);//bm//0//14-Faire passer au champ suivant à la validation sur le champ Qte

define('CASHDESKPAR_SHOW_LINES',1);//bm//0//15-Voir les lignes facture

define('CASHDESKPAR_SHOW_TEL',1);//bm//0//16-Affiche le nº de telephone dans le ticket

define('CASHDESKPAR_THEME_31',0);//bm//////17-

define('CASHDESKPAR_TICKET_RAPIDE_POPUP',1);//bm//0//18-requiert 4:Montre le ticket en popup

define('CASHDESKPAR_TICKET_RAPIDE',0);//bm//0//19-4:Bouton ticket direct

define('CASHDESKPAR_TICKET_TITRE_BONLIVRAISON',1);//bm//0//20-requiert 3:Titre ticket (Bon de livraison)

define('CASHDESKPAR_CREATION_CHANGEMENT_CLIENTS',0);//bm//0//21-Créer et changer le client

define('CASHDESKPAR_SEARCH_POS',-1);//im-1:10//0//22-Position de début pour recherche totale

define('CASHDESKPAR_MOBILE_LAYOUT',0);//bm//0//23-Adapter le thème à l'écran de téléphone

define('CASHDESKPAR_ANDROID_TICKET',1);//bm//0//24-Le ticket sera stocké dans une image sur laquelle un programme est lancé pour imprimer l'étiquette

define('CASHDESKPAR_ANDROID_JS_TICKET',1);//bm//0//25-Le ticket stocké dans une image sera imprimé dans une webview par Javascript

define('CASHDESKPAR_OPEN_SECTIONS',0);//bm//0//26-Ouvrir les sections au lancement de la page

//param_PRODUCT--------------

define('CASHDESKPAR_PRODUCT_ZY_AUTOCOMPLETE_LIMIT_RESULTS_VALUE',22);//im1-100//0//nombre de résultats d'autocomplete

define('CASHDESKPAR_PRODUCT_ZY_AUTOSELECT_LENGTH',2);//im1-10//1//Nombre de caractéres minimum pour recherche

define('CASHDESKPAR_PRODUCT_SELECT_BY_REFS',0);//bm//0//Activer Autoselect sur les références seulement

define('CASHDESKPAR_PRODUCT_FORM_LIST_SORT_KEY',0);//bm//0//xxx


Ce fichier de configuration composé de plusieurs sections. L'analyseur syntaxique de configuration interprète des métadonnées en commentaires pour présenter les paramètres de configuration dans la section de paramétrage :

  1. Chaque ligne de définition de paramètre est suivie d'un commentaire servant de métadonnées pour l'analyseur syntaxique.
  2. Les lignes de commentaires tels que //param_PRODUCT-------------- définissent une sous section pliable sous laquelle sont présentés les paramètres en dessous regroupés sous le terme PRODUCT. Le fichier de langue contient le message contenant le nom de la sous section avec la clé param_PRODUCT.
  3. La ligne //Param_BD-------------- définit une sous section pliable pour les paramètres de la base de données. Les paramètres qu'elle contient sont de la forme $conf->global->XX='YY';//ZZ. XX étant le nom du paramètre, YY sa valeur et ZZ un commentaire qui si il existe il est affiché en priorité dans la section de paramétrage.
  4. Les paramètres de modules paramétrables sont déclarés en tant que constantes par une instruction define avec les premières lettres avant souligné définissent le nom du module.
  5. Le texte en commentaire après la définition du paramètre de module paramétrable est composé de métadonnées reconnaissables par l’analyseur syntaxique de la fonction de paramétrage. On a dans l’ordre séparés par des ‘//’:
    1. Le type et statut :
      1. La première lettre peut prendre les valeurs b pour booléens, i pour intervalle et s pour chaine de caractère.
      2. La deuxième lettre peut prendre les valeurs m pour modifiable, u pour non modifiable et h pour hidden ou invisible. Les paramètres invisibles dans la page d’utilisation de la fonction de paramétrage restent visibles dans la page de configuration, depuis laquelle on peut activer ou désactiver le statut visible des paramètres (Voir le wiki de Cashdeskpar dans https://wiki.dolibarr.org/index.php/Module_CashdeskPar_FR)
      3. Les paramètres de type intervalle sont suivis par une indication de la borne inférieure et supérieure séparés par ‘:’.
    2. La valeur par défaut
    3. Le commentaire affiché s’il n’existe pas de traduction du paramètre en clé dans le fichier de langues.

Configuration du module

Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, allez sur la page "Accueil - Configuration - Modules". Le module apparaît dans "Dolipar", cliquez sur "Activer". Un pictogramme apparaît à la fin de la ligne du module, cliquez dessus pour accéder à la page de configuration spécifique à ce module :

Comme le module de paramétrage est un module système, toutes ses fonctionnalités se retrouvent dans la page de configuration suivante :

Page de configuration du module
Page de configuration du module

La page de configuration se compose de deux parties :

  1. La section de configuration et d'utilisation du module, qui comprend :
    1. Le bouton d'activation du contrôle de modules paramétrables à travers le module de paramétrage : Ce bouton permet de remplacer tous les réglages dans les modules paramétrables par ceux définis dans le module de paramétrages. Actuellement, les deux seuls modules paramétrables existant concernés sont les modules Cashdeskpar et le gestionaire de menu Menupar. D'autres modules vont certainement étoffer cette liste dans le futur proche.
    2. Les boutons de composition de configurations: Permettent de composer le fichier de configuration du module de paramétrage. La composition complète permet d'auto-sélectionner au départ tous les paramètres de la configuration actuelle alors que la composition de base permet de partir d'une sélection vide ( Voir paragraphe : Composition de configurations)
    3. Le bouton de sauvegarde de configurations : Permet de sauvegarder la configuration actuelle dans un fichier. Il faut fournir un nom de fichier avant d'appuyer sur le bouton enregistrer.
    4. Le bouton de suppression de configurations : Permet de supprimer des fichiers de configuration préalablement enregistrés.
  2. La section de paramétrage du module de paramétrage : Cette section affiche tous les paramètres du module obtenus à travers la fonction de composition. Le bouton RAFRAICHIR LA PAGE commun à tous les modules paramétrables, permet de rafraîchir la page sans s'y déplacer pour visualiser immédiatement les effets de modification d'un paramètre

La composition de configurations :

Ci dessous la page de composition de configuration obtenue en cliquant sur le bouton de composition complète . Les trois images sont obtenues en déroulant la page :

Page de composition complète 1/3
Page de composition complète 1/3
Page de composition complète 2/3
Page de composition complète 2/3
Page de composition complète 3/3


Nous obtenons un formulaires composé de 3 sections et un bouton composer pour l’envoyer. Chaque section est composée de sous-sections et chaque sous-section présente une série de paramètres dans une Datatable

Les 3 sections sont structurées comme ci-dessous :

  1. Paramètres dans le fichier de configuration actuel : Contient les paramètres du fichier de configuration actuel du module de paramétrage. Ils son présentés filtrés par type. On a donc un maximum de 3 sous sections :
    1. Paramètres du core : commençant avec MAIN_ ou ne contenant pas de caractères soulignés.
    2. Paramètres de modules non paramétrables : Autres paramètres de la base de données.
    3. Paramètres de modules paramétrables : Paramètres déclarés par l’instruction define.
  2. Paramètres dans les fichiers de configuration de modules paramétrables : Les fichiers de configuration des modules paramétrables sont structurés tout comme le fichier de configurations du module de paramétrage. On a donc pour chaque module paramétrable présent dans l’installation le paramètres :
    1. Paramètres du core.
    2. Paramètres de modules non paramétrables.
    3. Paramètres de modules paramétrables.
  3. Paramètres dans la base de données : Les paramètres contenus dans la table llx_const de la base de données de Dolibarr partagés en deux sous-sections :
    1. Paramètres du core.
    2. Paramètres de modules non paramétrables.

Chaque paramètre est représenté sur cinq colonnes :

  1. Sélection : Case à cocher pour sélectionner/désélectionner l’élément.
  2. Module : Pour les paramètres de modules paramétrables ou non paramétrables. Il est vide pour les paramètres du core.
  3. Paramètre : Nom complet du paramètre.
  4. Valeur : Valeur du paramètre.
  5. Note : Contient le commentaire affiché si le commentaire dans le fichier de configuration est vide et que le paramètre n’existe pas dans le fichier de langue

Chaque groupe de paramètres est représenté dans un élément Jquery Datatable est accompagné d’un bouton pour sélectionner l’ensemble du groupe.

La différence entre la composition complète et la composition de base réside en ce que dans la première, tous les paramètres présents dans les fichiers de configuration sont présélectionnes alors qu’aucun paramètre n’est sélectionné dans la seconde.

En appuyant sur le bouton composer, on lance la recréation du fichier de configuration du module de paramétrage avec les paramètres sélectionnés. En case de conflit de paramètre en double un message est affiché indiquant la localisation des conflits et en appliquant le style de surbrillance aux deux paramètres en double et en invitant à désélectionner l’une des deux comme dans l’exemple suivant ( Dans la deuxième image, la page est déroulée pour faire apparaître le deuxième élément ) :

Conflit de paramètres 1/2
Conflit de paramètres 1/2
Conflit de paramètres 2/2
Conflit de paramètres 2/2


8 -Création de sections de paramétrage dans des pages spécifiques de Dolibarr

La création de sections de paramétrage dans les pages spécifique de Dolibarr fait seulement appel aux paramètres de la base de données, paramètres du core ou de modules non paramétrables. Les paramètres de modules paramétrables existant dans les fichiers de configuration de leurs modules sont conçus pour être utilisés seulement dans les pages de ce dernier. Si on a besoin de faire appel à un paramètre de ce type, on peut toujours le déclarer en tant paramètres base de données à l’intérieur du module paramétrable.

C’est cette fonction qui a permis de rendre obsolètes les modules Facturepar, Facturepar plus et corepar. Le module Facturepar affichait une section de paramétrage dans la page d’édition de factures clients avec environ 24 paramètres alors que grâce au module de paramétrage, on a 81 paramètres contrôlables dans la cette page et on peut procéder de façon similaires pour toutes les pages de Dolibarr y compris celle de modules externe

Pour créer une section de paramétrage pour une page spécifique de de Dolibarr, il faut procéder en plusieurs étapes :

  1. Composition et sauvegarde dans des fichier d’une ou plusieurs configurations.
  2. Création manuelle d’un fichier de configuration en combinant les paramètres des fichiers composés.
  3. Création d’une entrée dans le dictionnaire de correspondance de configuration vers urls du module de paramétrage.

Pour la page d’édition de factures (ex : Facturepar) on a créé une entrée dans le dictionnaire comme dans l’image suivante :

Dictionnaire des correspondances configurations / urls
Dictionnaire des correspondances configurations / urls

Ce qui donne une section de paramétrage dans la page d’édition de factures comme dans l’image suivante accessible dans le site démo dans le lien http://dolipar.org/dolibarr/htdocs/compta/facture/card.php?facid=245 :   

Page de l'ex module Facturepar
Page de l'ex module Facturepar