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

Components

17 Twig Components
138 Render Count
144 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 4.26ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
12 1.38ms
card:exercise-h
"App\Twig\Components\Card\ExerciseCardH"
components/card/exercise-h.html.twig
10 94.99ms
training:exercise:image
"App\Twig\Components\Training\Exercise\ExerciseImage"
components/training/exercise/image.html.twig
10 31.57ms
training:difficulty-badge
"App\Twig\Components\Training\DifficultyBadge"
components/training/difficulity-badge.html.twig
10 1.13ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
4 4.72ms
ui:dropdown
"App\Twig\Components\Ui\Dropdown"
components/ui/dropdown.html.twig
4 3.26ms
utils:lang-selector
[Anonymous]
components/utils/lang-selector.html.twig
3 4.94ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
3 1.29ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 37.42ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 8.92ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.57ms
media:image
"App\Twig\Components\Media\Image"
components/media/image.html.twig
1 0.91ms
ui:accordion
"App\Twig\Components\Ui\Accordion"
components/ui/accordion.html.twig
1 0.83ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
1 3.24ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.67ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
1 1.15ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 64.5 MiB 37.42 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#5127
  -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 {#5174
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5185
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
58.5 MiB 2.25 ms
Input props
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#5236
  -props: [
    "size" => "compact"
    "showTranslateIcon" => false
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 58.5 MiB 1.77 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#5263
  +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.84 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#5298
  +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 {#5341
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5387
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5404
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.04 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 {#5426
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5454
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5470
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5494
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5518
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5542
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5566
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5590
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5614
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#5638
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 60.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Attributes
[
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Component
App\Twig\Components\Media\Icon {#6165
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
60.5 MiB 0.75 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Attributes
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6203
  -props: [
    "defaultOpenLeft" => true
    "size" => "compact"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 60.5 MiB 0.65 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#6240
  +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.53 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#6262
  +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 {#6293
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6315
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6362
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 64.5 MiB 8.92 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#6234
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#6344 …}
  -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 {#6490
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6506
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6536
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6568
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6587
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
app:lang-selector App\Twig\Components\App\LangSelector 64.5 MiB 0.65 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#6699
  +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.53 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#6728
  +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.03 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 {#6759
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6781
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6828
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6683
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6853
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6869
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6907
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6931
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6955
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#6979
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#7003
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.04 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 {#7027
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#7051
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#7075
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#7099
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-16 w-full"
]
Attributes
[
  "class" => "h-16 w-full"
]
Component
App\Twig\Components\Media\Icon {#6639
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 64.5 MiB 0.57 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 {#7169
  +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 {#7199
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#7221
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +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 {#7244
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:image App\Twig\Components\Media\Image 64.5 MiB 0.91 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 @1778064926 {#3363
      date: 2026-05-06 12:55:26.719537 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 {#7267
  #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 @1778064926 {#3363
      date: 2026-05-06 12:55:26.719537 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.83 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 {#7313
  +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 {#7401
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "chevron-up-circle"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 64.5 MiB 8.35 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#3718
    #id: 1570
    #token: "68a0d3e413f27"
    -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: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4037 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4046 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4058 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4074 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4150 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4234 …}
    -side: true
    #createdAt: DateTimeImmutable @1755370468 {#3800
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769186544 {#3714
      date: 2026-01-23 17:42:24.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4256 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck side stretch"
    -metaphoneName: "NKSTSTRX"
  }
  "shortName" => false
  "id" => "exercise-card-68a0d3e413f27"
]
Attributes
[
  "id" => "exercise-card-68a0d3e413f27"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7450
  +exercise: App\Entity\Training\Exercise {#3718
    #id: 1570
    #token: "68a0d3e413f27"
    -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: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4037 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4046 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4058 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4074 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4150 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4234 …}
    -side: true
    #createdAt: DateTimeImmutable @1755370468 {#3800
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769186544 {#3714
      date: 2026-01-23 17:42:24.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4256 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck side stretch"
    -metaphoneName: "NKSTSTRX"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 64.5 MiB 2.29 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#3718
    #id: 1570
    #token: "68a0d3e413f27"
    -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: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4037 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4046 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4058 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4074 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4150 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4234 …}
    -side: true
    #createdAt: DateTimeImmutable @1755370468 {#3800
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769186544 {#3714
      date: 2026-01-23 17:42:24.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4256 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck side stretch"
    -metaphoneName: "NKSTSTRX"
  }
  "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 Etirement latéral 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 {#7483
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Etirement latéral 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 {#3718
    #id: 1570
    #token: "68a0d3e413f27"
    -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: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4031 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4035 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4037 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4046 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4058 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4074 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4150 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4234 …}
    -side: true
    #createdAt: DateTimeImmutable @1755370468 {#3800
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769186544 {#3714
      date: 2026-01-23 17:42:24.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4256 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 66
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "neck side stretch"
    -metaphoneName: "NKSTSTRX"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 64.5 MiB 0.27 ms
Input props
[
  "name" => "Cou"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7666
  +name: "Cou"
  +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 {#7682
  +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 {#7602
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 66.5 MiB 5.39 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4258
    #id: 1575
    #token: "68a0d3e446901"
    -images: Doctrine\ORM\PersistentCollection {#4259 …}
    -videos: Doctrine\ORM\PersistentCollection {#4261 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4263 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4265 …}
    -categories: Doctrine\ORM\PersistentCollection {#4267 …}
    -materials: Doctrine\ORM\PersistentCollection {#4269 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4271 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4273 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4275 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4278 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4279 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4281 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4283 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4285 …}
    -side: false
    #createdAt: DateTimeImmutable @1755370468 {#4254
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769263909 {#4257
      date: 2026-01-24 15:11:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4287 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "pelvic tilt"
    -metaphoneName: "PLFKTLT"
  }
  "shortName" => false
  "id" => "exercise-card-68a0d3e446901"
]
Attributes
[
  "id" => "exercise-card-68a0d3e446901"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7486
  +exercise: App\Entity\Training\Exercise {#4258
    #id: 1575
    #token: "68a0d3e446901"
    -images: Doctrine\ORM\PersistentCollection {#4259 …}
    -videos: Doctrine\ORM\PersistentCollection {#4261 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4263 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4265 …}
    -categories: Doctrine\ORM\PersistentCollection {#4267 …}
    -materials: Doctrine\ORM\PersistentCollection {#4269 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4271 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4273 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4275 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4278 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4279 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4281 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4283 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4285 …}
    -side: false
    #createdAt: DateTimeImmutable @1755370468 {#4254
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769263909 {#4257
      date: 2026-01-24 15:11:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4287 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "pelvic tilt"
    -metaphoneName: "PLFKTLT"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 2.09 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4258
    #id: 1575
    #token: "68a0d3e446901"
    -images: Doctrine\ORM\PersistentCollection {#4259 …}
    -videos: Doctrine\ORM\PersistentCollection {#4261 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4263 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4265 …}
    -categories: Doctrine\ORM\PersistentCollection {#4267 …}
    -materials: Doctrine\ORM\PersistentCollection {#4269 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4271 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4273 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4275 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4278 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4279 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4281 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4283 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4285 …}
    -side: false
    #createdAt: DateTimeImmutable @1755370468 {#4254
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769263909 {#4257
      date: 2026-01-24 15:11:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4287 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "pelvic tilt"
    -metaphoneName: "PLFKTLT"
  }
  "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 Bascule du bassin"
  "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 {#7795
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Bascule du bassin"
  +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 {#4258
    #id: 1575
    #token: "68a0d3e446901"
    -images: Doctrine\ORM\PersistentCollection {#4259 …}
    -videos: Doctrine\ORM\PersistentCollection {#4261 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4263 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4265 …}
    -categories: Doctrine\ORM\PersistentCollection {#4267 …}
    -materials: Doctrine\ORM\PersistentCollection {#4269 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4271 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4273 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4275 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4278 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4279 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4281 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4283 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4285 …}
    -side: false
    #createdAt: DateTimeImmutable @1755370468 {#4254
      date: 2025-08-16 20:54:28.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769263909 {#4257
      date: 2026-01-24 15:11:49.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4287 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 86
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "pelvic tilt"
    -metaphoneName: "PLFKTLT"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.06 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#7904
  +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 {#7883
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 66.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 {#7820
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 66.5 MiB 7.80 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4291
    #id: 1587
    #token: "68a3748ed7df1"
    -images: Doctrine\ORM\PersistentCollection {#4292 …}
    -videos: Doctrine\ORM\PersistentCollection {#4294 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4296 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4298 …}
    -categories: Doctrine\ORM\PersistentCollection {#4300 …}
    -materials: Doctrine\ORM\PersistentCollection {#4302 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4304 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4306 …}
    -mainExercise: App\Entity\Training\Exercise {#4315 …}
    -variants: Doctrine\ORM\PersistentCollection {#4316 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4320 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4322 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4324 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4326 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4289
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769208972 {#4290
      date: 2026-01-23 23:56:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4328 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 58
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "dynamic flexor hip stretch"
    -metaphoneName: "TNMKFLKSRHPSTRX"
  }
  "shortName" => false
  "id" => "exercise-card-68a3748ed7df1"
]
Attributes
[
  "id" => "exercise-card-68a3748ed7df1"
]
Component
App\Twig\Components\Card\ExerciseCardH {#7950
  +exercise: App\Entity\Training\Exercise {#4291
    #id: 1587
    #token: "68a3748ed7df1"
    -images: Doctrine\ORM\PersistentCollection {#4292 …}
    -videos: Doctrine\ORM\PersistentCollection {#4294 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4296 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4298 …}
    -categories: Doctrine\ORM\PersistentCollection {#4300 …}
    -materials: Doctrine\ORM\PersistentCollection {#4302 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4304 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4306 …}
    -mainExercise: App\Entity\Training\Exercise {#4315 …}
    -variants: Doctrine\ORM\PersistentCollection {#4316 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4320 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4322 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4324 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4326 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4289
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769208972 {#4290
      date: 2026-01-23 23:56:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4328 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 58
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "dynamic flexor hip stretch"
    -metaphoneName: "TNMKFLKSRHPSTRX"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 2.54 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4291
    #id: 1587
    #token: "68a3748ed7df1"
    -images: Doctrine\ORM\PersistentCollection {#4292 …}
    -videos: Doctrine\ORM\PersistentCollection {#4294 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4296 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4298 …}
    -categories: Doctrine\ORM\PersistentCollection {#4300 …}
    -materials: Doctrine\ORM\PersistentCollection {#4302 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4304 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4306 …}
    -mainExercise: App\Entity\Training\Exercise {#4315 …}
    -variants: Doctrine\ORM\PersistentCollection {#4316 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4320 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4322 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4324 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4326 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4289
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769208972 {#4290
      date: 2026-01-23 23:56:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4328 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 58
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "dynamic flexor hip stretch"
    -metaphoneName: "TNMKFLKSRHPSTRX"
  }
  "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 dynamique des fléchisseurs de hanche"
  "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 {#7991
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Étirement dynamique des fléchisseurs de hanche"
  +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 {#4291
    #id: 1587
    #token: "68a3748ed7df1"
    -images: Doctrine\ORM\PersistentCollection {#4292 …}
    -videos: Doctrine\ORM\PersistentCollection {#4294 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4296 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4298 …}
    -categories: Doctrine\ORM\PersistentCollection {#4300 …}
    -materials: Doctrine\ORM\PersistentCollection {#4302 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4304 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4306 …}
    -mainExercise: App\Entity\Training\Exercise {#4315 …}
    -variants: Doctrine\ORM\PersistentCollection {#4316 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4320 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4322 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4324 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4326 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4289
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769208972 {#4290
      date: 2026-01-23 23:56:12.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4328 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 58
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "dynamic flexor hip stretch"
    -metaphoneName: "TNMKFLKSRHPSTRX"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
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 {#8132
  +name: "Quadriceps"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.05 ms
Input props
[
  "name" => "Fessiers"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8168
  +name: "Fessiers"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 66.5 MiB 0.09 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8150
  +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 {#8016
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 66.5 MiB 8.25 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4332
    #id: 1590
    #token: "68a3748f08c7f"
    -images: Doctrine\ORM\PersistentCollection {#4333 …}
    -videos: Doctrine\ORM\PersistentCollection {#4335 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4337 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4339 …}
    -categories: Doctrine\ORM\PersistentCollection {#4341 …}
    -materials: Doctrine\ORM\PersistentCollection {#4343 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4345 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4347 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4349 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4351 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4353 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4355 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4357 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4330
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1768992025 {#4331
      date: 2026-01-21 11:40:25.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4359 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 56
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "glute seated stretch"
    -metaphoneName: "KLTSTTSTRX"
  }
  "shortName" => false
  "id" => "exercise-card-68a3748f08c7f"
]
Attributes
[
  "id" => "exercise-card-68a3748f08c7f"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8214
  +exercise: App\Entity\Training\Exercise {#4332
    #id: 1590
    #token: "68a3748f08c7f"
    -images: Doctrine\ORM\PersistentCollection {#4333 …}
    -videos: Doctrine\ORM\PersistentCollection {#4335 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4337 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4339 …}
    -categories: Doctrine\ORM\PersistentCollection {#4341 …}
    -materials: Doctrine\ORM\PersistentCollection {#4343 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4345 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4347 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4349 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4351 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4353 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4355 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4357 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4330
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1768992025 {#4331
      date: 2026-01-21 11:40:25.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4359 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 56
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "glute seated stretch"
    -metaphoneName: "KLTSTTSTRX"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 3.42 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4332
    #id: 1590
    #token: "68a3748f08c7f"
    -images: Doctrine\ORM\PersistentCollection {#4333 …}
    -videos: Doctrine\ORM\PersistentCollection {#4335 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4337 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4339 …}
    -categories: Doctrine\ORM\PersistentCollection {#4341 …}
    -materials: Doctrine\ORM\PersistentCollection {#4343 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4345 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4347 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4349 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4351 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4353 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4355 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4357 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4330
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1768992025 {#4331
      date: 2026-01-21 11:40:25.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4359 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 56
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "glute seated stretch"
    -metaphoneName: "KLTSTTSTRX"
  }
  "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 Etirement des fessiers assis"
  "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 {#8253
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Etirement des fessiers assis"
  +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 {#4332
    #id: 1590
    #token: "68a3748f08c7f"
    -images: Doctrine\ORM\PersistentCollection {#4333 …}
    -videos: Doctrine\ORM\PersistentCollection {#4335 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4337 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4339 …}
    -categories: Doctrine\ORM\PersistentCollection {#4341 …}
    -materials: Doctrine\ORM\PersistentCollection {#4343 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4345 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4347 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4349 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4319 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4351 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4353 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4355 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4357 …}
    -side: true
    #createdAt: DateTimeImmutable @1755542671 {#4330
      date: 2025-08-18 20:44:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1768992025 {#4331
      date: 2026-01-21 11:40:25.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4359 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 56
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "glute seated stretch"
    -metaphoneName: "KLTSTTSTRX"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.12 ms
Input props
[
  "name" => "Fessiers"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8362
  +name: "Fessiers"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 66.5 MiB 0.11 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8341
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.10 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 {#8278
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 66.5 MiB 1.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 {#8415
  +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 12.28 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4364
    #id: 1605
    #token: "68a72ebfcf3e7"
    -images: Doctrine\ORM\PersistentCollection {#4365 …}
    -videos: Doctrine\ORM\PersistentCollection {#4367 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4369 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4371 …}
    -categories: Doctrine\ORM\PersistentCollection {#4373 …}
    -materials: Doctrine\ORM\PersistentCollection {#4375 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4377 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4379 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4381 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4384 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4385 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4387 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4389 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4391 …}
    -side: true
    #createdAt: DateTimeImmutable @1755786943 {#4361
      date: 2025-08-21 16:35:43.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777742948 {#4362
      date: 2026-05-02 19:29:08.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4395 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1755805538 {#4363
      date: 2025-08-21 21:45:38.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 61
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "flexion stretch wrist"
    -metaphoneName: "FLKSNSTRXRST"
  }
  "shortName" => false
  "id" => "exercise-card-68a72ebfcf3e7"
]
Attributes
[
  "id" => "exercise-card-68a72ebfcf3e7"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8408
  +exercise: App\Entity\Training\Exercise {#4364
    #id: 1605
    #token: "68a72ebfcf3e7"
    -images: Doctrine\ORM\PersistentCollection {#4365 …}
    -videos: Doctrine\ORM\PersistentCollection {#4367 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4369 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4371 …}
    -categories: Doctrine\ORM\PersistentCollection {#4373 …}
    -materials: Doctrine\ORM\PersistentCollection {#4375 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4377 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4379 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4381 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4384 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4385 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4387 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4389 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4391 …}
    -side: true
    #createdAt: DateTimeImmutable @1755786943 {#4361
      date: 2025-08-21 16:35:43.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777742948 {#4362
      date: 2026-05-02 19:29:08.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4395 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1755805538 {#4363
      date: 2025-08-21 21:45:38.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 61
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "flexion stretch wrist"
    -metaphoneName: "FLKSNSTRXRST"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 66.5 MiB 4.09 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4364
    #id: 1605
    #token: "68a72ebfcf3e7"
    -images: Doctrine\ORM\PersistentCollection {#4365 …}
    -videos: Doctrine\ORM\PersistentCollection {#4367 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4369 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4371 …}
    -categories: Doctrine\ORM\PersistentCollection {#4373 …}
    -materials: Doctrine\ORM\PersistentCollection {#4375 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4377 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4379 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4381 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4384 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4385 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4387 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4389 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4391 …}
    -side: true
    #createdAt: DateTimeImmutable @1755786943 {#4361
      date: 2025-08-21 16:35:43.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777742948 {#4362
      date: 2026-05-02 19:29:08.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4395 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1755805538 {#4363
      date: 2025-08-21 21:45:38.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 61
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "flexion stretch wrist"
    -metaphoneName: "FLKSNSTRXRST"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Étirement de flexion du poignet"
  "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 {#8482
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Étirement de flexion du poignet"
  +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 {#4364
    #id: 1605
    #token: "68a72ebfcf3e7"
    -images: Doctrine\ORM\PersistentCollection {#4365 …}
    -videos: Doctrine\ORM\PersistentCollection {#4367 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4369 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4371 …}
    -categories: Doctrine\ORM\PersistentCollection {#4373 …}
    -materials: Doctrine\ORM\PersistentCollection {#4375 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4377 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4379 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4381 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4384 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4385 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4387 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4389 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4391 …}
    -side: true
    #createdAt: DateTimeImmutable @1755786943 {#4361
      date: 2025-08-21 16:35:43.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1777742948 {#4362
      date: 2026-05-02 19:29:08.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4395 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1755805538 {#4363
      date: 2025-08-21 21:45:38.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 61
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "flexion stretch wrist"
    -metaphoneName: "FLKSNSTRXRST"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 66.5 MiB 0.12 ms
Input props
[
  "name" => "Avant-bras"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8614
  +name: "Avant-bras"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 66.5 MiB 0.11 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8596
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.10 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 {#8507
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 10.51 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4400
    #id: 1633
    #token: "68b0d59badaa5"
    -images: Doctrine\ORM\PersistentCollection {#4401 …}
    -videos: Doctrine\ORM\PersistentCollection {#4403 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4405 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4407 …}
    -categories: Doctrine\ORM\PersistentCollection {#4409 …}
    -materials: Doctrine\ORM\PersistentCollection {#4411 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4413 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4415 …}
    -mainExercise: App\Entity\Training\Exercise {#4418 …}
    -variants: Doctrine\ORM\PersistentCollection {#4419 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4422 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4423 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4425 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4427 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4429 …}
    -side: false
    #createdAt: DateTimeImmutable @1756419483 {#4397
      date: 2025-08-29 00:18:03.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774155104 {#4398
      date: 2026-03-22 05:51:44.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4431 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756419669 {#4399
      date: 2025-08-29 00:21:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 84
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "windshield wipers"
    -metaphoneName: "WNTXLTWPRS"
  }
  "shortName" => false
  "id" => "exercise-card-68b0d59badaa5"
]
Attributes
[
  "id" => "exercise-card-68b0d59badaa5"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8660
  +exercise: App\Entity\Training\Exercise {#4400
    #id: 1633
    #token: "68b0d59badaa5"
    -images: Doctrine\ORM\PersistentCollection {#4401 …}
    -videos: Doctrine\ORM\PersistentCollection {#4403 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4405 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4407 …}
    -categories: Doctrine\ORM\PersistentCollection {#4409 …}
    -materials: Doctrine\ORM\PersistentCollection {#4411 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4413 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4415 …}
    -mainExercise: App\Entity\Training\Exercise {#4418 …}
    -variants: Doctrine\ORM\PersistentCollection {#4419 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4422 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4423 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4425 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4427 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4429 …}
    -side: false
    #createdAt: DateTimeImmutable @1756419483 {#4397
      date: 2025-08-29 00:18:03.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774155104 {#4398
      date: 2026-03-22 05:51:44.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4431 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756419669 {#4399
      date: 2025-08-29 00:21:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 84
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "windshield wipers"
    -metaphoneName: "WNTXLTWPRS"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 3.99 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4400
    #id: 1633
    #token: "68b0d59badaa5"
    -images: Doctrine\ORM\PersistentCollection {#4401 …}
    -videos: Doctrine\ORM\PersistentCollection {#4403 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4405 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4407 …}
    -categories: Doctrine\ORM\PersistentCollection {#4409 …}
    -materials: Doctrine\ORM\PersistentCollection {#4411 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4413 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4415 …}
    -mainExercise: App\Entity\Training\Exercise {#4418 …}
    -variants: Doctrine\ORM\PersistentCollection {#4419 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4422 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4423 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4425 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4427 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4429 …}
    -side: false
    #createdAt: DateTimeImmutable @1756419483 {#4397
      date: 2025-08-29 00:18:03.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774155104 {#4398
      date: 2026-03-22 05:51:44.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4431 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756419669 {#4399
      date: 2025-08-29 00:21:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 84
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "windshield wipers"
    -metaphoneName: "WNTXLTWPRS"
  }
  "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 Essuie-glaces"
  "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 {#8699
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Essuie-glaces"
  +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 {#4400
    #id: 1633
    #token: "68b0d59badaa5"
    -images: Doctrine\ORM\PersistentCollection {#4401 …}
    -videos: Doctrine\ORM\PersistentCollection {#4403 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4405 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4407 …}
    -categories: Doctrine\ORM\PersistentCollection {#4409 …}
    -materials: Doctrine\ORM\PersistentCollection {#4411 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "intermediate"
    -focus: "compound"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4413 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4415 …}
    -mainExercise: App\Entity\Training\Exercise {#4418 …}
    -variants: Doctrine\ORM\PersistentCollection {#4419 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4422 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4423 …}
    -defaultUnit: "unit_repeat"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4425 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4427 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4429 …}
    -side: false
    #createdAt: DateTimeImmutable @1756419483 {#4397
      date: 2025-08-29 00:18:03.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774155104 {#4398
      date: 2026-03-22 05:51:44.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4394 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4431 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1756419669 {#4399
      date: 2025-08-29 00:21:09.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 84
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "windshield wipers"
    -metaphoneName: "WNTXLTWPRS"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.12 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#8808
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.10 ms
Input props
[
  "difficulty" => "intermediate"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#8787
  +difficulty: "intermediate"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.10 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 {#8724
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 11.67 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4435
    #id: 1638
    #token: "68b35cd73f9f8"
    -images: Doctrine\ORM\PersistentCollection {#4436 …}
    -videos: Doctrine\ORM\PersistentCollection {#4438 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4440 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4442 …}
    -categories: Doctrine\ORM\PersistentCollection {#4444 …}
    -materials: Doctrine\ORM\PersistentCollection {#4446 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4448 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4450 …}
    -mainExercise: App\Entity\Training\Exercise {#4453 …}
    -variants: Doctrine\ORM\PersistentCollection {#4454 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4457 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4458 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4460 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4462 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4464 …}
    -side: true
    #createdAt: DateTimeImmutable @1756585175 {#4433
      date: 2025-08-30 22:19:35.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769197952 {#4434
      date: 2026-01-23 20:52:32.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4466 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 57
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "calf standing stretch"
    -metaphoneName: "KLFSTNTNKSTRX"
  }
  "shortName" => false
  "id" => "exercise-card-68b35cd73f9f8"
]
Attributes
[
  "id" => "exercise-card-68b35cd73f9f8"
]
Component
App\Twig\Components\Card\ExerciseCardH {#8854
  +exercise: App\Entity\Training\Exercise {#4435
    #id: 1638
    #token: "68b35cd73f9f8"
    -images: Doctrine\ORM\PersistentCollection {#4436 …}
    -videos: Doctrine\ORM\PersistentCollection {#4438 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4440 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4442 …}
    -categories: Doctrine\ORM\PersistentCollection {#4444 …}
    -materials: Doctrine\ORM\PersistentCollection {#4446 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4448 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4450 …}
    -mainExercise: App\Entity\Training\Exercise {#4453 …}
    -variants: Doctrine\ORM\PersistentCollection {#4454 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4457 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4458 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4460 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4462 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4464 …}
    -side: true
    #createdAt: DateTimeImmutable @1756585175 {#4433
      date: 2025-08-30 22:19:35.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769197952 {#4434
      date: 2026-01-23 20:52:32.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4466 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 57
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "calf standing stretch"
    -metaphoneName: "KLFSTNTNKSTRX"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 4.10 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4435
    #id: 1638
    #token: "68b35cd73f9f8"
    -images: Doctrine\ORM\PersistentCollection {#4436 …}
    -videos: Doctrine\ORM\PersistentCollection {#4438 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4440 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4442 …}
    -categories: Doctrine\ORM\PersistentCollection {#4444 …}
    -materials: Doctrine\ORM\PersistentCollection {#4446 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4448 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4450 …}
    -mainExercise: App\Entity\Training\Exercise {#4453 …}
    -variants: Doctrine\ORM\PersistentCollection {#4454 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4457 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4458 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4460 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4462 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4464 …}
    -side: true
    #createdAt: DateTimeImmutable @1756585175 {#4433
      date: 2025-08-30 22:19:35.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769197952 {#4434
      date: 2026-01-23 20:52:32.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4466 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 57
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "calf standing stretch"
    -metaphoneName: "KLFSTNTNKSTRX"
  }
  "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 mollet debout"
  "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 {#8893
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Étirement du mollet debout"
  +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 {#4435
    #id: 1638
    #token: "68b35cd73f9f8"
    -images: Doctrine\ORM\PersistentCollection {#4436 …}
    -videos: Doctrine\ORM\PersistentCollection {#4438 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4440 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4442 …}
    -categories: Doctrine\ORM\PersistentCollection {#4444 …}
    -materials: Doctrine\ORM\PersistentCollection {#4446 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4448 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4450 …}
    -mainExercise: App\Entity\Training\Exercise {#4453 …}
    -variants: Doctrine\ORM\PersistentCollection {#4454 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4457 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4458 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4460 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4462 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4464 …}
    -side: true
    #createdAt: DateTimeImmutable @1756585175 {#4433
      date: 2025-08-30 22:19:35.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1769197952 {#4434
      date: 2026-01-23 20:52:32.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4466 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 57
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "calf standing stretch"
    -metaphoneName: "KLFSTNTNKSTRX"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.12 ms
Input props
[
  "name" => "Mollets"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9024
  +name: "Mollets"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.10 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9006
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.10 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 {#8918
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 10.96 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4471
    #id: 1651
    #token: "68bf02aa97675"
    -images: Doctrine\ORM\PersistentCollection {#4472 …}
    -videos: Doctrine\ORM\PersistentCollection {#4474 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4476 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4478 …}
    -categories: Doctrine\ORM\PersistentCollection {#4480 …}
    -materials: Doctrine\ORM\PersistentCollection {#4482 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4484 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4486 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4488 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4491 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4492 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4494 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4496 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4498 …}
    -side: false
    #createdAt: DateTimeImmutable @1757348522 {#4468
      date: 2025-09-08 18:22:02.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774249906 {#4469
      date: 2026-03-23 08:11:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4500 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1757348710 {#4470
      date: 2025-09-08 18:25:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 98
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "chin tuck"
    -metaphoneName: "XNTK"
  }
  "shortName" => false
  "id" => "exercise-card-68bf02aa97675"
]
Attributes
[
  "id" => "exercise-card-68bf02aa97675"
]
Component
App\Twig\Components\Card\ExerciseCardH {#9070
  +exercise: App\Entity\Training\Exercise {#4471
    #id: 1651
    #token: "68bf02aa97675"
    -images: Doctrine\ORM\PersistentCollection {#4472 …}
    -videos: Doctrine\ORM\PersistentCollection {#4474 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4476 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4478 …}
    -categories: Doctrine\ORM\PersistentCollection {#4480 …}
    -materials: Doctrine\ORM\PersistentCollection {#4482 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4484 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4486 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4488 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4491 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4492 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4494 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4496 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4498 …}
    -side: false
    #createdAt: DateTimeImmutable @1757348522 {#4468
      date: 2025-09-08 18:22:02.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774249906 {#4469
      date: 2026-03-23 08:11:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4500 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1757348710 {#4470
      date: 2025-09-08 18:25:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 98
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "chin tuck"
    -metaphoneName: "XNTK"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 4.24 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4471
    #id: 1651
    #token: "68bf02aa97675"
    -images: Doctrine\ORM\PersistentCollection {#4472 …}
    -videos: Doctrine\ORM\PersistentCollection {#4474 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4476 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4478 …}
    -categories: Doctrine\ORM\PersistentCollection {#4480 …}
    -materials: Doctrine\ORM\PersistentCollection {#4482 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4484 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4486 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4488 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4491 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4492 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4494 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4496 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4498 …}
    -side: false
    #createdAt: DateTimeImmutable @1757348522 {#4468
      date: 2025-09-08 18:22:02.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774249906 {#4469
      date: 2026-03-23 08:11:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4500 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1757348710 {#4470
      date: 2025-09-08 18:25:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 98
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "chin tuck"
    -metaphoneName: "XNTK"
  }
  "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 Rentrée du menton"
  "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 {#9109
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Rentrée du menton"
  +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 {#4471
    #id: 1651
    #token: "68bf02aa97675"
    -images: Doctrine\ORM\PersistentCollection {#4472 …}
    -videos: Doctrine\ORM\PersistentCollection {#4474 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4476 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4478 …}
    -categories: Doctrine\ORM\PersistentCollection {#4480 …}
    -materials: Doctrine\ORM\PersistentCollection {#4482 …}
    -status: null
    -statusInternal: null
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4484 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4486 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4488 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4491 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4492 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4494 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4496 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4498 …}
    -side: false
    #createdAt: DateTimeImmutable @1757348522 {#4468
      date: 2025-09-08 18:22:02.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1774249906 {#4469
      date: 2026-03-23 08:11:46.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4500 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1757348710 {#4470
      date: 2025-09-08 18:25:10.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 98
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "chin tuck"
    -metaphoneName: "XNTK"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.12 ms
Input props
[
  "name" => "Cou"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9218
  +name: "Cou"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.10 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9191
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.10 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 {#9134
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 68.5 MiB 0.15 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 {#9270
  +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 7.04 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4505
    #id: 1656
    #token: "68d029866ae99"
    -images: Doctrine\ORM\PersistentCollection {#4506 …}
    -videos: Doctrine\ORM\PersistentCollection {#4508 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4510 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4512 …}
    -categories: Doctrine\ORM\PersistentCollection {#4514 …}
    -materials: Doctrine\ORM\PersistentCollection {#4516 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4518 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4520 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4522 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4525 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4526 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4528 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4530 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4532 …}
    -side: true
    #createdAt: DateTimeImmutable @1758472582 {#4502
      date: 2025-09-21 18:36:22.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773738973 {#4503
      date: 2026-03-17 10:16:13.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4534 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1759068939 {#4504
      date: 2025-09-28 16:15:39.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm circles single"
    -metaphoneName: "ARMSRKLSSNKL"
  }
  "shortName" => false
  "id" => "exercise-card-68d029866ae99"
]
Attributes
[
  "id" => "exercise-card-68d029866ae99"
]
Component
App\Twig\Components\Card\ExerciseCardH {#9264
  +exercise: App\Entity\Training\Exercise {#4505
    #id: 1656
    #token: "68d029866ae99"
    -images: Doctrine\ORM\PersistentCollection {#4506 …}
    -videos: Doctrine\ORM\PersistentCollection {#4508 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4510 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4512 …}
    -categories: Doctrine\ORM\PersistentCollection {#4514 …}
    -materials: Doctrine\ORM\PersistentCollection {#4516 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4518 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4520 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4522 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4525 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4526 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4528 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4530 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4532 …}
    -side: true
    #createdAt: DateTimeImmutable @1758472582 {#4502
      date: 2025-09-21 18:36:22.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773738973 {#4503
      date: 2026-03-17 10:16:13.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4534 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1759068939 {#4504
      date: 2025-09-28 16:15:39.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm circles single"
    -metaphoneName: "ARMSRKLSSNKL"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 0.42 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4505
    #id: 1656
    #token: "68d029866ae99"
    -images: Doctrine\ORM\PersistentCollection {#4506 …}
    -videos: Doctrine\ORM\PersistentCollection {#4508 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4510 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4512 …}
    -categories: Doctrine\ORM\PersistentCollection {#4514 …}
    -materials: Doctrine\ORM\PersistentCollection {#4516 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4518 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4520 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4522 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4525 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4526 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4528 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4530 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4532 …}
    -side: true
    #createdAt: DateTimeImmutable @1758472582 {#4502
      date: 2025-09-21 18:36:22.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773738973 {#4503
      date: 2026-03-17 10:16:13.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4534 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1759068939 {#4504
      date: 2025-09-28 16:15:39.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm circles single"
    -metaphoneName: "ARMSRKLSSNKL"
  }
  "class" => "object-cover md:rounded-l-lg rounded-t-lg md:rounded-tr-none w-full h-full min-w-[250px] md:w-1/3 relative before:absolute before:inset-0 before:bg-black before:bg-opacity-20"
  "alt" => "Image Cercles de bras à un bras"
  "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 Cercles de bras à un bras"
  +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 {#4505
    #id: 1656
    #token: "68d029866ae99"
    -images: Doctrine\ORM\PersistentCollection {#4506 …}
    -videos: Doctrine\ORM\PersistentCollection {#4508 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4510 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4512 …}
    -categories: Doctrine\ORM\PersistentCollection {#4514 …}
    -materials: Doctrine\ORM\PersistentCollection {#4516 …}
    -status: null
    -statusInternal: "done"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4518 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4520 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4522 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4525 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4526 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4528 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4530 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4532 …}
    -side: true
    #createdAt: DateTimeImmutable @1758472582 {#4502
      date: 2025-09-21 18:36:22.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1773738973 {#4503
      date: 2026-03-17 10:16:13.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4534 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: DateTimeImmutable @1759068939 {#4504
      date: 2025-09-28 16:15:39.0 Europe/Zurich (+02:00)
    }
    -publishedBy: null
    -notes: null
    -viewCounter: 53
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "arm circles single"
    -metaphoneName: "ARMSRKLSSNKL"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.12 ms
Input props
[
  "name" => "Épaules"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9434
  +name: "Épaules"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.10 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9416
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.13 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 {#9367
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
card:exercise-h App\Twig\Components\Card\ExerciseCardH 68.5 MiB 12.75 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4538
    #id: 1660
    #token: "68d84409d2a46"
    -images: Doctrine\ORM\PersistentCollection {#4539 …}
    -videos: Doctrine\ORM\PersistentCollection {#4541 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4543 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4545 …}
    -categories: Doctrine\ORM\PersistentCollection {#4547 …}
    -materials: Doctrine\ORM\PersistentCollection {#4549 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4551 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4553 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4555 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4558 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4559 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4561 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4563 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4565 …}
    -side: true
    #createdAt: DateTimeImmutable @1759003657 {#4536
      date: 2025-09-27 22:07:37.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772517485 {#4537
      date: 2026-03-03 06:58:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4567 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 55
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "spinal stretch twist"
    -metaphoneName: "SPNLSTRXTWST"
  }
  "shortName" => false
  "id" => "exercise-card-68d84409d2a46"
]
Attributes
[
  "id" => "exercise-card-68d84409d2a46"
]
Component
App\Twig\Components\Card\ExerciseCardH {#9480
  +exercise: App\Entity\Training\Exercise {#4538
    #id: 1660
    #token: "68d84409d2a46"
    -images: Doctrine\ORM\PersistentCollection {#4539 …}
    -videos: Doctrine\ORM\PersistentCollection {#4541 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4543 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4545 …}
    -categories: Doctrine\ORM\PersistentCollection {#4547 …}
    -materials: Doctrine\ORM\PersistentCollection {#4549 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4551 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4553 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4555 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4558 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4559 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4561 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4563 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4565 …}
    -side: true
    #createdAt: DateTimeImmutable @1759003657 {#4536
      date: 2025-09-27 22:07:37.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772517485 {#4537
      date: 2026-03-03 06:58:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4567 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 55
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "spinal stretch twist"
    -metaphoneName: "SPNLSTRXTWST"
  }
  +title: ? string
  +shortName: false
  +hasOverEffect: true
}
training:exercise:image App\Twig\Components\Training\Exercise\ExerciseImage 68.5 MiB 4.39 ms
Input props
[
  "exercise" => App\Entity\Training\Exercise {#4538
    #id: 1660
    #token: "68d84409d2a46"
    -images: Doctrine\ORM\PersistentCollection {#4539 …}
    -videos: Doctrine\ORM\PersistentCollection {#4541 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4543 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4545 …}
    -categories: Doctrine\ORM\PersistentCollection {#4547 …}
    -materials: Doctrine\ORM\PersistentCollection {#4549 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4551 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4553 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4555 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4558 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4559 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4561 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4563 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4565 …}
    -side: true
    #createdAt: DateTimeImmutable @1759003657 {#4536
      date: 2025-09-27 22:07:37.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772517485 {#4537
      date: 2026-03-03 06:58:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4567 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 55
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "spinal stretch twist"
    -metaphoneName: "SPNLSTRXTWST"
  }
  "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 en torsion de la colonne vertébrale"
  "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 {#9519
  #cacheManager: Liip\ImagineBundle\Imagine\Cache\CacheManager {#516 …}
  +fileSrc: null
  +placeholderSrc: null
  +alt: "Image Étirement en torsion de la colonne vertébrale"
  +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 {#4538
    #id: 1660
    #token: "68d84409d2a46"
    -images: Doctrine\ORM\PersistentCollection {#4539 …}
    -videos: Doctrine\ORM\PersistentCollection {#4541 …}
    -muscles: Doctrine\ORM\PersistentCollection {#4543 …}
    -secondaryMuscles: Doctrine\ORM\PersistentCollection {#4545 …}
    -categories: Doctrine\ORM\PersistentCollection {#4547 …}
    -materials: Doctrine\ORM\PersistentCollection {#4549 …}
    -status: null
    -statusInternal: "to_film"
    -publicStatus: null
    -difficulty: "beginner"
    -focus: "isolation"
    -executionType: null
    -workoutParts: [
      "workout"
    ]
    -tensionType: null
    -disciplines: Doctrine\ORM\PersistentCollection {#4551 …}
    -validateAt: null
    -validatedBy: Doctrine\ORM\PersistentCollection {#4553 …}
    -mainExercise: null
    -variants: Doctrine\ORM\PersistentCollection {#4555 …}
    -isAvatarDefaultBackView: false
    -exerciseGroup: App\Entity\Training\ExerciseGroup {#4558 …}
    -grips: []
    -isSuggestion: false
    -suggestBy: null
    -preferredGenderView: null
    -exerciseProposal: null
    -userFavorites: Doctrine\ORM\PersistentCollection {#4559 …}
    -defaultUnit: "unit_time"
    -exerciseLogs: Doctrine\ORM\PersistentCollection {#4561 …}
    -aliases: Doctrine\ORM\PersistentCollection {#4563 …}
    -faqs: Doctrine\ORM\PersistentCollection {#4565 …}
    -side: true
    #createdAt: DateTimeImmutable @1759003657 {#4536
      date: 2025-09-27 22:07:37.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1772517485 {#4537
      date: 2026-03-03 06:58:05.0 Europe/Zurich (+01:00)
    }
    #createdBy: App\Entity\User {#4218 …}
    #updatedBy: null
    #deletedAt: null
    #translations: Doctrine\ORM\PersistentCollection {#4567 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
    -notes: null
    -viewCounter: 55
    -tiersId: null
    -tiersName: null
    -source: "openai"
    -sourceModel: null
    -normalizedName: "spinal stretch twist"
    -metaphoneName: "SPNLSTRXTWST"
  }
  #exerciseMediaManager: App\BusinessLogic\Training\Exercise\Manager\ExerciseMediaManager {#7506 …}
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.13 ms
Input props
[
  "name" => "Abdominaux"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9638
  +name: "Abdominaux"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 68.5 MiB 0.11 ms
Input props
[
  "name" => "Dos"
  "style" => "z-index: 3"
  "color" => "primary"
  "small" => true
]
Attributes
[
  "style" => "z-index: 3"
]
Component
App\Twig\Components\Ui\Badge {#9674
  +name: "Dos"
  +url: null
  +color: "primary"
  +small: true
  +selected: false
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 68.5 MiB 0.13 ms
Input props
[
  "difficulty" => "beginner"
  "small" => true
  "link" => false
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9656
  +difficulty: "beginner"
  +small: true
  +link: false
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.09 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 {#9544
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 70.5 MiB 3.24 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=20"
  +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.10 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 {#9762
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.09 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 {#9790
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.08 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 {#9815
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.09 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 {#9838
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.08 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 {#9861
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#9884
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#9907
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#9930
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 70.5 MiB 0.67 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdWideSkyscraper {#9766
  +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.11 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#9983
  +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 1.94 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10020
  -props: [
    "size" => "large"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 70.5 MiB 1.65 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "large"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "large"
]
Component
App\Twig\Components\App\LangSelector {#10042
  +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 1.35 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#10064
  +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.10 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 {#10095
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.08 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 {#10117
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.09 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 {#10164
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
70.5 MiB 1.15 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10043
  -props: [
    "size" => "large"
  ]
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.09 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 {#10185
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.09 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 {#10219
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#10242
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#10265
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#10288
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#10311
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#10334
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.09 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 {#10357
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.07 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 {#10380
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#5177 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}