Principe général

Trois fichiers sont lus successivement pour récupérer les paramètres :

  • param/param.default.inc.php : fichier des paramètres par défaut, livré à chaque nouvelle version ;
  • param/param.inc.php : fichier adapté à chaque implémentation. Il contient notamment les comptes de connexion à la base de données et toutes les informations nécessaires au bon fonctionnement du logiciel installé ;
  • param/param.ini (ou tout autre emplacement) : fichier facultatif, qui contient les paramètres spécifiques adaptés à une utilisation multi-instances dans le même serveur (le même code applicatif sert pour plusieurs bases de données différentes).

Le fichier param.inc.php n’est jamais livré. Une version provisoire est fournie pour les nouvelles installations : param/param.inc.php.dist. Ce fichier doit être renommé en param/param.inc.php lors de la première implémentation.

La plupart des paramètres sont pré-positionnés par défaut, par rapport aux scripts d’installation fournis. Vous trouverez en gras ceux qui devront impérativement être modifiés.

Connexion à la base de données

Deux connexions sont utilisées dans le logiciel, l’une pour accéder à la base des droits, l’autre aux données proprement dites. Voici les paramètres à définir :

  • $BDD_login : compte de connexion à la base de données
  • $BDD_passwd : mot de passe associé
  • $BDD_dsn : adresse de la base de données sous forme normalisée
  • $BDD_schema : schéma utilisé (plusieurs schémas peuvent être décrits, en les séparant par une virgule – fonctionnement propre à Postgresql)
  • $GACL_dblogin : compte de connexion à la base de données des droits
  • $GACL_dbpasswd : mot de passe associé
  • $GACL_dsn : adresse normalisée
  • $GACL_schema : schéma utilisé
  • $GACL_aco : nom du code de l’application utilisé dans la gestion des droits

Identification des utilisateurs et gestion des sessions

L’application supporte cinq modes d’identification : base de données locale (BDD), annuaire LDAP (LDAP), annuaire LDAP puis base de données locale pour gérer les comptes de l’entreprise associés à des comptes invités (LDAP-BDD), serveur CAS (CAS), et enfin serveur Proxy (identification via HEADER – le login est fourni dans une variable de l’entête HTTP (HEADER).

  • $ident_type : BDD | LDAP | LDAP-BDD | CAS | HEADER
  • $privateKey : clé privée utilisée pour générer les jetons, soit d’identification (ré-identification automatique après une première connexion), soit pour réinitialiser un mot de passe
  • $pubKey : clé publique associée
  • $tokenIdentityValidity : durée de validité, en secondes, des jetons d’identification
  • $CONNEXION_max_attempts : nombre maximum d’essais de connexion avant blocage du compte
  • $CONNEXION_blocking_duration : durée, en seconde, du blocage du compte
  • $APPLI_mailToAdminPeriod : Laps de temps avant de renvoyer un mail a l’administrateur en cas de blocage de compte (pour éviter les envois en rafale à chaque tentative de connexion)
  • $APPLI_lostPassword : autorise ou non la procédure de récupération d’un mot de passe en cas de perte (identification en base de données)
  • $MAIL_enabled : autorise ou non l’envoi des mails. Doit être activé si $APPLI_lostPassword = 1
  • $APPLI_admin_ttl : durée maximale d’inactivité de la session d’administration (accès aux modules d’administration de l’application)
  • $APPLI_session_ttl : durée maximale d’inactivité de la session
  • $APPLI_absolute_session : durée maximale de la session, avec ou sans activité

Paramètres spécifiques pour l’identification CAS

  • $CAS_address : Adresse du serveur CAS
  • $CAS_port : Systématiquement 443 (connexion chiffrée)

Paramètre spécifiques pour l’identification par annuaire LDAP

Les paramètres sont définis dans le tableau $LDAP :

  • address : adresse du serveur
  • port : port d’accès
  • tls : accès en mode chiffré ou non (indispensable si l’annuaire n’est pas hébergé dans la même machine)
  • basedn : base de recherche des utilisateurs
  • user_attrib : identifiant de l’utilisateur
  • commonNameAttrib : nom de l’utilisateur affiché
    mailAttrib : mail de l’utilisateur
  • groupSupport : si à true, les groupes de l’annuaire sont intégrés à la gestion des droits
  • groupAttrib : nom du champ contenant les groupes d’appartenance de l’utilisateur
  • attributgroupname : nom du champ correspondant au nom du groupe
  • attributloginname : nom du champ contenant les membres du groupe
  • basedngroup : base de recherche des groupes

Paramètres spécifiques pour l’identification par HEADER

  • $ident_header_login_var : nom de la variable transmise dans l’entête HTTP contenant le login de l’utilisateur

Paramètres de fonctionnement de l’application

  • $APPLI_code : Code interne de l’application. Il ne doit pas être modifié en production. Ce code figure sur les étiquettes imprimées et permet de retrouver les échantillons. Il doit être unique pour la communauté de travail considérée (un par base de données différente)
  • $mapDefaultX : Longitude de positionnement du centre de la carte par défaut
  • $mapDefaultY : Latitude de positionnement du centre de la carte par défaut
  • $mapDefaultZoom : facteur de zoom par défaut lors de l’affichage d’une carte avec OpenStreetMap
  • $APPLI_address : adresse web de l’application (indispensable pour la récupération des mots de passe)
  • $APPLI_mail : adresse d’envoi des mails par l’application
  • $APPLI_assist_address : site d’assistance (adresse vers le gestionnaire de tickets, par exemple)
  • $APPLI_print_direct_command : commande utilisée pour imprimer directement les étiquettes.  Par défaut : lpr, mais possibilité d’utiliser également la commande lp (pour Raspberry)