Table des matières

Galette est une application web de gestion d’adhérents pour les associations. Galette est écrit en PHP et utilise une base de données MariaDB ou PostgreSQL. C’est un logiciel libre, sous licence GPL.

Depuis 2007 (voir ci-dessous l’histoire de Galette), Johan est le développeur, mainteneur et homme à tout faire. Des contributions externes ont toujours été régulièrement intégrées.

Le nom Galette est un acronyme pour « Gestionnaire d’Adhérents en Ligne Extrêmement Tarabiscoté mais Tellement Efficace ». Le mot « galette » peut également vouloir dire (populaire) « argent ».

Le projet

Depuis le début, il a été défini que l’axe principal du projet serait la gestion des adhérents et adhésions. La question par exemple d’inclure des notions de comptabilité a été évoquée, mais refusée, car trop éloignée à notre sens de cet axe (sans compter la charge supplémentaire que ça impliquerait en termes de développements et de maintenance).

Outre ce type de « limites », les fonctionnalités intégrées au cœur du logiciel se veulent le plus générique possible, ce afin de convenir au plus grand nombre. Certaines fonctionnalités plus spécifiques n’y ont pas leur place, mais peuvent en revanche être ajoutées par le biais du système des plugins : l’on peut ainsi depuis Galette gérer un club automobile ou utiliser un système de prêts d’objets.

Le système de gestion des tickets ainsi que le système de vote vous permettent d’influencer les futures fonctionnalités, mais vous pouvez bien entendu les ajouter vous-mêmes :-)

Un certain nombre de fonctionnalités demandées (lien avec des services tiers par exemple) auraient tout à fait leur place dans Galette, mais ce sont des tâches complexes pour lesquelles il n’a pour le moment pas été possible de dégager du temps.

De nouvelles fonctionnalités sont tout de même ajoutées régulièrement, faisant diminuer un peu la liste des choses à faire (qui ne cesse de grandir par ailleurs ;)).

Le projet n’a pas de cycle de sortie défini : « ça sort quand c’est prêt ». Toutefois, la sortie de versions correctives est faite assez régulièrement, soit lorsqu’un problème important est détecté, soit lorsque plusieurs problèmes ont déjà été réglés, ou encore si c’était demandé (ça n’est encore jamais arrivé).

Enfin, notez qu’une seule version majeure n’est supportée à la fois. Ainsi, depuis la sorte de Galette 0.9 ; la version 0.8 n’est plus supportée. La seule exception à cette règle, ce serait pour corriger une faille de sécurité, si toutefois la nouvelle majeure est assez récente. La question ne s’est posée qu’une seule foir pour le moment.

Ils utilisent Galette

La liste des utilisateurs de Galette peut être consultée sur notre application de télémétrie :) Enregistrez-vous si vous utilisez Galette !

Notez que vous pouvez également vous enregistrer depuis Galette (à partir de la version 0.9) ; ce qui vous permettra par la suite de modifier vos données.

Histoire de Galette

L’ALDIL, GULL de Lyon, se cherchait un système de gestion des adhérents (vers 2000 ~ 2001). Après avoir testé PhpLugMembers et quelques autres outils, rien ne convenait. Le président de l’ALDIL de l’époque (Loïs, aka GruiicK) a alors décidé de lancer un appel d’offre sur les listes de l’ALDIL.

Le premier projet, nommé GAELLE, est rapidement mort. Code un peu compliqué et developpeurs pas trés motivés/présents.

En 2003, Frédéric (aka Deelight) repart de zéro et commence à coder une appli jolie, sans prétention, et, comme il le disait lui-même à l’époque : « fait ce qu’on lui demande ».

La première version “stable” a du être la version 0.37b. Jusqu’en 2005, le projet évolue tranquillement, par l’ajout de nouvelles fonctionnalités, et par l’arrivé de nouveaux développeurs / traducteurs / relecteurs / béta-testeurs (merci à eux).

Début 2007, Johan (aka trashy) rejoint le projet. En mai, Loïs lui cède les “clefs du camion” et Johan prend la responsabilité du projet Galette.

Le projet est hébergé sur Gna! depuis 2004. Début 2005, un projet Galette a également été créé chez TuxFamily. Gna est en charge de l’hébergement du dépôt SVN, des listes de diffusion et des tracker ; tandis que TuxFamily se charge de l’hébergement du site web et des téléchargements.

Courant 2012, le code source du projet passe à Git ; l’hébergement des dépôts de fait chez Tuxfamily également. Le tracker Gna! est également abandonné.

Début 2017, les listes de diffusion passent également chez Tuxfamily, Gna ayant annoncé la fin de leurs bons et loyaux services.

Mail Originel

Ceci est le mail originel annonçant la création de Galette. Depuis, la liste Code de l’ALDIL a disparu, ses archives aussi. De même, le premier site wiki du projet a disparu aussi…

Message-ID: <033501c3afbf$e6f954a0$0200a8c0@deetanic>
From: Frédéric Jacquot <deelight _AT_ poulet.org>
To: <code _AT_ listes.aldil.org>
Subject: [Code] Une petite Galette pour la route ?
Date: Fri, 21 Nov 2003 00:41:58 +0100

Hello,

Comme je n'ai toujours pas posté ici concernant Galette, je le fais.
Comme il est assez tard, je serai bref, quitte à être plus bavard par la
suite :)

Tout est dispo sur le wiki de Galette (sources, un peu de doc, demo...) :
http://www.zopeuse.org/projets/galette/Wiki_galette/FrontPage

C'est certainement assez brut de décoffrage mais ça fait ce qu'on lui
demande. Si certains se sentent de fouiller un peu de le code pour voir s'il
peuvent y apporter leur touche personelle, n'hésitez pas à me le dire et je
mettrai les mains dans le camboui pour monter un CVS pour l'occasion si
nécessaire.

Comme le montre la Todolist du wiki, il reste pas mal de choses, notamment
essayer de tuner tout ça pour que ca tourne sur du PostgresSQL (j'utilise la
librairie ADODB donc à priori, on doit pouvoir y arriver sans trop de mal),
puisque c'est ce qui sera utilisé en définitif.

Actuellement, ça s'installe et sa tourne sans problème apparent sur du
MySQL.
Je serais vraiment content d'avoir des retours constructifs pour pouvoir
améliorer l'appli et plus globalement ma façon de coder.

Wiki, mail, forum... il y a le choix ;)

Deelight
----
ALDIL - Code (Code _AT_ listes.aldil.org)
https://listes.aldil.org/mailman/listinfo/code

D’où vient le nom Galette

Les membres de l’ALDIL ont longuement cherché un nom pour ce logiciel. Voici un rapide résumé.

Sachez qu’au final, Deelight (Développeur : Celui qui a raison) a choisi Galette, GruiicK (Président : Celui qui dit banco) a dit banco.

  TATMonMembre : Trafic Admin Threaders & Monitor of Members,
  GAMELL : Gestion et Administration des Membres En-Ligne de LUG,
  MAEL : Management et Administration En-ligne d'un Lug,
  SUGEM : Systeme Universel de Gestion En_ligne des Membres,
  SAGEM : Systeme d'Administration et de Gestion En ligne des Membres,
  SAGIMP : Systeme d'Administration Gestion Interactive des Membres en Php,
  ALP : Administration d'un Lug en Php,
  SCALP : Systeme Complet d' Administration d'un Lug en Php,
  LAT : Lug Administration ToolKit,
  SALUG : Systeme d'Administration LUG (<= acronyme déjà pris, LUG existant),
  AGMA : Aide à la Gestion de Membres d'Association,
  GIM : Gestion Interactive de Membres,
  SAL : Systeme d'Administration Libre,
  GAIA : Gestion Administration Interactive d'Association,
  SASGLUG : Systeme d'Administration Simplifié pour la Gestion d'un LUG,
  LUGDUNUM : LUG Data User NUmeric Manager (also the latin name of Lyon),
  LATeK : Lug Administration Tool e-Kit  (ou, e-ToolKit ?),
  LArT  : Lug Administration Tool  (spécial BOFH),
  SIGMA : Special Interests Groups Management Application,
  KATMANDOU : Kit d'Administration et Trésorerie des Membres d'Association Nonlucrative,
  GELA : Gestion En Ligne d'Association,
  GASEL : Gestion Administration Simplifiée En Ligne <= acronyme déjà pris (linux-nante),
  GASOL : Gestion Administration Simplifiée On-Line,
  GIM : Gestion Interactive de Membres,
  SAL : Systeme d'Administration Libre, qui assemblés donnent :
  SALGIM : Systeme d'Administration Libre de Gestion Interactive de Membres,
  GAIMA : Gestion Administration Interactive de Membres d'Association,
  GALETTE : Gestionnaire d'Adhérents en Ligne Extrèmement Tarabiscoté mais Tellement Efficace,
  GAELLE : Gestion d'Association En Ligne pour Lug Et autres,
  SELMA : Suivi En Ligne des Membres d'Associations,
  SALAMI : Systeme d'Administration en Ligne d'Association et ses Membres Interactifs,
  GALIA : Gestion et Administration L(inuxienne et) Interactive d'Association.

Fortunes

(section des fortunes mail/irc/etc, par ordre anti-chronologeek)

<trashy[m]> gniarf, me manque une trad : "**donate** to support" => "**donner** en soutien" ?
<GruiicK_> "pour soutenir", plutôt, si ça rentre
<GruiicK_> en un seul mot, j'ai "parrainer"
<GruiicK_> 3,4,5,8,100, 1
<GruiicK_> tic-toc-tic-toc-tic-toc
<GruiicK_> dong
<GruiicK_> 100+8 = 108
<GruiicK_> 108+5 = 113
<trashy[m]> t'as respiré de l'échappement de diesel pour rentrer ?
<GruiicK_> 113+1 = 114
<trashy[m]> 🤣🤣🤣
<GruiicK_> 114/3 = 38
<GruiicK_> 38+4 = 42
<GruiicK_> le compte est bon
<trashy[m]> 42! voilà!
<trashy[m]> :)
<GruiicK_> (https://www.langue-au-chat.fr/tricher-au-compte-est-bon/)
* trashy_ en panne d'inspi pour une annonce des 10 ans :'''''(
<GruiicK> pique un slogan à monoprix
<GruiicK> ou un martine cover generator
<GruiicK> elle a +/- tout le temps 10 ans, martine, non ?
<bohwaz_> lol
<GruiicK> moi, j'aime bien l'équipe marketing monoprix
<GruiicK> galette des rois : patisserie à suspense
<GruiicK> beurre doux : gouté et approuvé par le petit chaperon rouge
<GruiicK> "tout est dans le coup de roquette" (paquet de salade fragmentée, roquette)
<GruiicK> batonnets de crabe : une découverte majeure : le poisson-frite !
<GruiicK> bon, re-init passwd dc = ok
<GruiicK> et entre temps, j'ai oublié la modif que je voulais faire...
<GruiicK> deux neurones
<trashy_> mdr
<GruiicK> po grave, je brode avec ce qui existe sur le site de galette :)
* trashy savait pas que GruiicK faisait de la broderie...
<trashy> tu fais ça le dimanche, pour passer le temps ?
<trashy> et tu saurais en parler en public ? au cours d'un dîner par exemple ?
<trashy> ça va donner plus de visibilité aux fortunes, et ça, c'est hyper cool : on va pouvoir dire plein d'âneries :o]
* trashy va prendre son calmant.
<hertay> Trashy, dans https://galette.eu c'est toujours la 0755 qui est en téléchargement (lien) ;-)
<trashy_> c'est la faute à GruiicK ! :p
<GruiicK> mééé heu !!
<trashy_> :o)
<GruiicK> de toute façon, les codes numériques chown, c'est source d'erreur, il faut utiliser la convention ugo.
<GruiicK> "C'est qui ugo ?"
<trashy> un mec a édité une page du wiki de l'april en novembre pour spécifier que Galette n'était plus développé...
<trashy> je vais lui faire bouffer le listing des diffs que j'ai commité en novembre tiens ; ça lui apprendra. 
<trashy_> j'ai trouvé un slogan pour Galette : « Il y a un champ dynamique pour cela. » © :D
<GruiicK> bouahahahahaha
<GruiicK> adopté !
<trashy_> ^_^
--> LaoTseu (~alex@home.laotseu.org) has joined #galette
<LaoTseu> huhu ca existe :)
<GruiicK> LaoTseu: tu veux coder sur galette aussi ?
<LaoTseu> GruiicK: ouais on m'a dit que je pouvais devenir riche et celebre :)
<stephs> :))
<GruiicK> célèbre, ouais, riche, c'est pas prouvé
<LaoTseu> mais je pense qu'on s'est encore foutu de ma gueule
<stephs> GruiicK: sisi, avec des vierges à gros seins et tout et tout
<LaoTseu> :D
<GruiicK> hop, fortune
<stephs> :)
<-- Deelight has quit (Ping timeout: 480 seconds)
<-- stephs has quit (Ping timeout: 480 seconds)
<GruiicK> hé ben voilà, comme d'hab', j'suis tout seul face à la meute...
<Deelight> je me penche sur la modif sur la table des preferences
<stephS> penche toi pas trop non plus
<stephS> </je fais des blagues lourdes et j'assume>
<GruiicK> je log les fortunes et j'assume.
<Deelight> attention, j'assomme.
<GruiicK> Deelight: faudrait un lien direct vers la demo de galette sur la
          page d'accueil de gna
<-- Deelight has quit (Read error: No route to host)
<GruiicK> forcément, il se planque, le lâche :)
<stephS> Deelight: allez reviens il disait ca pour rire
<GruiicK> ben ça marche qd mm
<stephS> vivi, je dis juste au cas où zavions pas remarquer
<GruiicK> zavions vu
<stephS> zavions super fort alors :)
<GruiicK> et zavions supersonique
<GruiicK> j'essaie
<Deelight> :
<Deelight> )
<Deelight> (smiley ikea)
<GruiicK> ah, ikéa, je gère, ça donne ça : ":)"
<GruiicK> mais y'a pas les outils livrés, t'aura droit à une réclamation
<Deelight> :)
<Deelight> attends, la celebre clé alène
<Deelight>  ____|
<Deelight> |
<Deelight> voilà
<GruiicK> merci.
<Deelight> | | | | |
<Deelight> (les ptits machins en bois a mettre dans les ptits trous)
<stephS> tous des drogués.
<GruiicK> alleï, inauguration du fichier de fortune
<Deelight> :)
<stephS> ouiii :)

Outils utilisés

La gestion d’un projet comme Galette requiert qu’un certain nombre de solutions techniques soient mises en oeuvre : moyens de communication, hébergement du code source, gestion des tickets, …). Voici ce qui est utilisé :

Bien que ce ne soit pas un outil libre, Galette possède des miroirs officiels sur GitHub, pour plusieurs raisons :

  • l’espace est limité chez TuxFamily. En utilisant GitHub pour les branches de développement, on évite ainsi de grossir inutilement le dépôt Git principal,
  • beaucoup de gens ont un compte GitHub, très peu un compte TuxFamily,
  • proposer une modification est aisé pour les utilisateurs,
  • le système de revue est pratique,
  • pas besoin de gérer un service supplémentaire (la liste est déjà longue),
  • services d’intégration continue (les tests sont lancés à chaque commit),
  • l’interface web aide à chercher/naviguer dans le code, c’est moins évident avec le CGIT du dépôt officiel,
  • il n’est pas possible de créer des hooks git chez TuxFamily, or c’est utilisé pour mettre à jour les traductions et la documentation ainsi que pour lancer les tests :/
  1. depuis 2020. Le site était propulsé par Dotclear entre 2012 et 2020, et par dokuwiki avant 2012 

  2. depuis 2012. Avant cela, le système proposé par Gna! était utilisé 

  3. depuis 2017. Avant cela, les listes étaient gérées par Mailman chez Gna! jusqu’à la fermeture de leurs services 

  4. depuis 2012. Tout était sur le site web avant cette date 

  5. depuis 2019. Les traductions étaient gérées entièrement en local auparavant 

  6. depuis 2019. La documentation n’était disponible qu’en français avant cela