diff --git a/conf/config.local.php b/conf/config.local.php index 6e2ac6c..b59da7d 100644 --- a/conf/config.local.php +++ b/conf/config.local.php @@ -1,9 +1,921 @@ ['_name' => 'bohwaz'], + * 'permissions' => ['users' => 9, 'config' => 9] + * ]; + * + * Défault : null (connexion automatique désactivée) + */ + +//const LOCAL_LOGIN = null; + +/** + * Autoriser (ou non) l'import de sauvegarde qui a été modifiée ? + * + * Si mis à true, un avertissement et une confirmation seront demandés + * Si mis à false, tout fichier SQLite importé qui ne comporte pas une signature + * valide (hash SHA1) sera refusé. + * + * Ceci ne s'applique qu'à la page "Sauvegarde et restauration" de l'admin, + * il est toujours possible de restaurer une base de données non signée en + * la recopiant à la place du fichier association.sqlite + * + * Défaut : true + */ + +//const ALLOW_MODIFIED_IMPORT = true; + +/** + * Répertoire où se situe le code source de Paheko + * + * Défaut : répertoire racine de Paheko (__DIR__) + */ + +const ROOT = __INSTALL_DIR__; + +/** + * Répertoire où sont situées les données de Paheko + * (incluant la base de données SQLite, les sauvegardes, le cache, les fichiers locaux et les plugins) + * + * Défaut : sous-répertoire "data" de la racine + */ + +const DATA_ROOT = ROOT . '__DATA_DIR__'; + +/** + * Répertoire où est situé le cache, + * exemples : graphiques de statistiques, templates Brindille, etc. + * + * Défaut : sous-répertoire 'cache' de DATA_ROOT + */ + +//const CACHE_ROOT = DATA_ROOT . '/cache'; + +/** + * Répertoire où est situé le cache partagé entre instances + * Paheko utilisera ce répertoire pour stocker le cache susceptible d'être partagé entre instances, comme + * le code PHP généré à partir des templates Smartyer. + * + * Défaut : sous-répertoire 'shared' de CACHE_ROOT + */ + +//const SHARED_CACHE_ROOT = CACHE_ROOT . '/shared'; + +/** + * Motif qui détermine l'emplacement des fichiers de cache du site web. + * + * Le site web peut créer des fichiers de cache pour les pages et catégories. + * Ensuite le serveur web (Apache) servira ces fichiers directement, sans faire + * appel au PHP, permettant de supporter beaucoup de trafic si le site web + * a une vague de popularité. + * + * Certaines valeurs sont remplacées : + * %host% = hash MD5 du hostname (utile en cas d'hébergement de plusieurs instances) + * %host.2% = 2 premiers caractères du hash MD5 du hostname + * + * Utiliser NULL pour désactiver le cache. + * + * Défault : CACHE_ROOT . '/web/%host%' + * + * @var null|string + */ + +//const WEB_CACHE_ROOT = CACHE_ROOT . '/web/%host%'; + +/** + * Emplacement du fichier de base de données de Paheko + * + * Défaut : DATA_ROOT . '/association.sqlite' + */ + +const DB_FILE = DATA_ROOT . '__DATA_DIR__/association.sqlite'; + +/** + * Emplacement de stockage des plugins + * + * Défaut : DATA_ROOT . '/plugins' + */ + +//const PLUGINS_ROOT = DATA_ROOT . '/plugins'; + +/** + * Signaux système + * + * Permet de déclencher des signaux sans passer par un plugin. + * Le fonctionnement des signaux système est strictment identique aux signaux des plugins. + * Les signaux système sont exécutés en premier, avant les signaux des plugins. + * + * Format : pour chaque signal, un tableau comprenant une seule clé et une seule valeur. + * La clé est le nom du signal, et la valeur est la fonction. + * + * Défaut: [] (tableau vide) + */ +//const SYSTEM_SIGNALS = [['files.delete' => 'MyNamespace\Signals::deleteFile'], ['entity.Accounting\Transaction.save.before' => 'MyNamespace\Signals::saveTransaction']]; + +/** + * Adresse URI de la racine du site Paheko + * (doit se terminer par un slash) + * + * Défaut : découverte automatique à partir de SCRIPT_NAME + */ + +//const WWW_URI = '/asso/'; + +/** + * Adresse URL HTTP(S) publique de Paheko + * + * Défaut : découverte automatique à partir de HTTP_HOST ou SERVER_NAME + WWW_URI + * @var null|string + */ + +//const WWW_URL = 'http://paheko.chezmoi.tld' . WWW_URI; + +/** + * Adresse URL HTTP(S) de l'admin Paheko + * + * Note : il est possible d'avoir un autre domaine que WWW_URL. + * + * Défaut : WWW_URL + 'admin/' + * @var null|string + */ + +//const ADMIN_URL = 'https://admin.paheko.chezmoi.tld/'; + +/** + * Affichage des erreurs + * Si "true" alors un message expliquant l'erreur et comment rapporter le bug s'affiche + * en cas d'erreur. Sinon rien ne sera affiché. + * + * Défaut : TRUE (pour aider le debug de l'auto-hébergement) + * + * Il est fortement conseillé de mettre cette valeur à FALSE en production ! + */ + +//const SHOW_ERRORS = false; + +/** + * Envoi des erreurs par e-mail + * + * Si renseigné, un email sera envoyé à l'adresse indiquée à chaque fois qu'une erreur + * d'exécution sera rencontrée. + * Si "false" alors aucun email ne sera envoyé. + * Note : les erreurs sont déjà toutes loguées dans error.log à la racine de DATA_ROOT + * + * Défaut : false + */ + +//const MAIL_ERRORS = false; + +/** + * Envoi des erreurs à une API compatible AirBrake/Errbit/Paheko + * + * Si renseigné avec une URL HTTP(S) valide, chaque erreur système sera envoyée + * automatiquement à cette URL. + * + * Si laissé à null, aucun rapport ne sera envoyé. + * + * Paheko accepte aussi les rapports d'erreur venant d'autres instances. + * + * Pour cela utiliser l'URL https://login:password@paheko.site.tld/api/errors/report + * (voir aussi API_USER et API_PASSWORD) + * + * Les erreurs seront ensuite visibles dans + * Configuration -> Fonctions avancées -> Journal d'erreurs + * + * Défaut : null + */ + +//const ERRORS_REPORT_URL = null; + +/** + * Template HTML d'erreur personnalisé (en production) + * + * Si SHOW_ERRORS est à FALSE un message d'erreur générique (sans détail technique) + * est affiché. Il est possible de personnaliser ce message avec cette constante. + * + * Voir include/init.php pour le template par défaut. + */ + +// const ERRORS_TEMPLATE = null; + +/** + * Loguer / envoyer par mail les erreurs utilisateur ? + * + * Si positionné à 1, *toutes* les erreurs utilisateur (champ mal rempli dans un formulaire, + * formulaire dont le token CSRF a expiré, etc.) seront loguées et/ou envoyées par mail + * (selon le réglage choisit ci-dessus). + * + * Si positionné à 2, alors l'exception sera remontée dans la stack, *et* loguée/envoyée. + * + * Utile pour le développement. + * + * Défaut : 0 (ne rien faire) + * @var int + */ + +// const REPORT_USER_EXCEPTIONS = 0; + +/** + * Activation des détails techniques (utile en auto-hébergement) : + * - version de PHP + * - page permettant de visualiser les erreurs présentes dans le error.log + * - permettre de migrer d'un stockage de fichiers à l'autre + * - vérification de nouvelle version (sur la page configuration) + * + * Ces infos ne sont visibles que par les membres ayant accès à la configuration. + * + * Défaut : true + * (Afin d'aider au rapport de bugs des instances auto-hébergées) + */ + +//const ENABLE_TECH_DETAILS = true; + +/** + * Activation du log SQL (option de développement) + * + * Si cette constante est renseignée par un chemin de fichier SQLite valide, + * alors *TOUTES* les requêtes SQL et leur contenu sera logué dans la base de données indiquée. + * + * Cette option permet ensuite de parcourir les requêtes via l'interface dans + * Configuration -> Fonctions avancées -> Journal SQL pour permettre d'identifier + * les requêtes qui mettent trop de temps, et comment elles pourraient + * être améliorées. Visualiser les requêtes SQL nécessite d'avoir également activé + * ENABLE_TECH_DETAILS. + * + * ATTENTION : cela signifie que des informations personnelles (mot de passe etc.) + * peuvent se retrouver dans le log. Ne pas utiliser à moins de tester en développement. + * Cette option peut significativement ralentir le chargement des pages. + * + * Défaut : null (= désactivé) + * @var string|null + */ +// const SQL_DEBUG = __DIR__ . '/debug_sql.sqlite'; + +/** +/** + * Mode de journalisation de SQLite + * + * Paheko recommande le mode 'WAL' de SQLite, qui permet à SQLite + * d'être extrêmement rapide. + * + * Cependant, sur certains hébergeurs utilisant NFS, ce mode peut + * provoquer dans certains cas une corruption de la base de données. + * + * Pour éviter un souci de corruption, depuis la version 1.2.4 'TRUNCATE' est + * le mode par défaut. + * + * Celui-ci ne présente pas de risque, mais la base de données est alors plus + * lente. + * + * Si votre hébergement n'utilise pas NFS, il est recommandé de mettre 'WAL' + * ici, cela rendra Paheko beaucoup plus rapide. + * + * @see https://www.sqlite.org/pragma.html#pragma_journal_mode + * @see https://www.sqlite.org/wal.html + * @see https://stackoverflow.com/questions/52378361/which-nfs-implementation-is-safe-for-sqlite-database-accessed-by-multiple-proces + * + * Défaut : 'TRUNCATE' + * @var string + */ +//const SQLITE_JOURNAL_MODE = 'TRUNCATE'; + +/** + * Activation du log HTTP (option de développement) + * + * Si cette constante est renseignée par un fichier texte, *TOUTES* les requêtes HTTP + * ainsi que leur contenu y sera enregistré. + * + * C'est surtout utile pour débuguer les problèmes de WebDAV par exemple. + * + * ATTENTION : cela signifie que des informations personnelles (mot de passe etc.) + * peuvent se retrouver dans le log. Ne pas utiliser à moins de tester en développement. + * + * Default : null (= désactivé) + * @var string|null + */ +// const HTTP_LOG_FILE = __DIR__ . '/http.log'; + +/** + * Activer la possibilité de faire une mise à jour semi-automatisée + * depuis fossil.kd2.org. + * + * Si mis à TRUE, alors un bouton sera accessible depuis le menu "Configuration" + * pour faire une mise à jour en deux clics. + * + * Il est conseillé de désactiver cette fonctionnalité si vous ne voulez pas + * permettre à un utilisateur de casser l'installation ! + * + * Si cette constante est désactivée, mais que ENABLE_TECH_DETAILS est activé, + * la vérification de nouvelle version se fera quand même, mais plutôt que de proposer + * la mise à jour, Paheko proposera de se rendre sur le site officiel pour + * télécharger la mise à jour. + * + * Défaut : true + * + * @var bool + */ + +//const ENABLE_UPGRADES = true; + +/** + * Utilisation de cron pour les tâches automatiques + * + * Si "true" on s'attend à ce qu'une tâche automatisée appelle + * les scripts suivants: + * - scripts/cron.php toutes les 24 heures (envoi des rappels de cotisation, + * création des sauvegardes) + * - scripts/emails.php toutes les 5 minutes environ (envoi des emails en attente) + * + * Si "false", les actions de scripts/cron.php seront effectuées quand une personne + * se connecte. Et les emails seront envoyés instantanément (ce qui peut ralentir ou + * planter si un message a beaucoup de destinataires). + * + * Défaut : false + */ + +//const USE_CRON = false; + +/** + * Activation de l'envoi de fichier directement par le serveur web. + * (X-SendFile) + * + * Permet d'améliorer la rapidité d'envoi des fichiers. + * Supporte les serveurs web suivants : + * - Apache avec mod_xsendfile (paquet libapache2-mod-xsendfile) + * - Lighttpd + * + * N'activer que si vous êtes sûr que le module est installé et activé (sinon + * les fichiers ne pourront être vus ou téléchargés). + * Nginx n'est PAS supporté, car X-Accel-Redirect ne peut gérer que des fichiers + * qui sont *dans* le document root du vhost, ce qui n'est pas le cas ici. + * + * Pour activer X-SendFile mettre dans la config du virtualhost de Paheko: + * XSendFile On + * XSendFilePath /var/www/paheko + * + * (remplacer le chemin par le répertoire racine de Paheko) + * + * Détails : https://tn123.org/mod_xsendfile/ + * + * Défaut : false + */ + +//const ENABLE_XSENDFILE = false; + +/** + * Serveur NTP utilisé pour les connexions avec TOTP + * (utilisé seulement si le code OTP fourni est faux) + * + * Désactiver (false) si vous êtes sûr que votre serveur est toujours à l'heure. + * + * Défaut : fr.pool.ntp.org + */ + +//const NTP_SERVER = 'fr.pool.ntp.org'; + +/** + * Désactiver l'envoi d'e-mails + * + * Si positionné à TRUE, l'envoi d'e-mail ne sera pas proposé, et il ne sera + * pas non plus possible de récupérer un mot de passe perdu. + * Les parties de l'interface relatives à l'envoi d'e-mail seront cachées. + * + * Ce réglage est utilisé pour la version autonome sous Windows, car Windows + * ne permet pas l'envoi d'e-mails. + * + * Défaut : false + * @var bool + */ + +//const DISABLE_EMAIL = false; + + +/** + * Hôte du serveur SMTP, mettre à false (défaut) pour utiliser la fonction + * mail() de PHP + * + * Défaut : false + */ + +//const SMTP_HOST = false; + +/** + * Port du serveur SMTP + * + * 25 = port standard pour connexion non chiffrée (465 pour Gmail) + * 587 = port standard pour connexion SSL + * + * Défaut : 587 + */ + +//const SMTP_PORT = 587; + +/** + * Login utilisateur pour le server SMTP + * + * mettre à null pour utiliser un serveur local ou anonyme + * + * Défaut : null + */ + +//const SMTP_USER = 'paheko@monserveur.com'; + +/** + * Mot de passe pour le serveur SMTP + * + * mettre à null pour utiliser un serveur local ou anonyme + * + * Défaut : null + */ + +//const SMTP_PASSWORD = 'abcd'; + +/** + * Sécurité du serveur SMTP + * + * NONE = pas de chiffrement + * SSL = connexion SSL native + * TLS = connexion TLS native (le plus sécurisé) + * STARTTLS = utilisation de STARTTLS (moyennement sécurisé) + * + * Défaut : STARTTLS + */ + +//const SMTP_SECURITY = 'STARTTLS'; + +/** + * Nom du serveur utilisé dans le HELO SMTP + * + * Si NULL, alors le nom renseigné comme SERVER_NAME (premier nom du virtual host Apache) + * sera utilisé. + * + * Defaut : NULL + * + * @var null|string + */ + +//const SMTP_HELO_HOSTNAME = 'mail.domain.tld'; + +/** + * Adresse e-mail destinée à recevoir les erreurs de mail + * (adresses invalides etc.) — Return-Path + * + * Si laissé NULL, alors l'adresse e-mail de l'association sera utilisée. + * En cas d'hébergement de plusieurs associations, il est conseillé + * d'utiliser une adresse par association. + * + * Voir la documentation de configuration sur des exemples de scripts + * permettant de traiter les mails reçus à cette adresse. + * + * Défaut : null + */ + +//const MAIL_RETURN_PATH = 'returns@monserveur.com'; + + +/** + * Adresse e-mail expéditrice des messages (Sender) + * + * Si vous envoyez des mails pour plusieurs associations, il est souhaitable + * de forcer l'adresse d'expéditeur des messages pour passer les règles SPF et DKIM. + * + * Dans ce cas l'adresse de l'association sera indiquée en "Reply-To", et + * l'adresse contenue dans MAIL_SENDER sera dans le From. + * + * Si laissé NULL, c'est l'adresse de l'association indiquée dans la configuration + * qui sera utilisée. + * + * Défaut : null + */ + +//const MAIL_SENDER = 'associations@monserveur.com'; + +/** + * Mot de passe pour l'accès à l'API permettant de gérer les mails d'erreur + * (voir MAIL_RETURN_PATH) + * + * Cette adresse HTTP permet de gérer un bounce email reçu en POST. + * C'est utile si votre serveur de mail est capable de faire une requête HTTP + * à la réception d'un message. + * + * La requête bounce doit contenir un paramètre "message", contenant l'intégralité + * de l'email avec les entêtes. + * + * Si on définit 'abcd' ici, il faudra faire une requête comme ceci : + * curl -F 'message=@/tmp/message.eml' https://bounce:abcd@monasso.com/admin/handle_bounce.php + * + * En alternative le serveur de mail peut aussi appeler le script + * 'scripts/handle_bounce.php' + * + * Défaut : null (l'API handlebounce est désactivée) + * + * @type string|null + */ + +//const MAIL_BOUNCE_PASSWORD = null; + +/** + * Couleur primaire de l'interface admin par défaut + * (peut être personnalisée dans la configuration) + * + * Défaut : #20787a + */ + +//const ADMIN_COLOR1 = '#20787a'; + +/** + * Couleur secondaire de l'interface admin + * Défaut : #85b9ba + */ + +//const ADMIN_COLOR2 = '#85b9ba'; + +/** + * Image de fond par défaut de l'interface admin + * + * Cette URL doit être absolue (http://...) ou relative à l'admin (/admin/static...) + * + * Attention si l'image est sur un domaine différent vous devrez activer l'entête CORS: + * Access-Control-Allow-Origin "*" + * + * sinon la personnalisation des couleurs ne fonctionnera pas + * + * Défaut : [ADMIN_URL]static/bg.png + */ + +//const ADMIN_BACKGROUND_IMAGE = 'https://mon-asso.fr/fond_paheko.png'; + +/** + * Forcer l'image de fond et couleurs dans l'interface d'administration + * + * Si positionné à TRUE, les couleurs et l'image de fond définies dans la configuration + * seront ignorés. + * + * Utile pour s'assurer qu'on est sur une instance de test par exemple. + * + * Défault : false + * @var bool + */ +//const FORCE_CUSTOM_COLORS = false; + +/** + * Désactiver le formulaire d'installation + * + * Si TRUE, alors le formulaire d'installation renverra une erreur. + * + * Utile pour une installation multi-associations. + * + * Défaut : false + * @var bool + */ +//const DISABLE_INSTALL_FORM = false; + +/** + * Stockage des fichiers + * + * Indiquer ici le nom d'une classe de stockage de fichiers + * (parmis celles disponibles dans lib/Paheko/Files/Backend) + * + * Indiquer NULL si vous souhaitez stocker les fichier dans la base + * de données SQLite (valeur par défaut). + * + * Classes de stockage possibles : + * - SQLite : enregistre dans la base de données (défaut) + * - FileSystem : enregistrement des fichiers dans le système de fichier + * + * ATTENTION : activer FileSystem ET ne pas utiliser de sous-domaine (vhost dédié) + * ferait courir de graves risques de piratage à votre serveur web si vous ne protégez + * pas correctement le répertoire de stockage des fichiers ! + * + * Défaut : null + */ + +//const FILE_STORAGE_BACKEND = null; + +/** + * Configuration du stockage des fichiers + * + * Indiquer dans cette constante la configuration de la classe de stockage + * des fichiers. + * + * Valeurs possibles : + * - SQLite : aucune configuration possible + * - FileSystem : (string) chemin du répertoire où doivent être stockés les fichiers + * + * Pour migrer d'un stockage de fichiers à l'autre, + * voir Configuration > Avancé (accessible uniquement si ENABLE_TECH_DETAILS est à true) + * + * Défaut : null + */ + +//const FILE_STORAGE_CONFIG = null; + +/** + * Forcer le quota disponible pour les fichiers + * + * Si cette constante est renseignée (en octets) alors il ne sera + * pas possible de stocker plus que cette valeur. + * Tout envoi de fichier sera refusé. + * + * Défaut : null (dans ce cas c'est le stockage qui détermine la taille disponible, donc généralement l'espace dispo sur le disque dur !) + */ + +//const FILE_STORAGE_QUOTA = 10*1024*1024; // Forcer le quota alloué à 10 Mo, quel que soit le backend de stockage + +/** + * FILE_VERSIONING_POLICY + * Forcer la politique de versionnement des fichiers. + * + * null: laisser le choix de la politique (dans la configuration) + * 'none': ne rien conserver + * 'min': conserver 5 versions (1 minute, 1 heure, 1 jour, 1 semaine, 1 mois) + * 'avg': conserver 20 versions + * 'max': conserver 50 versions + * + * Note : indiquer 'none' fait qu'aucune nouvelle version ne sera créée, + * mais les versions existantes sont conservées. + * + * Si ce paramètre n'est pas NULL, alors il faudra aussi définir FILE_VERSIONING_MAX_SIZE. + * + * Défaut : null (laisser le choix dans la configuration) + * + * @var null|string + */ + +//const FILE_VERSIONING_POLICY = 'min'; + +/** + * FILE_VERSIONING_MAX_SIZE + * Forcer la taille maximale des fichiers à versionner (en Mio) + * + * N'a aucun effet si le versionnement de fichiers est désactivé. + * + * Défaut : null (laisser le choix de la taille dans la configuration) + * + * @var int|null + */ + +//const FILE_VERSIONING_MAX_SIZE = 10; + +/** + * Adresse de découverte d'un client d'édition de documents (WOPI) + * (type OnlyOffice, Collabora, MS Office) + * + * Cela permet de savoir quels types de fichiers sont éditables + * avec l'éditeur web. + * + * Si NULL, alors l'édition de documents est désactivée. + * + * Défaut : null + */ + +//const WOPI_DISCOVERY_URL = 'http://localhost:9980/hosting/discovery'; + +/** + * PDF_COMMAND + * Commande qui sera exécutée pour créer un fichier PDF à partir d'un HTML. + * + * Si laissé sur 'auto', Paheko essaiera de détecter une solution entre + * PrinceXML, Chromium, wkhtmltopdf ou weasyprint (dans cet ordre). + * Si aucune solution n'est disponible, une erreur sera affichée. + * + * Il est possible d'indiquer NULL pour désactiver l'export en PDF. + * + * Il est possible d'indiquer uniquement le nom du programme : + * 'chromium', 'prince', 'weasyprint', ou 'wkhtmltopdf'. + * Dans ce cas, Paheko utilisera les paramètres par défaut de ce programme. + * + * Alternativement, il est possible d'indiquer la commande complète avec + * les options, par exemple '/usr/bin/chromium --headless --print-to-pdf=%2$s %1$s' + * Dans ce cas : + * - %1$s sera remplacé par le chemin du fichier HTML existant, + * - %2$s sera remplacé par le chemin du fichier PDF à créer. + * + * Si vous utilisez une extension pour générer les PDF (comme DomPDF), alors + * laisser cette constante sur 'auto'. + * + * Exemples : + * 'weasyprint' + * 'wkhtmltopdf -q --print-media-type --enable-local-file-access %s %s' + * + * Si vous utilisez Prince, un message mentionnant l'utilisation de Prince + * sera joint aux e-mails utilisant des fichiers PDF, conformément à la licence : + * https://www.princexml.com/purchase/license_faq/#non-commercial + * + * Défaut : 'auto' + * @var null|string + */ +//const PDF_COMMAND = 'auto'; + +/** + * PDF_USAGE_LOG + * Chemin vers le fichier où enregistrer la date de chaque export en PDF + * + * Ceci est utilisé notamment pour estimer le prix de la licence PrinceXML. + * + * Défaut : NULL + * @var null|string + */ +//const PDF_USAGE_LOG = null; + +/** + * CALC_CONVERT_COMMAND + * Outil de conversion de formats de tableur vers un format propriétaire + * + * Paheko gère nativement les exports en ODS (OpenDocument : LibreOffice) + * et CSV, et imports en CSV. + * + * En indiquant ici le nom d'un outil, Paheko autorisera aussi + * l'import en XLSX, XLS et ODS, et l'export en XLSX. + * + * Pour cela il procédera simplement à une conversion entre les formats natifs + * ODS/CSV et XLSX ou XLS. + * + * Note : installer ces commandes peut introduire des risques de sécurité sur le serveur. + * + * Les outils supportés sont : + * - ssconvert (apt install gnumeric) (plus rapide) + * - unoconv (apt install unoconv) (utilise LibreOffice) + * - unoconvert (https://github.com/unoconv/unoserver/) en spécifiant l'interface + * + * Défault : null (= fonctionnalité désactivée) + * @var string|null + */ +//const CALC_CONVERT_COMMAND = 'unoconv'; +//const CALC_CONVERT_COMMAND = 'ssconvert'; +//const CALC_CONVERT_COMMAND = 'unoconvert --interface localhost --port 2022'; + +/** + * DOCUMENT_THUMBNAIL_COMMANDS + * Indique les commandes à utiliser pour générer des miniatures pour les documents + * (LibreOffice, OOXML, PDF, SVG, etc.) + * + * Les options possibles sont (par ordre de rapidité) : + * - mupdf : les miniatures PDF/SVG/XPS/EPUB sont générées avec mutool + * (apt install mupdf-tools) + * - collabora : les miniatures sont générées par le serveur Collabora, via + * l'API dont l'URL est indiquée dans WOPI_DISCOVERY_URL + * - unoconvert : les miniatures des documents Office/LO sont générées + * avec unoconvert + * + * Il est conseillé d'utiliser mupdf en priorité pour les PDF, il est plus rapide et léger. + * + * Note : cette option créera de nombreux fichiers de cache, et risque d'augmenter + * la charge serveur de manière importante. + * + * Défaut : null (fonctionnalité désactivée) + * @var null|array + */ + +//const DOCUMENT_THUMBNAIL_COMMANDS = ['mupdf', 'collabora']; + +/** + * PDFTOTEXT_COMMAND + * Outil de conversion de PDF au format texte. + * + * Utilisé pour indexer un fichier PDF pour pouvoir rechercher dans son contenu + * parmi les documents. + * + * Il est possible de spécifier ici la commande suivante : + * - mupdf (apt install mupdf-tools) + * + * Toute autre commande sera ignorée. + * + * Défaut : null (= fonctionnalité désactivée) + */ +//const PDFTOTEXT_COMMAND = 'pdftotext'; + +/** + * API_USER et API_PASSWORD + * Login et mot de passe système de l'API + * + * Une API est disponible via l'URL https://login:password@paheko.association.tld/api/... + * Voir https://fossil.kd2.org/paheko/wiki?name=API pour la documentation + * + * Ces deux constantes permettent d'indiquer un nom d'utilisateur + * et un mot de passe pour accès à l'API. + * + * Cet utilisateur est distinct de ceux définis dans la page de gestion des + * identifiants d'accès à l'API, et aura accès à TOUT en écriture/administration. + * + * Défaut: null + */ +//const API_USER = 'coraline'; +//const API_PASSWORD = 'thisIsASecretPassword42'; + +/** + * DISABLE_INSTALL_PING + * + * Lors de l'installation, ou d'une mise à jour, la version installée de Paheko, + * ainsi que celle de PHP et de SQLite, sont envoyées à Paheko.cloud. + * + * Cela permet de savoir quelles sont les versions utilisées, et également de compter + * le nombre d'installations effectuées. + * + * Aucune donnée personnelle n'est envoyée. Un identifiant anonyme est envoyé, + * permettant d'identifier l'installation et éviter les doublons. + * (voir le code dans lib/.../Install.php) + * + * Le code de stockage des statistiques est visible à : + * https://paheko.cloud/ping/ + * + * Pour désactiver cet envoi il suffit de placer cette constante à TRUE. + * + * Défaut : false + */ +//const DISABLE_INSTALL_PING = false; + +/** + * Clé de licence + * + * Cette clé permet de débloquer certaines fonctionnalités dans des extensions officielles. + * + * Pour l'obtenir il faut se créer un compte sur Paheko.cloud + * et faire une contribution financière. + * La clé apparaîtra ensuite en dessous des informations + * de l'association dans la page "Mon abonnement Paheko.cloud". + * + * Il faut recopier cette clé dans le fichier config.local.php + * dans la constante CONTRIBUTOR_LICENSE. + * + * Merci de ne pas essayer de contourner cette licence et de contribuer au + * financement de notre travail :-) + */ +//const CONTRIBUTOR_LICENSE = 'XXXXX'; + +/** + * Informations légale sur l'hébergeur + * + * Ce texte (HTML) est affiché en bas de la page "mentions légales" + * (.../admin/legal.php) + * + * S'il est omis, l'association sera indiquée comme étant auto-hébergée. + * + * Défaut : null + * + * @var string|null + */ +//const LEGAL_HOSTING_DETAILS = 'OVH
5 rue de l'hébergement
ROUBAIX'; + +/** + * Message d'avertissement + * + * Sera affiché en haut de toutes les pages de l'administration. + * + * Code HTML autorisé. + * Utiliser NULL pour désactiver le message. + * + * Défaut : null + * + * @var null|string + */ +//const ALERT_MESSAGE = 'Ceci est un compte de test.'; diff --git a/scripts/install b/scripts/install index 468c388..5c9fa13 100644 --- a/scripts/install +++ b/scripts/install @@ -43,16 +43,16 @@ ynh_script_progression --message="Adding a configuration file..." --weight=5 # Install configuration files ynh_add_config --template="../conf/config.local.php" --destination="$install_dir/config.local.php" -chmod 400 "$install_dir/config.local.php" +chmod 650 "$install_dir/config.local.php" chown $app:$app "$install_dir/config.local.php" -ynh_add_config --template="../conf/config.local.yunohost.php" --destination="$install_dir/config.local.yunohost.php" -chmod 400 "$install_dir/config.local.yunohost.php" -chown $app:$app "$install_dir/config.local.yunohost.php" +#ynh_add_config --template="../conf/config.local.yunohost.php" --destination="$install_dir/config.local.yunohost.php" +#chmod 400 "$install_dir/config.local.yunohost.php" +#chown $app:$app "$install_dir/config.local.yunohost.php" -ynh_add_config --template="../conf/config.local.user.php" --destination="$install_dir/data/config.local.user.php" -chmod 400 "$install_dir/data/config.local.user.php" -chown $app:$app "$install_dir/data/config.local.user.php" +#ynh_add_config --template="../conf/config.local.user.php" --destination="$install_dir/data/config.local.user.php" +#chmod 400 "$install_dir/data/config.local.user.php" +#chown $app:$app "$install_dir/data/config.local.user.php" # Permissions on files and directories