Paramètres de l’application

Les paramètres sont définis dans plusieurs fichiers : app/Config/App.php et ceux présents dans le dossier vendor/equinton/ppci/src/Config.

S’ils peuvent tous être modifiés lors de chaque implémentation en utilisant le fichier .env, à la racine de l’application, certains ne devraient pas être modifiés par ce mécanisme.

Les paramètres dans le fichier .env sont préfixés soit par app., soit par Ppci\Config\Class., en fonction de leur origine. Le fichier env contient l’ensemble des variables pouvant être modifiées lors de l’implémentation d’une instance du logiciel.

Paramètres génériques

Paramètre (avec le radical utilisé dans le fichier .env) Description Valeur par défaut Modifiable dans .env
app.baseURL Adresse de l’instance obligatoire
BASE_DIR variable utilisée dans .env, pour indiquer le chemin d’accès à l’application p. e. “/var/www/collec2” obligatoire
FRONT_DIR variable utilisée dans .env, pour indiquer le chemin d’accès au dossier public, la base des pages web ${BASE_DIR}/public en principe, non
app.defaultLocale Langue par défaut dans l’instance fr possible
app.supportedLocales Langues gérées par l’application [‘fr’,‘en’] possible, sous réserve que d’autres langues soient intégrées dans le framework
app.version Version de l’application jamais
app.versionDate Date de création de la version jamais
app.dbversion Version de la base de données. La version doit également exister dans la table dbversion de la base de données jamais
databaseSchemaFile Chemin où est placé le png décrivant les tables de la base de données p. e. : ROOTPATH . “documentation/collec-schema.png” jamais
app.logDuration Durée, en jours, de conservation des logs dans la table logs 365 possible
app.privateKey emplacement de la clé privée utilisée pour les opérations de chiffrement ou déchiffrement p. e., ${BASE_DIR}/id_collec possible
app.pubKey emplacement de la clé publique utilisée pour les opérations de chiffrement ou déchiffrement p. e. ${BASE_DIR}/id_collec.pub possible
session.expiration Durée de la session, en secondes 14400 (4 heures) possible
app.APPLI_absolute_session Durée maxi de la session, en secondes 36000 (10 heures) possible
logger.threshold Seuil de déclenchement des erreurs 4 jamais
app.APP_mail email de l’application mail@mysociety.com obligatoire
app.MAIL_enabled Si à 1, l’envoi de mails est activé 1 possible
app.MAIL_param.from idem APP_mail mail@mysociety.com obligatoire
app.MAIL_param.mailDebug Si à 1, affiche le contenu du mail à l’écran plutôt que de l’envoyer 0 en développement uniquement
app.docroot URL de base de la doc en ligne cf. la configuration du menu
app.checkRelease Si à 1, interroge le serveur GIT (Github ou Gitlab) pour connaître la dernière version disponible, et si la version est différente de celle enregistrée (app.version), affiche un message à l’écran. Les paramètres spécifiques pour l’interrogation sont décrits dans le fichier App.php 0 possible

Paramètres de connexion à la base de données

Paramètre Description Valeur par défaut Modifiable dans .env
database.default.hostname nom ou adresse du serveur localhost oui
database.default.database nom de la base de données oui
database.default.username nom du compte de connexion oui
database.default.password mot de passe associé oui
database.default.DBDriver Nom du pilote Postgre non
database.default.port port de connexion 5432 oui
database.default.searchpath liste des schémas utilisés dans la base de données, séparés par une virgule p. e. col,gacl,public en principe, non
database.default.charset jeu de caractères utilisé dans la base de données utf8 jamais

Paramètres liés à l’identification des utilisateurs

Voir la page identification.

Paramètres de sécurité

Ces paramètres influent sur le fonctionnement général de l’application, et ne devraient être modifiés qu’en toute connaissance de cause.

Paramètre Description Valeur par défaut Modifiable dans .env
Ppci.CONNECTION_max_attempts Nombre d’essais de mots de passe avant blocage du compte 5 Non recommandé
Ppci.CONNECTION_blocking_duration Durée en secondes de blocage du compte. La durée est réinitialisée à chaque tentative. Est utilisé uniquement pour l’identification BDD ou LDAP 600 Non recommandé
Ppci.APP_passwordMinLength Longueur minimale du mot de passe, pour l’identification BDD 12 Valeur à adapter selon les recommandations CNIL
Ppci.APPLI_lostPassword Si à 1, l’application autorise l’utilisateur à réinitialiser son mot de passe en cas de perte (identification BDD) 1 Nécessite l’activation de l’envoi des mails
Ppci.tokenIdentityValidity Durée de validité du jeton généré automatiquement lors de l’identification (hors HEADER). Le jeton permet à l’utilisateur de se reconnecter automatiquement tant que le jeton est valide 36000 (10 heures)
Ppci.adminSessionDuration

Durée en secondes de validité de la session “admin”. Une fois que la durée est expirée, le code TOTP est redemandé.

Le compteur se réinitialise à chaque accès à un module “admin”

600 (10 minutes) Non recommandé
Ppci.GACL_disable_new_right Si à 1, la création d’un nouveau droit est inhibée 1 Jamais. Les droits sont définis au moment du développement de l’application, toucher à ce paramètre peut entraîner des effets indésirables

Affichage des cartes géographiques

Paramètre Description Valeur par défaut Modifiable dans .env
Ppci\Config\OsmMap.mapSeedMinZoom Niveau minimal d’affichage du zoom 12
Ppci\Config\OsmMap.mapSeedMaxZoom Niveau maximal d’affichage du zoom 16
Ppci\Config\OsmMap.mapSeedMaxAge Ancienneté maximale d’une tuile de la carte, en jours 7
Ppci\Config\OsmMap.mapCacheMaxAge Durée maximale du cache des tuiles 7 * 24 * 3600 * 1000