groupe-meditation/README.md

111 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
- [Guide utilisateur](docs/UTILISATEURS.md)
- [Déploiement Ansible](docs/ANSIBLE.md)
- [Runbook d'exploitation](docs/RUNBOOK.md)
---
*«Nos leaders sont des serviteurs de confiance ; ils ne gouvernent pas.» — 2e Tradition*