From ea8c24d6220197d65f84948621c395a829aa3494 Mon Sep 17 00:00:00 2001 From: oversu <95a7002b-481b-4ef3-b578-f9c421550aa4@localhost> Date: Thu, 27 Aug 2026 14:54:44 +0200 Subject: [PATCH] Actualiser readme.md --- readme.md | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 5ead690..8bbb0dc 100644 --- a/readme.md +++ b/readme.md @@ -101,6 +101,14 @@ L’architecture a continué à s’alléger : DomPDF et les dépendances Compos - familles d’accueil, bénévoles, dirigeants et adoptants ; - déposants, vétérinaires, cabinets et crématoriums ; - personnes et structures distinguées visuellement ; +- lignes et fiches d’annuaire cliquables réunissant coordonnées, rôles, rattachements et animaux liés ; +- compteur d’animaux adoptés dans le listing et historique des adoptions sur la fiche de l’adoptant, y compris pour les animaux archivés ou décédés lorsque le lien historique existe ; +- outil de réconciliation des adoptions I‑CAD, exécutable d’abord 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 l’annuaire malgré l’ordre 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 l’adoptant, sortie et historique, et les futurs imports ASM3 appliquent automatiquement ce devenir ; +- possibilité de consolider les adoptions historiques attestées par le refuge lorsque l’export source est incomplet, en conservant leur provenance dans le parcours et l’historique ; +- correction des fiches archivées sans restauration : l’identité 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 d’adoption. ### Documents et administratif @@ -151,6 +159,8 @@ refuge/ │ └── documents/ # Modèles ODT du logiciel ├── storage/ │ ├── backups/ # Sauvegardes ZIP +│ └── logs/ # Journal PHP local et privé +├── tests/ # Tests isolés sans base de production ├── CHANGELOG.md # Historique versionné des changements └── 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 ``` -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`. L’assistant contrôle PHP, PDO SQLite, les extensions requises, ZIP, cURL, le traitement d’images et les droits d’écriture. Il affiche la racine publique à déclarer, recueille l’identité de l’association, la langue, le mode du mini-site et crée le premier administrateur. Les migrations SQL sont appliquées automatiquement au démarrage et l’assistant devient inaccessible dès qu’un compte existe. Pour une démonstration temporaire à distance, le routeur `public/router.php` permet d’utiliser 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 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 d’une suite automatisée complète. Les parcours prioritaires sont l’authentification, 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, l’intégrité de la base, les paramètres, l’authentification, les permissions, un parcours médical et d’adoption, 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 l’ancienneté des sauvegardes, pour envoyer leur résumé immédiatement ou préparer un envoi quotidien/hebdomadaire. L’hé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 @@ -353,11 +377,18 @@ Le projet ne dispose pas encore d’une 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 | | 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 d’adoption, 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 | | 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 | | Annuaire structuré | ✅ Livré | Personnes et structures : familles d’accueil, 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 l’annuaire | ✅ 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 d’adoptions et dépenses cumulées des structures | +| Réconciliation I‑CAD | ✅ Livré | Consolidation transactionnelle des adoptants et dates d’adoption, 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 d’archives 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 l’historique des grandes évolutions sont également consultables directement dans l’application depuis le lien **Évolutions** du pied de page. Le détail exhaustif destiné au suivi Git se trouve dans [CHANGELOG.md](CHANGELOG.md).