164 lines
4.9 KiB
Markdown
164 lines
4.9 KiB
Markdown
# Runbook opérationnel — Groupe Méditation
|
|
|
|
## Opérations courantes
|
|
|
|
### Inviter un nouveau membre
|
|
1. Un membre de l'exécutif ouvre le module **G1 — Inviter**
|
|
2. Un code à 12 caractères est généré (expire 48h)
|
|
3. Le code est partagé en personne ou par SMS
|
|
4. Le nouveau membre ouvre l'app → Inscription → entre le code + prénom + nom + PIN
|
|
|
|
### Affecter un poste
|
|
1. Exécutif ouvre **G3 — Affecter les postes**
|
|
2. Sélectionne le membre et le poste
|
|
3. Le membre voit immédiatement ses nouvelles tuiles sur l'accueil
|
|
|
|
### Terminer un mandat
|
|
1. Exécutif ouvre **G4 — Terminer un mandat**
|
|
2. Sélectionne l'affectation active
|
|
3. Saisit une note de transition
|
|
4. Les permissions sont retirées instantanément
|
|
5. **Rappel** : les mandats ne se terminent jamais automatiquement
|
|
|
|
### Saisie hebdomadaire typique (pendant/après la réunion)
|
|
1. **Trésorier** : S1 (collecte) + S5 (dépenses si applicable)
|
|
2. **Animateur** : S4 (thème + annonces)
|
|
3. **Resp. jetons** : S2 (si anniversaire ou nouveau)
|
|
4. **Resp. littérature** : S3 (si vente)
|
|
|
|
### Réunion d'affaires mensuelle
|
|
1. **Secrétaire** : M2 (présences) → M1 (PV avec décisions)
|
|
2. **RSG** : M3 (rapport du district)
|
|
3. **Trésorier** : présente le rapport financier (C1)
|
|
4. Si vote nécessaire : **G6** (créer sondage) → **C6** (voter)
|
|
|
|
### Envoi trimestriel des contributions
|
|
1. **Trésorier** ouvre **M4 — Envoi contributions**
|
|
2. Mode « Calculer » : entre le surplus disponible → répartition auto
|
|
3. Mode « Enregistrer » : enregistre chaque envoi individuel
|
|
4. La config des % se fait dans **G8** (défaut 30/30/30/10)
|
|
|
|
---
|
|
|
|
## Gestion des rapports PDF
|
|
|
|
Les rapports sont disponibles dans **C1 — Rapports PDF** :
|
|
|
|
| Rapport | URL API | Contenu |
|
|
|---------|---------|---------|
|
|
| Financier mensuel | `/api/rapports/finances/{annee}/{mois}` | Collectes + dépenses + solde |
|
|
| Réunions du mois | `/api/rapports/reunions/{annee}/{mois}` | Liste des réunions + thèmes |
|
|
| Financier complet | `/api/rapports/financier-complet/{annee}/{mois}` | Collectes + dépenses + contributions + impayés |
|
|
|
|
---
|
|
|
|
## Surveillance
|
|
|
|
### Vérifier que l'application tourne
|
|
|
|
```bash
|
|
# Service FastAPI
|
|
sudo systemctl status groupe-meditation
|
|
|
|
# Test santé API
|
|
curl -s https://groupe-meditation.chezlepro.ca/api/health
|
|
|
|
# Logs temps réel
|
|
sudo journalctl -u groupe-meditation -f --no-pager
|
|
|
|
# NGINX
|
|
sudo systemctl status nginx
|
|
sudo tail -f /var/log/nginx/error.log
|
|
```
|
|
|
|
### Vérifier les sauvegardes
|
|
|
|
```bash
|
|
# Dernière sauvegarde
|
|
ls -la /var/backups/groupe-meditation/ | tail -5
|
|
|
|
# Tester une restauration (sur une base test)
|
|
createdb -U grpmed groupe_meditation_test
|
|
pg_restore -U grpmed -d groupe_meditation_test /var/backups/groupe-meditation/grpmed_DERNIER.dump
|
|
dropdb -U grpmed groupe_meditation_test
|
|
```
|
|
|
|
### Statistiques base de données
|
|
|
|
```bash
|
|
sudo -u postgres psql -d groupe_meditation -c "
|
|
SELECT schemaname, tablename, n_live_tup AS lignes
|
|
FROM pg_stat_user_tables
|
|
ORDER BY n_live_tup DESC;
|
|
"
|
|
```
|
|
|
|
---
|
|
|
|
## Opérations d'urgence
|
|
|
|
### L'API ne répond plus
|
|
|
|
```bash
|
|
sudo systemctl restart groupe-meditation
|
|
sudo journalctl -u groupe-meditation --since "5 minutes ago"
|
|
```
|
|
|
|
### Un membre a oublié son PIN
|
|
|
|
Pas de récupération en libre-service (par design — sécurité). L'exécutif doit :
|
|
1. Utiliser **G2 — Gérer les membres** pour désactiver le membre
|
|
2. Recréer une invitation **G1**
|
|
3. Le membre se réinscrit avec un nouveau PIN
|
|
|
|
### Droit à l'oubli (RGPD/Loi 25)
|
|
|
|
1. Exécutif ouvre **G2 — Gérer les membres**
|
|
2. Sélectionne le membre → **Droit à l'oubli**
|
|
3. Le système supprime les données personnelles
|
|
4. Les données historiques (collectes, PV) sont anonymisées (prénom remplacé)
|
|
|
|
### Restaurer la base après incident
|
|
|
|
```bash
|
|
sudo systemctl stop groupe-meditation
|
|
|
|
# Restaurer la dernière sauvegarde
|
|
sudo -u postgres dropdb groupe_meditation
|
|
sudo -u postgres createdb -O grpmed groupe_meditation
|
|
pg_restore -U grpmed -d groupe_meditation /var/backups/groupe-meditation/grpmed_DERNIER.dump
|
|
|
|
sudo systemctl start groupe-meditation
|
|
```
|
|
|
|
---
|
|
|
|
## Matrice des 27 modules par rôle
|
|
|
|
| Module | Trésorier | Secrétaire | RSG | Animateur | Litt. | Jetons | Tous |
|
|
|--------|:---------:|:----------:|:---:|:---------:|:-----:|:------:|:----:|
|
|
| C1-C7 Consultation | | | | | | | ✓ |
|
|
| S1 Collecte | ✓ | | | | | | |
|
|
| S2 Remise jeton | | | | | | ✓ | |
|
|
| S3 Vente litt. | | | | | ✓ | | |
|
|
| S4 Rapport réunion | | | | ✓ | | | |
|
|
| S5 Dépense | ✓ | | | | | | |
|
|
| M1 PV | | ✓ | | | | | |
|
|
| M2 Présences | | ✓ | | | | | |
|
|
| M3 Rapport RSG | | | ✓ | | | | |
|
|
| M4 Contributions | ✓ | | | | | | |
|
|
| M5 Inventaire | | | | | ✓ | | |
|
|
| M6 Commander jetons | | | | | | ✓ | |
|
|
| G1-G9 Gestion | ✓ | ✓ | ✓ | | | | |
|
|
|
|
---
|
|
|
|
## Contacts et références
|
|
|
|
- **aa87.org** — Site de la Région 87
|
|
- **BSG** — Bureau des Services généraux (aa.org)
|
|
- Documentation API : `https://groupe-meditation.chezlepro.ca/api/docs`
|
|
|
|
---
|
|
|
|
*«Nos leaders sont des serviteurs de confiance ; ils ne gouvernent pas.» — 2e Tradition*
|