Actualiser readme.md

This commit is contained in:
Alexandre NOEL 2026-08-27 14:54:44 +02:00
commit ea8c24d622

View file

@ -101,6 +101,14 @@ Larchitecture a continué à salléger : DomPDF et les dépendances Compos
- familles daccueil, bénévoles, dirigeants et adoptants ; - familles daccueil, bénévoles, dirigeants et adoptants ;
- déposants, vétérinaires, cabinets et crématoriums ; - déposants, vétérinaires, cabinets et crématoriums ;
- personnes et structures distinguées visuellement ; - personnes et structures distinguées visuellement ;
- lignes et fiches dannuaire cliquables réunissant coordonnées, rôles, rattachements et animaux liés ;
- compteur danimaux adoptés dans le listing et historique des adoptions sur la fiche de ladoptant, y compris pour les animaux archivés ou décédés lorsque le lien historique existe ;
- outil de réconciliation des adoptions ICAD, exécutable dabord en simulation puis avec sauvegarde et transaction, pour restaurer ou créer les fiches historiques, adoptants, dates, placements, sorties et historiques ;
- fusion sécurisée des doublons de lannuaire malgré lordre prénom/nom, les accents, la casse, les tirets et les fautes typographiques mineures, avec transfert de toutes les relations vers la fiche la plus complète ;
- recalcul de la photographie actuelle depuis le dernier placement : une adoption synchronise statut, archivage, adresse de ladoptant, sortie et historique, et les futurs imports ASM3 appliquent automatiquement ce devenir ;
- possibilité de consolider les adoptions historiques attestées par le refuge lorsque lexport source est incomplet, en conservant leur provenance dans le parcours et lhistorique ;
- correction des fiches archivées sans restauration : lidentité et les données administratives restent modifiables tandis que statut, emplacement et archivage sont protégés côté interface et serveur ;
- dépenses cumulées et détail par animal sur la fiche des structures facturantes ;
- création de contacts depuis certains formulaires médicaux ou dadoption. - création de contacts depuis certains formulaires médicaux ou dadoption.
### Documents et administratif ### Documents et administratif
@ -151,6 +159,8 @@ refuge/
│ └── documents/ # Modèles ODT du logiciel │ └── documents/ # Modèles ODT du logiciel
├── storage/ ├── storage/
│ ├── backups/ # Sauvegardes ZIP │ ├── backups/ # Sauvegardes ZIP
│ └── logs/ # Journal PHP local et privé
├── tests/ # Tests isolés sans base de production
├── CHANGELOG.md # Historique versionné des changements ├── CHANGELOG.md # Historique versionné des changements
└── README.md └── README.md
``` ```
@ -264,7 +274,7 @@ chmod -R u+rwX data public/media storage
php -d upload_max_filesize=250M -d post_max_size=260M -d max_execution_time=600 -S 127.0.0.1:8000 -t public php -d upload_max_filesize=250M -d post_max_size=260M -d max_execution_time=600 -S 127.0.0.1:8000 -t public
``` ```
Ouvrir `http://127.0.0.1:8000/setup` et créer le premier compte administrateur. Les migrations SQL sont appliquées automatiquement au démarrage. Ouvrir `http://127.0.0.1:8000/setup`. Lassistant contrôle PHP, PDO SQLite, les extensions requises, ZIP, cURL, le traitement dimages et les droits décriture. Il affiche la racine publique à déclarer, recueille lidentité de lassociation, la langue, le mode du mini-site et crée le premier administrateur. Les migrations SQL sont appliquées automatiquement au démarrage et lassistant devient inaccessible dès quun compte existe.
Pour une démonstration temporaire à distance, le routeur `public/router.php` permet dutiliser le serveur PHP intégré, puis un tunnel HTTPS éphémère. Cette méthode est réservée aux tests et doit être arrêtée après la présentation. Pour une démonstration temporaire à distance, le routeur `public/router.php` permet dutiliser le serveur PHP intégré, puis un tunnel HTTPS éphémère. Cette méthode est réservée aux tests et doit être arrêtée après la présentation.
@ -308,9 +318,23 @@ Les 10 sauvegardes les plus récentes sont conservées localement. Elles peuvent
```bash ```bash
find app public -name '*.php' -print0 | xargs -0 -n1 php -l find app public -name '*.php' -print0 | xargs -0 -n1 php -l
php scripts/check_translations.php
php tests/run.php
``` ```
Le projet ne dispose pas encore dune suite automatisée complète. Les parcours prioritaires sont lauthentification, les migrations, les sauvegardes, les adoptions et les écritures médicales. La suite fonctionne sans Composer et crée une base SQLite temporaire hors du projet. Elle contrôle une installation vierge complète, les migrations, lintégrité de la base, les paramètres, lauthentification, les permissions, un parcours médical et dadoption, les alertes et le contenu des sauvegardes ZIP. Elle ne lit ni ne modifie la base du refuge.
## 🩺 Santé et notifications
**Paramètres → Santé de Globinours** exécute un diagnostic en lecture seule : versions PHP/SQLite, extensions, droits décriture, intégrité et relations SQLite, migrations, espace disque, âge de la dernière sauvegarde, médias absents ou orphelins, configuration des erreurs et erreurs journalisées durant les sept derniers jours. Les erreurs applicatives sont dirigées vers `storage/logs/php-errors.log`, hors de la racine publique.
Le dashboard conserve un unique bloc opérationnel « Points à surveiller ». **Paramètres → Notifications** réutilise ces échéances, complétées par les vermifuges et lancienneté des sauvegardes, pour envoyer leur résumé immédiatement ou préparer un envoi quotidien/hebdomadaire. Lhébergeur doit exécuter régulièrement :
```bash
php scripts/send-notifications.php
```
La commande respecte la fréquence et la date du dernier envoi. Elle utilise la fonction `mail()` de PHP : le transport de courrier reste donc à configurer sur le serveur.
## 🗺️ Feuille de route ## 🗺️ Feuille de route
@ -353,11 +377,18 @@ Le projet ne dispose pas encore dune suite automatisée complète. Les parcou
| Vermifuges | ✅ Livré | Catalogue distinct des médicaments (9 produits initiaux), historique structuré, échéances selon lâge, rythme trimestriel adulte, administration groupée des portées et aperçu médical | | Vermifuges | ✅ Livré | Catalogue distinct des médicaments (9 produits initiaux), historique structuré, échéances selon lâge, rythme trimestriel adulte, administration groupée des portées et aperçu médical |
| Ordonnances et analyses | ✅ Livré | Documents privés, photo sur tablette, liaison aux traitements, résultats structurés, courbes par paramètre et références configurables par analyseur et espèce | | Ordonnances et analyses | ✅ Livré | Documents privés, photo sur tablette, liaison aux traitements, résultats structurés, courbes par paramètre et références configurables par analyseur et espèce |
| Mini-site public | ✅ Livré | Accueil, navigation directe par espèce, fiches dadoption, page libre, dons, contact cartographié, identité légale en pied de page, coordonnées protégées des robots simples et trois thèmes CSS légers | | Mini-site public | ✅ Livré | Accueil, navigation directe par espèce, fiches dadoption, page libre, dons, contact cartographié, identité légale en pied de page, coordonnées protégées des robots simples et trois thèmes CSS légers |
| Installation guidée | ✅ Livré | Contrôle des prérequis et écritures, identité associative, langue, mode public, premier administrateur et verrouillage après installation |
| Santé et maintenance | ✅ Livré | Intégrité SQLite, migrations, stockage, sauvegardes, médias, configuration PHP et erreurs récentes depuis une page en lecture seule |
| Notifications | ✅ Livré | Réutilisation des alertes opérationnelles sans doublon visuel, résumé manuel ou planifié pour vaccins, traitements, vermifuges et sauvegardes |
| Tests automatisés | ✅ Socle livré | Base temporaire, installation vierge, migrations, intégrité, paramètres, authentification, permissions, médical/adoption, notifications et sauvegardes ZIP |
| Tarifs et coûts | ✅ Livré | Grilles de structures, coût net figé, résumé dédié dans la fiche animale et statistiques financières | | Tarifs et coûts | ✅ Livré | Grilles de structures, coût net figé, résumé dédié dans la fiche animale et statistiques financières |
| Navigation des paramètres | ✅ Livré | Une liste unique garantit les mêmes rubriques, icônes et ordre dans la roue et dans la navigation interne | | Navigation des paramètres | ✅ Livré | Une liste unique garantit les mêmes rubriques, icônes et ordre dans la roue et dans la navigation interne |
| Internationalisation | ✅ Livré | Interface, parcours métier, validations, impressions, confirmations sensibles et mini-site public couverts par des catalogues FR/EN contrôlés automatiquement | | Internationalisation | ✅ Livré | Interface, parcours métier, validations, impressions, confirmations sensibles et mini-site public couverts par des catalogues FR/EN contrôlés automatiquement |
| Annuaire structuré | ✅ Livré | Personnes et structures : familles daccueil, vétérinaires, cabinets, fourrières, crématoriums, adoptants, bénévoles et partenaires | | Annuaire structuré | ✅ Livré | Personnes et structures : familles daccueil, vétérinaires, cabinets, fourrières, crématoriums, adoptants, bénévoles et partenaires |
| Qualité de production | 🔎 À étudier | Tests automatisés étendus, déploiement reproductible et comparaison avec Animal Shelter Manager | | Fiches de lannuaire | ✅ Livré | Lignes entièrement cliquables, animaux adoptés/accueillis/déposés — y compris archivés ou décédés —, personnes rattachées, compteur dadoptions et dépenses cumulées des structures |
| Réconciliation ICAD | ✅ Livré | Consolidation transactionnelle des adoptants et dates dadoption, création des fiches historiques manquantes et fusion contrôlée des doublons de contacts |
| Cohérence du parcours | ✅ Livré | Statut et emplacement recalculés depuis le dernier placement, historique et sortie synchronisés, corrections darchives sans restauration |
| Qualité de production | 🚧 En progression | Étendre les tests aux parcours HTTP complets, rendre le déploiement reproductible et documenter la comparaison avec Animal Shelter Manager |
La roadmap illustrée et lhistorique des grandes évolutions sont également consultables directement dans lapplication depuis le lien **Évolutions** du pied de page. Le détail exhaustif destiné au suivi Git se trouve dans [CHANGELOG.md](CHANGELOG.md). La roadmap illustrée et lhistorique des grandes évolutions sont également consultables directement dans lapplication depuis le lien **Évolutions** du pied de page. Le détail exhaustif destiné au suivi Git se trouve dans [CHANGELOG.md](CHANGELOG.md).