Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  Paheko 1.3 : refonte de la gestion des membres, drive intégré, reçus fiscaux, etc.

 -  Octobre 2023 - 

Paheko, logiciel de gestion d’association, disponible via une interface web sur n’importe quel serveur, ou sur Linux, Windows ou même Android, sort une nouvelle version majeure après plus de deux ans de travail.

Au menu : refonte de la gestion des membres, du site web et du porte-documents ; accès WebDAV, compatibilité avec les applications NextCloud et ownCloud ; intégration avec Collabora Online ; cartes de membres ; reçus fiscaux, et bien plus encore !

Logo Paheko

Sommaire

Que de temps passé depuis la première dépêche LinuxFR annonçant la sortie de Garradin ! En 11 ans les choses ont bien changé.

La petite solution adaptée aux besoins de notre atelier vélo a bien grandi, mais tout en sachant rester sobre (le package d’installation fait toujours moins de 1 Mo).

Pour rappel, Paheko est un logiciel de gestion d’association à but non lucratif (mais les plans comptables des syndics d’immeuble, syndicats, entreprises, etc. sont aussi disponibles), comprenant la comptabilité en partie double (mais accessible aux débutant·e·s), la gestion des membres, un site web et le partage de documents.

Il est développé en PHP et utilise SQLite3 comme moteur de stockage, et Fossil comme forge décentralisée. Un miroir Github existe, mais il ne sera jamais porté vers d’autres moteurs de BDD, et oui SQLite c’est très bien, ça marche au poil ;-)

Dessin auto-hébergement Paheko

Qu’est-ce qui a changé depuis 2012 ?

  • Garradin a changé de nom et est devenu Paheko
  • Une version hors ligne, pour les associations sans accès Internet, est disponible sous Linux (paquet Debian/Ubuntu/Mint) et Windows, et peut même être installée sur un téléphone ou tablette sous Android avec Termux
  • Des paquets communautaires Docker, Ansible et Yunohost ont été créés
  • Six structures proposent d’héberger votre instance Paheko pour vous
  • 5000 associations sont hébergées sur Paheko.cloud, et plusieurs milliers d’autres sont auto-hébergées
  • une documentation utilisateur complète a été écrite (merci Isabelle !) et illustrée (merci Pauline !), les illustrations seront dispo en SVG et sous licence libre un peu plus tard

Qu’est-ce qui n’a pas changé ?

  • L’interface a évolué mais garde les mêmes lignes directrices pour ne pas avoir à réapprendre les automatismes
  • On utilise toujours PHP, SQLite et Fossil, avec grand plaisir :)

Quoi de neuf dans cette version 1.3 ?

Cette version intègre certains changements importants :

  • refonte du code de la gestion des membres ;
  • refonte de l’interface de la gestion du site web ;
  • refonte de l’interface de la gestion des documents ;
  • intégration d’un serveur WebDAV, compatible avec les applis NextCloud et ownCloud ;
  • intégration des modules.

Les modules : des plugins « light »

Les modules sont une grosse nouveauté de cette version. Ils utilisent un langage de programmation maison, inspiré de Twig, Smarty, SPIP et consorts : Brindille. Ce langage léger s’intègre au code HTML pour réaliser des requêtes SQL, gérer des formulaires, stocker et restituer des données, transformer des variables, etc.

Un petit exemple de code sera plus parlant :

{{if $_POST.save}}
    {{:save info=$_POST.information}}
{{/if}}

{{#load id=$_GET.id}}
    {{$info|markdown}}
{{else}}
    L’information n’a pas été trouvée.
{{/if}}

Brindille permet de créer relativement facilement des petites extensions, appelées modules, qui n’ont pas accès en écriture à la base de données, et ne présentent pas de risque de sécurité pour le serveur, les fonctionnalités étant limitées. Ces modules s’intègrent à l’interface de gestion de l’association avec seulement quelques lignes de code. Les modules peuvent également s’intégrer à certains endroits de l’interface via des « snippets ».

Le site web lui-même est maintenant un module, et donc peut intégrer les fonctionnalités d’autres modules.

Plusieurs modules sont fournis, packagés avec Paheko :

  • le thème du site web est lui-même un module, - reçus fiscaux,
  • modèles d’écritures, - reçus simples et de don (non fiscal),
  • bordereau de remise de chèque,
  • horaires d’ouverture de l’association,
  • réservation de créneau ou d’événement,
  • cartes de membre.

Les plugins sont aussi maintenant packagés avec Paheko, permettant de ne pas avoir à gérer la mise à jour séparée des plugins et du code de Paheko.

Module carte de membre

Serveur WebDAV, compatible avec NextCloud et ownCloud

Pour permettre une meilleure interopérabilité de Paheko et pouvoir accéder aux fichiers stockés en dehors de Paheko, notamment pour synchroniser un poste informatique, il fallait un protocole de transfert de fichiers. WebDAV est un standard de qualité, bien implémenté par de multiples clients (mais aussi mal par de nombreux autres), bien documenté, et assez facile à implémenter.

Au cours de l’implémentation, je me suis rendu compte qu’il n’existait pas réellement de client WebDAV libre pour Android ou iOS. Comme NextCloud et ownCloud se basent sur WebDAV je me suis dit qu’on pourrait sûrement utiliser leurs applications. Bon, sauf qu’ils ont tout fait pour que ça ne marche pas avec un serveur WebDAV standard malheureusement, il faut donc implémenter une couche de compatibilité.

Ce travail a fait l’objet d’une implémentation dans une bibliothèque externe, qui a aussi donné lieu au projet KaraDAV qui permet de créer un partage de fichiers minimaliste compatible avec les applis Nextcloud et ownCloud.

Autres nouveautés

Les nouveautés de cette version étant nombreuses, ne pas hésiter à consulter l’annonce illustrée de cette version ou le Changelog complet.

Autres sujets de développement

Paheko n’utilise que les bibliothèques C disponibles dans PHP, aucune dépendance externe ou framework.

Pour chaque besoin, je trouve cela plus intéressant d’aller au fond du sujet plutôt que de prendre du code tout fait, que je ne maîtriserais pas.

Au cours des dernières années j’ai ainsi développé pour les besoins des Paheko :

  • un parseur CSS, inspiré du code du moteur LibWeb, le code derrière le navigateur Ladybug, issu de SerenityOS ;
  • un générateur qui transforme un tableau HTML en document tableur ODS ou XLSX, en conservant certains styles CSS ;
  • un serveur WebDAV, comme décrit précédemment ;
  • un langage de programmation, Brindille ;
  • des librairies de lecture / écriture de fichier ZIP.

C’est particulièrement satisfaisant d’apprendre à aller au fond d’un sujet technique et pouvoir le mettre en pratique. Ce n’est certes pas rentable, mais le sujet ici n’est pas d’être rentable justement :)

Le futur

Au niveau organisationnel :

  • transformer l’association qui s’occupe aujourd’hui de Paheko pour pérenniser le fonctionnement et le financement;
  • abandonner AWS pour l’envoi de mail sur le SaaS Paheko.cloud ;
  • candidater pour rejoindre le collectif des CHATONS;
  • faire faire des audits : UX, accessibilité, sécurité.

Au niveau développement :

  • continuer à améliorer l’expérience utilisateur,
  • ajouter un module « devis et factures » (déjà commencé),
  • ajouter un module « notes de frais »,
  • refonte de l’inscription aux activités pour répondre aux besoins divers et variés des associations (sans que ça devienne une usine à gaz),
  • intégration en direct des paiements via les prestataires de paiement (HelloAsso, Stripe, Mollie, Stancer, etc.).

Voir la feuille de route pour les détails.

Commentaires : voir le flux Atom ouvrir dans le navigateur

par BohwaZ, Ysabeau, Xavier Teyssier, Nÿco, palm123

DLFP - Dépêches

LinuxFr.org

Codeberg, la forge en devenir pour les projets libres ?

 -  25 avril - 

Face aux risques que fait peser GitHub sur le monde des logiciels libres suite à son rachat par Microsoft en 2018, une alternative semble avoir (...)


L’informatique sans écran

 -  21 avril - 

Lors d’un Noël de ma tendre jeunesse pré-adolescente est arrivé un « ordinateur » dans le foyer. Ce PC (Intel 386) a été installé dans le bureau et a (...)


Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)