Paheko

Ayant co-fondé une association il y a peu (fin août 2024) je me suis penché sur sa gestion administrative et notamment comptable, ayant envie de faire les choses proprement. Je me voyais mal utiliser un tableur, un outil de compta personnelle libre (Grisbi, GNUCash et autre c'est assez imbuvable je trouve. Et pourtant j'ai un BEP Métiers de la Comptabilité 😁).

Kécécé Paheko

Paheko (ex Garradin) est un logiciel libre de gestion d'association. Il permet de gérer les membres, les activités, la gestion des documents, la comptabilité et le site web d'une association. Écrit en PHP, il fonctionne sur un serveur Apache2 et une base SQLite.

Comme souvent sur les solutions libres, deux possibilités :

Un hébergement fourni par Paheko, essai libre avec des fonction limités ou avec une contribution équivalente à 0,4% des recettes annuelles de l'association.

En auto-hébergement, soit “hors ligne” (assistant d'installation pour Linux (Debian et consorts) et Windows) ou sur un serveur.

Étant du métier, j'ai essayé le logiciel en “hors ligne” puis installé sur un serveur Proxmox à mon domicile.

Liens

paheko.cloud - Site principal

Paheko - Documentation et auto-hébergement

Installation de Paheko sous Debian 12

Installation réalisée sous Proxmox 8.2.4 dans un conteneur LXC Debian 12. Peut-être que les plus barbus préfèrerons Docker, moi je fais avec ce que je connais.

Procédure issue des documentations suivantes :

Installer Paheko

Installation détaillée sous Ubuntu/Debian

Installation des pré-requis

Paheko a besoin de PHP 7.4 ou supérieur, SQLite3, d'Apache et d'un certains nombres de paquets supplémentaires.

Je vous épargne les apt update et upgrade de bonne mesure, vous n'êtes pas des sauvages.

apt install apache2 php php-{sqlite3,intl,cli,imagick,mbstring} libapache2-mod-php -y

Optionnellement vous pouvez installer mupdf-tools et gnupg :

apt install mupdf-tools gnupg -y

Installation de Paheko

Trois choix s'offre à vous :

Le paquet Debian.

La méthode automatisée avec un fichier install.php qui télécharge tous les fichiers

Installer à la mano comme un barbu.

Toutes ces méthodes sont détaillées sur la page Installer Paheko.

Ici, je vais partir sur le paquet Debian parce que flemme. Je verrais peut-être plus tard pour faire quelque chose de propre, si le logiciel sort de l'usage interne à mon domicile.

On récupère donc le paquet Debian depuis la page Installer Paheko et on l'installe :

wget https://fossil.kd2.org/paheko/uv/paheko-x.x.xx.deb dpkg -i paheko*.deb

Les trucs de serveur web

On vérifie que les modules PHP sont bien activés :

phpenmod sqlite3 imagick intl

On active les modules Apache :

a2enmod "php*" rewrite systemctl restart apache2

Le module rewrite n'est pas indiqué dans la procédure officielle mais j'ai eu des surprises (ça déconnait grave) avant son activation.

On créé le vHost pour Apache, par exemple paheko.conf dans /etc/apache2/site-available/paheko.conf en prenant soin de modifier le domaine :

<VirtualHost *:80>
ServerName paheko.domaine.truc
DocumentRoot /usr/share/paheko/www
Include /usr/share/paheko/apache-vhost.conf
<Directory /usr/share/paheko/www>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

A noter que pour ma config qui fonctionne pour l'instant uniquement sur mon réseau local, j'ai ajouté la un ServerAlias suivi de l'IP de la VM, ce qui donne :

<VirtualHost *:80>
ServerName asso.paheko.local
ServerAlias 192.168.1.245
DocumentRoot /usr/share/paheko/www
Include /usr/share/paheko/apache-vhost.conf
<Directory /usr/share/paheko/www>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

Et on peut vérifier la config pour voir si Apache ne hurle pas puis on active le vHost :

apache2ctl configtest a2ensite paheko systemctl reload apache2

Et hop ! Si tout se passe bien vous devriez arriver sur la page d'accueil de Paheko !

Envoi des mails

Sur cette maquette de prod, je suis passé par DMA, sur les conseils d'un copainternet, pour l'envoi des mails. Moins pénible à paramétrer que postfix.

apt install dma mailutils

Dans /etc/dma/dma.conf :

# Serveur SMTP
SMARTHOST mail.trucmuche.com
# Port à adapter
PORT 465
# Le fichier d'authentification SMTP
AUTHPATH /etc/dma/auth.conf
# TLS/SSL
SECURETRANFER
# Si STARTTLS
STARTTLS
# Si modif du MAILNAME lancer dpkg-reconfigure dma
MAILNAME /etc/mailname
# Pour masquer l'identifiant du serveur serveur par un vrai mail
MASQUERADE adresse@ledomaine.truc

Et dans '/etc/dma/auth.conf' :

# Format : Compte|Serveur SMTP:Mot de passe
adresse@ledomaine.truc|mail.trucmuche.com:MotDePasseTopSecure

Par exemple pour Infomaniak j'ai dans dma.conf :

SMARTHOST mail.infomaniak.com
PORT 465
# Le fichier d'authentification SMTP
AUTHPATH /etc/dma/auth.conf
SECURETRANFER
MAILNAME /etc/mailname
MASQUERADE mail@mondomaine.tld

et dans auth.conf :

mail@mondomaine.tld|mail.infomaniak.com:Motdepasse123!

Tester avec mail -s “Test” destinataire@truc.tld «< “Wow un super mail !” et depuis Paheko.