Carte du dépôt
Structure principale
logidav/
├── src/ # Code source Symfony
│ ├── AppBundle/ # Bundle principal (commandes, services, contrôleurs)
│ └── CoreBundle/ # Bundle noyau (entités de base, utilitaires)
├── web/ # Racine web publique
├── tests/ # Tests PHPUnit
├── docs/ # Documentation MkDocs (ancienne)
├── website/ # Site Docusaurus (nouveau)
├── tools/ # Outils (générateur de docs cronjobs, php-cs-fixer)
├── mkdocs.yml # Configuration MkDocs (ancienne)
├── CLAUDE.md # Instructions pour les agents IA
├── AGENTS.md # Documentation complète du projet
└── CODING_STYLE.md # Conventions de code
Bundles Symfony
AppBundle
Le bundle principal contient la majorité de la logique métier :
| Répertoire | Rôle |
|---|---|
Command/ | Commandes Symfony (cronjobs) — organisées par domaine (Sale, Product, Stock, etc.) |
Services/ | Services métier — logique réutilisable |
Controller/ | Contrôleurs HTTP |
Entity/ | Entités Doctrine |
Repository/ | Requêtes Doctrine personnalisées |
Resources/config/ | Configuration des services (services.yml) |
CoreBundle
Le bundle noyau contient les fonctionnalités transversales :
- Entités de base partagées
- Composants utilitaires
- Configuration globale
Services clés
Les services sont enregistrés dans src/[BundleName]/Resources/config/services.yml :
mz.my_service:
class: "%mz.my_service.class%"
autowire: true
calls:
- [ setEntityManager, [ "@doctrine.orm.entity_manager" ] ]
Services importants à connaître :
| Service ID | Classe | Rôle |
|---|---|---|
mz.saleproductavailability | SaleProductAvailabilityService | Disponibilité produit et dates de livraison |
mz.sale.api | (externe) | Appels API Magento pour les ventes |
Outils
| Fichier | Rôle |
|---|---|
tools/cronjob_doc_generator.py | Génère la documentation des cronjobs depuis le crontab système |
tools/php-cs-fixer/ | PHP-CS-Fixer pour le formatage du code |