Redirect 301 redirect from GET @training_exercise_detail (46f97a)

GET https://test.fitmetrics.ch/fr/exercice/6733d70cdf227-moulinet-a-genoux?open-account-panel-popup=1

Components

20 Twig Components
117 Render Count
574 ms Render Time
86.5 MiB Memory Usage

Components

Name Metadata Render Count Render Time
media:icon
"App\Twig\Components\Media\Icon"
components/media/icon.html.twig
67 3.37ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
16 0.88ms
faq
"App\Twig\Components\Ui\FaqComponent"
components/ui/faq.html.twig
5 1.83ms
raw-faq
"App\Twig\Components\Ui\RawFaqComponent"
components/ui/raw-faq.html.twig
5 0.58ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
3 1.62ms
ad:square:fluid
"App\Twig\Components\Ad\AdSquareFluid"
components/ad/square-fluid.html.twig
3 0.41ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
2 0.51ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
2 2.76ms
ui:editor-render
"App\Twig\Components\Ui\Editor\EditorRender"
components/ui/editor/render.html.twig
2 1.29ms
app:loading_spinner
"App\Twig\Components\App\LoadingSpinner"
components/app/loading-spinner.html.twig
2 0.26ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 46.58ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 10.65ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.69ms
ad:banner
"App\Twig\Components\Ad\AdBanner"
components/ad/banner.html.twig
1 0.44ms
media:video
"App\Twig\Components\Media\Video"
components/media/video.html.twig
1 0.44ms
anatomy:avatar
"App\Twig\Components\Anatomy\Avatar"
components/anatomy/avatar.html.twig
1 516.42ms
training:difficulty-badge
"App\Twig\Components\Training\DifficultyBadge"
components/training/difficulity-badge.html.twig
1 0.27ms
ui:widget-embed
"App\Twig\Components\Ui\WidgetEmbed"
components/ui/widget_embed.html.twig
1 0.76ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.30ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
1 0.24ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 82.5 MiB 46.58 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#6055
  -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#208 …}
  -em: Doctrine\ORM\EntityManager {#550 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#205 …}
  -kernel: App\Kernel {#14 …}
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …}
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.52 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#6102
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#6113
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
82.5 MiB 1.34 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6164
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 82.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 {#6179
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#6229
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "search"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6257
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#6273
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#6297
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#6321
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.04 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 {#6345
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.04 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 {#6369
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#6393
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#6417
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.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 {#6441
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.08 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 {#6798
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
82.5 MiB 0.17 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6785
  -props: [
    "class" => "max-w-fit"
  ]
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 82.5 MiB 10.65 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#6876
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#6877 …}
  -formFactory: Symfony\Component\Form\FormFactory {#6875 …}
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.06 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 {#7028
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.06 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 {#7063
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#7093
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.06 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 {#7125
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#7144
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.07 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-[80px] w-[300px]"
]
Attributes
[
  "class" => "h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#7254
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-white w-[20px] h-[20px]"
]
Attributes
[
  "class" => "fill-white w-[20px] h-[20px]"
]
Component
App\Twig\Components\Media\Icon {#7288
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7304
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "fire"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7328
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7352
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "barbell"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7376
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "discipline"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7400
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "discipline"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "stats-chart"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7424
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.09 ms
Input props
[
  "name" => "latest"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7448
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "random"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7472
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.04 ms
Input props
[
  "name" => "favorites"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7496
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "more"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7520
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
app:lang-selector App\Twig\Components\App\LangSelector 82.5 MiB 0.48 ms
Input props
[
  "defaultOpenLeft" => true
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#7565
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.06 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Component
App\Twig\Components\Media\Icon {#7555
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.06 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-16 w-full"
]
Attributes
[
  "class" => "h-16 w-full"
]
Component
App\Twig\Components\Media\Icon {#7196
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 82.5 MiB 0.69 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4562
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Windmill"
        "url" => "/fr/exercices/groupe/159-windmill"
      ]
      [
        "label" => "Moulinet à genoux"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#7648
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "Windmill"
      "url" => "/fr/exercices/groupe/159-windmill"
    ]
    [
      "label" => "Moulinet à genoux"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4562
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Windmill"
        "url" => "/fr/exercices/groupe/159-windmill"
      ]
      [
        "label" => "Moulinet à genoux"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 82.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 {#7678
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.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 {#7700
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.09 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 {#7723
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 82.5 MiB 0.44 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#7766
  +includeScript: true
  +labelClass: null
  +containerClass: "my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
media:video App\Twig\Components\Media\Video 82.5 MiB 0.44 ms
Input props
[
  "media" => App\Entity\Media\MediaVideo {#4493
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4495 …}
    #credits: Doctrine\ORM\PersistentCollection {#4497 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=GM55M71AwJw"
    #id: 691
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4544 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450636 {#4531
      date: 2024-11-12 23:30:36.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450636 {#4483
      date: 2024-11-12 23:30:36.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "GM55M71AwJw"
  }
  "title" => "Moulinet à genoux"
  "showCredits" => false
]
Attributes
[]
Component
App\Twig\Components\Media\Video {#7853
  +media: App\Entity\Media\MediaVideo {#4493
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4495 …}
    #credits: Doctrine\ORM\PersistentCollection {#4497 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=GM55M71AwJw"
    #id: 691
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4544 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450636 {#4531
      date: 2024-11-12 23:30:36.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450636 {#4483
      date: 2024-11-12 23:30:36.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "GM55M71AwJw"
  }
  +title: "Moulinet à genoux"
  +posterSm: null
  +posterLg: null
  +hasPipButton: true
  +loop: false
  +mute: false
  +showCredits: false
  +creditsTitle: "label.media_video.credits"
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …}
  -appManager: App\BusinessLogic\App\Manager\AppManager {#152 …}
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.06 ms
Input props
[
  "name" => "favorites"
  "class" => "h-4 w-4 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Attributes
[
  "class" => "h-4 w-4 stroke-yellow text-transparent"
  "data-front--favorite-target" => "icon"
]
Component
App\Twig\Components\Media\Icon {#7869
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "program"
  "class" => "w-5 h-5 text-white inline-flex"
]
Attributes
[
  "class" => "w-5 h-5 text-white inline-flex"
]
Component
App\Twig\Components\Media\Icon {#7902
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 82.5 MiB 1.80 ms
Input props
[
  "class" => "mt-2 md:m-0"
]
Attributes
[
  "class" => "mt-2 md:m-0"
]
Component
App\Twig\Components\App\PageSharer {#7926
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d70cdf227-moulinet-a-genoux?open-account-panel-popup=1"
  +title: "Moulinet à genoux - Exercice - FitMetrics"
  +description: "Le moulinet à genoux est un exercice fonctionnel qui combine mobilité et stabilité pour améliorer la qualité globale du mouvement. Réalisé en position à genoux, il sollicite la coordination du tronc et le contrôle postural, tout en limitant les contraintes sur le bas du dos par rapport aux variantes debout. Cet exercice met particulièrement l’accent sur la rotation contrôlée du buste et la bascule des hanches, favorisant ainsi un meilleur alignement corporel et une posture plus équilibrée. Accessible et sans besoin de matériel, il s’intègre facilement à un programme d’entraînement à domicile ou en salle. Le moulinet à genoux est fréquemment utilisé dans les routines d’échauffement, les circuits de mobilité ou les séances de préparation physique, car il aide à développer la fluidité des gestes et l’efficacité du mouvement. En renforçant le gainage et en optimisant la mobilité articulaire, il contribue à une meilleure prévention des blessures et à une performance plus durable. Que ce soit pour améliorer la posture, accroître la stabilité ou préparer des mouvements plus avancés comme le moulinet avec kettlebell, cet exercice constitue une base solide pour progresser en toute sécurité."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-5 h-5 text-white fill-white"
]
Attributes
[
  "class" => "w-5 h-5 text-white fill-white"
]
Component
App\Twig\Components\Media\Icon {#7956
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.06 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 {#7984
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#8009
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.04 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 {#8032
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#8055
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 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 {#8078
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8101
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.03 ms
Input props
[
  "name" => "email"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8124
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.05 ms
Input props
[
  "name" => "program"
  "class" => "w-6 h-6 mr-3 !text-white"
]
Attributes
[
  "class" => "w-6 h-6 mr-3 !text-white"
]
Component
App\Twig\Components\Media\Icon {#8155
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 82.5 MiB 1.11 ms
Input props
[
  "data" => [
    "time" => 1756293568
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Commencez en position à genoux, un genou au sol et l’autre jambe fléchie à 90 degrés devant vous."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Levez un bras tendu au-dessus de la tête et laissez l’autre le long du corps."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Pivotez au niveau des hanches et descendez lentement la main inférieure vers le sol en gardant le buste contrôlé."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Marquez une courte pause en bas, puis revenez à la position initiale droite."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Répétez du même côté avant de changer."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez la sangle abdominale engagée pour stabiliser la colonne."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez un alignement entre le bras levé et le genou au sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Exécutez le mouvement lentement et avec contrôle, sans à-coups."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Privilégiez la charnière de hanche plutôt qu’une flexion de la colonne."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez en vous préparant en position haute."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez lors de la descente vers le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Inspirez à nouveau en revenant à la position initiale."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8204
  +title: null
  +data: [
    "time" => 1756293568
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Commencez en position à genoux, un genou au sol et l’autre jambe fléchie à 90 degrés devant vous."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Levez un bras tendu au-dessus de la tête et laissez l’autre le long du corps."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Pivotez au niveau des hanches et descendez lentement la main inférieure vers le sol en gardant le buste contrôlé."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Marquez une courte pause en bas, puis revenez à la position initiale droite."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Répétez du même côté avant de changer."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez la sangle abdominale engagée pour stabiliser la colonne."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez un alignement entre le bras levé et le genou au sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Exécutez le mouvement lentement et avec contrôle, sans à-coups."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Privilégiez la charnière de hanche plutôt qu’une flexion de la colonne."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez en vous préparant en position haute."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez lors de la descente vers le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Inspirez à nouveau en revenant à la position initiale."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
  +spacing: 4
  +adsInterval: 5
  +withAds: true
  +withMarketingBanner: false
  +marketingBannerPosition: 8
  -host: "https://test.fitmetrics.ch"
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 82.5 MiB 0.18 ms
Input props
[
  "data" => [
    "time" => 1756293568
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "A éviter en cas de blessures récentes à la colonne vertébrale."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Non recommandé en cas de fortes limitations de mobilité de la hanche."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "A éviter en période de récupération après une chirurgie abdominale."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8265
  +title: null
  +data: [
    "time" => 1756293568
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "A éviter en cas de blessures récentes à la colonne vertébrale."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Non recommandé en cas de fortes limitations de mobilité de la hanche."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "A éviter en période de récupération après une chirurgie abdominale."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
  +spacing: 4
  +adsInterval: 5
  +withAds: true
  +withMarketingBanner: false
  +marketingBannerPosition: 8
  -host: "https://test.fitmetrics.ch"
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 82.5 MiB 0.32 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#8252
  +includeScript: true
  +labelClass: null
  +containerClass: "mt-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
faq App\Twig\Components\Ui\FaqComponent 82.5 MiB 0.90 ms
Input props
[
  "faq" => App\Entity\Faq {#5237
    -news: Doctrine\ORM\PersistentCollection {#5220 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5222 …}
    #id: 5538
    #createdAt: DateTimeImmutable @1756274951 {#5232
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5207
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5270 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8309
  +faq: App\Entity\Faq {#5237
    -news: Doctrine\ORM\PersistentCollection {#5220 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5222 …}
    #id: 5538
    #createdAt: DateTimeImmutable @1756274951 {#5232
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5207
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5270 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 82.5 MiB 0.31 ms
Input props
[
  "question" => "A quoi sert le moulinet à genoux ?"
  "answer" => "Le moulinet à genoux est idéal pour renforcer la stabilité du tronc, améliorer la mobilité de la colonne vertébrale et développer la coordination."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8337
  +question: "A quoi sert le moulinet à genoux ?"
  +answer: "Le moulinet à genoux est idéal pour renforcer la stabilité du tronc, améliorer la mobilité de la colonne vertébrale et développer la coordination."
}
faq App\Twig\Components\Ui\FaqComponent 82.5 MiB 0.20 ms
Input props
[
  "faq" => App\Entity\Faq {#5268
    -news: Doctrine\ORM\PersistentCollection {#5267 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5265 …}
    #id: 5539
    #createdAt: DateTimeImmutable @1756274951 {#5272
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5269
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5263 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8368
  +faq: App\Entity\Faq {#5268
    -news: Doctrine\ORM\PersistentCollection {#5267 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5265 …}
    #id: 5539
    #createdAt: DateTimeImmutable @1756274951 {#5272
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5269
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5263 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 82.5 MiB 0.05 ms
Input props
[
  "question" => "Ai-je besoin de matériel pour le moulinet à genoux ?"
  "answer" => "Aucun matériel n’est nécessaire pour réaliser le moulinet à genoux, ce qui le rend facile à pratiquer à la maison ou en salle."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8413
  +question: "Ai-je besoin de matériel pour le moulinet à genoux ?"
  +answer: "Aucun matériel n’est nécessaire pour réaliser le moulinet à genoux, ce qui le rend facile à pratiquer à la maison ou en salle."
}
faq App\Twig\Components\Ui\FaqComponent 82.5 MiB 0.26 ms
Input props
[
  "faq" => App\Entity\Faq {#5259
    -news: Doctrine\ORM\PersistentCollection {#5258 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5256 …}
    #id: 5540
    #createdAt: DateTimeImmutable @1756274951 {#5261
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5260
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5254 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8416
  +faq: App\Entity\Faq {#5259
    -news: Doctrine\ORM\PersistentCollection {#5258 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5256 …}
    #id: 5540
    #createdAt: DateTimeImmutable @1756274951 {#5261
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5260
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5254 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 82.5 MiB 0.08 ms
Input props
[
  "question" => "Le moulinet à genoux est-il adapté aux débutants ?"
  "answer" => "Oui, il convient aux débutants car la position à genoux offre de la stabilité tout en sollicitant le gainage et la mobilité."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8460
  +question: "Le moulinet à genoux est-il adapté aux débutants ?"
  +answer: "Oui, il convient aux débutants car la position à genoux offre de la stabilité tout en sollicitant le gainage et la mobilité."
}
faq App\Twig\Components\Ui\FaqComponent 82.5 MiB 0.23 ms
Input props
[
  "faq" => App\Entity\Faq {#5250
    -news: Doctrine\ORM\PersistentCollection {#5249 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5247 …}
    #id: 5541
    #createdAt: DateTimeImmutable @1756274951 {#5252
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5251
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5245 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8463
  +faq: App\Entity\Faq {#5250
    -news: Doctrine\ORM\PersistentCollection {#5249 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5247 …}
    #id: 5541
    #createdAt: DateTimeImmutable @1756274951 {#5252
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5251
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5245 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 82.5 MiB 0.06 ms
Input props
[
  "question" => "Combien de répétitions dois-je faire pour le moulinet à genoux ?"
  "answer" => "Un bon point de départ est de 8 à 12 répétitions contrôlées par côté, en privilégiant la technique et la respiration."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8507
  +question: "Combien de répétitions dois-je faire pour le moulinet à genoux ?"
  +answer: "Un bon point de départ est de 8 à 12 répétitions contrôlées par côté, en privilégiant la technique et la respiration."
}
faq App\Twig\Components\Ui\FaqComponent 82.5 MiB 0.25 ms
Input props
[
  "faq" => App\Entity\Faq {#5197
    -news: Doctrine\ORM\PersistentCollection {#5196 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5194 …}
    #id: 5542
    #createdAt: DateTimeImmutable @1756274951 {#5199
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5198
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5192 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8510
  +faq: App\Entity\Faq {#5197
    -news: Doctrine\ORM\PersistentCollection {#5196 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5194 …}
    #id: 5542
    #createdAt: DateTimeImmutable @1756274951 {#5199
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1756274951 {#5198
      date: 2025-08-27 08:09:11.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5192 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 82.5 MiB 0.08 ms
Input props
[
  "question" => "Le moulinet à genoux peut-il améliorer ma posture ?"
  "answer" => "Oui, cet exercice favorise le renforcement du tronc et un meilleur alignement de la colonne, contribuant à une posture plus stable et efficace."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8554
  +question: "Le moulinet à genoux peut-il améliorer ma posture ?"
  +answer: "Oui, cet exercice favorise le renforcement du tronc et un meilleur alignement de la colonne, contribuant à une posture plus stable et efficace."
}
anatomy:avatar App\Twig\Components\Anatomy\Avatar 84.5 MiB 516.42 ms
Input props
[
  "class" => "relative"
  "primaryMuscles" => [
    6
  ]
  "secondaryMuscles" => [
    3
    5
    15
    28
  ]
  "displayFront" => false
]
Attributes
[
  "class" => "relative"
]
Component
App\Twig\Components\Anatomy\Avatar {#8482
  #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#8565 …}
  +primaryMuscles: [
    6
  ]
  +secondaryMuscles: [
    3
    5
    15
    28
  ]
  +type: "url"
  +urlReferenceType: 2
  +displayFront: false
  +selectedMuscles: []
  +displayTagMuscles: false
  +hoverMuscleDefaultText: "-"
  #entityManager: Doctrine\ORM\EntityManager {#550 …}
  #localeSwitcher: Symfony\Component\Translation\LocaleSwitcher {#1600 …}
  #avatarData: App\BusinessLogic\Anatomy\AvatarData {#8563 …}
  -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#8564 …}
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.31 ms
Input props
[
  "name" => "Abdominaux"
  "url" => "/fr/exercices/muscle/6-abdominaux"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9979
  +name: "Abdominaux"
  +url: "/fr/exercices/muscle/6-abdominaux"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.05 ms
Input props
[
  "name" => "Fessiers"
  "url" => "/fr/exercices/muscle/3-fessiers"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10031
  +name: "Fessiers"
  +url: "/fr/exercices/muscle/3-fessiers"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Lombaires"
  "url" => "/fr/exercices/muscle/5-lombaires"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10055
  +name: "Lombaires"
  +url: "/fr/exercices/muscle/5-lombaires"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Obliques"
  "url" => "/fr/exercices/muscle/15-obliques"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10079
  +name: "Obliques"
  +url: "/fr/exercices/muscle/15-obliques"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.03 ms
Input props
[
  "name" => "Épaules"
  "url" => "/fr/exercices/muscle/28-epaules"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10103
  +name: "Épaules"
  +url: "/fr/exercices/muscle/28-epaules"
  +color: "primary"
  +small: false
  +selected: false
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 86.5 MiB 0.05 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#9889
  +includeScript: true
  +labelClass: null
  +containerClass: "max-h-[300px] max-w-[300px]"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 86.5 MiB 0.27 ms
Input props
[
  "difficulty" => "beginner"
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#10136
  +difficulty: "beginner"
  +small: false
  +link: true
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.05 ms
Input props
[
  "name" => "Composé"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10167
  +name: "Composé"
  +url: null
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.05 ms
Input props
[
  "name" => "Tapis de sol"
  "url" => "/fr/exercices/equipement/17-tapis-de-sol"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10207
  +name: "Tapis de sol"
  +url: "/fr/exercices/equipement/17-tapis-de-sol"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Sans matériel"
  "url" => "/fr/exercices/equipement/29-sans-mat%C3%A9riel"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10231
  +name: "Sans matériel"
  +url: "/fr/exercices/equipement/29-sans-mat%C3%A9riel"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Fitness"
  "url" => "/fr/exercices/sport/5-fitness"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10255
  +name: "Fitness"
  +url: "/fr/exercices/sport/5-fitness"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Yoga"
  "url" => "/fr/exercices/sport/8-yoga"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10279
  +name: "Yoga"
  +url: "/fr/exercices/sport/8-yoga"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.03 ms
Input props
[
  "name" => "Pilates"
  "url" => "/fr/exercices/sport/9-pilates"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10303
  +name: "Pilates"
  +url: "/fr/exercices/sport/9-pilates"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Mobilité"
  "url" => "/fr/exercices/categorie/59-mobilite"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10327
  +name: "Mobilité"
  +url: "/fr/exercices/categorie/59-mobilite"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Renforcement"
  "url" => "/fr/exercices/categorie/61-renforcement"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10351
  +name: "Renforcement"
  +url: "/fr/exercices/categorie/61-renforcement"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.04 ms
Input props
[
  "name" => "Tronc"
  "url" => "/fr/exercices/categorie/74-tronc"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10375
  +name: "Tronc"
  +url: "/fr/exercices/categorie/74-tronc"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.03 ms
Input props
[
  "name" => "Entraînement fonctionnel"
  "url" => "/fr/exercices/categorie/77-entrainement-fonctionnel"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10399
  +name: "Entraînement fonctionnel"
  +url: "/fr/exercices/categorie/77-entrainement-fonctionnel"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 86.5 MiB 0.03 ms
Input props
[
  "name" => "Équilibre et stabilité"
  "url" => "/fr/exercices/categorie/78-equilibre-et-stabilite"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10423
  +name: "Équilibre et stabilité"
  +url: "/fr/exercices/categorie/78-equilibre-et-stabilite"
  +color: "gray"
  +small: true
  +selected: false
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 86.5 MiB 0.04 ms
Input props
[
  "containerClass" => "hidden lg:flex items-center justify-center my-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#10117
  +includeScript: true
  +labelClass: null
  +containerClass: "hidden lg:flex items-center justify-center my-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 86.5 MiB 0.22 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#8191
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 86.5 MiB 0.04 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#10480
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.04 ms
Input props
[
  "name" => "program"
  "class" => "w-6 h-6 mr-3 !text-white"
]
Attributes
[
  "class" => "w-6 h-6 mr-3 !text-white"
]
Component
App\Twig\Components\Media\Icon {#10517
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:widget-embed App\Twig\Components\Ui\WidgetEmbed 86.5 MiB 0.76 ms
Input props
[
  "class" => "hidden md:block"
  "route" => "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70cdf227?video=1"
  "parameters" => [
    [
      "name" => "orientation"
      "description" => "Change the layout: horizontal (side by side) or vertical (stacked)"
      "example" => "?orientation=vertical"
      "values" => [
        "horizontal"
        "vertical"
      ]
    ]
    [
      "name" => "video"
      "description" => "Show the exercise video (if available): yes"
      "example" => "?video=1"
      "values" => [
        "0"
        "1"
        "true"
        "false"
      ]
    ]
  ]
  "defaultWidth" => 350
  "defaultHeight" => 700
]
Attributes
[
  "class" => "hidden md:block"
]
Component
App\Twig\Components\Ui\WidgetEmbed {#10553
  +route: "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70cdf227?video=1"
  +parameters: [
    [
      "name" => "orientation"
      "description" => "Change the layout: horizontal (side by side) or vertical (stacked)"
      "example" => "?orientation=vertical"
      "values" => [
        "horizontal"
        "vertical"
      ]
    ]
    [
      "name" => "video"
      "description" => "Show the exercise video (if available): yes"
      "example" => "?video=1"
      "values" => [
        "0"
        "1"
        "true"
        "false"
      ]
    ]
  ]
  +defaultWidth: 350
  +defaultHeight: 700
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "me-1"
  "style" => "width: 20px; height: 20px;"
]
Attributes
[
  "class" => "me-1"
  "style" => "width: 20px; height: 20px;"
]
Component
App\Twig\Components\Media\Icon {#10591
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.04 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] cursor-pointer text-black dark:text-white"
]
Attributes
[
  "class" => "w-[26px] h-[26px] cursor-pointer text-black dark:text-white"
]
Component
App\Twig\Components\Media\Icon {#10624
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 86.5 MiB 0.96 ms
Input props
[
  "class" => "content-container"
  "title" => "Moulinet à genoux"
  "description" => "Le moulinet à genoux est un exercice fonctionnel qui combine mobilité et stabilité pour améliorer la qualité globale du mouvement. Réalisé en position à genoux, il sollicite la coordination du tronc et le contrôle postural, tout en limitant les contraintes sur le bas du dos par rapport aux variantes debout. Cet exercice met particulièrement l’accent sur la rotation contrôlée du buste et la bascule des hanches, favorisant ainsi un meilleur alignement corporel et une posture plus équilibrée. Accessible et sans besoin de matériel, il s’intègre facilement à un programme d’entraînement à domicile ou en salle. Le moulinet à genoux est fréquemment utilisé dans les routines d’échauffement, les circuits de mobilité ou les séances de préparation physique, car il aide à développer la fluidité des gestes et l’efficacité du mouvement. En renforçant le gainage et en optimisant la mobilité articulaire, il contribue à une meilleure prévention des blessures et à une performance plus durable. Que ce soit pour améliorer la posture, accroître la stabilité ou préparer des mouvements plus avancés comme le moulinet avec kettlebell, cet exercice constitue une base solide pour progresser en toute sécurité."
]
Attributes
[
  "class" => "content-container"
]
Component
App\Twig\Components\App\PageSharer {#10664
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d70cdf227-moulinet-a-genoux?open-account-panel-popup=1"
  +title: "Moulinet à genoux"
  +description: "Le moulinet à genoux est un exercice fonctionnel qui combine mobilité et stabilité pour améliorer la qualité globale du mouvement. Réalisé en position à genoux, il sollicite la coordination du tronc et le contrôle postural, tout en limitant les contraintes sur le bas du dos par rapport aux variantes debout. Cet exercice met particulièrement l’accent sur la rotation contrôlée du buste et la bascule des hanches, favorisant ainsi un meilleur alignement corporel et une posture plus équilibrée. Accessible et sans besoin de matériel, il s’intègre facilement à un programme d’entraînement à domicile ou en salle. Le moulinet à genoux est fréquemment utilisé dans les routines d’échauffement, les circuits de mobilité ou les séances de préparation physique, car il aide à développer la fluidité des gestes et l’efficacité du mouvement. En renforçant le gainage et en optimisant la mobilité articulaire, il contribue à une meilleure prévention des blessures et à une performance plus durable. Que ce soit pour améliorer la posture, accroître la stabilité ou préparer des mouvements plus avancés comme le moulinet avec kettlebell, cet exercice constitue une base solide pour progresser en toute sécurité."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-5 h-5 text-white fill-white"
]
Attributes
[
  "class" => "w-5 h-5 text-white fill-white"
]
Component
App\Twig\Components\Media\Icon {#10672
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.04 ms
Input props
[
  "name" => "reddit"
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-6 h-6 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10694
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.04 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 {#10718
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10741
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10764
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "linkedin"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10787
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10810
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "email"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10833
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 86.5 MiB 0.30 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdWideSkyscraper {#719
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: false
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
  +right: true
  +left: true
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 86.5 MiB 0.24 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#10880
  +includeScript: true
  +labelClass: null
  +containerClass: "content-container my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
app:lang-selector App\Twig\Components\App\LangSelector 86.5 MiB 0.04 ms
Input props
[
  "defaultOpenLeft" => false
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#10935
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
utils:theme-switcher
[Anonymous]
86.5 MiB 0.11 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10927
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 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 {#10969
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block"
]
Attributes
[
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 hidden dark:block"
]
Component
App\Twig\Components\Media\Icon {#11001
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.04 ms
Input props
[
  "name" => "heart"
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Attributes
[
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Component
App\Twig\Components\Media\Icon {#11024
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#11047
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "instagram"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#11070
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#11093
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "tiktok"
  "class" => "w-[29px] h-[29px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[29px] h-[29px]"
]
Component
App\Twig\Components\Media\Icon {#11116
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-[19px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[19px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#11139
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.03 ms
Input props
[
  "name" => "youtube"
  "class" => "w-[28px] h-[24px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[24px]"
]
Component
App\Twig\Components\Media\Icon {#11162
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6105 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}