Aller au contenu principal

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épertoireRô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 IDClasseRôle
mz.saleproductavailabilitySaleProductAvailabilityServiceDisponibilité produit et dates de livraison
mz.sale.api(externe)Appels API Magento pour les ventes

Outils

FichierRôle
tools/cronjob_doc_generator.pyGénère la documentation des cronjobs depuis le crontab système
tools/php-cs-fixer/PHP-CS-Fixer pour le formatage du code