537 lines
28 KiB
Markdown
537 lines
28 KiB
Markdown
|
|
# Registre des regles metier
|
||
|
|
|
||
|
|
Ce document inventorie les regles metier connues de l'application en les
|
||
|
|
alignant sur le comportement reel du code. Il sert de reference pour les
|
||
|
|
developpements, les tests, les validations apres deploiement et les discussions
|
||
|
|
fonctionnelles.
|
||
|
|
|
||
|
|
Le registre ne liste pas les erreurs techniques generiques comme `objet
|
||
|
|
introuvable` quand elles ne portent pas une intention metier particuliere. Il
|
||
|
|
liste toutefois les droits d'acces, les contraintes de saisie, les transitions
|
||
|
|
d'etat, les invariants financiers et les protections de donnees.
|
||
|
|
|
||
|
|
Quand le comportement actuel ne correspond pas clairement a l'intention metier,
|
||
|
|
la regle est formulee selon le code et l'ecart est liste dans la section
|
||
|
|
`Ecarts connus et decisions requises`.
|
||
|
|
|
||
|
|
## Acces et identite
|
||
|
|
|
||
|
|
- RM-ACC-001 - Le compte `Sysadmin` est cree au deploiement initial avec le PIN
|
||
|
|
`0000`.
|
||
|
|
- RM-ACC-002 - Le compte `Sysadmin` a acces a tous les modules.
|
||
|
|
- RM-ACC-003 - Le compte `Sysadmin` ne peut pas etre desactive ni supprime.
|
||
|
|
- RM-ACC-004 - Seul `Sysadmin` peut impersonifier un autre membre.
|
||
|
|
- RM-ACC-005 - Une session impersonifiee conserve l'identite du sysadmin dans le
|
||
|
|
jeton.
|
||
|
|
- RM-ACC-006 - Un membre inactif ne peut pas ouvrir de session.
|
||
|
|
- RM-ACC-007 - Un token invalide, expire ou associe a un autre groupe est
|
||
|
|
refuse.
|
||
|
|
- RM-ACC-008 - Un PIN doit etre compose de quatre chiffres.
|
||
|
|
- RM-ACC-009 - L'identifiant de connexion, stocke dans la colonne `courriel`,
|
||
|
|
est unique dans un groupe.
|
||
|
|
- RM-ACC-010 - La connexion cherche l'identifiant sans tenir compte de la casse.
|
||
|
|
- RM-ACC-011 - Un jeton de session dure 30 jours par defaut.
|
||
|
|
- RM-ACC-012 - Un jeton de session dure 90 jours lorsque `se souvenir de moi`
|
||
|
|
est choisi.
|
||
|
|
- RM-ACC-013 - Les operations d'administration courante sont reservees aux
|
||
|
|
membres occupant un poste executif, sauf exception explicite.
|
||
|
|
- RM-ACC-014 - `Sysadmin` satisfait toutes les verifications de role.
|
||
|
|
|
||
|
|
## Invitations et inscriptions
|
||
|
|
|
||
|
|
- RM-INV-001 - Seul un executif peut generer une invitation.
|
||
|
|
- RM-INV-002 - Un code d'invitation est unique et comporte 12 caracteres
|
||
|
|
hexadecimaux.
|
||
|
|
- RM-INV-003 - Un code d'invitation expire selon la configuration serveur.
|
||
|
|
- RM-INV-004 - Un code d'invitation ne peut etre utilise qu'une seule fois.
|
||
|
|
- RM-INV-005 - Une inscription cree le membre dans le groupe lie a l'invitation.
|
||
|
|
- RM-INV-006 - Le prenom et le nom saisis a l'inscription sont normalises en
|
||
|
|
casse titre.
|
||
|
|
- RM-INV-007 - Le courriel saisi a l'inscription est normalise en minuscules.
|
||
|
|
- RM-INV-008 - Une inscription ouvre immediatement une session pour le nouveau
|
||
|
|
membre.
|
||
|
|
|
||
|
|
## Membres et postes
|
||
|
|
|
||
|
|
- RM-MEM-001 - Le prenom et le telephone d'un membre sont obligatoires.
|
||
|
|
- RM-MEM-002 - Un membre ne peut pas supprimer son propre compte par le droit a
|
||
|
|
l'oubli.
|
||
|
|
- RM-MEM-003 - Un membre peut modifier son profil personnel.
|
||
|
|
- RM-MEM-004 - Un changement de courriel doit conserver l'unicite dans le
|
||
|
|
groupe.
|
||
|
|
- RM-MEM-005 - Un changement de PIN exige l'ancien PIN.
|
||
|
|
- RM-MEM-006 - Un executif peut consulter les membres actifs du groupe.
|
||
|
|
- RM-MEM-007 - La desactivation d'un membre conserve son historique.
|
||
|
|
- RM-MEM-008 - Le droit a l'oubli anonymise le membre au lieu d'effacer les
|
||
|
|
donnees relationnelles.
|
||
|
|
- RM-MEM-009 - Le droit a l'oubli retire le prenom, le nom, le telephone, la date
|
||
|
|
d'abstinence et remplace le courriel par une adresse locale anonyme.
|
||
|
|
- RM-POS-001 - Les postes appartiennent a une categorie valide:
|
||
|
|
`executif`, `service` ou `physique`.
|
||
|
|
- RM-POS-002 - Une affectation active lie un membre, un poste et une date de
|
||
|
|
debut.
|
||
|
|
- RM-POS-003 - Une affectation directe creee par le module d'affectation produit
|
||
|
|
une decision adoptee de type `Nomination`.
|
||
|
|
- RM-POS-004 - Une nomination exige un proposeur et un secondeur actifs et
|
||
|
|
distincts.
|
||
|
|
- RM-POS-005 - Un poste deja affecte ne peut pas etre affecte une seconde fois
|
||
|
|
tant que l'affectation active existe.
|
||
|
|
- RM-POS-006 - Un poste doit etre aboli avant d'etre supprime definitivement.
|
||
|
|
- RM-POS-007 - Les permissions de modules sont associees aux postes.
|
||
|
|
- RM-POS-008 - Seul un executif peut creer, modifier, abolir, reactiver ou
|
||
|
|
supprimer un poste.
|
||
|
|
- RM-POS-009 - Un poste aboli n'apparait pas dans les listes ordinaires, sauf si
|
||
|
|
l'affichage des postes abolis est demande.
|
||
|
|
- RM-POS-010 - Le nom d'un poste est obligatoire.
|
||
|
|
- RM-POS-011 - Un membre peut postuler lui-meme sur un poste disponible.
|
||
|
|
- RM-POS-012 - Un membre ne peut pas postuler deux fois pour le meme poste.
|
||
|
|
- RM-POS-013 - Un executif peut proposer un autre membre pour un poste.
|
||
|
|
- RM-POS-014 - La proposition d'un autre membre ne peut pas viser le membre qui
|
||
|
|
fait la proposition; il doit alors utiliser sa propre candidature.
|
||
|
|
- RM-POS-015 - Une candidature ou nomination deja traitee ne peut plus etre
|
||
|
|
traitee de nouveau.
|
||
|
|
- RM-POS-016 - Le traitement direct d'une candidature acceptee cree une
|
||
|
|
affectation active.
|
||
|
|
- RM-POS-017 - Une candidature refusee conserve son statut `refusee`.
|
||
|
|
- RM-POS-018 - Une nomination refusee marque la candidature comme refusee.
|
||
|
|
- RM-POS-019 - Terminer un mandat met l'affectation au statut `termine` et
|
||
|
|
conserve la date de fin, la raison et le membre qui l'a terminee.
|
||
|
|
- RM-POS-020 - Les modules consultables par un membre dependent des permissions
|
||
|
|
associees a ses postes, avec acces complet pour `Sysadmin`.
|
||
|
|
- RM-POS-021 - Les permissions de modules accordees aux postes sont reconnues
|
||
|
|
par les verifications API des responsabilites specialisees.
|
||
|
|
|
||
|
|
## Reunions et dates
|
||
|
|
|
||
|
|
- RM-REU-001 - Les dates de reunion doivent correspondre au jour configure dans
|
||
|
|
les parametres du groupe.
|
||
|
|
- RM-REU-002 - Une reunion reguliere ne peut pas etre creee deux fois pour la
|
||
|
|
meme semaine ISO.
|
||
|
|
- RM-REU-003 - L'assemblee d'affaires mensuelle doit correspondre a l'ordre
|
||
|
|
configure: premiere, deuxieme, troisieme, quatrieme ou derniere reunion du
|
||
|
|
mois.
|
||
|
|
- RM-REU-004 - Les rapports de rencontre et d'assemblee sont consultables par
|
||
|
|
tous les membres.
|
||
|
|
- RM-REU-005 - La creation et la saisie des rapports de rencontre et
|
||
|
|
d'assemblee sont reservees aux executifs.
|
||
|
|
- RM-REU-006 - `Sysadmin` peut saisir des informations a posteriori en
|
||
|
|
specifiant la date.
|
||
|
|
- RM-REU-007 - Le jour de reunion configure dans le groupe pilote les dates
|
||
|
|
permises pour les collectes, rencontres et assemblees.
|
||
|
|
- RM-REU-008 - L'heure de reunion configuree bloque la saisie de collecte le
|
||
|
|
jour meme avant l'heure prevue, sauf pour `Sysadmin`.
|
||
|
|
- RM-REU-009 - Une rencontre hebdomadaire est de type `reguliere`.
|
||
|
|
- RM-REU-010 - Une assemblee d'affaires est de type `affaires`.
|
||
|
|
- RM-REU-011 - Une seule assemblee d'affaires peut exister pour un mois donne.
|
||
|
|
- RM-REU-012 - Les presences d'une assemblee peuvent etre resaisies; la nouvelle
|
||
|
|
saisie remplace les presences precedentes.
|
||
|
|
- RM-REU-013 - La saisie des presences d'assemblee est reservee au secretaire ou
|
||
|
|
a l'executif.
|
||
|
|
- RM-REU-014 - Le proces-verbal d'une assemblee est rattache a une reunion du
|
||
|
|
groupe.
|
||
|
|
- RM-REU-015 - La creation et la modification d'un proces-verbal sont reservees
|
||
|
|
au secretaire ou a l'executif.
|
||
|
|
- RM-REU-016 - L'adoption d'un proces-verbal exige un proposeur et un secondeur.
|
||
|
|
- RM-REU-017 - L'adoption d'un proces-verbal ajoute une decision d'adoption au
|
||
|
|
proces-verbal.
|
||
|
|
- RM-REU-018 - Un rapport RSG est reserve au RSG, au RSG substitut, a l'executif
|
||
|
|
ou a `Sysadmin`.
|
||
|
|
- RM-REU-019 - Les rotations futures et leur historique sont consultables par
|
||
|
|
les membres.
|
||
|
|
- RM-REU-020 - La planification ou la suppression d'une rotation est reservee aux
|
||
|
|
executifs.
|
||
|
|
|
||
|
|
## Collectes
|
||
|
|
|
||
|
|
- RM-COL-001 - La saisie d'une collecte est reservee aux executifs.
|
||
|
|
- RM-COL-002 - Une collecte ne peut pas etre saisie dans le futur, sauf par
|
||
|
|
`Sysadmin`.
|
||
|
|
- RM-COL-003 - La date d'une collecte doit etre une date de reunion, sauf par
|
||
|
|
`Sysadmin`.
|
||
|
|
- RM-COL-004 - La date de saisie proposee doit faire partie des 52 dernieres
|
||
|
|
rencontres sans collecte deja enregistree.
|
||
|
|
- RM-COL-005 - Il ne peut y avoir qu'une collecte par date.
|
||
|
|
- RM-COL-006 - Une collecte en attente peut etre modifiee; une collecte
|
||
|
|
confirmee ou recue ne le peut plus.
|
||
|
|
- RM-COL-007 - Le membre qui saisit une collecte ne peut pas confirmer son
|
||
|
|
propre montant.
|
||
|
|
- RM-COL-008 - Si le tresorier saisit ou confirme une collecte, la reception est
|
||
|
|
automatique.
|
||
|
|
- RM-COL-009 - Quand le tresorier recoit une collecte, la transaction comptable
|
||
|
|
utilise la date de la collecte.
|
||
|
|
- RM-COL-010 - Une collecte recue debite l'encaisse.
|
||
|
|
- RM-COL-011 - Une collecte saisie puis confirmee par un non-tresorier reste au
|
||
|
|
statut `confirmee` jusqu'a reception par le tresorier.
|
||
|
|
- RM-COL-012 - Le registre de tresorerie inclut les collectes recues.
|
||
|
|
- RM-COL-013 - Le module de collecte peut filtrer par mois, annee et statut.
|
||
|
|
- RM-COL-014 - Tous les montants de collecte participent aux soldes seulement
|
||
|
|
lorsqu'ils atteignent l'etat comptable approprie.
|
||
|
|
|
||
|
|
## Tresorerie
|
||
|
|
|
||
|
|
- RM-TRE-001 - Les soldes de tresorerie sont calcules a partir du registre
|
||
|
|
comptable.
|
||
|
|
- RM-TRE-002 - Le solde bancaire disponible est le solde en banque moins les
|
||
|
|
reserves actives et les engagements non debites.
|
||
|
|
- RM-TRE-003 - L'encaisse est consideree comme disponible.
|
||
|
|
- RM-TRE-004 - Un depot peut provenir de l'encaisse ou d'un don direct au compte
|
||
|
|
bancaire.
|
||
|
|
- RM-TRE-005 - Un depot depuis l'encaisse ne peut pas depasser l'encaisse
|
||
|
|
disponible.
|
||
|
|
- RM-TRE-006 - Un retrait bancaire ne peut pas depasser le solde en banque.
|
||
|
|
- RM-TRE-007 - Un retrait bancaire ne peut pas faire depasser le total des
|
||
|
|
reserves par rapport au solde en banque.
|
||
|
|
- RM-TRE-008 - Un releve bancaire ne peut pas etre inferieur au total des
|
||
|
|
reserves.
|
||
|
|
- RM-TRE-009 - Les transactions du registre sont affichees de la plus recente a
|
||
|
|
la plus ancienne.
|
||
|
|
- RM-TRE-010 - Le rapport PDF de tresorerie utilise l'etat des resultats du mois
|
||
|
|
precedent.
|
||
|
|
- RM-TRE-011 - Les positions de tresorerie du rapport PDF sont celles du dernier
|
||
|
|
jour du mois precedent.
|
||
|
|
- RM-TRE-012 - Les actions qui modifient la tresorerie sont reservees au
|
||
|
|
tresorier ou a l'executif.
|
||
|
|
- RM-TRE-013 - Les membres peuvent voir les elements a traiter, mais seuls les
|
||
|
|
executifs peuvent les confirmer.
|
||
|
|
- RM-TRE-014 - Une operation bancaire doit avoir un type parmi `depot`,
|
||
|
|
`retrait` ou `releve`.
|
||
|
|
- RM-TRE-015 - Une operation bancaire doit avoir un montant positif.
|
||
|
|
- RM-TRE-016 - Un depot direct de don debite la banque sans crediter l'encaisse.
|
||
|
|
- RM-TRE-017 - Un depot depuis l'encaisse debite la banque et credite l'encaisse.
|
||
|
|
- RM-TRE-018 - Un retrait credite la banque et debite l'encaisse.
|
||
|
|
- RM-TRE-019 - Un releve bancaire cree une correction de banque egale a l'ecart
|
||
|
|
entre le releve saisi et le solde bancaire courant.
|
||
|
|
- RM-TRE-020 - Le registre comptable conserve la source de chaque transaction
|
||
|
|
quand elle provient d'une table applicative.
|
||
|
|
- RM-TRE-021 - Le filtre du registre permet de restreindre par mois et par type
|
||
|
|
de transaction.
|
||
|
|
- RM-TRE-022 - Les ventes de litterature remises au tresorier debitent
|
||
|
|
l'encaisse.
|
||
|
|
- RM-TRE-023 - Les depenses payees creditent le compte utilise: banque ou
|
||
|
|
encaisse.
|
||
|
|
- RM-TRE-024 - Les contributions debitees creditent la banque.
|
||
|
|
|
||
|
|
## Reserves
|
||
|
|
|
||
|
|
- RM-RES-001 - Une reserve se cree avec un solde initial de zero.
|
||
|
|
- RM-RES-002 - Le montant d'une reserve ne se modifie pas directement.
|
||
|
|
- RM-RES-003 - Les variations de reserve passent par un virement de reserve.
|
||
|
|
- RM-RES-004 - Les virements de reserve sont historises.
|
||
|
|
- RM-RES-005 - Un virement ne peut pas avoir la meme source et la meme
|
||
|
|
destination.
|
||
|
|
- RM-RES-006 - Le solde disponible peut etre utilise comme source ou destination
|
||
|
|
de virement.
|
||
|
|
- RM-RES-007 - Un virement depuis le disponible ne peut pas depasser le
|
||
|
|
disponible bancaire.
|
||
|
|
- RM-RES-008 - Un virement depuis une reserve ne peut pas depasser le solde de
|
||
|
|
cette reserve.
|
||
|
|
- RM-RES-009 - Une reserve ne peut etre supprimee que si son solde est nul.
|
||
|
|
- RM-RES-010 - Une reserve supprimee est desactivee, pas effacee du registre.
|
||
|
|
- RM-RES-011 - La liste des reserves n'affiche que les reserves actives.
|
||
|
|
- RM-RES-012 - Le solde d'une reserve est calcule a partir des mouvements de
|
||
|
|
reserve, pas a partir d'une saisie manuelle.
|
||
|
|
- RM-RES-013 - Les mouvements de reserve apparaissent au registre.
|
||
|
|
- RM-RES-014 - Les mouvements de reserve conservent source, destination, montant,
|
||
|
|
type, note, createur et date de creation.
|
||
|
|
- RM-RES-015 - Le total des reserves actives ne doit jamais exceder le solde
|
||
|
|
bancaire.
|
||
|
|
- RM-RES-016 - Le disponible n'est pas une reserve; il est calcule comme solde
|
||
|
|
bancaire moins reserves et engagements.
|
||
|
|
|
||
|
|
## Depenses
|
||
|
|
|
||
|
|
- RM-DEP-001 - Un membre ordinaire ne peut soumettre une depense qu'en son nom.
|
||
|
|
- RM-DEP-002 - Un executif peut soumettre une depense au nom d'un autre membre
|
||
|
|
actif.
|
||
|
|
- RM-DEP-003 - Seul `Sysadmin` peut saisir une date de depense a posteriori.
|
||
|
|
- RM-DEP-004 - Une depense soumise doit etre traitee par le tresorier ou un
|
||
|
|
executif.
|
||
|
|
- RM-DEP-005 - Une depense par encaisse est payee immediatement si l'encaisse le
|
||
|
|
permet.
|
||
|
|
- RM-DEP-006 - Une depense par cheque ou virement devient un engagement en
|
||
|
|
attente de debit.
|
||
|
|
- RM-DEP-007 - Une depense bancaire ne peut pas etre engagee si le disponible
|
||
|
|
bancaire est insuffisant.
|
||
|
|
- RM-DEP-008 - Le debit final d'une depense bancaire ne peut pas faire depasser
|
||
|
|
les reserves par rapport au solde en banque.
|
||
|
|
- RM-DEP-009 - Une depense soumise non traitee peut etre rejetee.
|
||
|
|
- RM-DEP-010 - Une depense deja traitee ne peut plus etre rejetee.
|
||
|
|
- RM-DEP-011 - Les modes valides de traitement d'une depense sont `COLLECTE`,
|
||
|
|
`CHEQUE` et `VIREMENT`.
|
||
|
|
- RM-DEP-012 - Une depense deja traitee ne peut pas etre traitee de nouveau.
|
||
|
|
- RM-DEP-013 - Une depense deja payee ne peut pas faire l'objet d'une
|
||
|
|
confirmation de debit.
|
||
|
|
- RM-DEP-014 - Seules les depenses par cheque ou virement necessitent une
|
||
|
|
confirmation de debit bancaire.
|
||
|
|
- RM-DEP-015 - Une preuve de depense peut etre jointe et conservee dans le
|
||
|
|
repertoire des preuves.
|
||
|
|
- RM-DEP-016 - Rejeter une depense supprime aussi son fichier de preuve s'il
|
||
|
|
existe.
|
||
|
|
- RM-DEP-017 - La liste des depenses peut etre filtree selon payee/non payee et
|
||
|
|
confirmee/non confirmee.
|
||
|
|
- RM-DEP-018 - Modifier une depense est reserve au tresorier ou a l'executif.
|
||
|
|
- RM-DEP-019 - Modifier la methode d'une depense exige une methode valide.
|
||
|
|
|
||
|
|
## Contributions
|
||
|
|
|
||
|
|
- RM-CON-001 - Une contribution est une decision de groupe de type
|
||
|
|
`Contribution`.
|
||
|
|
- RM-CON-002 - Une contribution exige un proposeur et un secondeur actifs et
|
||
|
|
distincts.
|
||
|
|
- RM-CON-003 - Le destinataire `District 87-16` existe au deploiement initial.
|
||
|
|
- RM-CON-004 - Le destinataire `District 87-16` est protege contre la
|
||
|
|
modification et la suppression.
|
||
|
|
- RM-CON-005 - Une contribution devient un engagement tant que le debit bancaire
|
||
|
|
n'est pas confirme.
|
||
|
|
- RM-CON-006 - Le debit final d'une contribution ne peut pas depasser le solde en
|
||
|
|
banque.
|
||
|
|
- RM-CON-007 - Le debit final d'une contribution ne peut pas faire depasser les
|
||
|
|
reserves par rapport au solde en banque.
|
||
|
|
- RM-CON-008 - Une contribution doit avoir un montant positif.
|
||
|
|
- RM-CON-009 - Les modes valides de contribution sont `DU`, `VIREMENT` et
|
||
|
|
`CHEQUE`.
|
||
|
|
- RM-CON-010 - La destination d'une contribution doit etre un destinataire actif
|
||
|
|
du groupe.
|
||
|
|
- RM-CON-011 - Un destinataire de contribution est unique par nom dans un groupe.
|
||
|
|
- RM-CON-012 - Un destinataire supprime est desactive, pas efface.
|
||
|
|
- RM-CON-013 - Le calcul de repartition utilise la configuration active du
|
||
|
|
groupe ou la repartition par defaut.
|
||
|
|
- RM-CON-014 - Les destinations de repartition manquantes sont completees a
|
||
|
|
zero.
|
||
|
|
- RM-CON-015 - La configuration de repartition est reservee aux executifs.
|
||
|
|
- RM-CON-016 - Le total d'une repartition doit etre exactement 100 %, avec une
|
||
|
|
tolerance de 0,01.
|
||
|
|
- RM-CON-017 - Les destinations de repartition valides sont `district`,
|
||
|
|
`region`, `bsg` et `intergroupe`.
|
||
|
|
- RM-CON-018 - Un pourcentage de repartition ne peut pas etre negatif.
|
||
|
|
- RM-CON-019 - Une contribution cree automatiquement une decision adoptee de
|
||
|
|
type `Contribution`.
|
||
|
|
- RM-CON-020 - `Sysadmin` peut utiliser la date d'envoi comme date de decision;
|
||
|
|
les autres membres utilisent la date du jour.
|
||
|
|
|
||
|
|
## Gouvernance
|
||
|
|
|
||
|
|
- RM-GOU-001 - Une proposition ne stocke pas de type metier dedie.
|
||
|
|
- RM-GOU-002 - Une proposition exige un objet.
|
||
|
|
- RM-GOU-003 - Une proposition peut etre secondee par un autre membre.
|
||
|
|
- RM-GOU-004 - Un membre ne peut pas seconder sa propre proposition.
|
||
|
|
- RM-GOU-005 - Un executif peut seconder une proposition au nom d'un autre
|
||
|
|
membre actif.
|
||
|
|
- RM-GOU-006 - Seule une proposition secondee peut etre transformee en decision.
|
||
|
|
- RM-GOU-007 - Transformer une proposition en resolution exige les sections
|
||
|
|
`ETANT DONNE QUE` et `LE GROUPE A DECIDE DE`.
|
||
|
|
- RM-GOU-008 - Une resolution adoptee recoit un numero avec le prefixe `RES`.
|
||
|
|
- RM-GOU-009 - Une nomination adoptee recoit le prefixe `NOM`.
|
||
|
|
- RM-GOU-010 - Une contribution adoptee recoit le prefixe `DON`.
|
||
|
|
- RM-GOU-011 - Une proposition rejetee est conservee.
|
||
|
|
- RM-GOU-012 - Rejeter une proposition exige la section `ETANT DONNE QUE`.
|
||
|
|
- RM-GOU-013 - Le rapport des resolutions affiche les decisions prises en
|
||
|
|
groupe.
|
||
|
|
- RM-GOU-014 - Une proposition peut etre rattachee a une reunion existante du
|
||
|
|
groupe.
|
||
|
|
- RM-GOU-015 - Une proposition a l'etat initial `proposee`.
|
||
|
|
- RM-GOU-016 - Seule une proposition a l'etat `proposee` peut etre secondee.
|
||
|
|
- RM-GOU-017 - Seules les propositions aux statuts `proposee` ou `secondee`
|
||
|
|
peuvent etre rejetees.
|
||
|
|
- RM-GOU-018 - Une proposition adoptee conserve la date d'adoption.
|
||
|
|
- RM-GOU-019 - Le type d'une decision est derive du prefixe de son numero
|
||
|
|
(`RES`, `NOM`, `DON`) ou de son lien metier.
|
||
|
|
- RM-GOU-020 - Une nomination adoptee peut accepter automatiquement la
|
||
|
|
candidature liee.
|
||
|
|
- RM-GOU-021 - Une nomination rejetee peut refuser automatiquement la
|
||
|
|
candidature liee.
|
||
|
|
- RM-GOU-022 - L'historique des resolutions peut etre filtre par annee et par
|
||
|
|
type.
|
||
|
|
- RM-GOU-023 - Les decisions adoptees sont ordonnees par date de vote/adoption
|
||
|
|
decroissante dans l'historique.
|
||
|
|
|
||
|
|
## Rapports PDF et rapports de consultation
|
||
|
|
|
||
|
|
- RM-RAP-001 - La generation PDF exige que le moteur PDF serveur soit installe.
|
||
|
|
- RM-RAP-002 - Le mois d'un rapport financier doit etre entre 1 et 12.
|
||
|
|
- RM-RAP-003 - Le rapport des resolutions n'affiche pas de colonne de resultat.
|
||
|
|
- RM-RAP-004 - La description du rapport des resolutions est `Decisions prises
|
||
|
|
en Groupe`.
|
||
|
|
- RM-RAP-005 - Dans le rapport des resolutions, la colonne `Resolution` affiche
|
||
|
|
`LE GROUPE A DECIDE DE` lorsque ce champ est renseigne.
|
||
|
|
- RM-RAP-006 - Le sommaire final du rapport des resolutions est retire.
|
||
|
|
- RM-RAP-007 - Le rapport de tresorerie presente un etat des resultats mensuel,
|
||
|
|
les positions de tresorerie et les reserves.
|
||
|
|
- RM-RAP-008 - Les rapports de rencontre et d'assemblee sont concus pour etre
|
||
|
|
imprimables en format lettre.
|
||
|
|
- RM-RAP-009 - Les rapports consultables ne doivent pas exiger un poste
|
||
|
|
executif, sauf pour leur creation ou modification.
|
||
|
|
|
||
|
|
## Litterature et jetons
|
||
|
|
|
||
|
|
- RM-LIT-001 - La gestion du catalogue de litterature est reservee au
|
||
|
|
responsable de la litterature ou a l'executif.
|
||
|
|
- RM-LIT-002 - Une vente de litterature exige une quantite positive.
|
||
|
|
- RM-LIT-003 - Une vente ne peut pas depasser le stock disponible.
|
||
|
|
- RM-LIT-004 - Le stock de litterature ne peut pas devenir negatif.
|
||
|
|
- RM-LIT-005 - L'inventaire initial de litterature est charge depuis
|
||
|
|
`data/import/Liste-de-prix-rev.-Fevrier-2026.csv`.
|
||
|
|
- RM-LIT-006 - Les categories valides de litterature sont `livre`, `brochure`,
|
||
|
|
`depliant` et `pamphlet`.
|
||
|
|
- RM-LIT-007 - Ajouter ou modifier un titre exige une categorie valide.
|
||
|
|
- RM-LIT-008 - L'inventaire est visible aux membres connectes.
|
||
|
|
- RM-LIT-009 - Une vente de litterature non remise reste a recevoir par le
|
||
|
|
tresorier.
|
||
|
|
- RM-LIT-010 - Une vente de litterature deja remise ne peut pas etre recue une
|
||
|
|
seconde fois.
|
||
|
|
- RM-JET-001 - La gestion des jetons est reservee au responsable des jetons ou a
|
||
|
|
l'executif.
|
||
|
|
- RM-JET-002 - Un type de jeton doit faire partie des types permis.
|
||
|
|
- RM-JET-003 - Un jeton `multiple` exige un nombre d'annees d'au moins 2.
|
||
|
|
- RM-JET-004 - Un jeton peut etre rattache a un membre actif ou etre enregistre
|
||
|
|
sans membre.
|
||
|
|
- RM-JET-005 - Le stock de jetons est estime a partir des remises des 30 derniers
|
||
|
|
jours.
|
||
|
|
- RM-JET-006 - Une suggestion de commande est emise si au moins deux jetons d'un
|
||
|
|
type ont ete remis dans les 30 derniers jours.
|
||
|
|
- RM-JET-007 - Le jeton de desir est a surveiller si au moins quatre ont ete
|
||
|
|
remis dans les 30 derniers jours.
|
||
|
|
|
||
|
|
## Evenements et calendrier
|
||
|
|
|
||
|
|
- RM-EVE-001 - Les evenements affiches incluent les anniversaires de sobriete et
|
||
|
|
les evenements ad hoc.
|
||
|
|
- RM-EVE-002 - Les anniversaires de sobriete sont calcules pour tous les membres
|
||
|
|
actifs du district.
|
||
|
|
- RM-EVE-003 - Un anniversaire du 29 fevrier est ramene au 1er mars pour les
|
||
|
|
annees non bissextiles.
|
||
|
|
- RM-EVE-004 - Les evenements passes et futurs peuvent etre retournes selon les
|
||
|
|
bornes demandees.
|
||
|
|
- RM-EVE-005 - Les evenements ad hoc sont visibles par les membres du district.
|
||
|
|
- RM-EVE-006 - La creation et la suppression d'un evenement ad hoc sont reservees
|
||
|
|
aux executifs.
|
||
|
|
- RM-EVE-007 - Les evenements sont tries par date croissante.
|
||
|
|
|
||
|
|
## Journal et notifications
|
||
|
|
|
||
|
|
- RM-JOU-001 - Les requetes authentifiees qui modifient des donnees sont
|
||
|
|
journalisees.
|
||
|
|
- RM-JOU-002 - Lorsqu'un sysadmin impersonifie un membre, le journal conserve
|
||
|
|
l'identite du membre agissant et de l'admin.
|
||
|
|
- RM-NOT-001 - Les notifications push sont optionnelles et dependent de la
|
||
|
|
configuration VAPID.
|
||
|
|
- RM-NOT-002 - Un abonnement push invalide ou expire peut etre retire
|
||
|
|
automatiquement.
|
||
|
|
- RM-NOT-003 - Un membre peut enregistrer, consulter et supprimer son propre
|
||
|
|
abonnement push.
|
||
|
|
- RM-NOT-004 - Les notifications ne peuvent pas etre activees si le serveur n'a
|
||
|
|
pas de configuration VAPID.
|
||
|
|
- RM-JOU-003 - Le journal est reserve aux executifs.
|
||
|
|
- RM-JOU-004 - Les requetes `GET`, `HEAD` et `OPTIONS` ne sont pas journalisees
|
||
|
|
comme actions modificatrices.
|
||
|
|
- RM-JOU-005 - Le journal n'enregistre pas le corps des requetes; il conserve la
|
||
|
|
methode, le chemin, le statut HTTP, l'adresse IP, le user-agent et les
|
||
|
|
parametres de requete non sensibles.
|
||
|
|
|
||
|
|
## Parametres et donnees initiales
|
||
|
|
|
||
|
|
- RM-PAR-001 - La modification des parametres du groupe est reservee aux
|
||
|
|
executifs.
|
||
|
|
- RM-PAR-002 - Les ordres valides d'assemblee d'affaires sont `premiere`,
|
||
|
|
`deuxieme`, `troisieme`, `quatrieme` et `derniere`.
|
||
|
|
- RM-PAR-003 - Une heure de reunion invalide est ignoree et retire l'heure
|
||
|
|
configuree.
|
||
|
|
- RM-PAR-004 - Le deploiement initial cree le groupe `Groupe Meditation` avec le
|
||
|
|
district `87-16` et la region `87`.
|
||
|
|
- RM-PAR-005 - Le deploiement initial cree les postes de base du groupe.
|
||
|
|
- RM-PAR-006 - Le deploiement initial cree une invitation pour les prochains
|
||
|
|
membres.
|
||
|
|
- RM-PAR-007 - Le deploiement initial cree le destinataire de contribution
|
||
|
|
protege `District 87-16`.
|
||
|
|
- RM-PAR-008 - Le deploiement initial charge le catalogue de litterature depuis
|
||
|
|
`data/import` quand le fichier normalise est present.
|
||
|
|
|
||
|
|
## Transitions d'etat
|
||
|
|
|
||
|
|
| Domaine | Etat initial | Transition | Etat final | Condition |
|
||
|
|
| --- | --- | --- | --- | --- |
|
||
|
|
| Proposition | `proposee` | Seconder | `secondee` | Secondeur distinct du proposeur |
|
||
|
|
| Proposition | `secondee` | Adopter | `adoptee` | Executif, sections decisionnelles remplies |
|
||
|
|
| Proposition | `proposee` ou `secondee` | Rejeter | `rejetee` | Executif, section `ETANT DONNE QUE` remplie |
|
||
|
|
| Collecte | `en_attente` | Confirmer | `confirmee` | Confirmateur distinct du saisisseur |
|
||
|
|
| Collecte | `en_attente` ou `confirmee` | Recevoir | `recu` | Tresorier ou executif |
|
||
|
|
| Depense | Soumise | Traiter en encaisse | Payee | Encaisse suffisante |
|
||
|
|
| Depense | Soumise | Traiter par cheque/virement | Engagee | Disponible bancaire suffisant |
|
||
|
|
| Depense | Engagee | Confirmer debit | Payee | Banque suffisante et reserves preservees |
|
||
|
|
| Depense | Soumise | Rejeter | Supprimee | Non traitee |
|
||
|
|
| Contribution | Creee | Enregistrer | Engagee | Decision `DON` creee |
|
||
|
|
| Contribution | Engagee | Confirmer debit | Debitee | Banque suffisante et reserves preservees |
|
||
|
|
| Candidature | `proposee` | Retirer | `retiree` | Par le membre candidat |
|
||
|
|
| Candidature | `proposee` | Refuser | `refusee` | Executif ou membre nomine |
|
||
|
|
| Candidature | `proposee` | Accepter | `acceptee` | Decision `NOM` et affectation creees |
|
||
|
|
| Affectation | `actif` | Terminer | `termine` | Executif |
|
||
|
|
|
||
|
|
## Matrice des permissions par module
|
||
|
|
|
||
|
|
| Module | Consultation | Creation / saisie | Modification / confirmation | Suppression |
|
||
|
|
| --- | --- | --- | --- | --- |
|
||
|
|
| Accueil | Membre connecte | - | - | - |
|
||
|
|
| Profil | Membre connecte | Membre connecte | Son propre profil | - |
|
||
|
|
| Gestion des membres | Executif | Executif | Executif | Executif, sauf Sysadmin et soi-meme |
|
||
|
|
| Parametres groupe | Membre connecte | - | Executif | - |
|
||
|
|
| Journal | Executif | Automatique | - | - |
|
||
|
|
| Gouvernance | Membre connecte | Membre connecte | Executif pour adopter/rejeter | - |
|
||
|
|
| Postes a pourvoir | Membre connecte | Membre connecte | Membre concerne / executif selon action | Retrait par candidat |
|
||
|
|
| Gestion des postes | Membre connecte pour lister | Executif | Executif | Executif |
|
||
|
|
| Gestion des mandats | Membre connecte pour ses mandats | Executif | Executif | - |
|
||
|
|
| Rencontre hebdomadaire | Membre connecte | Executif | Executif | - |
|
||
|
|
| Assemblee d'affaires | Membre connecte | Secretaire ou executif | Secretaire ou executif | - |
|
||
|
|
| PV | Membre connecte | Secretaire ou executif | Secretaire ou executif | - |
|
||
|
|
| Rapport RSG | Membre connecte | RSG, RSG substitut ou executif | RSG, RSG substitut ou executif | - |
|
||
|
|
| Collecte 7e | Executif | Executif | Executif / tresorier selon etape | - |
|
||
|
|
| Tresorerie | Membre connecte | Tresorier ou executif | Tresorier ou executif | Tresorier ou executif selon action |
|
||
|
|
| Depense | Membre connecte | Membre connecte | Tresorier ou executif | Tresorier ou executif si non traitee |
|
||
|
|
| Donner au suivant | Tresorier ou executif | Tresorier ou executif | Tresorier ou executif | Tresorier ou executif pour destinataires non proteges |
|
||
|
|
| Litterature | Membre connecte | Responsable litterature ou executif | Responsable litterature ou executif | - |
|
||
|
|
| Vente litterature | Membre connecte | Responsable litterature ou executif | Tresorier ou executif pour reception | - |
|
||
|
|
| Jetons | Membre connecte | Responsable jetons ou executif | Responsable jetons ou executif | - |
|
||
|
|
| Evenements | Membre connecte | Executif | Executif | Executif |
|
||
|
|
| Rapports PDF | Membre connecte | Serveur | - | - |
|
||
|
|
|
||
|
|
`Sysadmin` a tous les acces.
|
||
|
|
|
||
|
|
## Glossaire financier
|
||
|
|
|
||
|
|
- Banque - Solde du compte bancaire selon le registre comptable.
|
||
|
|
- Encaisse - Argent liquide detenu par le groupe.
|
||
|
|
- Reserve - Portion du solde bancaire affectee a un usage precis.
|
||
|
|
- Engagement non debite - Montant approuve mais pas encore sorti du compte
|
||
|
|
bancaire.
|
||
|
|
- Disponible bancaire - Banque moins reserves actives moins engagements non
|
||
|
|
debites.
|
||
|
|
- Disponible total - Disponible bancaire plus encaisse.
|
||
|
|
- Transaction comptable - Ligne du registre qui modifie un compte financier.
|
||
|
|
- Mouvement de reserve - Virement virtuel entre le disponible et une reserve, ou
|
||
|
|
entre deux reserves.
|
||
|
|
- Etat des resultats - Revenus moins charges pour un mois donne.
|
||
|
|
- Position de tresorerie - Situation banque, encaisse, reserves et engagements a
|
||
|
|
une date donnee.
|
||
|
|
|
||
|
|
## Ecarts connus et decisions requises
|
||
|
|
|
||
|
|
Cette section liste les zones ou la regle metier souhaitee, la documentation et
|
||
|
|
le comportement reel ne sont pas encore parfaitement alignes. Ces points doivent
|
||
|
|
etre corriges dans le code ou clarifies comme decisions fonctionnelles.
|
||
|
|
|
||
|
|
- ECART-001 - La colonne `membres.courriel` sert maintenant aussi
|
||
|
|
d'identifiant de connexion, notamment pour `sysadmin`. Le profil protege
|
||
|
|
maintenant l'identifiant `sysadmin`, mais certains ecrans parlent toujours de
|
||
|
|
courriel. Decision requise: conserver un vrai courriel ou renommer/modeliser
|
||
|
|
un identifiant distinct.
|
||
|
|
- ECART-002 - L'adoption d'un proces-verbal exige actuellement un proposeur et
|
||
|
|
un secondeur en texte libre, pas des `membre_id`. Decision requise: garder une
|
||
|
|
mention textuelle historique ou exiger des membres actifs comme pour les
|
||
|
|
decisions.
|
||
|
|
- ECART-003 - Certaines contraintes metier sont uniquement appliquees dans le
|
||
|
|
code applicatif et pas par des contraintes SQL, par exemple les montants
|
||
|
|
positifs, le stock non negatif et plusieurs transitions d'etat. C'est
|
||
|
|
acceptable pour l'instant, mais les tests doivent couvrir ces invariants.
|
||
|
|
- ECART-004 - Les rapports PDF et certaines listes utilisent encore des logiques
|
||
|
|
de date dispersees. Les regles mensuelles sont documentees, mais elles
|
||
|
|
devraient etre couvertes par des tests pour eviter les divergences.
|