groupe-meditation/README.md

4.8 KiB
Raw Blame History

Groupe Méditation — Application PWA

District 87-16 · Région 87 · Alcooliques anonymes

Application mobile-first pour la gestion des groupes AA. 1 module = 1 tâche.

Architecture

Couche Technologie
Frontend React 18 + Vite (PWA installable)
UI Tailwind CSS (mobile-first)
État Zustand
Backend FastAPI (Python) async, 82 routes
DB PostgreSQL + SQLAlchemy async (23+ tables)
Auth JWT 30 jours + bcrypt 12 rounds (prénom + PIN)
PDF WeasyPrint
Serveur NGINX (statiques + reverse proxy HTTPS)

Modules

Consultation (C1-C7) — Tous les membres

  • C1 Rapports PDF — finances, PV, résolutions, rapport complet
  • C2 Événements à venir — anniversaires de sobriété et événements ad hoc du district
  • C4 Littérature — inventaire avec prix, alerte stock bas
  • C5 Décisions en cours — suivi des résolutions
  • C6 Votes ouverts — sondages de conscience de groupe, vote anonyme
  • C7 Mon profil — modifier, changer PIN, notifications
  • C8 Propositions — soumettre, seconder, voter (créables en tout temps)
  • C9 S'impliquer — postes vacants, candidatures

Saisie hebdomadaire (S1-S5)

  • S1 Collecte 7e Tradition — saisie le jour de réunion, confirmation par un second membre, historique mensuel avec totaux
  • S1T Trésorerie — soldes (banque + encaisse + disponible après réserves), réception des collectes et ventes de littérature, registre détaillé des transactions, opérations bancaires (dépôt/retrait/relevé)
  • S2 Remise de jeton — 9 types, historique
  • S3 Vente littérature — stock auto-décrémenté, montant à remettre au trésorier
  • S4 Rapport de réunion — thème + annonces
  • S5 Dépenses — 6 champs, engagements non débités, confirmation de débit par le trésorier

Saisie mensuelle (M1-M6)

  • M1 Rédiger PV — auto-renseigné depuis les propositions secondées, décisions structurées
  • M2 Présences réunion d'affaires
  • M3 Rapport RSG — template 3 sections
  • M4 Envoi contributions — somme disponible affichée par défaut, destinataire + montant + méthode
  • M5 Ajuster inventaire — +/−, ajout catalogue
  • M6 Commander jetons — état stock 30 jours

Gestion — Exécutif

  • G1 Inviter un membre — code 48h
  • G2 Gérer les membres — fiche complète, droit à l'oubli
  • G6 Lancer un sondage — oui/non, choix multiple, unanimité
  • G9 Paramètres du groupe — nom, horaire, adresse, format
  • G11 Gestion des mandats — affecter, terminer, planifier les rotations
  • G12 Gestion des postes — créer, abolir, candidatures, accès aux modules

Trésorerie

Le calcul des soldes repose sur le relevé bancaire mensuel :

  • Solde banque = dernier relevé + dépôts − retraits depuis le relevé
  • Disponible = solde banque − engagements non débités − réserves
  • Réserves = réserve prudente (500 $) + réserve anniversaire (20 $/mois)
  • Encaisse = collectes reçues + ventes remises − dépôts − dépenses cash

Toute dépense par chèque ou virement est un engagement. Le trésorier confirme le débit lorsque l'argent quitte effectivement le compte.

Propositions et résolutions

Les propositions peuvent être créées en tout temps par n'importe quel membre, sans nécessiter une réunion d'affaires. Le cycle est : proposée → secondée → votée (adoptée/rejetée). Lorsqu'adoptée, la proposition devient une résolution numérotée (RES-2026-001) et peut être associée à l'assemblée d'affaires lors du vote.

Le PV de la réunion d'affaires s'auto-renseigne depuis les propositions secondées en attente de vote.

Principes

  • Anonymat AA (12e Tradition) — prénom seul dans les écrans partagés
  • Pas d'administrateur (2e Tradition) — permissions = exécutif du groupe
  • Mandats manuels — aucune terminaison automatique
  • Zéro traçage — pas d'analytics, pas de cookies tiers
  • Hébergé au Québec — souveraineté numérique · 100 % logiciel libre

Fichiers

backend/          API FastAPI (Python)
  app/
    core/         Config, DB, sécurité
    models/       Modèles SQLAlchemy (23+ tables)
    routers/      Routes API (26 groupes)
    schemas/      Schémas Pydantic
frontend/         React + Vite + Tailwind
  src/
    pages/        33 pages
    stores/       Zustand + API helper
    components/   Composants réutilisables
deploy/           Service systemd, NGINX, seed, backup
docs/             DEPLOIEMENT.md, RUNBOOK.md

Documentation


«Nos leaders sont des serviteurs de confiance ; ils ne gouvernent pas.» — 2e Tradition