2026-05-31 23:57:49 -04:00
# Administration et exploitation
Statut: runbook opérationnel
Public: exploitants, sysadmin, exécutifs responsables
Dernière révision: 2026-06-01
## Vérifier l'état du service
Sur la VM:
```bash
2026-06-01 09:16:37 -04:00
systemctl status app
2026-05-31 23:57:49 -04:00
systemctl status nginx
```
Depuis le poste Ansible:
```bash
ansible-playbook ansible/verify.yml
```
## Vérifier l'API
```bash
curl http://127.0.0.1:8000/api/health
```
Réponse attendue:
```json
2026-06-01 09:16:37 -04:00
{"status":"ok","app":"App","version":"0.1.0"}
2026-05-31 23:57:49 -04:00
```
## Redémarrer
```bash
2026-06-01 09:16:37 -04:00
sudo systemctl restart app
2026-05-31 23:57:49 -04:00
sudo systemctl reload nginx
```
## Lire les journaux système
```bash
2026-06-01 09:16:37 -04:00
journalctl -u app -n 200 --no-pager
2026-05-31 23:57:49 -04:00
journalctl -u nginx -n 100 --no-pager
```
## Sauvegarder
Depuis le poste de contrôle:
```bash
ansible-playbook ansible/backup-now.yml
```
2026-06-01 07:40:30 -04:00
Le système produit deux niveaux de sauvegarde:
- une archive PostgreSQL complète de la base;
- une archive applicative par groupe, restaurable depuis le module sysadmin.
Le bouton `Sauvegarder` d'une tuile de groupe crée une archive immédiate de ce groupe. Le bouton `Restaurer` restaure seulement ce groupe et crée d'abord une sauvegarde de sécurité. Les sauvegardes contiennent des données personnelles et doivent être protégées.
2026-05-31 23:57:49 -04:00
## Redéployer
```bash
git pull
ansible-playbook ansible/site.yml
ansible-playbook ansible/verify.yml
```
## Installation vanille
Après installation sur une base vide:
- seul `Groupe Démonstration` est créé automatiquement;
- le compte `sysadmin` existe;
- le PIN initial est `0000` ;
- les données fictives servent à la formation.
## Gestion des groupes
1. Ouvrir l'application.
2. Sur la page de sélection des groupes, cliquer `Sysadmin` .
3. Entrer le PIN sysadmin.
4. Ouvrir `Gestion des groupes` .
Actions:
- créer un groupe;
- modifier un groupe;
- supprimer un groupe non protégé;
- réinitialiser un groupe avec le bouton `Réinit` ;
- réinitialiser les données fictives du groupe de démonstration.
## Problème de cache navigateur
Si un membre se fait déconnecter immédiatement ou ne voit pas les changements:
1. Tester en navigation privée.
2. Forcer le rafraîchissement.
3. Supprimer les données du site dans le navigateur.
4. Vérifier que le service worker PWA n'a pas conservé une ancienne version.
## Problème de connexion
Vérifier:
- bon groupe sélectionné;
- identifiant/courriel exact;
- PIN de 4 chiffres;
- membre actif;
- absence d'impersonification confuse;
- heure serveur raisonnable pour les tokens.
## Problème de trésorerie
Vérifier dans cet ordre:
1. Registre comptable.
2. Collectes et ventes non reçues.
3. Dépenses à traiter.
4. Contributions non débitées.
5. Mouvements de réserves.
6. Opérations bancaires.
Les soldes doivent être expliqués par les écritures, pas modifiés directement.
## Problème de permissions
Vérifier:
- affectations actives du membre;
- catégorie du poste;
- permissions du poste dans `Gestion des postes` ;
- présence du module dans `/api/accueil/` ;
- statut sysadmin si applicable.
## Reprise papier
Si l'application est indisponible:
1. Continuer la rencontre ou l'assemblée sur papier.
2. Identifier date, responsable, montants et décisions.
3. Faire adopter comme d'habitude si requis.
4. Ressaisir les données lorsque l'application revient.
5. Conserver les notes papier jusqu'à vérification.