Redirect 301 redirect from GET @training_exercise_collection_muscle (8b6856)

GET https://test.fitmetrics.ch/fr/exercices/muscle/28-epaules?page=11

Components

15 Twig Components
123 Render Count
110 ms Render Time
74.5 MiB Memory Usage

Components

Name Metadata Render Count Render Time
media:icon
"App\Twig\Components\Media\Icon"
components/media/icon.html.twig
64 2.51ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
14 1.01ms
card:exercise-h
"App\Twig\Components\Card\ExerciseCardH"
components/card/exercise-h.html.twig
10 70.82ms
training:exercise:image
"App\Twig\Components\Training\Exercise\ExerciseImage"
components/training/exercise/image.html.twig
10 24.90ms
training:difficulty-badge
"App\Twig\Components\Training\DifficultyBadge"
components/training/difficulity-badge.html.twig
10 0.72ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
3 1.51ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
3 0.60ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
2 0.49ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 34.36ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 8.62ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.55ms
media:image
"App\Twig\Components\Media\Image"
components/media/image.html.twig
1 0.96ms
ui:accordion
"App\Twig\Components\Ui\Accordion"
components/ui/accordion.html.twig
1 0.87ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
1 1.47ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.34ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 68.5 MiB 34.36 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#5110
  -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#216 …}
  -em: Doctrine\ORM\EntityManager {#550 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#2160 …}
  -kernel: App\Kernel {#14 …}
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.42 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#5157
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#5168
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
64.5 MiB 1.31 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#5219
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "block header--logo-dark header--logo w-full dark:hidden h-[50px] scale-150"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#5234
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#5285
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "search"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5313
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5329
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "barbell"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5353
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5377
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "fire"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5401
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "discipline "
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5425
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "stats-chart"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5449
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5473
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#5497
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Attributes
[
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Component
App\Twig\Components\Media\Icon {#6026
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
64.5 MiB 0.10 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6062
  -props: [
    "class" => "max-w-fit"
  ]
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 68.5 MiB 8.62 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#6095
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#6108 …}
  -formFactory: Symfony\Component\Form\FormFactory {#3198 …}
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.05 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Component
App\Twig\Components\Media\Icon {#6230
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden dark:block h-[80px] w-[300px]"
]
Attributes
[
  "class" => "hidden dark:block h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#6246
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "block dark:hidden h-[80px] w-[300px]"
]
Attributes
[
  "class" => "block dark:hidden h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#6276
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.04 ms
Input props
[
  "name" => "google"
  "class" => "h-[24px] w-[20px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px]"
]
Component
App\Twig\Components\Media\Icon {#6308
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.03 ms
Input props
[
  "name" => "apple"
  "class" => "h-[24px] w-[20px] fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "h-[24px] w-[20px] fill-white"
]
Component
App\Twig\Components\Media\Icon {#6327
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-[80px] w-[300px]"
]
Attributes
[
  "class" => "h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#6437
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-white w-[20px] h-[20px]"
]
Attributes
[
  "class" => "fill-white w-[20px] h-[20px]"
]
Component
App\Twig\Components\Media\Icon {#6471
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6487
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "fire"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6511
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6535
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "barbell"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6559
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "discipline"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6583
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "discipline"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "stats-chart"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6607
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6631
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6655
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "favorites"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6679
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "more"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6703
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
app:lang-selector App\Twig\Components\App\LangSelector 68.5 MiB 0.46 ms
Input props
[
  "defaultOpenLeft" => true
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#6748
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Component
App\Twig\Components\Media\Icon {#6738
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-16 w-full"
]
Attributes
[
  "class" => "h-16 w-full"
]
Component
App\Twig\Components\Media\Icon {#6379
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 68.5 MiB 0.55 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#3033
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "label.muscles"
        "url" => "/fr/exercices/muscles"
      ]
      [
        "label" => "Épaules"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#6831
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "label.muscles"
      "url" => "/fr/exercices/muscles"
    ]
    [
      "label" => "Épaules"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#3033
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "label.muscles"
        "url" => "/fr/exercices/muscles"
      ]
      [
        "label" => "Épaules"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-right"
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Attributes
[
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6861
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "chevron-right"
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Attributes
[
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6883
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "chevron-right"
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Attributes
[
  "class" => "w-[10px] h-[10px] fill-black dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6906
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:image App\Twig\Components\Media\Image 68.5 MiB 0.96 ms
Input props
[
  "media" => App\Entity\Media\MediaImage {#3091
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#3303 …}
    #file: Vich\UploaderBundle\Entity\File {#3255 …}
    #credits: Doctrine\ORM\PersistentCollection {#3092 …}
    -source: null
    -zone: null
    -urlExternal: "https://athleanx.com/wp-content/uploads/2021/02/shoulder-muscles-anatomy-front-middle-rear-delt-1024x576.jpg"
    #id: 2429
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#3276 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1746734892 {#3088
      date: 2025-05-08 22:08:12.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777979286 {#3284
      date: 2026-05-05 13:08:06.313706 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#3161 …}
  }
  "class" => "rounded-xl object-cover aspect-square w-[150px] md:w-[250px]"
  "alt" => "Meilleurs exercices pour travailler le Épaules"
  "smWidth" => 250
  "smHeight" => 250
  "lgWidth" => 250
  "lgHeight" => 250
]
Attributes
[
  "class" => "rounded-xl object-cover aspect-square w-[150px] md:w-[250px]"
]
Component
App\Twig\Components\Media\Image {#6929
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Meilleurs exercices pour travailler le Épaules"
  +pictureClass: null
  +smWidth: 250
  +smHeight: 250
  +lgWidth: 250
  +lgHeight: 250
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: App\Entity\Media\MediaImage {#3091
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#3303 …}
    #file: Vich\UploaderBundle\Entity\File {#3255 …}
    #credits: Doctrine\ORM\PersistentCollection {#3092 …}
    -source: null
    -zone: null
    -urlExternal: "https://athleanx.com/wp-content/uploads/2021/02/shoulder-muscles-anatomy-front-middle-rear-delt-1024x576.jpg"
    #id: 2429
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#3276 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1746734892 {#3088
      date: 2025-05-08 22:08:12.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777979286 {#3284
      date: 2026-05-05 13:08:06.313706 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#3161 …}
  }
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
}
ui:accordion App\Twig\Components\Ui\Accordion 68.5 MiB 0.87 ms
Input props
[
  "type" => "medium"
  "class" => "animate-fadeIn mt-2"
  "textClass" => "text-yellow"
  "summaryClass" => "text-yellow"
  "defaultOpen" => false
  "chevronClass" => "w-[20px] h-[20px] text-yellow"
]
Attributes
[
  "class" => "animate-fadeIn mt-2"
]
Component
App\Twig\Components\Ui\Accordion {#6975
  +stimulusTarget: null
  +stimulusAction: null
  +title: null
  +content: ""
  +defaultOpen: false
  +type: "medium"
  +chevronClass: "w-[20px] h-[20px] text-yellow"
  +contentContainerClass: null
  +summaryClass: "text-yellow"
  +textClass: "text-yellow"
  +titleSpacebetween: false
  +groupName: "accordion"
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-up-circle"
  "class" => "w-[20px] h-[20px] text-yellow"
]
Attributes
[
  "class" => "w-[20px] h-[20px] text-yellow"
]
Component
App\Twig\Components\Media\Icon {#7063
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "chevron-up-circle"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 70.5 MiB 10.76 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#3598
    #id: 832
    #token: "6733d71962074"
    -images: Doctrine\ORM\PersistentCollection {#3583 …}
    -videos: Doctrine\ORM\PersistentCollection {#3642 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3640 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3644 …}
    -categories: Doctrine\ORM\PersistentCollection {#3866 …}
    -materials: Doctrine\ORM\PersistentCollection {#3956 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4012 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#3976 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4022 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4031 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4043 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4059 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4135 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4219 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#3638
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769275288 {#3552
      date: 2026-01-24 18:21:28.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4239 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752066249 {#3648
      date: 2025-07-09 15:04:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 24681
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm extension kettlebell shoulder single"
    -metaphoneName: "ARMKSTNXNKTLBLXLTRSNKL"
  }
  "shortName" => false
  "id" => "exercise-card-6733d71962074"
]
Attributes
[
  "id" => "exercise-card-6733d71962074"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7112
  +exercise: App\Entity\Training\Exercise {#3598
    #id: 832
    #token: "6733d71962074"
    -images: Doctrine\ORM\PersistentCollection {#3583 …}
    -videos: Doctrine\ORM\PersistentCollection {#3642 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3640 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3644 …}
    -categories: Doctrine\ORM\PersistentCollection {#3866 …}
    -materials: Doctrine\ORM\PersistentCollection {#3956 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4012 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#3976 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4022 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4031 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4043 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4059 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4135 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4219 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#3638
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769275288 {#3552
      date: 2026-01-24 18:21:28.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4239 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752066249 {#3648
      date: 2025-07-09 15:04:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 24681
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm extension kettlebell shoulder single"
    -metaphoneName: "ARMKSTNXNKTLBLXLTRSNKL"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 3.02 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#3598
    #id: 832
    #token: "6733d71962074"
    -images: Doctrine\ORM\PersistentCollection {#3583 …}
    -videos: Doctrine\ORM\PersistentCollection {#3642 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3640 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3644 …}
    -categories: Doctrine\ORM\PersistentCollection {#3866 …}
    -materials: Doctrine\ORM\PersistentCollection {#3956 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4012 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#3976 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4022 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4031 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4043 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4059 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4135 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4219 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#3638
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769275288 {#3552
      date: 2026-01-24 18:21:28.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4239 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752066249 {#3648
      date: 2025-07-09 15:04:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 24681
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm extension kettlebell shoulder single"
    -metaphoneName: "ARMKSTNXNKTLBLXLTRSNKL"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Extension de l'épaule à un bras avec kettlebell"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#7145
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Extension de l'épaule à un bras avec kettlebell"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#3598
    #id: 832
    #token: "6733d71962074"
    -images: Doctrine\ORM\PersistentCollection {#3583 …}
    -videos: Doctrine\ORM\PersistentCollection {#3642 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3640 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3644 …}
    -categories: Doctrine\ORM\PersistentCollection {#3866 …}
    -materials: Doctrine\ORM\PersistentCollection {#3956 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4012 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#3976 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4022 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4031 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4043 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4059 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4135 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4219 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#3638
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769275288 {#3552
      date: 2026-01-24 18:21:28.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4239 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752066249 {#3648
      date: 2025-07-09 15:04:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 24681
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm extension kettlebell shoulder single"
    -metaphoneName: "ARMKSTNXNKTLBLXLTRSNKL"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.36 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7305
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 70.5 MiB 0.30 ms
Input props
[
  "difficulty" => "intermediate"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#7321
  +difficulty: "intermediate"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.05 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#7264
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 70.5 MiB 6.21 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4242
    #id: 833
    #token: "6733d719626e8"
    -images: Doctrine\ORM\PersistentCollection {#4243 …}
    -videos: Doctrine\ORM\PersistentCollection {#4245 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4247 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4249 …}
    -categories: Doctrine\ORM\PersistentCollection {#4251 …}
    -materials: Doctrine\ORM\PersistentCollection {#4253 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4255 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4257 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4259 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4262 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4263 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4265 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4267 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4269 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4237
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769179189 {#4240
      date: 2026-01-23 15:39:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4271 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752070524 {#4241
      date: 2025-07-09 16:15:24.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 24679
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm delt fly kettlebell rear single"
    -metaphoneName: "ARMTLTFLKTLBLRRSNKL"
  }
  "shortName" => false
  "id" => "exercise-card-6733d719626e8"
]
Attributes
[
  "id" => "exercise-card-6733d719626e8"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7148
  +exercise: App\Entity\Training\Exercise {#4242
    #id: 833
    #token: "6733d719626e8"
    -images: Doctrine\ORM\PersistentCollection {#4243 …}
    -videos: Doctrine\ORM\PersistentCollection {#4245 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4247 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4249 …}
    -categories: Doctrine\ORM\PersistentCollection {#4251 …}
    -materials: Doctrine\ORM\PersistentCollection {#4253 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4255 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4257 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4259 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4262 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4263 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4265 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4267 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4269 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4237
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769179189 {#4240
      date: 2026-01-23 15:39:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4271 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752070524 {#4241
      date: 2025-07-09 16:15:24.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 24679
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm delt fly kettlebell rear single"
    -metaphoneName: "ARMTLTFLKTLBLRRSNKL"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 70.5 MiB 2.44 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4242
    #id: 833
    #token: "6733d719626e8"
    -images: Doctrine\ORM\PersistentCollection {#4243 …}
    -videos: Doctrine\ORM\PersistentCollection {#4245 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4247 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4249 …}
    -categories: Doctrine\ORM\PersistentCollection {#4251 …}
    -materials: Doctrine\ORM\PersistentCollection {#4253 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4255 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4257 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4259 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4262 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4263 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4265 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4267 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4269 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4237
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769179189 {#4240
      date: 2026-01-23 15:39:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4271 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752070524 {#4241
      date: 2025-07-09 16:15:24.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 24679
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm delt fly kettlebell rear single"
    -metaphoneName: "ARMTLTFLKTLBLRRSNKL"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Élévation postérieure unilatérale avec kettlebell"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#7434
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Élévation postérieure unilatérale avec kettlebell"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4242
    #id: 833
    #token: "6733d719626e8"
    -images: Doctrine\ORM\PersistentCollection {#4243 …}
    -videos: Doctrine\ORM\PersistentCollection {#4245 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4247 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4249 …}
    -categories: Doctrine\ORM\PersistentCollection {#4251 …}
    -materials: Doctrine\ORM\PersistentCollection {#4253 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: "unilateral"
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4255 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4257 …}
    -mainExercise: App\Entity\Training\Exercise {#4021 …}
    -variants: Doctrine\ORM\PersistentCollection {#4259 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4262 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4263 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4265 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4267 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4269 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4237
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769179189 {#4240
      date: 2026-01-23 15:39:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4271 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752070524 {#4241
      date: 2025-07-09 16:15:24.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 24679
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm delt fly kettlebell rear single"
    -metaphoneName: "ARMTLTFLKTLBLRRSNKL"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.06 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7543
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 70.5 MiB 0.05 ms
Input props
[
  "difficulty" => "intermediate"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#7516
  +difficulty: "intermediate"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#7459
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 70.5 MiB 7.20 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4276
    #id: 836
    #token: "6733d7199391f"
    -images: Doctrine\ORM\PersistentCollection {#4277 …}
    -videos: Doctrine\ORM\PersistentCollection {#4279 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4281 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4283 …}
    -categories: Doctrine\ORM\PersistentCollection {#4285 …}
    -materials: Doctrine\ORM\PersistentCollection {#4287 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4289 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4291 …}
    -mainExercise: App\Entity\Training\Exercise {#4294 …}
    -variants: Doctrine\ORM\PersistentCollection {#4295 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4298 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4299 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4301 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4303 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4305 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4273
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769199254 {#4274
      date: 2026-01-23 21:14:14.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4307 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751818011 {#4275
      date: 2025-07-06 18:06:51.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: 22857
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "iytw plank"
    -metaphoneName: "ITPLNK"
  }
  "shortName" => false
  "id" => "exercise-card-6733d7199391f"
]
Attributes
[
  "id" => "exercise-card-6733d7199391f"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7589
  +exercise: App\Entity\Training\Exercise {#4276
    #id: 836
    #token: "6733d7199391f"
    -images: Doctrine\ORM\PersistentCollection {#4277 …}
    -videos: Doctrine\ORM\PersistentCollection {#4279 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4281 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4283 …}
    -categories: Doctrine\ORM\PersistentCollection {#4285 …}
    -materials: Doctrine\ORM\PersistentCollection {#4287 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4289 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4291 …}
    -mainExercise: App\Entity\Training\Exercise {#4294 …}
    -variants: Doctrine\ORM\PersistentCollection {#4295 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4298 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4299 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4301 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4303 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4305 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4273
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769199254 {#4274
      date: 2026-01-23 21:14:14.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4307 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751818011 {#4275
      date: 2025-07-06 18:06:51.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: 22857
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "iytw plank"
    -metaphoneName: "ITPLNK"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 70.5 MiB 2.49 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4276
    #id: 836
    #token: "6733d7199391f"
    -images: Doctrine\ORM\PersistentCollection {#4277 …}
    -videos: Doctrine\ORM\PersistentCollection {#4279 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4281 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4283 …}
    -categories: Doctrine\ORM\PersistentCollection {#4285 …}
    -materials: Doctrine\ORM\PersistentCollection {#4287 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4289 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4291 …}
    -mainExercise: App\Entity\Training\Exercise {#4294 …}
    -variants: Doctrine\ORM\PersistentCollection {#4295 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4298 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4299 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4301 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4303 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4305 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4273
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769199254 {#4274
      date: 2026-01-23 21:14:14.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4307 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751818011 {#4275
      date: 2025-07-06 18:06:51.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: 22857
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "iytw plank"
    -metaphoneName: "ITPLNK"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Gainage IYTW"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#7630
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Gainage IYTW"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4276
    #id: 836
    #token: "6733d7199391f"
    -images: Doctrine\ORM\PersistentCollection {#4277 …}
    -videos: Doctrine\ORM\PersistentCollection {#4279 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4281 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4283 …}
    -categories: Doctrine\ORM\PersistentCollection {#4285 …}
    -materials: Doctrine\ORM\PersistentCollection {#4287 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4289 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4291 …}
    -mainExercise: App\Entity\Training\Exercise {#4294 …}
    -variants: Doctrine\ORM\PersistentCollection {#4295 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4298 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4299 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4301 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4303 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4305 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450649 {#4273
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769199254 {#4274
      date: 2026-01-23 21:14:14.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4307 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1751818011 {#4275
      date: 2025-07-06 18:06:51.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: 22857
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "iytw plank"
    -metaphoneName: "ITPLNK"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.05 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7749
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.05 ms
Input props
[
  "name" => "Dos"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7785
  +name: "Dos"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.04 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7809
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 70.5 MiB 0.05 ms
Input props
[
  "difficulty" => "intermediate"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#7791
  +difficulty: "intermediate"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#7655
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 70.5 MiB 7.21 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4312
    #id: 839
    #token: "6733d719aed4e"
    -images: Doctrine\ORM\PersistentCollection {#4313 …}
    -videos: Doctrine\ORM\PersistentCollection {#4315 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4317 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4319 …}
    -categories: Doctrine\ORM\PersistentCollection {#4321 …}
    -materials: Doctrine\ORM\PersistentCollection {#4323 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4325 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4327 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4329 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4332 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4333 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4335 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4337 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4339 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4309
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1768963265 {#4310
      date: 2026-01-21 03:41:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4341 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756840184 {#4311
      date: 2025-09-02 21:09:44.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 45
    -tiersId: 18864
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "diagonal foam patterns roller"
    -metaphoneName: "TKNLFMPTRNSRLR"
  }
  "shortName" => false
  "id" => "exercise-card-6733d719aed4e"
]
Attributes
[
  "id" => "exercise-card-6733d719aed4e"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7855
  +exercise: App\Entity\Training\Exercise {#4312
    #id: 839
    #token: "6733d719aed4e"
    -images: Doctrine\ORM\PersistentCollection {#4313 …}
    -videos: Doctrine\ORM\PersistentCollection {#4315 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4317 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4319 …}
    -categories: Doctrine\ORM\PersistentCollection {#4321 …}
    -materials: Doctrine\ORM\PersistentCollection {#4323 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4325 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4327 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4329 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4332 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4333 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4335 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4337 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4339 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4309
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1768963265 {#4310
      date: 2026-01-21 03:41:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4341 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756840184 {#4311
      date: 2025-09-02 21:09:44.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 45
    -tiersId: 18864
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "diagonal foam patterns roller"
    -metaphoneName: "TKNLFMPTRNSRLR"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 70.5 MiB 2.40 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4312
    #id: 839
    #token: "6733d719aed4e"
    -images: Doctrine\ORM\PersistentCollection {#4313 …}
    -videos: Doctrine\ORM\PersistentCollection {#4315 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4317 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4319 …}
    -categories: Doctrine\ORM\PersistentCollection {#4321 …}
    -materials: Doctrine\ORM\PersistentCollection {#4323 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4325 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4327 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4329 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4332 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4333 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4335 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4337 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4339 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4309
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1768963265 {#4310
      date: 2026-01-21 03:41:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4341 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756840184 {#4311
      date: 2025-09-02 21:09:44.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 45
    -tiersId: 18864
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "diagonal foam patterns roller"
    -metaphoneName: "TKNLFMPTRNSRLR"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Mouvements Diagonaux sur Foam Roller"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#7896
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Mouvements Diagonaux sur Foam Roller"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4312
    #id: 839
    #token: "6733d719aed4e"
    -images: Doctrine\ORM\PersistentCollection {#4313 …}
    -videos: Doctrine\ORM\PersistentCollection {#4315 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4317 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4319 …}
    -categories: Doctrine\ORM\PersistentCollection {#4321 …}
    -materials: Doctrine\ORM\PersistentCollection {#4323 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4325 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4327 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4329 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4332 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4333 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4335 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4337 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4339 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4309
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1768963265 {#4310
      date: 2026-01-21 03:41:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4341 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756840184 {#4311
      date: 2025-09-02 21:09:44.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 45
    -tiersId: 18864
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "diagonal foam patterns roller"
    -metaphoneName: "TKNLFMPTRNSRLR"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.06 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8015
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.05 ms
Input props
[
  "name" => "Pectoraux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8051
  +name: "Pectoraux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 70.5 MiB 0.04 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8075
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 70.5 MiB 0.04 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8057
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#7921
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 70.5 MiB 0.50 ms
Input props
[
  "class" => "ad-listing max-w-[343.33px] md:max-w-none"
]
Attributes
[
  "class" => "ad-listing max-w-[343.33px] md:max-w-none"
]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#8128
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1220 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 72.5 MiB 5.92 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4346
    #id: 842
    #token: "6733d719d874a"
    -images: Doctrine\ORM\PersistentCollection {#4347 …}
    -videos: Doctrine\ORM\PersistentCollection {#4349 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4351 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4353 …}
    -categories: Doctrine\ORM\PersistentCollection {#4355 …}
    -materials: Doctrine\ORM\PersistentCollection {#4357 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: "contraction"
    -disciplines: Doctrine\ORM\PersistentCollection {#4359 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4361 …}
    -mainExercise: App\Entity\Training\Exercise {#4364 …}
    -variants: Doctrine\ORM\PersistentCollection {#4365 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4368 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4369 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4371 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4373 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4375 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4343
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769264042 {#4344
      date: 2026-01-24 15:14:02.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4377 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752044636 {#4345
      date: 2025-07-09 09:03:56.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 354
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "behind machine neck press smith"
    -metaphoneName: "BHNTMXNNKPRSSM0"
  }
  "shortName" => false
  "id" => "exercise-card-6733d719d874a"
]
Attributes
[
  "id" => "exercise-card-6733d719d874a"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8121
  +exercise: App\Entity\Training\Exercise {#4346
    #id: 842
    #token: "6733d719d874a"
    -images: Doctrine\ORM\PersistentCollection {#4347 …}
    -videos: Doctrine\ORM\PersistentCollection {#4349 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4351 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4353 …}
    -categories: Doctrine\ORM\PersistentCollection {#4355 …}
    -materials: Doctrine\ORM\PersistentCollection {#4357 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: "contraction"
    -disciplines: Doctrine\ORM\PersistentCollection {#4359 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4361 …}
    -mainExercise: App\Entity\Training\Exercise {#4364 …}
    -variants: Doctrine\ORM\PersistentCollection {#4365 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4368 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4369 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4371 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4373 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4375 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4343
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769264042 {#4344
      date: 2026-01-24 15:14:02.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4377 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752044636 {#4345
      date: 2025-07-09 09:03:56.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 354
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "behind machine neck press smith"
    -metaphoneName: "BHNTMXNNKPRSSM0"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 72.5 MiB 2.32 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4346
    #id: 842
    #token: "6733d719d874a"
    -images: Doctrine\ORM\PersistentCollection {#4347 …}
    -videos: Doctrine\ORM\PersistentCollection {#4349 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4351 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4353 …}
    -categories: Doctrine\ORM\PersistentCollection {#4355 …}
    -materials: Doctrine\ORM\PersistentCollection {#4357 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: "contraction"
    -disciplines: Doctrine\ORM\PersistentCollection {#4359 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4361 …}
    -mainExercise: App\Entity\Training\Exercise {#4364 …}
    -variants: Doctrine\ORM\PersistentCollection {#4365 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4368 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4369 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4371 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4373 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4375 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4343
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769264042 {#4344
      date: 2026-01-24 15:14:02.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4377 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752044636 {#4345
      date: 2025-07-09 09:03:56.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 354
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "behind machine neck press smith"
    -metaphoneName: "BHNTMXNNKPRSSM0"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Développé nuque à la Smith Machine"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#8195
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Développé nuque à la Smith Machine"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4346
    #id: 842
    #token: "6733d719d874a"
    -images: Doctrine\ORM\PersistentCollection {#4347 …}
    -videos: Doctrine\ORM\PersistentCollection {#4349 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4351 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4353 …}
    -categories: Doctrine\ORM\PersistentCollection {#4355 …}
    -materials: Doctrine\ORM\PersistentCollection {#4357 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: "contraction"
    -disciplines: Doctrine\ORM\PersistentCollection {#4359 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4361 …}
    -mainExercise: App\Entity\Training\Exercise {#4364 …}
    -variants: Doctrine\ORM\PersistentCollection {#4365 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4368 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4369 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4371 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4373 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4375 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450649 {#4343
      date: 2024-11-12 23:30:49.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769264042 {#4344
      date: 2026-01-24 15:14:02.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4377 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752044636 {#4345
      date: 2025-07-09 09:03:56.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 40
    -tiersId: 354
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "behind machine neck press smith"
    -metaphoneName: "BHNTMXNNKPRSSM0"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 72.5 MiB 0.05 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8304
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 72.5 MiB 0.05 ms
Input props
[
  "difficulty" => "intermediate"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8277
  +difficulty: "intermediate"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#8220
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 72.5 MiB 6.00 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4382
    #id: 846
    #token: "6733d71a4bd9f"
    -images: Doctrine\ORM\PersistentCollection {#4383 …}
    -videos: Doctrine\ORM\PersistentCollection {#4385 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4387 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4389 …}
    -categories: Doctrine\ORM\PersistentCollection {#4391 …}
    -materials: Doctrine\ORM\PersistentCollection {#4393 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4395 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4397 …}
    -mainExercise: App\Entity\Training\Exercise {#4400 …}
    -variants: Doctrine\ORM\PersistentCollection {#4401 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4404 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4405 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4407 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4409 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4411 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450650 {#4379
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769252489 {#4380
      date: 2026-01-24 12:01:29.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4413 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752045267 {#4381
      date: 2025-07-09 09:14:27.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: 19161
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "discs prone raise weight y"
    -metaphoneName: "TSKSPRNRSWFT"
  }
  "shortName" => false
  "id" => "exercise-card-6733d71a4bd9f"
]
Attributes
[
  "id" => "exercise-card-6733d71a4bd9f"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8350
  +exercise: App\Entity\Training\Exercise {#4382
    #id: 846
    #token: "6733d71a4bd9f"
    -images: Doctrine\ORM\PersistentCollection {#4383 …}
    -videos: Doctrine\ORM\PersistentCollection {#4385 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4387 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4389 …}
    -categories: Doctrine\ORM\PersistentCollection {#4391 …}
    -materials: Doctrine\ORM\PersistentCollection {#4393 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4395 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4397 …}
    -mainExercise: App\Entity\Training\Exercise {#4400 …}
    -variants: Doctrine\ORM\PersistentCollection {#4401 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4404 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4405 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4407 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4409 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4411 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450650 {#4379
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769252489 {#4380
      date: 2026-01-24 12:01:29.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4413 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752045267 {#4381
      date: 2025-07-09 09:14:27.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: 19161
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "discs prone raise weight y"
    -metaphoneName: "TSKSPRNRSWFT"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 72.5 MiB 2.41 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4382
    #id: 846
    #token: "6733d71a4bd9f"
    -images: Doctrine\ORM\PersistentCollection {#4383 …}
    -videos: Doctrine\ORM\PersistentCollection {#4385 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4387 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4389 …}
    -categories: Doctrine\ORM\PersistentCollection {#4391 …}
    -materials: Doctrine\ORM\PersistentCollection {#4393 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4395 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4397 …}
    -mainExercise: App\Entity\Training\Exercise {#4400 …}
    -variants: Doctrine\ORM\PersistentCollection {#4401 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4404 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4405 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4407 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4409 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4411 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450650 {#4379
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769252489 {#4380
      date: 2026-01-24 12:01:29.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4413 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752045267 {#4381
      date: 2025-07-09 09:14:27.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: 19161
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "discs prone raise weight y"
    -metaphoneName: "TSKSPRNRSWFT"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Élévation en Y sur banc incliné avec disques"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#8389
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Élévation en Y sur banc incliné avec disques"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4382
    #id: 846
    #token: "6733d71a4bd9f"
    -images: Doctrine\ORM\PersistentCollection {#4383 …}
    -videos: Doctrine\ORM\PersistentCollection {#4385 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4387 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4389 …}
    -categories: Doctrine\ORM\PersistentCollection {#4391 …}
    -materials: Doctrine\ORM\PersistentCollection {#4393 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4395 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4397 …}
    -mainExercise: App\Entity\Training\Exercise {#4400 …}
    -variants: Doctrine\ORM\PersistentCollection {#4401 …}
    -isAvatarDefaultBackView: true
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4404 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4405 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4407 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4409 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4411 …}
    -side: false
    #createdAt: DateTimeImmutable @1731450650 {#4379
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769252489 {#4380
      date: 2026-01-24 12:01:29.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4413 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752045267 {#4381
      date: 2025-07-09 09:14:27.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: 19161
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "discs prone raise weight y"
    -metaphoneName: "TSKSPRNRSWFT"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 72.5 MiB 0.06 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8498
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 72.5 MiB 0.05 ms
Input props
[
  "difficulty" => "intermediate"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8471
  +difficulty: "intermediate"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#8414
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 72.5 MiB 6.01 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4418
    #id: 847
    #token: "6733d71a6554a"
    -images: Doctrine\ORM\PersistentCollection {#4419 …}
    -videos: Doctrine\ORM\PersistentCollection {#4421 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
    -categories: Doctrine\ORM\PersistentCollection {#4427 …}
    -materials: Doctrine\ORM\PersistentCollection {#4429 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: null
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
    -mainExercise: App\Entity\Training\Exercise {#4436 …}
    -variants: Doctrine\ORM\PersistentCollection {#4437 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4415
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769191651 {#4416
      date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4449 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1740325072 {#4417
      date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 95
    -tiersId: 18872
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm pull shoulder stretch"
    -metaphoneName: "ARMPLXLTRSTRX"
  }
  "shortName" => false
  "id" => "exercise-card-6733d71a6554a"
]
Attributes
[
  "id" => "exercise-card-6733d71a6554a"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8544
  +exercise: App\Entity\Training\Exercise {#4418
    #id: 847
    #token: "6733d71a6554a"
    -images: Doctrine\ORM\PersistentCollection {#4419 …}
    -videos: Doctrine\ORM\PersistentCollection {#4421 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
    -categories: Doctrine\ORM\PersistentCollection {#4427 …}
    -materials: Doctrine\ORM\PersistentCollection {#4429 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: null
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
    -mainExercise: App\Entity\Training\Exercise {#4436 …}
    -variants: Doctrine\ORM\PersistentCollection {#4437 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4415
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769191651 {#4416
      date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4449 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1740325072 {#4417
      date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 95
    -tiersId: 18872
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm pull shoulder stretch"
    -metaphoneName: "ARMPLXLTRSTRX"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 72.5 MiB 2.42 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4418
    #id: 847
    #token: "6733d71a6554a"
    -images: Doctrine\ORM\PersistentCollection {#4419 …}
    -videos: Doctrine\ORM\PersistentCollection {#4421 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
    -categories: Doctrine\ORM\PersistentCollection {#4427 …}
    -materials: Doctrine\ORM\PersistentCollection {#4429 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: null
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
    -mainExercise: App\Entity\Training\Exercise {#4436 …}
    -variants: Doctrine\ORM\PersistentCollection {#4437 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4415
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769191651 {#4416
      date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4449 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1740325072 {#4417
      date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 95
    -tiersId: 18872
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm pull shoulder stretch"
    -metaphoneName: "ARMPLXLTRSTRX"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Étirement de l'épaule bras croisé"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#8583
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Étirement de l'épaule bras croisé"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4418
    #id: 847
    #token: "6733d71a6554a"
    -images: Doctrine\ORM\PersistentCollection {#4419 …}
    -videos: Doctrine\ORM\PersistentCollection {#4421 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
    -categories: Doctrine\ORM\PersistentCollection {#4427 …}
    -materials: Doctrine\ORM\PersistentCollection {#4429 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: null
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
    -mainExercise: App\Entity\Training\Exercise {#4436 …}
    -variants: Doctrine\ORM\PersistentCollection {#4437 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4415
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769191651 {#4416
      date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4449 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1740325072 {#4417
      date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 95
    -tiersId: 18872
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm pull shoulder stretch"
    -metaphoneName: "ARMPLXLTRSTRX"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 72.5 MiB 0.05 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8692
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 72.5 MiB 0.05 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8665
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#8608
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 72.5 MiB 6.18 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4454
    #id: 848
    #token: "6733d71a6d241"
    -images: Doctrine\ORM\PersistentCollection {#4455 …}
    -videos: Doctrine\ORM\PersistentCollection {#4457 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4459 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4461 …}
    -categories: Doctrine\ORM\PersistentCollection {#4463 …}
    -materials: Doctrine\ORM\PersistentCollection {#4465 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4467 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4469 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4471 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4475 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4477 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4479 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4481 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4451
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769131338 {#4452
      date: 2026-01-23 02:22:18.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4483 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047360 {#4453
      date: 2025-07-09 09:49:20.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 19767
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles reverse shoulder wall"
    -metaphoneName: "SRKLSRFRSXLTRWL"
  }
  "shortName" => false
  "id" => "exercise-card-6733d71a6d241"
]
Attributes
[
  "id" => "exercise-card-6733d71a6d241"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8738
  +exercise: App\Entity\Training\Exercise {#4454
    #id: 848
    #token: "6733d71a6d241"
    -images: Doctrine\ORM\PersistentCollection {#4455 …}
    -videos: Doctrine\ORM\PersistentCollection {#4457 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4459 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4461 …}
    -categories: Doctrine\ORM\PersistentCollection {#4463 …}
    -materials: Doctrine\ORM\PersistentCollection {#4465 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4467 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4469 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4471 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4475 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4477 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4479 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4481 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4451
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769131338 {#4452
      date: 2026-01-23 02:22:18.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4483 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047360 {#4453
      date: 2025-07-09 09:49:20.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 19767
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles reverse shoulder wall"
    -metaphoneName: "SRKLSRFRSXLTRWL"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 72.5 MiB 2.61 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4454
    #id: 848
    #token: "6733d71a6d241"
    -images: Doctrine\ORM\PersistentCollection {#4455 …}
    -videos: Doctrine\ORM\PersistentCollection {#4457 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4459 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4461 …}
    -categories: Doctrine\ORM\PersistentCollection {#4463 …}
    -materials: Doctrine\ORM\PersistentCollection {#4465 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4467 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4469 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4471 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4475 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4477 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4479 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4481 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4451
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769131338 {#4452
      date: 2026-01-23 02:22:18.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4483 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047360 {#4453
      date: 2025-07-09 09:49:20.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 19767
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles reverse shoulder wall"
    -metaphoneName: "SRKLSRFRSXLTRWL"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Cercles inversés de l'épaule contre le mur"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#8777
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Cercles inversés de l'épaule contre le mur"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4454
    #id: 848
    #token: "6733d71a6d241"
    -images: Doctrine\ORM\PersistentCollection {#4455 …}
    -videos: Doctrine\ORM\PersistentCollection {#4457 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4459 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4461 …}
    -categories: Doctrine\ORM\PersistentCollection {#4463 …}
    -materials: Doctrine\ORM\PersistentCollection {#4465 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4467 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4469 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4471 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4475 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4477 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4479 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4481 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4451
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769131338 {#4452
      date: 2026-01-23 02:22:18.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4483 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047360 {#4453
      date: 2025-07-09 09:49:20.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: 19767
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles reverse shoulder wall"
    -metaphoneName: "SRKLSRFRSXLTRWL"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 72.5 MiB 0.05 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8886
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 72.5 MiB 0.04 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8859
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#8802
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 72.5 MiB 0.05 ms
Input props
[
  "class" => "ad-listing max-w-[343.33px] md:max-w-none"
]
Attributes
[
  "class" => "ad-listing max-w-[343.33px] md:max-w-none"
]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#8938
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1220 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 72.5 MiB 8.93 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4488
    #id: 849
    #token: "6733d71a6d9cb"
    -images: Doctrine\ORM\PersistentCollection {#4489 …}
    -videos: Doctrine\ORM\PersistentCollection {#4491 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4493 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4495 …}
    -categories: Doctrine\ORM\PersistentCollection {#4497 …}
    -materials: Doctrine\ORM\PersistentCollection {#4499 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4501 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4503 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4505 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4507 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4509 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4511 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4513 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4485
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769276566 {#4486
      date: 2026-01-24 18:42:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4515 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047470 {#4487
      date: 2025-07-09 09:51:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: 19766
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles forward shoulder wall"
    -metaphoneName: "SRKLSFRWRTXLTRWL"
  }
  "shortName" => false
  "id" => "exercise-card-6733d71a6d9cb"
]
Attributes
[
  "id" => "exercise-card-6733d71a6d9cb"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8932
  +exercise: App\Entity\Training\Exercise {#4488
    #id: 849
    #token: "6733d71a6d9cb"
    -images: Doctrine\ORM\PersistentCollection {#4489 …}
    -videos: Doctrine\ORM\PersistentCollection {#4491 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4493 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4495 …}
    -categories: Doctrine\ORM\PersistentCollection {#4497 …}
    -materials: Doctrine\ORM\PersistentCollection {#4499 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4501 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4503 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4505 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4507 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4509 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4511 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4513 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4485
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769276566 {#4486
      date: 2026-01-24 18:42:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4515 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047470 {#4487
      date: 2025-07-09 09:51:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: 19766
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles forward shoulder wall"
    -metaphoneName: "SRKLSFRWRTXLTRWL"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 72.5 MiB 2.17 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4488
    #id: 849
    #token: "6733d71a6d9cb"
    -images: Doctrine\ORM\PersistentCollection {#4489 …}
    -videos: Doctrine\ORM\PersistentCollection {#4491 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4493 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4495 …}
    -categories: Doctrine\ORM\PersistentCollection {#4497 …}
    -materials: Doctrine\ORM\PersistentCollection {#4499 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4501 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4503 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4505 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4507 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4509 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4511 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4513 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4485
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769276566 {#4486
      date: 2026-01-24 18:42:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4515 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047470 {#4487
      date: 2025-07-09 09:51:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: 19766
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles forward shoulder wall"
    -metaphoneName: "SRKLSFRWRTXLTRWL"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Cercles Muraux Épaules vers l'Avant"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#8996
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Cercles Muraux Épaules vers l'Avant"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4488
    #id: 849
    #token: "6733d71a6d9cb"
    -images: Doctrine\ORM\PersistentCollection {#4489 …}
    -videos: Doctrine\ORM\PersistentCollection {#4491 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4493 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4495 …}
    -categories: Doctrine\ORM\PersistentCollection {#4497 …}
    -materials: Doctrine\ORM\PersistentCollection {#4499 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4501 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4503 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4505 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4474 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4507 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4509 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4511 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4513 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4485
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769276566 {#4486
      date: 2026-01-24 18:42:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4515 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752047470 {#4487
      date: 2025-07-09 09:51:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: 19766
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "circles forward shoulder wall"
    -metaphoneName: "SRKLSFRWRTXLTRWL"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 72.5 MiB 0.05 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8412
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 72.5 MiB 0.05 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#6533
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#9021
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 74.5 MiB 6.41 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4520
    #id: 850
    #token: "6733d71a6e0ba"
    -images: Doctrine\ORM\PersistentCollection {#4521 …}
    -videos: Doctrine\ORM\PersistentCollection {#4523 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4525 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4527 …}
    -categories: Doctrine\ORM\PersistentCollection {#4529 …}
    -materials: Doctrine\ORM\PersistentCollection {#4531 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4533 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4535 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4537 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4540 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4541 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4543 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4545 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4547 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4517
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769246630 {#4518
      date: 2026-01-24 10:23:50.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752057693 {#4519
      date: 2025-07-09 12:41:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: 646
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "external pvc rotation shoulder"
    -metaphoneName: "EKSTRNLPFKRTXNXLTR"
  }
  "shortName" => false
  "id" => "exercise-card-6733d71a6e0ba"
]
Attributes
[
  "id" => "exercise-card-6733d71a6e0ba"
]
Component
App\Twig\Components\Card\ExerciseCardH {#9065
  +exercise: App\Entity\Training\Exercise {#4520
    #id: 850
    #token: "6733d71a6e0ba"
    -images: Doctrine\ORM\PersistentCollection {#4521 …}
    -videos: Doctrine\ORM\PersistentCollection {#4523 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4525 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4527 …}
    -categories: Doctrine\ORM\PersistentCollection {#4529 …}
    -materials: Doctrine\ORM\PersistentCollection {#4531 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4533 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4535 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4537 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4540 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4541 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4543 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4545 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4547 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4517
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769246630 {#4518
      date: 2026-01-24 10:23:50.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752057693 {#4519
      date: 2025-07-09 12:41:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: 646
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "external pvc rotation shoulder"
    -metaphoneName: "EKSTRNLPFKRTXNXLTR"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 74.5 MiB 2.62 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4520
    #id: 850
    #token: "6733d71a6e0ba"
    -images: Doctrine\ORM\PersistentCollection {#4521 …}
    -videos: Doctrine\ORM\PersistentCollection {#4523 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4525 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4527 …}
    -categories: Doctrine\ORM\PersistentCollection {#4529 …}
    -materials: Doctrine\ORM\PersistentCollection {#4531 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4533 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4535 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4537 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4540 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4541 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4543 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4545 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4547 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4517
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769246630 {#4518
      date: 2026-01-24 10:23:50.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752057693 {#4519
      date: 2025-07-09 12:41:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: 646
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "external pvc rotation shoulder"
    -metaphoneName: "EKSTRNLPFKRTXNXLTR"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Rotation externe de l'épaule avec bâton PVC"
  "smWidth" => 320
  "smHeight" => 180
  "lgWidth" => 250
  "lgHeight" => 140
  "pictureClass" => "md:max-w-min"
]
Attributes
[
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
]
Component
App\Twig\Components\Training\Exercise\ExerciseImage {#9104
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#1171 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Rotation externe de l'épaule avec bâton PVC"
  +pictureClass: "md:max-w-min"
  +smWidth: 320
  +smHeight: 180
  +lgWidth: 250
  +lgHeight: 140
  +defaultSize: 350
  +crop: true
  +fetchPriority: "auto"
  +sizeScalingFactor: 1.5
  +referrerPolicy: "same-origin"
  +media: null
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#1230 …}
  +exercise: App\Entity\Training\Exercise {#4520
    #id: 850
    #token: "6733d71a6e0ba"
    -images: Doctrine\ORM\PersistentCollection {#4521 …}
    -videos: Doctrine\ORM\PersistentCollection {#4523 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4525 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4527 …}
    -categories: Doctrine\ORM\PersistentCollection {#4529 …}
    -materials: Doctrine\ORM\PersistentCollection {#4531 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4533 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4535 …}
    -mainExercise: App\Entity\Training\Exercise {#4418
      #id: 847
      #token: "6733d71a6554a"
      -images: Doctrine\ORM\PersistentCollection {#4419 …}
      -videos: Doctrine\ORM\PersistentCollection {#4421 …}
      -muscles: Doctrine\ORM\PersistentCollection {#4423 …}
      -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4425 …}
      -categories: Doctrine\ORM\PersistentCollection {#4427 …}
      -materials: Doctrine\ORM\PersistentCollection {#4429 …}
      -status: null
      -statusInternal: "done"
      -publicStatus: null
      -difficulty: "beginner"
      -focus: null
      -executionType: null
      -workoutParts: [
        "workout"
      ]
      -tensionType: null
      -disciplines: Doctrine\ORM\PersistentCollection {#4431 …}
      -validateAt: null
      -validatedBy: Doctrine\ORM\PersistentCollection {#4433 …}
      -mainExercise: App\Entity\Training\Exercise {#4436 …}
      -variants: Doctrine\ORM\PersistentCollection {#4437 …}
      -isAvatarDefaultBackView: false
      -exerciseGroup: App\Entity\Training\ExerciseGroup {#4440 …}
      -grips: []
      -isSuggestion: false
      -suggestBy: null
      -preferredGenderView: null
      -exerciseProposal: null
      -userFavorites: Doctrine\ORM\PersistentCollection {#4441 …}
      -defaultUnit: "unit_time"
      -exerciseLogs: Doctrine\ORM\PersistentCollection {#4443 …}
      -aliases: Doctrine\ORM\PersistentCollection {#4445 …}
      -faqs: Doctrine\ORM\PersistentCollection {#4447 …}
      -side: true
      #createdAt: DateTimeImmutable @1731450650 {#4415
        date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
      }
      #updatedAt: DateTimeImmutable @1769191651 {#4416
        date: 2026-01-23 19:07:31.0 Europe/Zurich (+01:00)
      }
      #createdBy: null
      #updatedBy: null
      #deletedAt: null
      #translations: Doctrine\ORM\PersistentCollection {#4449 …}
      #newTranslations: null
      #currentLocale: "fr"
      #defaultLocale: "en"
      -published: true
      #publishedAt: DateTimeImmutable @1740325072 {#4417
        date: 2025-02-23 16:37:52.0 Europe/Zurich (+01:00)
      }
      -publishedBy: null
      -notes: null
      -viewCounter: 95
      -tiersId: 18872
      -tiersName: "azeoo"
      -source: "openai"
      -sourceModel: null
      -normalizedName: "arm pull shoulder stretch"
      -metaphoneName: "ARMPLXLTRSTRX"
    }
    -variants: Doctrine\ORM\PersistentCollection {#4537 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4540 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4541 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4543 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4545 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4547 …}
    -side: true
    #createdAt: DateTimeImmutable @1731450650 {#4517
      date: 2024-11-12 23:30:50.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1769246630 {#4518
      date: 2026-01-24 10:23:50.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752057693 {#4519
      date: 2025-07-09 12:41:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: 646
    -tiersName: "azeoo"
    -source: "openai"
    -sourceModel: null
    -normalizedName: "external pvc rotation shoulder"
    -metaphoneName: "EKSTRNLPFKRTXNXLTR"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7168 …}
}
ui:badge App\Twig\Components\Ui\Badge 74.5 MiB 0.05 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9213
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 74.5 MiB 0.05 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9186
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-8 w-8 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#9129
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 74.5 MiB 1.47 ms
Input props
[
  "class" => "mx-auto max-w-3xl p-4"
]
Attributes
[
  "class" => "mx-auto max-w-3xl p-4"
]
Component
App\Twig\Components\App\PageSharer {#719
  +shareUrl: "https://test.fitmetrics.ch/fr/exercices/muscle/28-epaules?page=11"
  +title: "Exercices - Meilleurs exercices pour travailler le Épaules - FitMetrics"
  +description: "Les deltoïdes sont deux muscles qui recouvrent les faces externes des épaules. En forme de cônes à sommet dirigé vers le bas, ces muscles volumineux et épais font le lien entre la ceinture scapulaire (clavicule, sternum et omoplate) et le haut de l'humérus."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-5 h-5 text-white fill-white"
]
Attributes
[
  "class" => "w-5 h-5 text-white fill-white"
]
Component
App\Twig\Components\Media\Icon {#9302
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.05 ms
Input props
[
  "name" => "reddit"
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9330
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "twitter"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9355
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9378
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9401
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "linkedin"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9424
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9447
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "email"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#9470
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 74.5 MiB 0.34 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdWideSkyscraper {#9306
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: false
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1220 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
  +right: true
  +left: true
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 74.5 MiB 0.05 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#9523
  +includeScript: true
  +labelClass: null
  +containerClass: "content-container my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1220 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
}
app:lang-selector App\Twig\Components\App\LangSelector 74.5 MiB 0.04 ms
Input props
[
  "defaultOpenLeft" => false
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#9568
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#206 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
utils:theme-switcher
[Anonymous]
74.5 MiB 0.10 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#9560
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden"
]
Attributes
[
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden"
]
Component
App\Twig\Components\Media\Icon {#9602
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block"
]
Attributes
[
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block"
]
Component
App\Twig\Components\Media\Icon {#9634
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "heart"
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Attributes
[
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Component
App\Twig\Components\Media\Icon {#9657
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#9680
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "instagram"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#9703
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#9726
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "tiktok"
  "class" => "w-[29px] h-[29px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[29px] h-[29px]"
]
Component
App\Twig\Components\Media\Icon {#9749
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-[19px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[19px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#9772
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "youtube"
  "class" => "w-[28px] h-[24px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[24px]"
]
Component
App\Twig\Components\Media\Icon {#9795
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5160 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}