146 lines
3.3 KiB
Markdown
146 lines
3.3 KiB
Markdown
# 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
|
|
systemctl status app
|
|
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
|
|
{"status":"ok","app":"App","version":"0.1.0"}
|
|
```
|
|
|
|
## Redémarrer
|
|
|
|
```bash
|
|
sudo systemctl restart app
|
|
sudo systemctl reload nginx
|
|
```
|
|
|
|
## Lire les journaux système
|
|
|
|
```bash
|
|
journalctl -u app -n 200 --no-pager
|
|
journalctl -u nginx -n 100 --no-pager
|
|
```
|
|
|
|
## Sauvegarder
|
|
|
|
Depuis le poste de contrôle:
|
|
|
|
```bash
|
|
ansible-playbook ansible/backup-now.yml
|
|
```
|
|
|
|
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.
|
|
|
|
## 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.
|