Est-ce que je vais droit dans le mur?

Au sein de l’asso où je suis membre du C.A, nous n’utilisons aucun outil de gestion de nos adhérents si ce n’est un tableau (tableur) qui contient bêtement une ligne par adhérent et une multitude colonnes…

Tout le reste de la gestion est complètement empirique, à base de formulaires papier et de classeurs de différentes couleurs !

Résultat des courses : c’est très chronophage et surtout pas juste compte-tenu des nombreuses erreurs de recopie et de doublon.

Là où cela se corse c’est que l’on a près de 500 adhérents, plus de 25 animateurs dont la plupart sont rémunérés, 30 activités, des paiements en plusieurs fois avec près de 10 modes de paiement différents (Cash, Chèques, Chèques à terme, CB, Chèques Vacances, Volet Loisirs de la région ou du département ou encore d’une commune ou d’une entreprise…), etc.

Le décor est donc planté et, au final, seule une personne maîtrise à peu près l’intégralité du processus et, heureusement pour nous : elle est résistante !

Je suis alors parti à la recherche d’une solution en mode « Indiana Jones » et il s’avère qu’on trouve effectivement quelques solutions, libres ou propriétaires.

MAIS : aucune de ces solutions ne répond à 100 % de nos besoins, on est plutôt dans un ratio de type 80 / 20 dans le sens où 20 % de nos besoins ne sont pas couverts. Pire, il semblerait que les 20 % de fonctionnalités manquantes représentent 80 % des tâches les plus chronophages ou qui engendrent le plus d’erreurs.

Alors j’ai commencé à gamberger, en mode « on n’a pas d’argent mais on a des idées » et je me suis dit : Mais, à quoi sert LibreOffice Base ? Et, moi qui ne suit pas « développeur » est-ce que je ne pourrai pas tenter de construire quelque chose avec cette application ? Au pire, si je me loupe, cette « maquette » pourra être considérée comme un futur cahier des charges pour des professionnels du dév. Non ?

Et je suis donc parti, la fleur au fusil, et j’ai dessiné la base puis construit des formulaires, des rapports, des extractions et, pour avoir mis ce « POC » dans les mains de stagiaires, le résultat est déjà bien au-delà de ce que j’espérais…

Capture d’écran du 2022-02-11 22-09-23

Alors oui, j’ai lu plein de truc sur les mauvaises performances de LibreOffice Base mais je me dis quand même : si un tableau Calc supporte 5000 lignes avec 20 colonnes, pourquoi ma base ne supporterai pas 500 adhérents et quelques milliers d’écritures « comptables » ? De plus, je suis à quelques pas de pouvoir/savoir utiliser un mode client/serveur permettant de séparer la BdD HyperSQL du front (Appli. Libre Office Base) et afin de pouvoir utiliser à 2 l’application à chaque rentrée scolaire, période à laquelle on fait 90 % de nos adhésions.

Alors que je trouve cette approche « Low Tech. / Low Cost » intéressante (j’ai de plus minimisé le nombre de macros au strict minimum et l’application pourrait presque tourner sans…), je me pose néanmoins la question suivante : Est-ce que je vais droit dans le mur et, si oui : Pourquoi ?

Ci-dessous les fonctionnalités de l’application « LO Base » telle qu’elle existe aujourd’hui :

  • Gestion des souscripteurs aux activités proposées par l’asso. (Exemple : les parents ou une personne morale)
  • Gestion des activités
  • Gestion des adhérents qui participent aux activités (Exemple : les enfants ou les pensionnaires d’un centre adapté)
  • Gestion des tarifs et sous-tarifs
  • Gestion des Animateurs
  • Gestion des Paiements et Paiements à Terme
  • Gestion des Référentiels
  • Impression de la Carte d’Adhérent
  • Impression de formulaires tels le recueil du consentement pour le droit à l’image
  • Impression des formulaires de remises de chèques
  • Exports CSV pour tableurs ou outil comptable
  • Gestion des « saisons »
    …/…

Quel est votre avis ?

Capture d’écran du 2022-02-11 21-46-11

2 Likes

Je pense que ta démarche est bonne et que tu ne vas pas dans le mur, as-tu quelqu’un dans ta strcture qui pourrait donner son avis sur les macros que tu as créées afin de juger de leur lisibilité ?

Par ailleurs j’essaie de comprendre les modèle de données, j’ai quelques questions :

  • est-ce que l’application doit gérer l’archivage, ou la base de données est remise à 0 à chaque rentrée ?
  • as-tu un moyen simple d’exporter toutes les données personnelles liées, directement ou non, à une personne qui le demanderait ?
  • as-tu vraiment besoin des tables genre, modespaiement et contrats_intervenants ? un champ multiple dans la table liée ne serait-il pas suffisant ?
  • as-tu prévu un outil pour faire l’import de l’existant ?
1 Like

C’est une bonne idée et, même si actuellement personne dans la structure est en mesure de « lire » ces macros (c’est aussi une de mes inquiétudes…), à moi de mettre le plus de commentaires possibles pour expliquer ce que ça fait.

On va conserver les données, au moins d’une saison sur l’autre (d’où la notion de « saison » dans la BdD car on a besoin de savoir ce qui s’est passé l’année précédente, soit à des fins statistiques soit à des fins « financières » (ex. avec le Covid on a remboursé certains adhérents quand les activités n’ont pas été faites en intégralité ou reporter des paiements de l’année n-1 vers l’année n comme une sorte d’avoir.

Effectivement c’est une très bonne idée, cela reste à faire et cela ne parait pas très compliqué…

J’ai fait très « simple » compte-tenu de mes piètres compétences… J’avoue aussi que je ne comprends pas forcément très bien ce que tu suggères.

Alors non, cela dépasse mes compétences actuelles en la matière mais ce serait effectivement un plus non négligeable… L’outil étant censé être utilisé à la rentrée prochaine, cela me laisse un peu de temps pour me perfectionner !

Merci beaucoup pour tes retours !

Salut @fabrice61 c’est très intéressant comme réflexion, et je n’aurais pas pensé à LO Base, parce que je ne connaissais tout simplement pas. Cela ressemble à cette mouvance qu’on appelle No-Code : des gens créent des applis ou service ou outil numérique qui répond surtout à leur besoin sans coder. Il existe des outils libres et propriétaires à ce sujet. J’en avais partagé quelques uns sur le forum de Yunohsot: https://forum.yunohost.org/t/baserow-an-open-source-mit-no-code-database-the-future-of-excel-calc-sheets-airtable-like-app/13925/9 Si cela peut t’aider ou t’intéresser dans ta démarche d’outillage de ton asso. Certains outils peuvent être complémentaires à l’existant puisque capable de se connecter à une base de données SQL.
Sinon pour répondre concrètement à la question : je ne sais pas si tu vas dans le mur ou pas. :sweat_smile:

1 Like

Je viens de jeter un coup d’oeil dans la doc libreoffice, et c’est normal que tu ne comprennes pas, ce à quoi je pensais n’existe pas dans libreoffice base :smiley:

Effectivement, LO Base pourrait être une solution. Par contre, perso, tant qu’à investir des efforts dans un nouveau système, j’irais vers un qui est Web.

Cela m’étonne que vous n’ayez pas trouvé de solutions libres qui pourraient être adaptées relativement facilement à vos besoins. Vite comme ça, je pense à CiviCRM. L’avez-vous exploré?

Et en même temps un outils web c’est plus compliqué à installer/maintenir. Du coup faut voir le besoin, pour moi ça dépend essentiellement du nombre de personnes qui interagissent avec le système et si il est envisagé de proposer des formulaires d’inscriptions aux adhérent⋅es de l’asso.

Ceci étant je rejoins sur l’idée de tout de même regarder CiviCRM (installable notamment via yunohost)

Hello,

En fait c’est le « adapté relativement facilement à nos besoins » qui pose problème… Nous n’avons pas que des adhésions à gérer mais aussi des activités (danse, skate, boxe, …) avec une structure tarifaire à plusieurs niveaux et ça, c’est déjà pas simple… J’avais regardé du côté de CiviCRM qui, pour moi, reste une sol. pour gérer une grande population d’adhérents, de communiquer avec elle et avec un système de cotisation simple…

Merci pour ton retour.

PS: Une telle sol. pour 2 utilisateurs me paraissait aussi « démesurée ».

Hello,

Oui, tu as raison il n’y aura que deux utilisateurs max. et nous n’avons pas besoin d’interagir directement avec nos adhérents c’est pourquoi je suis parti sur quelque chose de très léger, low-cost, low-tech…

De plus, nous sommes dans un département rural, pas très « riche » et certains de nos adhérents nous paient en liquide, petit bout par petit bout, comme ils le peuvent et je doute fort de trouver une solution sur étagère qui nous permette de gérer cela.

Merci pour ton retour.

Je partage cet avis. Le problème des outils sur étagère est qu’ils sont soit inadaptés pour des besoins complexes (et difficile à adapter), soit des super usines à gaz avec beaucoup de configuration difficile à reproduire et à maintenir (les ERP n’échappent souvent pas à ça).

Je pense qu’il y a du sens à vouloir un outil affûté pour un ensemble de besoins précis, ce n’est pas aller droit au mur. Par contre il ne faut pas négliger l’engagement que ça représente ; notamment désormais ça va être toi le nouveau « ya que fabrice qui comprend son machin ». :smiley: Du coup il va aussi falloir documenter et former quelques collègues à mettre les doigts dans les entrailles de la bête.

Quant au choix de l’outil sous-jacent (ici LO Base), amha le meilleur outil c’est celui que tu connais et pour lequel tu peux facilement recevoir de l’aide. Personnellement je n’aurais jamais fait ce choix (je trouve Python/Django beaucoup plus simple :slight_smile: ), mais rien ne me permet de penser que c’est un mauvais choix : la preuve, tu obtiens quelque chose de montrable. Je recommande malgré ça d’adopter (dans la mesure du possible) des bonnes pratiques de développement : versionnement, suivis de bugs, documentation, tests de non régression, etc. C’est ce genre de bonne pratique qui va jouer sur le fait que tu t’engages pour maintenir l’outil 10 ans et terminer avec assurance ou avec souffrance.

2 Likes

Bonjour François,

Passer d’un mode empirique (beaucoup de papiers et un « bête » tableau) à un mode entièrement dématérialisé est déjà une petite révolution en soi au sein d’un collectif où il y a très très peu d’utilisateurs avertis en matière de « numérique ». Très rares sont ceux qui maîtrisent le « tableur »…

Personnellement j’aurais préféré trouver une sol. sur étagère, un tant soit peu paramétrable mais quand j’ai fait l’analyse de l’existant j’ai vite compris que je ne trouverai pas.

Je n’avais donc que deux solutions : imposer une sol. sur étagère mais qui ne répondrait pas aux besoins ou faire un « truc » par mes propres (et pauvres petits…) moyens tout en sachant que la maintenance ne serait assurée que par moi, au moins dans un 1er temps.

Dans le 1er cas, le naturel (le tableau et les papiers) aurait vite repris le dessus et dans le second cas je réponds aux besoins mais j’ajoute une vulnérabilité dans l’organisation : si je pars et que je ne trouve personne pour la relève ils reviendront à la situation antérieure également.

Je rêverai de pouvoir créer quelque chose en Python/Django/PgSQL (cela fait partie de mes objectifs 2022 !) mais je pars de trop loin et je ne serai pas prêt pour cet été. Ce serait très nettement plus facile de trouver une ressource (ne serait-ce qu’un stagiaire ou un centre de formation) sur ces technos en cas de PB plutôt que sur mon « bousin » en LO Base n’est-ce pas ?

Alors la doc. utilisateur est en cours d’écriture et elle comprend également un bout sur le design de la BdD (le pourquoi du comment j’ai lié les tables de cette manière par exemple). Oui, je gère bien la notion de version et, je me suis fait un jeu de test que je rejoue (ou fait rejouer à des stagiaires) à chaque fois que je fais des modifications majeures. La mise en PROD est prévue en juin prochain et j’ai prévu de passer beaucoup de temps sur la doc. en me focalisant sur les cas d’usages, exemple : un adhérent change d’activité en cours d’année et en souscrit une plus chère, comment faire avec l’application ?

Voilà ! Merci beaucoup pour ton retour !

Ha beh perso je ne sais pas trop comment va évoluer ma disponibilité ces prochains mois, ni quels sont tes freins, mais ça pourrait m’amuser d’aider là dessus au démarrage.

Merci pour ta proposition et, idem de mon côté je ne connais pas trop ma disponibilité dans les prochaines semaines voire d’ici à cet été mais, ta proposition n’est pas tombée dans l’oreille d’un sourd !

Si tu devais me proposer un site pour me mettre dans le bain, quel serait ton 1er choix ?

A+

Beh ça dépend d’où tu part. Le tuto officiel de Django est très bien fait je trouve.
https://docs.djangoproject.com/fr/4.0/intro/

Il y a plein d’autres ressources mais je ne les ait pas pratiquées.

S’il faut se renforcer en Python, je n’ai pas trop de ressource à l’esprit. Mais utiliser Django ne fait pas appel à des concepts trop perchés, à ma connaissance. Il faut simplement maîtriser l’héritage et les MRO.

Je vous rejoins sur le meilleur outil c’est celui que tu maitrises. Je pense aussi que pour ce genre d’outil, avant même la technologie, se pose la question de la réception des utilisateurs. Donc perso j’investirais en premier lieu mon énergie là dessus : mettre le logiciel entre les mains de celles et ceux qui l’utiliseront, voir si ils le comprennent, voir si ils/elles gagnent du temps. Le plus important c’est d’observer utiliser en action, pas forcément de demander directement ce qu’il faudrait en plus/en moins.

Pour mettre en relief ça, j’ai vu un site ecommerce en Zend Framework 1 bati sur une base Microsoft Access, et ça marchait. Bref, je crois qu’on arrive toujours plus ou moins à se débrouiller, le plus dur étant, d’expérience, de comprendre le besoin dans toutes ses subtilités dans un premier temps, et de proposer un outil qui fasse gagner du temps comparé à la version manuelle dans un second temps. Réussir les 2 c’est déjà un bel exploit !

Après, si tu comptes faire évoluer ton outil (par exemple parce que tu as appris Python et que tu identifies certaines limitation techniques), j’aime beaucoup raisonner en termes de « chemin de migration ». Je ne sais pas si c’est réaliste, mais je sais que LibreOffice Base peut se connecter à des bases MySQL ou PostgreSQL en plus de son système local de base de données. Donc dans le cas où LibreOffice Base de base seul ne suffirait plus, tu pourrais commencé par explorer comment mettre certaines données sur un PostgreSQL ou MySQL, éventuellement si le besoin s’en fait sentir, tu peux faire un bout d’interface web qui accède ou modifie ces données (mais seulement partiellement pour pas tout recoder d’un coup) tout en conservant ton application historique libreoffice base. Et voilà, petit pas par petit pas, tu peux apporter des modifications à ton projet sans jamais tout chambouler et répondre au plus vite aux besoins de ton association. Dans ce modèle, ça veut aussi dire que tu peux faire des tests (essayer une interface web mais revenir en arrière, essayer une base de donnée distante pour un service pas important pour voir si ça marche, etc.)

Hello !

Sur la 1ère partie de ta réponse, je te rejoins : si ça fait le job, en moins de temps, avec moins d’erreurs et que c’est stable et maintenable alors : pari gagné !

Sur la 2ème partie (porter l’appli. sur une techno. plus démocratisée/moderne) c’est plus un challenge perso. ou bien une vraie volonté à partager l’outil avec d’autres, ce qui sous-entendrait que l’idée est bien née et que le fonctionnalités sont bien utiles… Et là, du coup, le fait de mélanger du LObase avec d’autres types de BdD n’aurait, à mon avis, que peu d’intérêt si ce n’est celui de s’arracher les cheveux pour faire un truc qui ne sera de toutes façons pas « partageable ».

Merci beaucoup pour ton retour !

Merci !

Bonjour,

Comme l’évoque @fabrice61, gérer les adhérents d’une association importante est extrèment chronophage, surtout sans outil numérique digne de ce nom.

Je me permet de réagir à ce sujet en venant faire de la pub pour le logiciel libre de gestion associatif dont je suis le principale contributeur: Diacamma Asso
Cet outil ne couvre pas tout les aspects évoqués mais quand même une grande partie.

Les 2 principales difficultés que j’ai avec ce projet:

  • Arriver à le faire connaitre
  • Construire une vrai communauté de déveleloppement.

Je serais bien sur ravis de pouvoir piloter une petite équipe de développeurs afin de faire évoluer l’outil dans le bon sens, aux services des associations.

2 Likes

Hello !

Bon je n’ai pas encore réussi à « maîtriser » l’aspect client/serveur, mais ça va venir…

Sinon, voilà ce que ça fait :