Skip to content

Le montant de la cotisation se règle, et s'affiche - #54

Merged
flocom merged 1 commit into
mainfrom
claude/remove-apel-sensitive-data-73l5iu
Sep 18, 2026
Merged

flocom merged 1 commit into
mainfrom
claude/remove-apel-sensitive-data-73l5iu

Conversation

@flocom

@flocom flocom commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Pourquoi

/rejoindre répondait « écrivez-nous, on vous le dit » à la première question d'un parent qui veut adhérer. C'était la seule réponse honnête possible : rien ne portait de tarif au niveau de l'association. membershipFeeCents n'existe que par adhérent et par année scolaire — c'est une recette constatée, pas un prix affiché.

Le réglage

Dans Configuration → La cotisation, trois champs :

Champ Rôle
Montant annuel En euros. Vide = rien de publié : la page renvoie au bureau, comme avant.
Ce que couvre la cotisation Par famille / par enfant / sans précision. Relève des statuts, donc varie d'une association à l'autre.
Comment régler Une phrase libre — seule façon de couvrir aussi bien un chèque remis en classe qu'un prélèvement sur la facture de scolarité.

null n'est pas 0. L'absence de réglage renvoie au bureau ; un montant à zéro annonce une adhésion gratuite. La contrainte SQL, la projection du service (membershipFeePublished), l'outil MCP et la page distinguent les deux — sans ça, une installation neuve afficherait « 0 € » à tous les parents.

L'écran de réglage affiche en permanence la phrase que liront les parents. C'est le seul moyen de voir qu'on a saisi 1800 pour 18 €.

Ce que ça change une fois renseigné

  • la carte « Adhérer » du premier écran affiche le montant à la place du RNA — c'est ce que le parent cherche, le RNA ne lui dit rien ;
  • le panneau « Devenir membre » le met en grand, avec la marche à suivre dessous ;
  • la puce sur ce que couvre la cotisation n'apparaît que si le bureau l'a précisé, et celle qui renvoie au bureau disparaît ;
  • l'écran de confirmation et les deux e-mails cessent de promettre d'annoncer un montant déjà publié ;
  • une nouvelle adhésion s'ouvre sur ce montant au lieu de 0,00 €.

npm et Node

Le journal de construction affichait npm notice New major version of npm available!. C'est du bruit — il est éteint par NPM_CONFIG_UPDATE_NOTIFIER.

Mais en allant voir, plus sérieux : l'image tournait sur Node 20, sorti du support le 30 avril 2026, donc sans correctif de sécurité. Passage à Node 22 (LTS active) dans le Dockerfile et les trois workflows. Aucun risque de compatibilité : toutes les constructions de vérification de cette session tournent déjà sous Node 22.

Vérifications

Sur une instance réelle, migration 0023 appliquée puis rejouée (idempotente) :

Cas Rendu
non publié « Le montant et la façon de régler sont fixés par l'association… écrivez-nous »
18 € par famille + note 18,00 € par famille + la note, puce « Une seule cotisation par famille… »
12,50 € par enfant, sans note 12,50 € par enfant, puce « La cotisation se compte par enfant scolarisé. »
0 € 0,00 € par famille — et pas le renvoi au bureau
  • enregistrement et aller-retour après rechargement : 25.50 / enfant / note conservés ;
  • l'aperçu attrape la saisie de 1800 (« 1 800,00 € par enfant ») ;
  • nouvel adhérent pré-rempli à 25.50 au lieu de 0.00 ;
  • les deux e-mails s'adaptent : le bureau lit « Indiquez-lui la marche à suivre pour régler » au lieu de « le montant de la cotisation de cette année et… » ;
  • aucun débordement horizontal de 320 à 1920 px ;
  • npx tsc --noEmit, npx eslint src --max-warnings=0, npm run build : verts.

À noter

Les adhésions ne remontent pas dans la comptabilité : accounting_entries n'a aucune clé vers un adhérent, et le service des adhérents n'importe rien de la compta. Ce réglage ne change rien à ça — c'est un sujet à part, signalé mais pas traité ici.

🤖 Generated with Claude Code

https://claude.ai/code/session_014SfQYBU4xXTeSEHKhHQXdD


Generated by Claude Code

/rejoindre répondait « écrivez-nous, on vous le dit » à la première
question d'un parent qui veut adhérer. C'était la seule réponse honnête :
rien ne portait de tarif au niveau de l'association — membershipFeeCents
n'existe que par adhérent et par année scolaire, c'est une recette
constatée, pas un prix affiché.

Trois réglages y répondent, dans Configuration → La cotisation :

- le montant annuel, en euros, laissé vide pour ne rien publier ;
- ce que la cotisation couvre — par famille, par enfant, ou sans
  précision — parce que cela relève des statuts et varie ;
- une phrase libre pour la marche à suivre, seule façon de couvrir aussi
  bien un chèque remis en classe qu'un prélèvement sur la facture de
  scolarité.

`null` n'est pas `0` : l'absence de réglage renvoie au bureau comme
aujourd'hui, tandis qu'un montant à zéro annonce une adhésion gratuite.
La contrainte, le schéma, l'outil MCP et la page distinguent les deux.

Ce que ça change une fois renseigné :

- la carte « Adhérer » du premier écran affiche le montant à la place du
  RNA — c'est ce que le parent cherche, le RNA ne lui dit rien ;
- le panneau « Devenir membre » le met en grand avec la marche à suivre ;
- la puce sur ce que couvre la cotisation n'apparaît que si le bureau l'a
  précisé, et celle qui renvoie au bureau disparaît ;
- l'écran de confirmation et les deux e-mails cessent de promettre
  d'annoncer un montant déjà publié ;
- une nouvelle adhésion s'ouvre sur ce montant au lieu de 0,00 €.

L'écran de réglage montre en permanence la phrase que liront les parents :
c'est le seul moyen de voir qu'on a saisi 1800 pour 18 €.

Au passage, l'avis de npm qui polluait les journaux de construction
(NPM_CONFIG_UPDATE_NOTIFIER) et, surtout, ce qu'il signalait vraiment :
l'image tournait sur Node 20, sorti du support le 30 avril 2026 et donc
sans correctif de sécurité. Passage à Node 22, la LTS active — c'est déjà
la version sur laquelle toutes les constructions de vérification tournent.

Vérifié sur une instance réelle, migration appliquée : les quatre cas
(non publié, 18 € par famille avec note, 12,50 € par enfant sans note,
0 € gratuit) rendent la bonne phrase, l'enregistrement fait l'aller-retour,
l'aperçu attrape la saisie de 1800, le pré-remplissage d'un nouvel
adhérent suit le réglage, les deux e-mails s'adaptent, et aucun
débordement de 320 à 1920 px.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014SfQYBU4xXTeSEHKhHQXdD
@flocom
flocom merged commit 2da4331 into main Sep 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants