47 lines
2.7 KiB
Markdown
47 lines
2.7 KiB
Markdown
# Audit fonctionnel — Globinours 1.0.0
|
||
|
||
Audit exécuté le 30 août 2026. Les contrôles automatisés utilisent une base SQLite temporaire et ne lisent ni ne modifient la base du refuge.
|
||
|
||
## Contrôles validés
|
||
|
||
- reconstruction complète du schéma et application ordonnée des migrations ;
|
||
- `PRAGMA integrity_check` et absence de relations étrangères invalides ;
|
||
- installation initiale, authentification, hachage des mots de passe et permissions ;
|
||
- parcours animal, note médicale, adoption et relations avec l’annuaire ;
|
||
- référentiels biologiques chat et chien ;
|
||
- notifications d’échéance ;
|
||
- création d’une sauvegarde, manifeste, empreintes, extraction de la base et contrôle SQLite ;
|
||
- pharmacie : réception, valorisation, consommation, historique et refus d’un stock négatif ;
|
||
- export RGPD et registre des accès privés ;
|
||
- purge à échéance du seul registre technique, sans suppression automatique des contacts ;
|
||
- appareils de confiance et révocation ;
|
||
- parité des catalogues français et anglais et cohérence des variables traduites ;
|
||
- validation syntaxique des contrôleurs, services et vues modifiés.
|
||
|
||
## Défauts corrigés pendant l’audit
|
||
|
||
1. Le formulaire de vermifugation utilisait le champ `medication_id` et le catalogue des médicaments ; il utilise désormais `dewormer_id` et le référentiel dédié.
|
||
2. Les actions de suppression et vérification d’une sauvegarde possèdent désormais leur jeton CSRF dans le HTML, sans dépendre de l’initialisation JavaScript.
|
||
3. Une archive créée n’était pas relue comme un tout hors restauration ; la vérification autonome contrôle maintenant chaque empreinte et la base extraite.
|
||
4. Une dépense médicamenteuse pouvait rester étrangère au coût de l’animal ; la consommation d’un lot tarifé crée désormais la dépense correspondante.
|
||
|
||
## Validations terrain encore nécessaires
|
||
|
||
Ces points dépendent d’un environnement réel et ne constituent pas des erreurs connues :
|
||
|
||
- réception effective des e-mails par le serveur choisi ;
|
||
- caméra et sélecteur de fichiers sur les modèles Android/iOS réellement utilisés ;
|
||
- tâches cron ou timer systemd sous l’utilisateur PHP de production ;
|
||
- restauration complète sur une copie d’installation avec ses médias réels ;
|
||
- installation et mise à niveau du futur paquet YunoHost ;
|
||
- ergonomie de la pharmacie avec les unités réellement employées par le refuge.
|
||
|
||
## Commandes de contrôle
|
||
|
||
```bash
|
||
php tests/run.php
|
||
php scripts/check_translations.php
|
||
php scripts/maintenance.php run
|
||
```
|
||
|
||
Une sauvegarde de production doit toujours être téléchargée ou répliquée hors du serveur. Une archive présente uniquement sur la même machine ne protège pas d’une panne matérielle.
|