Skip to content

Architecture Backend (Symfony 7.3)

Le backend est conçu comme une API REST stateless, isolant strictement la logique métier des entités de persistance.

🧱 Structure des composants

Pour garantir la maintenabilité, j'ai mis en place un flux de données rigoureux :

  • DTO (Data Transfer Objects) : Aucun objet Doctrine n'est exposé. Les entrées (RequestDTO) et sorties (ResponseDTO) sont des objets simples, garantissant un contrat d'interface stable pour le Frontend.
  • Mappers : Des services dédiés assurent la transformation Entity <-> DTO. Cela permet de faire évoluer la base de données sans impacter l'API.
  • Managers : Ils portent la logique de persistance et orchestrent les Services.
  • Services : Contiennent la logique métier pure (calculs de stocks, règles de livraison).

🛠️ Qualité & Tests

L'architecture a été pensée pour être testable par composant :

  • Unit Tests : Validation des Mappers et de la logique des Managers.
  • Functional Tests : Tests des Controllers pour valider les endpoints de bout en bout.
  • NelmioApiDoc : Documentation OpenAPI générée automatiquement pour faciliter l'intégration Frontend.