Files
deep-dive-ming/docs/deep-dive-in-code.md

9.6 KiB

Deep Dive

The big picture

Core Domain

  • src/Uriae/EmployeeBundle : core employee lifecycle
  • src/Uriae/SuiviBundle: follow-up domain
  • src/Uriae/AspBundle: ASP integration boundary
  • src/Uriae/StructureBundle: tenant/organization scope
  • src/Uriae/UnionBundle: shared referentials

Metrics Domain

  • src/Uriae/BilanBundle: cross-context reporting/metrics aggregation

Pipeline Domain

  • src/Uriae/ImportBundle: batch ingestion pipelines
  • src/Uriae/ExportBundle: batch extraction pipelines

InDepth maps

EmployeeBundle

  • Core entities
    • src/Uriae/EmployeeBundle/Entity/Employee.php
    • src/Uriae/EmployeeBundle/Entity/Contrat.php
    • src/Uriae/EmployeeBundle/Entity/ParcoursInsertion.php
    • src/Uriae/EmployeeBundle/Entity/FirstHome.php
    • src/Uriae/EmployeeBundle/Entity/AdministrativeInformation.php
  • Repositories
    • src/Uriae/EmployeeBundle/Repository/EmployeeRepository.php
    • src/Uriae/EmployeeBundle/Repository/ContratRepository.php
  • Forms
    • src/Uriae/EmployeeBundle/Form/Type/AddEmployeeFormType.php
    • src/Uriae/EmployeeBundle/Form/Type/ContratType.php
  • Controllers
    • src/Uriae/EmployeeBundle/Controller/EmployeeController.php
    • src/Uriae/EmployeeBundle/Controller/ContratsController.php
  • Services/Models
    • src/Uriae/EmployeeBundle/Model/SituationSortieUpdater.php
    • src/Uriae/EmployeeBundle/Model/EmployeeStateUpdater.php
  • Fixtures
    • src/Uriae/EmployeeBundle/DataFixtures/ORM/shared/LoadTypeEmployee.php
    • src/Uriae/EmployeeBundle/DataFixtures/ORM/shared/LoadFormesContrat.php
  • Commands
    • src/Uriae/EmployeeBundle/Command/UpdateSituationSortieCommand.php
    • src/Uriae/EmployeeBundle/Command/UpdateContratDatesEmployeCommand.php
    • src/Uriae/EmployeeBundle/Command/AnonymisationProcessCommand.php

SuiviBundle

  • Core entities
    • src/Uriae/SuiviBundle/Entity/Action.php (abstract parent).
    • src/Uriae/SuiviBundle/Entity/Accompagnement.php.
    • src/Uriae/SuiviBundle/Entity/Evaluation.php.
    • src/Uriae/SuiviBundle/Entity/Event.php.
    • src/Uriae/SuiviBundle/Entity/Rdv.php.
    • src/Uriae/SuiviBundle/Entity/Problematique.php.
    • src/Uriae/SuiviBundle/Entity/FormationInterne.php.
    • src/Uriae/SuiviBundle/Entity/ParticipationFormation.php.
  • Repositories
    • src/Uriae/SuiviBundle/Repository/AccompagnementRepository.php.
    • src/Uriae/SuiviBundle/Repository/EvaluationRepository.php.
  • Forms
    • src/Uriae/SuiviBundle/Form/Type/AccompagnementType.php.
    • src/Uriae/SuiviBundle/Form/Type/EvaluationType.php.
    • src/Uriae/SuiviBundle/Form/Type/RdvType.php.
    • src/Uriae/SuiviBundle/Form/Type/ProblematiqueType.php.
  • Controllers
    • src/Uriae/SuiviBundle/Controller/SuiviController.php.
    • src/Uriae/SuiviBundle/Controller/AccompagnementController.php.
    • src/Uriae/SuiviBundle/Controller/BilanIndividuelController.php.
  • Services/Models
    • src/Uriae/SuiviBundle/Model/FormatterBilanIndividuel.php.
  • Fixtures
    • src/Uriae/SuiviBundle/DataFixtures/ORM/shared/LoadTypeAction.php.
    • src/Uriae/SuiviBundle/DataFixtures/ORM/shared/LoadReferentielEvaluation.php.
  • Commands
    • src/Uriae/SuiviBundle/Command/MigrateActionCommand.php.
    • src/Uriae/SuiviBundle/Command/DesactivateHabilitationsCommand.php.

AspBundle

  • Core entities
    • src/Uriae/AspBundle/Entity/FicheContratAsp.php.
    • src/Uriae/AspBundle/Entity/ModificationAsp.php.
    • src/Uriae/AspBundle/Entity/Suivi.php.
    • src/Uriae/AspBundle/Entity/FichierEnvoiAsp.php.
    • src/Uriae/AspBundle/Entity/FichierRetourAsp.php.
  • Repositories
    • src/Uriae/AspBundle/Repository/FicheContratAspRepository.php.
  • Forms
    • src/Uriae/AspBundle/Form/Type/FicheContratAspType.php.
    • src/Uriae/AspBundle/Form/Type/FichierRetourAspType.php.
  • Controllers
    • src/Uriae/AspBundle/Controller/InscriptionController.php.
    • src/Uriae/AspBundle/Controller/ModificationController.php.
    • src/Uriae/AspBundle/Controller/SuiviMensuelEtSortieController.php.
  • Managers
    • src/Uriae/AspBundle/Manager/AspFicheContratManager.php.
    • src/Uriae/AspBundle/Manager/InscriptionManager.php.
    • src/Uriae/AspBundle/Manager/ModificationManager.php.
    • src/Uriae/AspBundle/Manager/RenouvellementManager.php.
  • Fixtures
    • src/Uriae/AspBundle/DataFixtures/ORM/shared/LoadTypeContratAsp.php.
    • src/Uriae/AspBundle/DataFixtures/ORM/shared/LoadNatureEmploi.php.
  • Commands
    • src/Uriae/AspBundle/Command/UpdateAspFileCommand.php.
    • src/Uriae/AspBundle/Command/MigrateRenouvellementCommand.php.

StructureBundle

  • Core entities
    • src/Uriae/StructureBundle/Entity/Structure.php.
    • src/Uriae/StructureBundle/Entity/SiteTravail.php.
    • src/Uriae/StructureBundle/Entity/Alerte.php.
    • src/Uriae/StructureBundle/Entity/Competence.php.
    • src/Uriae/StructureBundle/Entity/HeadOffice.php.
  • Repositories
    • src/Uriae/StructureBundle/Repository/StructureRepository.php.
    • src/Uriae/StructureBundle/Repository/CompetenceRepository.php.
  • Forms
    • src/Uriae/StructureBundle/Form/Type/AddStructureFormType.php.
    • src/Uriae/StructureBundle/Form/Type/InformationStructureType.php.
    • src/Uriae/StructureBundle/Form/Type/AlerteType.php.
  • Controllers
    • src/Uriae/StructureBundle/Controller/StructureController.php.
  • Services/Models
    • src/Uriae/StructureBundle/Model/EvaluationUpdater.php.
    • src/Uriae/StructureBundle/Model/DiaryHandler.php.
  • Fixtures
    • src/Uriae/StructureBundle/DataFixtures/ORM/shared/LoadTownDepartementRegion.php.
    • src/Uriae/StructureBundle/DataFixtures/ORM/shared/LoadTypeSiae.php.
    • src/Uriae/StructureBundle/DataFixtures/ORM/shared/LoadFormeJuridique.php.
  • Commands
    • src/Uriae/StructureBundle/Command/UpdateStructureEvaluationsCommand.php.
    • src/Uriae/StructureBundle/Command/AddAlerteCommand.php.
    • src/Uriae/StructureBundle/Command/SendDiaryMailerCommand.php.

UnionBundle

  • Core entities
    • src/Uriae/UnionBundle/Entity/Partenaire.php.
    • src/Uriae/UnionBundle/Entity/SituationSortie.php.
    • src/Uriae/UnionBundle/Entity/TypeSituationSortie.php.
    • src/Uriae/UnionBundle/Entity/Conventionnement.php.
    • src/Uriae/UnionBundle/Entity/Union.php.
  • Repositories
    • src/Uriae/UnionBundle/Repository/PartenaireRepository.php.
    • src/Uriae/UnionBundle/Repository/SituationSortieRepository.php.
  • Forms
    • src/Uriae/UnionBundle/Form/Type/PartenaireType.php.
    • src/Uriae/UnionBundle/Form/Type/SituationSortieType.php.
    • src/Uriae/UnionBundle/Form/Type/ConventionnementType.php.
  • Controllers
    • src/Uriae/UnionBundle/Controller/ReferentielInsertionController.php.
    • src/Uriae/UnionBundle/Controller/SituationsSalariesController.php.
  • Fixtures
    • src/Uriae/UnionBundle/DataFixtures/ORM/shared/LoadTypeSituationsSortie.php.
    • src/Uriae/UnionBundle/DataFixtures/ORM/shared/LoadTypePartenaire.php.
    • src/Uriae/UnionBundle/DataFixtures/ORM/shared/LoadConventionnement.php.

Others Bundles

  • Bilan
    • src/Uriae/BilanBundle/Controller/BilanController.php.
    • src/Uriae/BilanBundle/Model/Formatter.php.
    • src/Uriae/BilanBundle/Form/Model/Filter.php.
    • src/Uriae/BilanBundle/Form/Model/FilterUnion.php.
    • src/Uriae/BilanBundle/Form/Model/FilterFactory.php.
  • Import
    • src/Uriae/ImportBundle/Controller/ImportController.php.
    • src/Uriae/ImportBundle/Model/Import/ImportFactory.php.
    • src/Uriae/ImportBundle/Model/Import/AbstractImport.php.
    • src/Uriae/ImportBundle/Model/Import/ImportSalarie.php.
    • src/Uriae/ImportBundle/Model/Import/ImportContrat.php.
    • src/Uriae/ImportBundle/Model/Import/ImportParcours.php.
    • src/Uriae/ImportBundle/Model/Import/ImportExportAsp.php.
  • Export
    • src/Uriae/ExportBundle/Controller/ExportController.php.
    • src/Uriae/ExportBundle/Model/Export/AbstractExport.php.
    • src/Uriae/ExportBundle/Model/Export/ExportFactory.php.
    • src/Uriae/ExportBundle/Model/Export/ExportSalarie.php.
    • src/Uriae/ExportBundle/Model/Export/ExportContrat.php.
    • src/Uriae/ExportBundle/Model/Export/ExportParcours.php.
    • src/Uriae/ExportBundle/Model/Export/ExportSuivi.php.

Cross-context Dependencies

  • Employee <-> Suivi

    • src/Uriae/EmployeeBundle/Entity/Employee.php references many Suivi entities.
    • src/Uriae/SuiviBundle/Controller/* pivot around Employee.
    • src/Uriae/SuiviBundle/Form/Type/AccompagnementType.php mixes Employee + Partenaire + Structure data.
  • Employee <-> ASP

    • src/Uriae/EmployeeBundle/Entity/Contrat.php owns ASP link.
    • src/Uriae/EmployeeBundle/Controller/ContratsController.php includes ASP behavior.
    • src/Uriae/AspBundle/Repository/FicheContratAspRepository.php joins Contract/Employee/Structure.
  • Employee <-> Union

    • src/Uriae/EmployeeBundle/Entity/Contrat.php links sortie taxonomy.
    • src/Uriae/EmployeeBundle/Model/SituationSortieUpdater.php manipulates Union sortie references.
    • src/Uriae/EmployeeBundle/Repository/EmployeeRepository.php uses sortie semantics for metrics.
  • Structure as tenancy seam

    • src/Uriae/StructureBundle/Entity/Structure.php is shared by User/Employee/Asp/Suivi.
    • src/Uriae/AspBundle/Manager/AspFicheContratManager.php requires structure-level configuration.
    • src/Uriae/ImportBundle/Controller/ImportController.php and src/Uriae/ExportBundle/Controller/ExportController.php are structure-scoped.
  • Bilan as aggregate seam

    • src/Uriae/BilanBundle/Model/Formatter.php crosses Employee + Suivi + Union + Asp + Structure.
    • src/Uriae/BilanBundle/Controller/BilanController.php orchestrates cross-context queries.

Reading Order