41 lines
2.3 KiB
Markdown
41 lines
2.3 KiB
Markdown
# 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/`](documentation/) :
|
|
|
|
### 🏛️ Architecture & Fonctionnement
|
|
- **[01 - Architecture Globale](documentation/Architecture/01-architecture-globale.md)** : 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)](documentation/Architecture/02-cycle-de-vie-requete.md)** : Traçage pas-à-pas d'une requête HTTP depuis la route jusqu'à la sérialisation JSON.
|
|
- **[03 - Exécution, Transactions & Événements](documentation/Architecture/03-execution-et-transactions.md)** : `UsecaseBuilder`, `LaravelExecutor`, exécution transactionnelle et dispatch sécurisé post-commit (`TransactionalDomainEventDispatcher`).
|
|
- **[04 - Guide Nouveau Cas d'Usage](documentation/Architecture/04-guide-nouveau-usecase.md)** : Checklist pas-à-pas pour créer une nouvelle fonctionnalité de bout en bout.
|
|
- **[05 - Temps, Horloge PSR-20 & Base de Données](documentation/Architecture/05-temps-et-base-de-donnees.md)** : Contrat PSR-20 `Clock`, Façade `Utc`, tests avec `FrozenClock`, standardisation `DATETIME` et dérivation `created_at` depuis UUIDv7.
|
|
|
|
### 📐 Conventions & Standards
|
|
- **[Conventions de Tests](documentation/Conventions/tests.md)** : Principes F.I.R.S.T., structure GWT, pyramide de tests, **Test Data Builders** et **Object Mothers**.
|
|
- **[Gestion des Exceptions](documentation/Conventions/exceptions.md)** : Matrice de correspondance entre exceptions applicatives/domaine et codes HTTP RFC 7807 (400, 404, 409, 422, 429, 500).
|
|
|
|
---
|
|
|
|
## 🚀 Commandes Utiles
|
|
|
|
```bash
|
|
# 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
|
|
```
|