Refactor health check DTOs around a common CheckResult contract and remove the\nlegacy HealthChecks aggregate object.\n\nAdd a dedicated /api/v1/health/oracle endpoint with response mapping, OpenAPI\nschema updates, and Bruno request coverage.\n\nAlign feature, unit, integration, architecture and OpenAPI tests with the new\nset-based checks representation and make Oracle health tests deterministic in CI.\n\nUpdate command documentation to the uwil:* command namespace. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
3.3 KiB
3.3 KiB
Arcadia API
Arcadia API est une API de référence conçue selon les principes de la Clean Architecture, du Domain-Driven Design (DDD) et de l'Architecture Hexagonale (Ports & Adapters).
📚 Documentation pour les Développeurs
L'ensemble de la documentation technique et des guides pratiques est organisé dans le dossier documentation/ :
🏛️ Architecture & Fonctionnement
- 01 - Architecture Globale : Vue d'ensemble des couches (
Domain,Application,Presentation,Infra,Shared), responsabilités et règles de dépendances strictes. - 02 - Cycle de Vie d'une Requête (Bullet Tracer) : Traçage pas-à-pas d'une requête HTTP depuis la route jusqu'à la sérialisation JSON.
- 03 - Exécution, Transactions & Événements :
UsecaseBuilder,LaravelExecutor, exécution transactionnelle et dispatch sécurisé post-commit (TransactionalDomainEventDispatcher). - 04 - Guide Nouveau Cas d'Usage : Checklist pas-à-pas pour créer une nouvelle fonctionnalité de bout en bout.
- 05 - Temps, Horloge PSR-20 & Base de Données : Contrat PSR-20
Clock, FaçadeUtc, tests avecFrozenClock, standardisationDATETIMEet dérivationcreated_atdepuis UUIDv7.
📐 Conventions & Standards
- Conventions de Tests : Principes F.I.R.S.T., structure GWT, pyramide de tests, Test Data Builders et Object Mothers.
- Gestion des Exceptions : Matrice de correspondance entre exceptions applicatives/domaine et codes HTTP RFC 7807 (400, 404, 409, 422, 429, 500).
🗄️ Métamodèle & Intégration Oracle
- Métamodèle Arcadia & Intégration Oracle : Guide d'intégration, requêtes SQL de référence et pointage vers la documentation vivante (
database/arcadia-replicate/).
🚀 Commandes Utiles
Développement & Qualité de Code
# Lancer la suite de tests Pest
composer test
# Lancer l'analyse statique PHPStan (Niveau 10)
vendor/bin/phpstan analyse
# Vérifier le formattage du code PSR-12 (Pint)
vendor/bin/pint --test
# Verifier les conventions et regles de lint (PHP Code Sniffer)
vendor/bin/phpcs
# Corriger automatiquement les conventiosn (PHP Code Beautifier)
vendor/bin/phpcbf
Gestion de l'Application Arcadia
# Vérifier l'état de l'application
php artisan uwil:health
# List all Arcadia brands
php artisan uwil:arcadia:brand:list
# List all Arcadia clients
php artisan uwil:arcadia:client:list
# Create a new Arcadia client (interactive wizard)
php artisan uwil:arcadia:client:create
# Regenerate the secret of an API client
php artisan uwil:arcadia:client:regenerate-secret
# Toggle the status of an API client
php artisan uwil:arcadia:client:toggle-status
# Check schema and query conformity of the replicated Arcadia Oracle database
php artisan uwil:arcadia:database:check-conformity
# Display or export security audit events since a specified date
php artisan uwil:arcadia:security:audit-logs