Utilisateurs expérimentés

Avertissement

N’utilisez les instructions suivantes que si vous savez ce que vous faites… « La direction décline toute responsabilité en cas de […] » :D

Adaptation à votre charte graphique

Si vous êtes à l’aise avec les styles CSS, vous pouvez adapter le CSS de Galette pour suivre votre charte graphique. Pour ce faire, il est fortement déconseillé de modifier les fichiers CSS de Galette, mais plutôt d’utiliser le mécanisme spécifique prévu pour cela ; Créez un fichier galette_local.css dans votre dossier webroot/themes/default avec vos propres styles, il sera inclus automatiquement.

Essayer de faire aussi simple que possible. Par exemple, si vous souhaitez changer la couleur de fond du nom de l’association (affiché sous le titre des pages), vous trouverez dans Galette la règle #asso_name qui définit plusieurs paramètres y compris les couleurs. Donc, dans votre feuille de style, vous aurez juste besoin de :

#asso_name {
    color: red;
}

Ce sera suffisant pour afficher le nom de votre association en rouge. Notez que les CSS locales et les problèmes qu’elles pourraient causer ne seront pas prises en compte par l’équipe de Galette, aucun support ne sera fourni.

Vous pouvez également fournir une feuille de style pour l’impression, créez juste un fichier galette_print_local.css.

Ajouter et modifier des chaînes

Il est possible au besoin de personnaliser les chaînes traduites dans Galette - sans modifier les sources de Galette. Créez simplement un fichier galette_{mylang}_local_lang.php (où {mylang} doit être remplacé par la langue, comme fr_FR.utf8 ou en_US) dans le dossier lang. Ce fichier doit contenir un simple tableau PHP avec la chaîne originale (celle dans le code source de Galette) en index.

Par exemple, nous souhaiterions modifier la chaîne « Password » sur la page de connexion en fraçais, traduit par Mot de passe :. La chaîne originale est Password: (voir galette/templates/default/index.tpl), sa traduction française est Mot de passe : et nous voulons la remplacer par Secret : ; donc nous allons créer le fichier galette_fr_FR.utf8_local_lang.php avec le contenu suivant :

<?php
$lang['Password:'] = 'Secret&nbsp;:';
return $lang;

Puisque Galette utilise un système de cache pour les traduction, les modification peuvent ne pas être visible immédiatement ; vous pouvez avoir à redémarrer PHP (ou nettoyer le cache). Il est important de prendra la chaîne d’origine telle quelle, ponctuation incluse ; et de prendre garde d’échapper les guillemets simples (avec un anti-slash) dans toutes les chaînes.

Vous pouvez également surcharger les langues des plugins en utilisant la même méthode, placez juste le fichier dans le dossier lang et nommez le {plugin}_{mylang}_local_lang.php{plugin} est le nom du routage que vous trouverez dans le fichier _define.php.

Note

Cela ne fonctionnera que si vous utilisez les fonctionnalités de traduction de Galette, pas gettext natif.

Changer la durée de session

Par défaut, Galette va créer une session avec la valeur par défaut pour sa durée (et il semble que les navigateurs agissent différemment dans ce cas). Vous pouvez toutefois définir une constante nommée GALETTE_TIMEOUT pour changer la durée de la session en utilisant la configuration du comportement :

<?php
//see https://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime
define('GALETTE_TIMEOUT', 0);

Enregistrement des adresses IP derrière un proxy

Si votre instance de Galette se trouve derrière un proxy, l’adresse IP enregistrée dans l’historique sera celle du proxy, pas celle de l’utilisateur :(

Pour corriger cela, utilisez la configuration du comportement pour créer une constante nommée GALETTE_X_FORWARDED_FOR_INDEX comme suit :

<?php
define('GALETTE_X_FORWARDED_FOR_INDEX', 1);

Chaque serveur proxy ajoutera sa propre adresse à la liste, l’exemple ci dessus ne fonctionnera que s’il n’y a qu’un seul serveur proxy.

Avertissement

Pour des raisons de sécurité, n’utilisez pas cela si votre instance n’est pas derrière un proxy !

Statistiques externes

Nouveau dans la version 0.9.

De nombreux systèmes de statistiques requièrent un bloc Javascript pour fonctionne. Vous pouvez créer un fichier tracking.js dans le dossier webroot/themes/default, il sera inclus automatiquement.

Galette utilise Javascript pour fonctionner. Si le code ajouté dans votre fichier tracking.js est incorrect, cela peut casser Galette !

Taille et nombre de cartes

Nouveau dans la version 0.9.

Les préférences de Galette permettent de spécifier l’espacement des cartes, mais pas le nombre de lignes ou de colonne. Vous pouvez utiliser la configuration du comportement pour les paramètres des cartes, le constantes suivantes sont fournies :

Note

Modifier ces valeurs peut causer des incohérences ; modifiez les avec parcimonie, et n’oubliez pas de tester le résultat ;)

  • GALETTE_CARD_WIDTH détermine la largeur des cartes,

  • GALETTE_CARD_HEIGHT détermine la hauteur des cartes,

  • GALETTE_CARD_COLS détermine le nombre de colonnes,

  • GALETTE_CARD_ROWS détermine le nombre de lignes.

Exports CSV

Modifié dans la version 1.0.0: Vous pouvez configurer des exports paramétrés avec un fichier YAML au lieu d’un fichier XML.

Galette fournit un système d’exports CSV paramétrés. Un seul export paramétré est fourni, mais vous pouvez ajouter les vôtres dans le fichier config/exports.yaml.

Note

L’ancien fichier de configuration XML est toujours supporté ; si un doublon est trouvé, le fichier YAML prend le pas.

Examinons l’export paramétré « cotisations » :

- cotisations:
    name: Cotisations
    description: Export de l'état des cotisations pour l'ensemble des adhérents" filename="galette_cotisations.csv
    filename: galette_cotisations.csv
    query: |-
       SELECT nom_adh, prenom_adh, ville_adh, montant_cotis, date_debut_cotis, date_fin_cotis
       FROM galette_cotisations
       INNER JOIN galette_adherents
          ON (galette_cotisations.id_adh=galette_adherents.id_adh)
    headers:
      - Name
      - Surname
      - Town
      - Amount
      - Begin date
      - End date
    separator: ;
    quote: "
  • chaque entrée de tableau est un identifiant unique, en minuscules sans espaces or caractère spécial

  • name et description sont requis puisque utilisés pour afficher chaque export paramétré dans l’interface utilisateur

  • filename détermine le nom de fichier de sortie

  • query est la requête à exécuter, c’est requis. Il n’y a pas d’autre limite que celles du moteur de base de données, à la différence que vous ne pouvez envoyer aucun paramètre

  • headers gère les titres des colonnes :

    • comme dans l’exemple ci-dessous, un tableau des titres que vous aurez défini

    • si ce n’est pas présent, les noms des champs de Galette seront exportés. Vous pouvez utiliser des colonnes nommées dans votre requête SQL (SELECT nom_adh AS "Column title" FROM ...)

    • mettre à faux (headers: false) pour désactiver la sortie des en-têtes de colonnes

  • separator est le séparateur CSV qui sera utilisé. Les valeurs possibles sont :

    • point-virgule (;) - défaut

    • virgule (,)

    • caractère de tabulation (\t)

  • quote soit un guillemet double - défaut - soit un guillemet simple

  • pour désactiver un export, vous pouvez ajouter inactive: true

Outils d’administration

Avertissement

Toutes les opérations administrateurs sont destructives, utilisez les avec parcimonie et assurez-vous de faire une sauvegarde de votre base de données auparavant !

Quelques outils d’administration sont fournis par galette, qui permettent de :

  • réinitialiser les contenus des courriels réinitialisera tous les contenus des courriels administratifs à leurs valeurs par défaut,

  • réinitialiser la configuration des champs va remette à zéro les champs du cœur à leurs valeurs par défaut ; Cela n’implique pas les champs dynamiques,

  • réinitialiser les modèles PDF réinitialisera les modèles PDF à leurs valeurs par défaut,

  • générer des login et mot de passe vides ces informations sont requises pour améliorer la sécurité, mais elles sont parfois manquantes (si vous importez un CSV par exemple).

Modes de galette

Plusieurs modes sont fournis dans Galette vous pouvez configurer avec la cnstante GALETTE_MODE (voir la configuration du comportement de Galette). Cette directive peut prendre les valeurs suivantes :

  • PROD : mode production (aucune instance de production ne devrait être sur un autre mode). C’est le mode par défaut pour les versions, mais il peut changer sur la branche de développement.

  • DEMO : mode démonstration, le même que PROD mais avec certaines fonctionnalités désactivées comme l’envoi de courriels, la modification des informations du super administrateur, …

  • TEST : réservé aux tests unitaires.

  • MAINT : mode maintenance. Seul le super admin pourra se connecter.

Déboguer Galette

Nouveau dans la version 1.1.0.

Une constante dédiée nommée GALETTE_DEBUG peut-être utilisée pour activer le mode déboguage. Avec ce mode actif :

  • les parties non terminées ou instables seront activées,

  • certaines données ne seront pas stockées en session,

  • le niveau de verbosité des logs est défini à DEBUG,

  • les nouvelles ne seront pas mises en cache,

  • la vérification de la version de la base de données ne sera pas effectuée.

Configuration du comportement

Il est possible de modifier certains comportements de Galette :

  • GALETTE_DEBUG : voir les modes de Galette ;

  • NON_UTF_DBCONNECT : désactive la connexion explicite en UTF8 à la base de données (pour les utilisateurs qui rencontrent des problèmes d’encodage) ;

  • vous verrez dans d’autres parties de la documentation qu’il est possible d’utiliser la configuration du comportement pour d’autres usages (tels que les cartes PDF, la durée de vie de la session, …).

Vous pouvez ajouter ces directives en déclarant des constantes via le fichier galette/config/behavior.inc.php.

Par exemple :

<?php
define('GALETTE_DEBUG', true);