97 lines
2.5 KiB
Markdown
97 lines
2.5 KiB
Markdown
|
|
# Validation automatisée
|
||
|
|
|
||
|
|
Statut: runbook de validation
|
||
|
|
Public: testeurs, mainteneurs, sysadmin
|
||
|
|
Dernière révision: 2026-06-02
|
||
|
|
|
||
|
|
Ce document explique comment automatiser la validation sans remplacer le jugement humain nécessaire pour l'acceptabilité, la lisibilité et l'ergonomie.
|
||
|
|
|
||
|
|
## Commande locale
|
||
|
|
|
||
|
|
Depuis la racine du dépôt:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
scripts/validate.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Cette commande exécute:
|
||
|
|
|
||
|
|
- compilation Python du backend et des scripts de déploiement;
|
||
|
|
- tests backend;
|
||
|
|
- build frontend;
|
||
|
|
- tests navigateur Playwright;
|
||
|
|
- syntax-check Ansible lorsque `ansible-playbook` est disponible.
|
||
|
|
|
||
|
|
Pour ignorer temporairement les tests navigateur:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
SKIP_E2E=1 scripts/validate.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
## Ce qui est automatisé
|
||
|
|
|
||
|
|
- règles métier testables par code;
|
||
|
|
- contrats de sécurité et de multi-groupe;
|
||
|
|
- présence des protections de concurrence;
|
||
|
|
- cristallisation des rapports;
|
||
|
|
- exposition correcte de l'accès sysadmin;
|
||
|
|
- page publique de sélection des groupes;
|
||
|
|
- accès sysadmin d'instance;
|
||
|
|
- changement du PIN sysadmin;
|
||
|
|
- liens publics Charte, Confidentialité et Découvrir;
|
||
|
|
- build frontend;
|
||
|
|
- validité syntaxique Ansible.
|
||
|
|
|
||
|
|
## Ce qui doit rester validé par un humain
|
||
|
|
|
||
|
|
- lisibilité des rapports PDF;
|
||
|
|
- confort de navigation sur petit téléphone;
|
||
|
|
- ton des textes destinés aux membres;
|
||
|
|
- acceptabilité sociale des processus;
|
||
|
|
- clarté des formulaires papier;
|
||
|
|
- compréhension par des membres non techniques.
|
||
|
|
|
||
|
|
## Ronde de validation recommandée
|
||
|
|
|
||
|
|
1. Exécuter `scripts/validate.sh`.
|
||
|
|
2. Déployer sur une VM vanille.
|
||
|
|
3. Exécuter `ansible-playbook ansible/verify.yml`.
|
||
|
|
4. Réinitialiser `Groupe Démonstration`.
|
||
|
|
5. Parcourir les scénarios du [plan de validation fonctionnelle](96_PLAN_VALIDATION.md).
|
||
|
|
6. Noter les écarts avec la page, l'action, le résultat obtenu et le résultat attendu.
|
||
|
|
|
||
|
|
## Tests Playwright
|
||
|
|
|
||
|
|
Les tests Playwright sont dans `frontend/e2e`.
|
||
|
|
|
||
|
|
Ils démarrent automatiquement Vite, simulent les réponses API nécessaires et exécutent les scénarios dans un navigateur mobile et desktop.
|
||
|
|
|
||
|
|
Commande directe:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd frontend
|
||
|
|
npm run e2e
|
||
|
|
```
|
||
|
|
|
||
|
|
Pour installer le navigateur Chromium si nécessaire:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd frontend
|
||
|
|
npx playwright install chromium
|
||
|
|
```
|
||
|
|
|
||
|
|
## Évolution prévue
|
||
|
|
|
||
|
|
La prochaine étape pertinente est d'élargir Playwright vers les parcours authentifiés complets:
|
||
|
|
|
||
|
|
- sélection de groupe;
|
||
|
|
- connexion membre et sysadmin;
|
||
|
|
- navigation mobile;
|
||
|
|
- rencontre complète;
|
||
|
|
- assemblée complète;
|
||
|
|
- trésorerie;
|
||
|
|
- journal;
|
||
|
|
- captures de rapports PDF.
|
||
|
|
|
||
|
|
Ces tests devront être ajoutés progressivement pour éviter une suite fragile.
|