GET https://test.fitmetrics.ch/fr/exercices/categorie/59-mobilite?open-account-panel-popup=1&page=18

Components

17 Twig Components
141 Render Count
109 ms Render Time
70.5 MiB Memory Usage

Components

Name Metadata Render Count Render Time
media:icon
"App\Twig\Components\Media\Icon"
components/media/icon.html.twig
74 2.92ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
15 0.94ms
card:exercise-h
"App\Twig\Components\Card\ExerciseCardH"
components/card/exercise-h.html.twig
10 65.96ms
training:exercise:image
"App\Twig\Components\Training\Exercise\ExerciseImage"
components/training/exercise/image.html.twig
10 23.71ms
training:difficulty-badge
"App\Twig\Components\Training\DifficultyBadge"
components/training/difficulity-badge.html.twig
10 0.66ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
4 3.82ms
ui:dropdown
"App\Twig\Components\Ui\Dropdown"
components/ui/dropdown.html.twig
4 2.52ms
utils:lang-selector
[Anonymous]
components/utils/lang-selector.html.twig
3 3.83ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
3 0.66ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 37.12ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 9.21ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.56ms
media:image
"App\Twig\Components\Media\Image"
components/media/image.html.twig
1 0.94ms
ui:accordion
"App\Twig\Components\Ui\Accordion"
components/ui/accordion.html.twig
1 0.85ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
1 1.32ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.32ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
1 0.47ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 64.5 MiB 37.12 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#5132
  -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#217 …}
  -em: Doctrine\ORM\EntityManager {#593 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#2237 …}
  -kernel: App\Kernel {#14 …}
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#510 …}
}
media:icon App\Twig\Components\Media\Icon 58.5 MiB 0.42 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "header--logo-dark header--logo dark:hidden h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "header--logo-dark header--logo dark:hidden h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#5179
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 58.5 MiB 0.05 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#5190
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
58.5 MiB 2.24 ms
Input props
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#5241
  -props: [
    "size" => "compact"
    "showTranslateIcon" => false
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 58.5 MiB 1.75 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#5268
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  +showTranslateIcon: false
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 58.5 MiB 0.83 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#5303
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: false
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 58.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-4 h-4 dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-4 h-4 dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#5346
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 58.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#5392
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5409
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5431
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.04 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 {#5459
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5475
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5499
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5523
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5547
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5571
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5595
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5619
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#5643
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.05 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 {#6168
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
60.5 MiB 0.77 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Attributes
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6206
  -props: [
    "defaultOpenLeft" => true
    "size" => "compact"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 60.5 MiB 0.67 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#6243
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  +showTranslateIcon: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 60.5 MiB 0.55 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#6265
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: true
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.04 ms
Input props
[
  "name" => "g-translate"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Component
App\Twig\Components\Media\Icon {#6296
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.03 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#6318
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6365
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 64.5 MiB 9.21 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#6237
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#6347 …}
  -formFactory: Symfony\Component\Form\FormFactory {#3152 …}
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.04 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 {#6493
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#6509
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#6539
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.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 {#6571
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 60.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 {#6590
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
app:lang-selector App\Twig\Components\App\LangSelector 64.5 MiB 0.69 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#6702
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  +showTranslateIcon: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 64.5 MiB 0.55 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#6731
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: true
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "g-translate"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Component
App\Twig\Components\Media\Icon {#6762
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#6784
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6831
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-14 w-full object-contain object-center dark:hidden"
]
Attributes
[
  "class" => "h-14 w-full object-contain object-center dark:hidden"
]
Component
App\Twig\Components\Media\Icon {#6686
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +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 h-14 w-full object-contain object-center dark:block"
]
Attributes
[
  "class" => "hidden h-14 w-full object-contain object-center dark:block"
]
Component
App\Twig\Components\Media\Icon {#6856
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#6872
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "fire"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#6910
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#6934
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "barbell"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#6958
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "discipline"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#6982
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +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-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7006
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +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-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7030
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +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-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7054
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "favorites"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7078
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "more"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7102
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-16 w-full"
]
Attributes
[
  "class" => "h-16 w-full"
]
Component
App\Twig\Components\Media\Icon {#6642
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 64.5 MiB 0.56 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#3150
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "label.categories"
        "url" => "/fr/exercices/categories"
      ]
      [
        "label" => "Mobilité"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#7172
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "label.categories"
      "url" => "/fr/exercices/categories"
    ]
    [
      "label" => "Mobilité"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#3150
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "label.categories"
        "url" => "/fr/exercices/categories"
      ]
      [
        "label" => "Mobilité"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 64.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 {#7202
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#7224
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#7247
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:image App\Twig\Components\Media\Image 64.5 MiB 0.94 ms
Input props
[
  "media" => App\Entity\Media\MediaImage {#3283
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#3382 …}
    #file: Vich\UploaderBundle\Entity\File {#3334 …}
    #credits: Doctrine\ORM\PersistentCollection {#3284 …}
    -source: "https://pixabay.com/fr/photos/femme-sétirer-aptitude-extérieur-4127336/"
    -zone: null
    -urlExternal: null
    #id: 516
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#3355 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1730759528 {#3280
      date: 2024-11-04 23:32:08.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1778052157 {#3363
      date: 2026-05-06 09:22:37.207485 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#3223 …}
  }
  "class" => "rounded-xl object-cover aspect-square w-[150px] md:w-[250px]"
  "alt" => "Meilleurs exercices pour mobilité"
  "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 {#7270
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Meilleurs exercices pour mobilité"
  +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 {#3283
    #uploadedFile: Symfony\Component\HttpFoundation\File\File {#3382 …}
    #file: Vich\UploaderBundle\Entity\File {#3334 …}
    #credits: Doctrine\ORM\PersistentCollection {#3284 …}
    -source: "https://pixabay.com/fr/photos/femme-sétirer-aptitude-extérieur-4127336/"
    -zone: null
    -urlExternal: null
    #id: 516
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#3355 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: null
    #createdAt: DateTimeImmutable @1730759528 {#3280
      date: 2024-11-04 23:32:08.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1778052157 {#3363
      date: 2026-05-06 09:22:37.207485 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: App\Entity\User {#3223 …}
  }
  #mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#510 …}
}
ui:accordion App\Twig\Components\Ui\Accordion 64.5 MiB 0.85 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 {#7316
  +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 64.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 {#7404
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-up-circle"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 64.5 MiB 8.09 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#3718
    #id: 1461
    #token: "686fbd2057bb3"
    -images: Doctrine\ORM\PersistentCollection {#3786 …}
    -videos: Doctrine\ORM\PersistentCollection {#3780 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3805 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3700 …}
    -categories: Doctrine\ORM\PersistentCollection {#3707 …}
    -materials: Doctrine\ORM\PersistentCollection {#4033 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: App\Entity\Training\Exercise {#4044 …}
    -variants: Doctrine\ORM\PersistentCollection {#4045 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4066 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4082 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4158 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4242 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#3800
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773736835 {#3714
      date: 2026-03-17 09:40:35.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4264 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "torso twist"
    -metaphoneName: "TRSTWST"
  }
  "shortName" => false
  "id" => "exercise-card-686fbd2057bb3"
]
Attributes
[
  "id" => "exercise-card-686fbd2057bb3"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7453
  +exercise: App\Entity\Training\Exercise {#3718
    #id: 1461
    #token: "686fbd2057bb3"
    -images: Doctrine\ORM\PersistentCollection {#3786 …}
    -videos: Doctrine\ORM\PersistentCollection {#3780 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3805 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3700 …}
    -categories: Doctrine\ORM\PersistentCollection {#3707 …}
    -materials: Doctrine\ORM\PersistentCollection {#4033 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: App\Entity\Training\Exercise {#4044 …}
    -variants: Doctrine\ORM\PersistentCollection {#4045 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4066 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4082 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4158 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4242 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#3800
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773736835 {#3714
      date: 2026-03-17 09:40:35.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4264 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "torso twist"
    -metaphoneName: "TRSTWST"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 64.5 MiB 2.26 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#3718
    #id: 1461
    #token: "686fbd2057bb3"
    -images: Doctrine\ORM\PersistentCollection {#3786 …}
    -videos: Doctrine\ORM\PersistentCollection {#3780 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3805 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3700 …}
    -categories: Doctrine\ORM\PersistentCollection {#3707 …}
    -materials: Doctrine\ORM\PersistentCollection {#4033 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: App\Entity\Training\Exercise {#4044 …}
    -variants: Doctrine\ORM\PersistentCollection {#4045 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4066 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4082 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4158 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4242 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#3800
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773736835 {#3714
      date: 2026-03-17 09:40:35.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4264 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "torso twist"
    -metaphoneName: "TRSTWST"
  }
  "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 du tronc"
  "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 {#7486
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Rotation du tronc"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#3718
    #id: 1461
    #token: "686fbd2057bb3"
    -images: Doctrine\ORM\PersistentCollection {#3786 …}
    -videos: Doctrine\ORM\PersistentCollection {#3780 …}
    -muscles: Doctrine\ORM\PersistentCollection {#3805 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#3700 …}
    -categories: Doctrine\ORM\PersistentCollection {#3707 …}
    -materials: Doctrine\ORM\PersistentCollection {#4033 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: App\Entity\Training\Exercise {#4044 …}
    -variants: Doctrine\ORM\PersistentCollection {#4045 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4066 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4082 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4158 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4242 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#3800
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773736835 {#3714
      date: 2026-03-17 09:40:35.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4264 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "torso twist"
    -metaphoneName: "TRSTWST"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 64.5 MiB 0.25 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7646
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 64.5 MiB 0.24 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#7662
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 64.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 {#7605
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 66.5 MiB 6.59 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4266
    #id: 1467
    #token: "686fbd208ed62"
    -images: Doctrine\ORM\PersistentCollection {#4267 …}
    -videos: Doctrine\ORM\PersistentCollection {#4269 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4271 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4273 …}
    -categories: Doctrine\ORM\PersistentCollection {#4275 …}
    -materials: Doctrine\ORM\PersistentCollection {#4277 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4279 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4281 …}
    -mainExercise: App\Entity\Training\Exercise {#4284 …}
    -variants: Doctrine\ORM\PersistentCollection {#4285 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4287 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4289 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4291 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4293 …}
    -side: true
    #createdAt: DateTimeImmutable @1752153376 {#4262
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769195867 {#4265
      date: 2026-01-23 20:17:47.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4295 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "seated spinal twist"
    -metaphoneName: "STTSPNLTWST"
  }
  "shortName" => false
  "id" => "exercise-card-686fbd208ed62"
]
Attributes
[
  "id" => "exercise-card-686fbd208ed62"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7489
  +exercise: App\Entity\Training\Exercise {#4266
    #id: 1467
    #token: "686fbd208ed62"
    -images: Doctrine\ORM\PersistentCollection {#4267 …}
    -videos: Doctrine\ORM\PersistentCollection {#4269 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4271 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4273 …}
    -categories: Doctrine\ORM\PersistentCollection {#4275 …}
    -materials: Doctrine\ORM\PersistentCollection {#4277 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4279 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4281 …}
    -mainExercise: App\Entity\Training\Exercise {#4284 …}
    -variants: Doctrine\ORM\PersistentCollection {#4285 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4287 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4289 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4291 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4293 …}
    -side: true
    #createdAt: DateTimeImmutable @1752153376 {#4262
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769195867 {#4265
      date: 2026-01-23 20:17:47.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4295 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "seated spinal twist"
    -metaphoneName: "STTSPNLTWST"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 2.66 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4266
    #id: 1467
    #token: "686fbd208ed62"
    -images: Doctrine\ORM\PersistentCollection {#4267 …}
    -videos: Doctrine\ORM\PersistentCollection {#4269 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4271 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4273 …}
    -categories: Doctrine\ORM\PersistentCollection {#4275 …}
    -materials: Doctrine\ORM\PersistentCollection {#4277 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4279 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4281 …}
    -mainExercise: App\Entity\Training\Exercise {#4284 …}
    -variants: Doctrine\ORM\PersistentCollection {#4285 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4287 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4289 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4291 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4293 …}
    -side: true
    #createdAt: DateTimeImmutable @1752153376 {#4262
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769195867 {#4265
      date: 2026-01-23 20:17:47.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4295 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "seated spinal twist"
    -metaphoneName: "STTSPNLTWST"
  }
  "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 Torsion vertébrale assise"
  "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 {#7775
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Torsion vertébrale assise"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4266
    #id: 1467
    #token: "686fbd208ed62"
    -images: Doctrine\ORM\PersistentCollection {#4267 …}
    -videos: Doctrine\ORM\PersistentCollection {#4269 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4271 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4273 …}
    -categories: Doctrine\ORM\PersistentCollection {#4275 …}
    -materials: Doctrine\ORM\PersistentCollection {#4277 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4279 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4281 …}
    -mainExercise: App\Entity\Training\Exercise {#4284 …}
    -variants: Doctrine\ORM\PersistentCollection {#4285 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4054 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4287 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4289 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4291 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4293 …}
    -side: true
    #createdAt: DateTimeImmutable @1752153376 {#4262
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769195867 {#4265
      date: 2026-01-23 20:17:47.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4295 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "seated spinal twist"
    -metaphoneName: "STTSPNLTWST"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.07 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7884
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 66.5 MiB 0.05 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#7863
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 66.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 {#7800
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 66.5 MiB 5.51 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4299
    #id: 1468
    #token: "686fbd2097a32"
    -images: Doctrine\ORM\PersistentCollection {#4300 …}
    -videos: Doctrine\ORM\PersistentCollection {#4302 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4304 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4306 …}
    -categories: Doctrine\ORM\PersistentCollection {#4308 …}
    -materials: Doctrine\ORM\PersistentCollection {#4310 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4312 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4314 …}
    -mainExercise: App\Entity\Training\Exercise {#4317 …}
    -variants: Doctrine\ORM\PersistentCollection {#4318 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4321 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4322 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4324 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4326 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4328 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#4297
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777811057 {#4298
      date: 2026-05-03 14:24:17.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4330 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "breathing deep"
    -metaphoneName: "BR0NKTP"
  }
  "shortName" => false
  "id" => "exercise-card-686fbd2097a32"
]
Attributes
[
  "id" => "exercise-card-686fbd2097a32"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7930
  +exercise: App\Entity\Training\Exercise {#4299
    #id: 1468
    #token: "686fbd2097a32"
    -images: Doctrine\ORM\PersistentCollection {#4300 …}
    -videos: Doctrine\ORM\PersistentCollection {#4302 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4304 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4306 …}
    -categories: Doctrine\ORM\PersistentCollection {#4308 …}
    -materials: Doctrine\ORM\PersistentCollection {#4310 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4312 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4314 …}
    -mainExercise: App\Entity\Training\Exercise {#4317 …}
    -variants: Doctrine\ORM\PersistentCollection {#4318 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4321 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4322 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4324 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4326 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4328 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#4297
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777811057 {#4298
      date: 2026-05-03 14:24:17.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4330 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "breathing deep"
    -metaphoneName: "BR0NKTP"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 2.11 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4299
    #id: 1468
    #token: "686fbd2097a32"
    -images: Doctrine\ORM\PersistentCollection {#4300 …}
    -videos: Doctrine\ORM\PersistentCollection {#4302 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4304 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4306 …}
    -categories: Doctrine\ORM\PersistentCollection {#4308 …}
    -materials: Doctrine\ORM\PersistentCollection {#4310 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4312 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4314 …}
    -mainExercise: App\Entity\Training\Exercise {#4317 …}
    -variants: Doctrine\ORM\PersistentCollection {#4318 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4321 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4322 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4324 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4326 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4328 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#4297
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777811057 {#4298
      date: 2026-05-03 14:24:17.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4330 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "breathing deep"
    -metaphoneName: "BR0NKTP"
  }
  "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 Respiration profonde"
  "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 {#7969
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Respiration profonde"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4299
    #id: 1468
    #token: "686fbd2097a32"
    -images: Doctrine\ORM\PersistentCollection {#4300 …}
    -videos: Doctrine\ORM\PersistentCollection {#4302 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4304 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4306 …}
    -categories: Doctrine\ORM\PersistentCollection {#4308 …}
    -materials: Doctrine\ORM\PersistentCollection {#4310 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4312 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4314 …}
    -mainExercise: App\Entity\Training\Exercise {#4317 …}
    -variants: Doctrine\ORM\PersistentCollection {#4318 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4321 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4322 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4324 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4326 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4328 …}
    -side: false
    #createdAt: DateTimeImmutable @1752153376 {#4297
      date: 2025-07-10 15:16:16.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777811057 {#4298
      date: 2026-05-03 14:24:17.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4330 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 42
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "breathing deep"
    -metaphoneName: "BR0NKTP"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 66.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 {#8078
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 66.5 MiB 0.05 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 66.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 {#7994
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 66.5 MiB 6.05 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4335
    #id: 1469
    #token: "686ff8b553614"
    -images: Doctrine\ORM\PersistentCollection {#4336 …}
    -videos: Doctrine\ORM\PersistentCollection {#4338 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4340 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4342 …}
    -categories: Doctrine\ORM\PersistentCollection {#4344 …}
    -materials: Doctrine\ORM\PersistentCollection {#4346 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4348 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4350 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4352 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4355 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4356 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4358 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4360 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4362 …}
    -side: false
    #createdAt: DateTimeImmutable @1752168629 {#4332
      date: 2025-07-10 19:30:29.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773042732 {#4333
      date: 2026-03-09 08:52:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4364 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752168693 {#4334
      date: 2025-07-10 19:31:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 33
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "cervical neck rolls"
    -metaphoneName: "SRFKLNKRLS"
  }
  "shortName" => false
  "id" => "exercise-card-686ff8b553614"
]
Attributes
[
  "id" => "exercise-card-686ff8b553614"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8124
  +exercise: App\Entity\Training\Exercise {#4335
    #id: 1469
    #token: "686ff8b553614"
    -images: Doctrine\ORM\PersistentCollection {#4336 …}
    -videos: Doctrine\ORM\PersistentCollection {#4338 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4340 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4342 …}
    -categories: Doctrine\ORM\PersistentCollection {#4344 …}
    -materials: Doctrine\ORM\PersistentCollection {#4346 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4348 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4350 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4352 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4355 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4356 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4358 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4360 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4362 …}
    -side: false
    #createdAt: DateTimeImmutable @1752168629 {#4332
      date: 2025-07-10 19:30:29.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773042732 {#4333
      date: 2026-03-09 08:52:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4364 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752168693 {#4334
      date: 2025-07-10 19:31:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 33
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "cervical neck rolls"
    -metaphoneName: "SRFKLNKRLS"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 2.08 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4335
    #id: 1469
    #token: "686ff8b553614"
    -images: Doctrine\ORM\PersistentCollection {#4336 …}
    -videos: Doctrine\ORM\PersistentCollection {#4338 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4340 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4342 …}
    -categories: Doctrine\ORM\PersistentCollection {#4344 …}
    -materials: Doctrine\ORM\PersistentCollection {#4346 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4348 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4350 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4352 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4355 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4356 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4358 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4360 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4362 …}
    -side: false
    #createdAt: DateTimeImmutable @1752168629 {#4332
      date: 2025-07-10 19:30:29.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773042732 {#4333
      date: 2026-03-09 08:52:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4364 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752168693 {#4334
      date: 2025-07-10 19:31:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 33
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "cervical neck rolls"
    -metaphoneName: "SRFKLNKRLS"
  }
  "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 Rotations cervicales"
  "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 {#8163
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Rotations cervicales"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4335
    #id: 1469
    #token: "686ff8b553614"
    -images: Doctrine\ORM\PersistentCollection {#4336 …}
    -videos: Doctrine\ORM\PersistentCollection {#4338 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4340 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4342 …}
    -categories: Doctrine\ORM\PersistentCollection {#4344 …}
    -materials: Doctrine\ORM\PersistentCollection {#4346 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4348 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4350 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4352 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4355 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4356 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4358 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4360 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4362 …}
    -side: false
    #createdAt: DateTimeImmutable @1752168629 {#4332
      date: 2025-07-10 19:30:29.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773042732 {#4333
      date: 2026-03-09 08:52:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4226 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4364 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752168693 {#4334
      date: 2025-07-10 19:31:33.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 33
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "cervical neck rolls"
    -metaphoneName: "SRFKLNKRLS"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.05 ms
Input props
[
  "name" => "Cou"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8295
  +name: "Cou"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 66.5 MiB 0.05 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8277
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 66.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 {#8188
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 66.5 MiB 0.57 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 {#8348
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1173 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 66.5 MiB 6.83 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4369
    #id: 1474
    #token: "687797f0943f5"
    -images: Doctrine\ORM\PersistentCollection {#4370 …}
    -videos: Doctrine\ORM\PersistentCollection {#4372 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4374 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4376 …}
    -categories: Doctrine\ORM\PersistentCollection {#4378 …}
    -materials: Doctrine\ORM\PersistentCollection {#4380 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4382 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4384 …}
    -mainExercise: App\Entity\Training\Exercise {#4369}
    -variants: Doctrine\ORM\PersistentCollection {#4386 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4389 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4390 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4392 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4394 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4396 …}
    -side: false
    #createdAt: DateTimeImmutable @1752668144 {#4366
      date: 2025-07-16 14:15:44.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1767604336 {#4367
      date: 2026-01-05 10:12:16.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4399 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4400 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752668376 {#4368
      date: 2025-07-16 14:19:36.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "bear crawl directional multi"
    -metaphoneName: "BRKRLTRKXNLMLT"
  }
  "shortName" => false
  "id" => "exercise-card-687797f0943f5"
]
Attributes
[
  "id" => "exercise-card-687797f0943f5"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8341
  +exercise: App\Entity\Training\Exercise {#4369
    #id: 1474
    #token: "687797f0943f5"
    -images: Doctrine\ORM\PersistentCollection {#4370 …}
    -videos: Doctrine\ORM\PersistentCollection {#4372 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4374 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4376 …}
    -categories: Doctrine\ORM\PersistentCollection {#4378 …}
    -materials: Doctrine\ORM\PersistentCollection {#4380 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4382 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4384 …}
    -mainExercise: App\Entity\Training\Exercise {#4369}
    -variants: Doctrine\ORM\PersistentCollection {#4386 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4389 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4390 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4392 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4394 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4396 …}
    -side: false
    #createdAt: DateTimeImmutable @1752668144 {#4366
      date: 2025-07-16 14:15:44.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1767604336 {#4367
      date: 2026-01-05 10:12:16.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4399 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4400 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752668376 {#4368
      date: 2025-07-16 14:19:36.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "bear crawl directional multi"
    -metaphoneName: "BRKRLTRKXNLMLT"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 2.02 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4369
    #id: 1474
    #token: "687797f0943f5"
    -images: Doctrine\ORM\PersistentCollection {#4370 …}
    -videos: Doctrine\ORM\PersistentCollection {#4372 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4374 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4376 …}
    -categories: Doctrine\ORM\PersistentCollection {#4378 …}
    -materials: Doctrine\ORM\PersistentCollection {#4380 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4382 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4384 …}
    -mainExercise: App\Entity\Training\Exercise {#4369}
    -variants: Doctrine\ORM\PersistentCollection {#4386 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4389 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4390 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4392 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4394 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4396 …}
    -side: false
    #createdAt: DateTimeImmutable @1752668144 {#4366
      date: 2025-07-16 14:15:44.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1767604336 {#4367
      date: 2026-01-05 10:12:16.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4399 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4400 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752668376 {#4368
      date: 2025-07-16 14:19:36.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "bear crawl directional multi"
    -metaphoneName: "BRKRLTRKXNLMLT"
  }
  "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 Rampé de l'ours multidirectionnel"
  "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 {#8415
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Rampé de l'ours multidirectionnel"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4369
    #id: 1474
    #token: "687797f0943f5"
    -images: Doctrine\ORM\PersistentCollection {#4370 …}
    -videos: Doctrine\ORM\PersistentCollection {#4372 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4374 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4376 …}
    -categories: Doctrine\ORM\PersistentCollection {#4378 …}
    -materials: Doctrine\ORM\PersistentCollection {#4380 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4382 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4384 …}
    -mainExercise: App\Entity\Training\Exercise {#4369}
    -variants: Doctrine\ORM\PersistentCollection {#4386 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4389 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4390 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4392 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4394 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4396 …}
    -side: false
    #createdAt: DateTimeImmutable @1752668144 {#4366
      date: 2025-07-16 14:15:44.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1767604336 {#4367
      date: 2026-01-05 10:12:16.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4399 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4400 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752668376 {#4368
      date: 2025-07-16 14:19:36.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 36
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "bear crawl directional multi"
    -metaphoneName: "BRKRLTRKXNLMLT"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.05 ms
Input props
[
  "name" => "Quadriceps"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8566
  +name: "Quadriceps"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.04 ms
Input props
[
  "name" => "Fessiers"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8602
  +name: "Fessiers"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.04 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8626
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 66.5 MiB 0.05 ms
Input props
[
  "difficulty" => "intermediate"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8608
  +difficulty: "intermediate"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 66.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 {#8440
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 6.42 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4405
    #id: 1475
    #token: "6877d138aa4d3"
    -images: Doctrine\ORM\PersistentCollection {#4406 …}
    -videos: Doctrine\ORM\PersistentCollection {#4408 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4410 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4412 …}
    -categories: Doctrine\ORM\PersistentCollection {#4414 …}
    -materials: Doctrine\ORM\PersistentCollection {#4416 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4418 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4420 …}
    -mainExercise: App\Entity\Training\Exercise {#4423 …}
    -variants: Doctrine\ORM\PersistentCollection {#4424 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4427 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4428 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4430 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4432 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4434 …}
    -side: false
    #createdAt: DateTimeImmutable @1752682808 {#4402
      date: 2025-07-16 18:20:08.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769165840 {#4403
      date: 2026-01-23 11:57:20.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4438 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752682918 {#4404
      date: 2025-07-16 18:21:58.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 35
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "halo kettlebell"
    -metaphoneName: "HLKTLBL"
  }
  "shortName" => false
  "id" => "exercise-card-6877d138aa4d3"
]
Attributes
[
  "id" => "exercise-card-6877d138aa4d3"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8672
  +exercise: App\Entity\Training\Exercise {#4405
    #id: 1475
    #token: "6877d138aa4d3"
    -images: Doctrine\ORM\PersistentCollection {#4406 …}
    -videos: Doctrine\ORM\PersistentCollection {#4408 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4410 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4412 …}
    -categories: Doctrine\ORM\PersistentCollection {#4414 …}
    -materials: Doctrine\ORM\PersistentCollection {#4416 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4418 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4420 …}
    -mainExercise: App\Entity\Training\Exercise {#4423 …}
    -variants: Doctrine\ORM\PersistentCollection {#4424 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4427 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4428 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4430 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4432 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4434 …}
    -side: false
    #createdAt: DateTimeImmutable @1752682808 {#4402
      date: 2025-07-16 18:20:08.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769165840 {#4403
      date: 2026-01-23 11:57:20.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4438 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752682918 {#4404
      date: 2025-07-16 18:21:58.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 35
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "halo kettlebell"
    -metaphoneName: "HLKTLBL"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 2.27 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4405
    #id: 1475
    #token: "6877d138aa4d3"
    -images: Doctrine\ORM\PersistentCollection {#4406 …}
    -videos: Doctrine\ORM\PersistentCollection {#4408 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4410 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4412 …}
    -categories: Doctrine\ORM\PersistentCollection {#4414 …}
    -materials: Doctrine\ORM\PersistentCollection {#4416 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4418 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4420 …}
    -mainExercise: App\Entity\Training\Exercise {#4423 …}
    -variants: Doctrine\ORM\PersistentCollection {#4424 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4427 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4428 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4430 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4432 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4434 …}
    -side: false
    #createdAt: DateTimeImmutable @1752682808 {#4402
      date: 2025-07-16 18:20:08.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769165840 {#4403
      date: 2026-01-23 11:57:20.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4438 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752682918 {#4404
      date: 2025-07-16 18:21:58.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 35
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "halo kettlebell"
    -metaphoneName: "HLKTLBL"
  }
  "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 Halo 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 {#8711
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Halo 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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4405
    #id: 1475
    #token: "6877d138aa4d3"
    -images: Doctrine\ORM\PersistentCollection {#4406 …}
    -videos: Doctrine\ORM\PersistentCollection {#4408 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4410 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4412 …}
    -categories: Doctrine\ORM\PersistentCollection {#4414 …}
    -materials: Doctrine\ORM\PersistentCollection {#4416 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4418 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4420 …}
    -mainExercise: App\Entity\Training\Exercise {#4423 …}
    -variants: Doctrine\ORM\PersistentCollection {#4424 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4427 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4428 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4430 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4432 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4434 …}
    -side: false
    #createdAt: DateTimeImmutable @1752682808 {#4402
      date: 2025-07-16 18:20:08.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769165840 {#4403
      date: 2026-01-23 11:57:20.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4438 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1752682918 {#4404
      date: 2025-07-16 18:21:58.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 35
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "halo kettlebell"
    -metaphoneName: "HLKTLBL"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.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 {#8845
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.04 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8827
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.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 {#8736
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 7.86 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4442
    #id: 1494
    #token: "688a466324384"
    -images: Doctrine\ORM\PersistentCollection {#4443 …}
    -videos: Doctrine\ORM\PersistentCollection {#4445 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4447 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4449 …}
    -categories: Doctrine\ORM\PersistentCollection {#4451 …}
    -materials: Doctrine\ORM\PersistentCollection {#4453 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4455 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4457 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4459 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4462 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4463 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4465 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4467 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4469 …}
    -side: true
    #createdAt: DateTimeImmutable @1753892451 {#4440
      date: 2025-07-30 18:20:51.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772351644 {#4441
      date: 2026-03-01 08:54:04.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4471 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 69
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "doorway stretch trap"
    -metaphoneName: "TRWSTRXTRP"
  }
  "shortName" => false
  "id" => "exercise-card-688a466324384"
]
Attributes
[
  "id" => "exercise-card-688a466324384"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8891
  +exercise: App\Entity\Training\Exercise {#4442
    #id: 1494
    #token: "688a466324384"
    -images: Doctrine\ORM\PersistentCollection {#4443 …}
    -videos: Doctrine\ORM\PersistentCollection {#4445 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4447 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4449 …}
    -categories: Doctrine\ORM\PersistentCollection {#4451 …}
    -materials: Doctrine\ORM\PersistentCollection {#4453 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4455 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4457 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4459 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4462 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4463 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4465 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4467 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4469 …}
    -side: true
    #createdAt: DateTimeImmutable @1753892451 {#4440
      date: 2025-07-30 18:20:51.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772351644 {#4441
      date: 2026-03-01 08:54:04.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4471 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 69
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "doorway stretch trap"
    -metaphoneName: "TRWSTRXTRP"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 2.30 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4442
    #id: 1494
    #token: "688a466324384"
    -images: Doctrine\ORM\PersistentCollection {#4443 …}
    -videos: Doctrine\ORM\PersistentCollection {#4445 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4447 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4449 …}
    -categories: Doctrine\ORM\PersistentCollection {#4451 …}
    -materials: Doctrine\ORM\PersistentCollection {#4453 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4455 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4457 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4459 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4462 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4463 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4465 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4467 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4469 …}
    -side: true
    #createdAt: DateTimeImmutable @1753892451 {#4440
      date: 2025-07-30 18:20:51.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772351644 {#4441
      date: 2026-03-01 08:54:04.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4471 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 69
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "doorway stretch trap"
    -metaphoneName: "TRWSTRXTRP"
  }
  "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 trapèze porte"
  "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 {#8930
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Étirement trapèze porte"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4442
    #id: 1494
    #token: "688a466324384"
    -images: Doctrine\ORM\PersistentCollection {#4443 …}
    -videos: Doctrine\ORM\PersistentCollection {#4445 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4447 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4449 …}
    -categories: Doctrine\ORM\PersistentCollection {#4451 …}
    -materials: Doctrine\ORM\PersistentCollection {#4453 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4455 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4457 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4459 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4462 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4463 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4465 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4467 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4469 …}
    -side: true
    #createdAt: DateTimeImmutable @1753892451 {#4440
      date: 2025-07-30 18:20:51.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772351644 {#4441
      date: 2026-03-01 08:54:04.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4471 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 69
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "doorway stretch trap"
    -metaphoneName: "TRWSTRXTRP"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.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 {#9071
  +name: "Pectoraux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 68.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 {#9107
  +name: "Dos"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.04 ms
Input props
[
  "name" => "Trapèzes"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9144
  +name: "Trapèzes"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.04 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9126
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.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 {#8955
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 9.87 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4475
    #id: 1497
    #token: "688bb909bf38a"
    -images: Doctrine\ORM\PersistentCollection {#4476 …}
    -videos: Doctrine\ORM\PersistentCollection {#4478 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4480 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4482 …}
    -categories: Doctrine\ORM\PersistentCollection {#4484 …}
    -materials: Doctrine\ORM\PersistentCollection {#4486 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4488 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4490 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4492 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4495 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4496 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4498 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4500 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4502 …}
    -side: false
    #createdAt: DateTimeImmutable @1753987338 {#4473
      date: 2025-07-31 20:42:18.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774854925 {#4474
      date: 2026-03-30 09:15:25.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4504 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 91
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "hinge hip wall"
    -metaphoneName: "HNJHPWL"
  }
  "shortName" => false
  "id" => "exercise-card-688bb909bf38a"
]
Attributes
[
  "id" => "exercise-card-688bb909bf38a"
]
Component
App\Twig\Components\Card\ExerciseCardH {#9190
  +exercise: App\Entity\Training\Exercise {#4475
    #id: 1497
    #token: "688bb909bf38a"
    -images: Doctrine\ORM\PersistentCollection {#4476 …}
    -videos: Doctrine\ORM\PersistentCollection {#4478 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4480 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4482 …}
    -categories: Doctrine\ORM\PersistentCollection {#4484 …}
    -materials: Doctrine\ORM\PersistentCollection {#4486 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4488 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4490 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4492 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4495 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4496 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4498 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4500 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4502 …}
    -side: false
    #createdAt: DateTimeImmutable @1753987338 {#4473
      date: 2025-07-31 20:42:18.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774854925 {#4474
      date: 2026-03-30 09:15:25.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4504 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 91
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "hinge hip wall"
    -metaphoneName: "HNJHPWL"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 5.69 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4475
    #id: 1497
    #token: "688bb909bf38a"
    -images: Doctrine\ORM\PersistentCollection {#4476 …}
    -videos: Doctrine\ORM\PersistentCollection {#4478 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4480 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4482 …}
    -categories: Doctrine\ORM\PersistentCollection {#4484 …}
    -materials: Doctrine\ORM\PersistentCollection {#4486 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4488 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4490 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4492 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4495 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4496 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4498 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4500 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4502 …}
    -side: false
    #createdAt: DateTimeImmutable @1753987338 {#4473
      date: 2025-07-31 20:42:18.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774854925 {#4474
      date: 2026-03-30 09:15:25.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4504 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 91
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "hinge hip wall"
    -metaphoneName: "HNJHPWL"
  }
  "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 Charnière de hanches"
  "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 {#9229
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Charnière de hanches"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4475
    #id: 1497
    #token: "688bb909bf38a"
    -images: Doctrine\ORM\PersistentCollection {#4476 …}
    -videos: Doctrine\ORM\PersistentCollection {#4478 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4480 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4482 …}
    -categories: Doctrine\ORM\PersistentCollection {#4484 …}
    -materials: Doctrine\ORM\PersistentCollection {#4486 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4488 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4490 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4492 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4495 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4496 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4498 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4500 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4502 …}
    -side: false
    #createdAt: DateTimeImmutable @1753987338 {#4473
      date: 2025-07-31 20:42:18.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774854925 {#4474
      date: 2026-03-30 09:15:25.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4504 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 91
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "hinge hip wall"
    -metaphoneName: "HNJHPWL"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.06 ms
Input props
[
  "name" => "Ischio-jambiers"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7004
  +name: "Ischio-jambiers"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.05 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#5173
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.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 {#9254
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 68.5 MiB 0.04 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 {#9315
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1173 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 5.84 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4508
    #id: 1516
    #token: "688bda13641eb"
    -images: Doctrine\ORM\PersistentCollection {#4509 …}
    -videos: Doctrine\ORM\PersistentCollection {#4511 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4513 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4515 …}
    -categories: Doctrine\ORM\PersistentCollection {#4517 …}
    -materials: Doctrine\ORM\PersistentCollection {#4519 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4521 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4523 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4525 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4528 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4529 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4531 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4533 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4535 …}
    -side: false
    #createdAt: DateTimeImmutable @1753995795 {#4506
      date: 2025-07-31 23:03:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769179086 {#4507
      date: 2026-01-23 15:38:06.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4537 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "rolls shoulder"
    -metaphoneName: "RLSXLTR"
  }
  "shortName" => false
  "id" => "exercise-card-688bda13641eb"
]
Attributes
[
  "id" => "exercise-card-688bda13641eb"
]
Component
App\Twig\Components\Card\ExerciseCardH {#9309
  +exercise: App\Entity\Training\Exercise {#4508
    #id: 1516
    #token: "688bda13641eb"
    -images: Doctrine\ORM\PersistentCollection {#4509 …}
    -videos: Doctrine\ORM\PersistentCollection {#4511 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4513 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4515 …}
    -categories: Doctrine\ORM\PersistentCollection {#4517 …}
    -materials: Doctrine\ORM\PersistentCollection {#4519 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4521 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4523 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4525 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4528 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4529 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4531 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4533 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4535 …}
    -side: false
    #createdAt: DateTimeImmutable @1753995795 {#4506
      date: 2025-07-31 23:03:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769179086 {#4507
      date: 2026-01-23 15:38:06.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4537 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "rolls shoulder"
    -metaphoneName: "RLSXLTR"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 2.16 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4508
    #id: 1516
    #token: "688bda13641eb"
    -images: Doctrine\ORM\PersistentCollection {#4509 …}
    -videos: Doctrine\ORM\PersistentCollection {#4511 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4513 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4515 …}
    -categories: Doctrine\ORM\PersistentCollection {#4517 …}
    -materials: Doctrine\ORM\PersistentCollection {#4519 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4521 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4523 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4525 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4528 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4529 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4531 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4533 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4535 …}
    -side: false
    #createdAt: DateTimeImmutable @1753995795 {#4506
      date: 2025-07-31 23:03:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769179086 {#4507
      date: 2026-01-23 15:38:06.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4537 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "rolls shoulder"
    -metaphoneName: "RLSXLTR"
  }
  "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 Roulements d'épaules"
  "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 {#9373
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Roulements d'épaules"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4508
    #id: 1516
    #token: "688bda13641eb"
    -images: Doctrine\ORM\PersistentCollection {#4509 …}
    -videos: Doctrine\ORM\PersistentCollection {#4511 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4513 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4515 …}
    -categories: Doctrine\ORM\PersistentCollection {#4517 …}
    -materials: Doctrine\ORM\PersistentCollection {#4519 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4521 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4523 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4525 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4528 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4529 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4531 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4533 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4535 …}
    -side: false
    #createdAt: DateTimeImmutable @1753995795 {#4506
      date: 2025-07-31 23:03:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769179086 {#4507
      date: 2026-01-23 15:38:06.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4437 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4537 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 67
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "rolls shoulder"
    -metaphoneName: "RLSXLTR"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.05 ms
Input props
[
  "name" => "Trapèzes"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9482
  +name: "Trapèzes"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 68.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 {#9506
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.05 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9488
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.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 {#9398
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 2.91 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4541
    #id: 1524
    #token: "688d8c57ca133"
    -images: Doctrine\ORM\PersistentCollection {#4542 …}
    -videos: Doctrine\ORM\PersistentCollection {#4544 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4546 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4548 …}
    -categories: Doctrine\ORM\PersistentCollection {#4550 …}
    -materials: Doctrine\ORM\PersistentCollection {#4552 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4554 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4556 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4558 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4561 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4562 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4564 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4566 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4568 …}
    -side: false
    #createdAt: DateTimeImmutable @1754106967 {#4539
      date: 2025-08-02 05:56:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769228501 {#4540
      date: 2026-01-24 05:21:41.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4571 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4572 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 43
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck stretch"
    -metaphoneName: "NKSTRX"
  }
  "shortName" => false
  "id" => "exercise-card-688d8c57ca133"
]
Attributes
[
  "id" => "exercise-card-688d8c57ca133"
]
Component
App\Twig\Components\Card\ExerciseCardH {#9552
  +exercise: App\Entity\Training\Exercise {#4541
    #id: 1524
    #token: "688d8c57ca133"
    -images: Doctrine\ORM\PersistentCollection {#4542 …}
    -videos: Doctrine\ORM\PersistentCollection {#4544 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4546 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4548 …}
    -categories: Doctrine\ORM\PersistentCollection {#4550 …}
    -materials: Doctrine\ORM\PersistentCollection {#4552 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4554 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4556 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4558 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4561 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4562 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4564 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4566 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4568 …}
    -side: false
    #createdAt: DateTimeImmutable @1754106967 {#4539
      date: 2025-08-02 05:56:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769228501 {#4540
      date: 2026-01-24 05:21:41.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4571 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4572 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 43
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck stretch"
    -metaphoneName: "NKSTRX"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 0.17 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4541
    #id: 1524
    #token: "688d8c57ca133"
    -images: Doctrine\ORM\PersistentCollection {#4542 …}
    -videos: Doctrine\ORM\PersistentCollection {#4544 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4546 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4548 …}
    -categories: Doctrine\ORM\PersistentCollection {#4550 …}
    -materials: Doctrine\ORM\PersistentCollection {#4552 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4554 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4556 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4558 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4561 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4562 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4564 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4566 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4568 …}
    -side: false
    #createdAt: DateTimeImmutable @1754106967 {#4539
      date: 2025-08-02 05:56:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769228501 {#4540
      date: 2026-01-24 05:21:41.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4571 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4572 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 43
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck stretch"
    -metaphoneName: "NKSTRX"
  }
  "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 du cou"
  "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 {#9636
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Étirement du cou"
  +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 {#510 …}
  +exercise: App\Entity\Training\Exercise {#4541
    #id: 1524
    #token: "688d8c57ca133"
    -images: Doctrine\ORM\PersistentCollection {#4542 …}
    -videos: Doctrine\ORM\PersistentCollection {#4544 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4546 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4548 …}
    -categories: Doctrine\ORM\PersistentCollection {#4550 …}
    -materials: Doctrine\ORM\PersistentCollection {#4552 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4554 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4556 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4558 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4561 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4562 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4564 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4566 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4568 …}
    -side: false
    #createdAt: DateTimeImmutable @1754106967 {#4539
      date: 2025-08-02 05:56:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769228501 {#4540
      date: 2026-01-24 05:21:41.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4571 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4572 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 43
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck stretch"
    -metaphoneName: "NKSTRX"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7509 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.05 ms
Input props
[
  "name" => "Cou"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9672
  +name: "Cou"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.04 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9648
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 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 {#9630
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 70.5 MiB 1.32 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 {#763
  +shareUrl: "https://test.fitmetrics.ch/fr/exercices/categorie/59-mobilite?open-account-panel-popup=1&page=18"
  +title: "Exercices - Mobilité - FitMetrics"
  +description: "La mobilité désigne la capacité à bouger librement avec amplitude, contrôle et fluidité au niveau des articulations. Travailler la mobilité améliore la qualité du mouvement, prévient les compensations musculaires et diminue le risque de blessures. Contrairement à la simple souplesse, la mobilité intègre force, coordination et stabilité dans l’amplitude articulaire. Elle est essentielle pour les pratiquants de musculation, de sport, de yoga ou en rééducation. Grâce à des exercices actifs, contrôlés et fonctionnels, vous optimisez vos performances et votre posture. Résultat : un corps plus mobile, plus précis et plus efficace dans tous les gestes du quotidien comme de l’entraînement."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
}
media:icon App\Twig\Components\Media\Icon 70.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 {#9760
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 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 {#9788
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#9813
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#9836
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#9859
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#9882
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#9905
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#9928
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 70.5 MiB 0.32 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdWideSkyscraper {#9764
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: false
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1173 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
  +right: true
  +left: true
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 70.5 MiB 0.05 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#9981
  +includeScript: true
  +labelClass: null
  +containerClass: "content-container my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#1173 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
}
utils:lang-selector
[Anonymous]
70.5 MiB 0.83 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10018
  -props: [
    "size" => "large"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 70.5 MiB 0.72 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "large"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "large"
]
Component
App\Twig\Components\App\LangSelector {#10040
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  +showTranslateIcon: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#219 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 70.5 MiB 0.58 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#10062
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: false
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 ms
Input props
[
  "name" => "g-translate"
  "class" => "fill-black dark:fill-white w-5 h-5"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-5 h-5"
]
Component
App\Twig\Components\Media\Icon {#10093
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-5 h-5 dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-5 h-5 dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#10115
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10162
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
70.5 MiB 0.47 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10041
  -props: [
    "size" => "large"
  ]
}
media:icon App\Twig\Components\Media\Icon 70.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 {#10183
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 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 {#10217
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 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 {#10240
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#10263
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 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 {#10286
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#10309
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#10332
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#10355
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#10378
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5182 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}