Le montant de la cotisation se règle, et s'affiche - #54
Merged
Merged
Conversation
/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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pourquoi
/rejoindreré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.membershipFeeCentsn'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 :
nulln'est pas0. 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é
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 parNPM_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
Dockerfileet 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
0023appliquée puis rejouée (idempotente) :18,00 € par famille+ la note, puce « Une seule cotisation par famille… »12,50 € par enfant, puce « La cotisation se compte par enfant scolarisé. »0,00 € par famille— et pas le renvoi au bureau25.50/enfant/ note conservés ;1800(« 1 800,00 € par enfant ») ;25.50au lieu de0.00;npx tsc --noEmit,npx eslint src --max-warnings=0,npm run build: verts.À noter
Les adhésions ne remontent pas dans la comptabilité :
accounting_entriesn'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