Skip to content

🪚 L'Atelier du Bois : Documentation Technique

Bienvenue sur la documentation centrale de L'Atelier du Bois, un écosystème e-commerce conçu comme un laboratoire d'excellence technique autour de Symfony 7.3.


🎯 Vision du Projet

L'Atelier du Bois n'est pas seulement une boutique en ligne fictive. C'est un terrain d'application pour des standards de conception robustes, visant à démontrer qu'une architecture propre permet de limiter la dette technique tout en facilitant l'évolution métier (logistique, stocks, multi-transporteurs).

Les piliers du projet :

  • Isolation stricte : Séparation des couches (DTO, Mappers, Managers, Services).
  • Sécurité granulaire : Utilisation des Voters pour dépasser la simple hiérarchie de rôles.
  • Observabilité & Qualité : API documentée (OpenAPI/Swagger) et couverture de tests automatisés.

🗺️ Guide de Lecture

Pour naviguer dans cet écosystème, voici les sections clés :

🏛️ Architecture Backend

Découvrez comment la donnée transite des RequestMappers jusqu'aux Managers et comment les DTOs assurent un contrat d'interface stable.

🔐 Sécurité & Access Control

Le détail de l'implémentation du JWT et la logique métier derrière les Voters (segmentation Customer / Interne / Admin).

🐳 Guides d'installation

Les guides pour lancer le projet en local.

📝 Journal de Bord (Devlogs)

L'historique de la conception, des premiers choix d'architecture jusqu'aux problématiques complexes de normalisation de données (unaccent) et de logistique.


🛠️ Stack Technique

Composant Technologie
Langage PHP 8.4 (Typage strict)
Framework Symfony 7.3
Base de données PostgreSQL 16 (Extension unaccent)
Documentation API NelmioApiDoc (Swagger/OpenAPI)
Sécurité LexikJWTAuthenticationBundle + Symfony Voters
Conteneurisation Docker & Docker-Compose

[!TIP] Le saviez-vous ? La logique de répartition des colis (Shipments) prend en compte le poids et le volume des articles pour proposer une preview de colisage avant même la validation de la commande.


👉 Accéder au Repo GitHub Backend | 👉 Accéder au Repo GitHub Frontend