GET https://test.fitmetrics.ch/fr/exercice/6733d72e68f7e-epaule-avec-kettlebell?open-account-panel-popup=1

Components

20 Twig Components
115 Render Count
532 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.54ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
14 1.93ms
faq
"App\Twig\Components\Ui\FaqComponent"
components/ui/faq.html.twig
5 1.41ms
raw-faq
"App\Twig\Components\Ui\RawFaqComponent"
components/ui/raw-faq.html.twig
5 0.48ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
3 1.50ms
ad:square:fluid
"App\Twig\Components\Ad\AdSquareFluid"
components/ad/square-fluid.html.twig
3 0.46ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
2 0.53ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
2 3.63ms
ui:editor-render
"App\Twig\Components\Ui\Editor\EditorRender"
components/ui/editor/render.html.twig
2 1.07ms
app:loading_spinner
"App\Twig\Components\App\LoadingSpinner"
components/app/loading-spinner.html.twig
2 0.66ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 41.13ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 8.81ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.59ms
ad:banner
"App\Twig\Components\Ad\AdBanner"
components/ad/banner.html.twig
1 0.45ms
media:video
"App\Twig\Components\Media\Video"
components/media/video.html.twig
1 0.39ms
anatomy:avatar
"App\Twig\Components\Anatomy\Avatar"
components/anatomy/avatar.html.twig
1 475.53ms
training:difficulty-badge
"App\Twig\Components\Training\DifficultyBadge"
components/training/difficulity-badge.html.twig
1 0.59ms
ui:widget-embed
"App\Twig\Components\Ui\WidgetEmbed"
components/ui/widget_embed.html.twig
1 1.70ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.70ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
1 0.57ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 76.5 MiB 41.13 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#6383
  -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 70.5 MiB 0.42 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#6430
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6441
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
70.5 MiB 1.13 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6492
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6507
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6557
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6585
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6601
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6625
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 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 {#6649
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6673
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6697
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6721
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#6745
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.04 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 {#6769
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.05 ms
Input props
[
  "name" => "chevron-down"
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Attributes
[
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Component
App\Twig\Components\Media\Icon {#7164
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
70.5 MiB 0.13 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#7119
  -props: [
    "class" => "max-w-fit"
  ]
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 74.5 MiB 8.81 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#7249
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#7250 …}
  -formFactory: Symfony\Component\Form\FormFactory {#7248 …}
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.05 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Component
App\Twig\Components\Media\Icon {#7401
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7436
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7466
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7498
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7517
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-[80px] w-[300px]"
]
Attributes
[
  "class" => "h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#7627
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-white w-[20px] h-[20px]"
]
Attributes
[
  "class" => "fill-white w-[20px] h-[20px]"
]
Component
App\Twig\Components\Media\Icon {#7661
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7677
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "fire"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7701
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7725
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7749
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7773
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "discipline"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7797
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7821
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7845
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7869
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "more"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7893
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
app:lang-selector App\Twig\Components\App\LangSelector 76.5 MiB 0.42 ms
Input props
[
  "defaultOpenLeft" => true
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#7938
  +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 76.5 MiB 0.04 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Component
App\Twig\Components\Media\Icon {#7928
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7569
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 76.5 MiB 0.59 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4536
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Épaulé"
        "url" => "/fr/exercices/groupe/103-epaule"
      ]
      [
        "label" => "Épaulé avec kettlebell"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#8021
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "Épaulé"
      "url" => "/fr/exercices/groupe/103-epaule"
    ]
    [
      "label" => "Épaulé avec kettlebell"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4536
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Épaulé"
        "url" => "/fr/exercices/groupe/103-epaule"
      ]
      [
        "label" => "Épaulé avec kettlebell"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.05 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 {#8051
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8073
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8096
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 76.5 MiB 0.45 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#8139
  +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 76.5 MiB 0.39 ms
Input props
[
  "media" => App\Entity\Media\MediaVideo {#4467
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4469 …}
    #credits: Doctrine\ORM\PersistentCollection {#4471 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=pxaWMp7eDDo"
    #id: 1932
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4518 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450670 {#4505
      date: 2024-11-12 23:31:10.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450670 {#4457
      date: 2024-11-12 23:31:10.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "pxaWMp7eDDo"
  }
  "title" => "Épaulé avec kettlebell"
  "showCredits" => false
]
Attributes
[]
Component
App\Twig\Components\Media\Video {#8226
  +media: App\Entity\Media\MediaVideo {#4467
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4469 …}
    #credits: Doctrine\ORM\PersistentCollection {#4471 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=pxaWMp7eDDo"
    #id: 1932
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4518 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450670 {#4505
      date: 2024-11-12 23:31:10.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450670 {#4457
      date: 2024-11-12 23:31:10.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "pxaWMp7eDDo"
  }
  +title: "Épaulé avec kettlebell"
  +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 76.5 MiB 0.04 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 {#8242
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 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 {#8275
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 76.5 MiB 1.40 ms
Input props
[
  "class" => "mt-2 md:m-0"
]
Attributes
[
  "class" => "mt-2 md:m-0"
]
Component
App\Twig\Components\App\PageSharer {#8299
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d72e68f7e-epaule-avec-kettlebell?open-account-panel-popup=1"
  +title: "Épaulé avec kettlebell - Exercice - FitMetrics"
  +description: "Le clean avec kettlebell est un mouvement balistique fondamental largement utilisé dans les programmes de musculation fonctionnelle et d’entraînement de force. Il consiste à amener la kettlebell du sol jusqu’à la position de rack frontal en un seul geste fluide et explosif. Cet exercice dynamique améliore la coordination globale du corps tout en sollicitant une puissante extension des hanches, ce qui en fait un outil redoutable pour développer la puissance, la vitesse et la performance athlétique. Grâce à sa nature polyarticulaire, il engage simultanément plusieurs groupes musculaires majeurs, favorisant l’endurance musculaire, la stabilité du tronc et la force de préhension. Le clean avec kettlebell peut être réalisé seul ou intégré dans des enchaînements avec d'autres exercices tels que le press ou le squat. Il est particulièrement adapté aux pratiquants de niveau intermédiaire à avancé, car il requiert une bonne maîtrise technique pour garantir une exécution sécuritaire et efficace. Polyvalent et facilement modulable, il s’intègre parfaitement dans les entraînements à domicile comme en salle, faisant de lui un exercice incontournable dans tout programme de préparation physique moderne."
  +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 76.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 {#8329
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8357
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "twitter"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8382
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8405
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8428
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8451
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8474
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8497
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.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 {#8528
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 76.5 MiB 0.97 ms
Input props
[
  "data" => [
    "time" => 1750009763
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Placez-vous debout, les pieds écartés à la largeur des épaules, avec une kettlebell posée entre vos pieds."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Effectuez une flexion de hanches, pliez légèrement les genoux et saisissez la poignée de la kettlebell avec une main."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Étendez de manière explosive les hanches et les genoux pour tirer la kettlebell vers le haut, proche du corps."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Tournez le poignet et guidez la kettlebell pour qu’elle repose en douceur sur l’avant-bras en position de rack frontal."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Redescendez la kettlebell de manière contrôlée jusqu’à la position de départ, puis recommencez."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez la kettlebell près du corps pendant toute l’exécution du mouvement."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Utilisez l’extension des hanches pour générer la puissance, et non uniquement le bras."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Évitez que la kettlebell frappe l’avant-bras : accompagnez-la en douceur dans le mouvement."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez avant d’initier le tirage."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez de manière explosive lors de l’extension des hanches."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Inspirez à nouveau en revenant à la position de départ."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8577
  +title: null
  +data: [
    "time" => 1750009763
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Placez-vous debout, les pieds écartés à la largeur des épaules, avec une kettlebell posée entre vos pieds."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Effectuez une flexion de hanches, pliez légèrement les genoux et saisissez la poignée de la kettlebell avec une main."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Étendez de manière explosive les hanches et les genoux pour tirer la kettlebell vers le haut, proche du corps."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Tournez le poignet et guidez la kettlebell pour qu’elle repose en douceur sur l’avant-bras en position de rack frontal."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Redescendez la kettlebell de manière contrôlée jusqu’à la position de départ, puis recommencez."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez la kettlebell près du corps pendant toute l’exécution du mouvement."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Utilisez l’extension des hanches pour générer la puissance, et non uniquement le bras."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Évitez que la kettlebell frappe l’avant-bras : accompagnez-la en douceur dans le mouvement."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez avant d’initier le tirage."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez de manière explosive lors de l’extension des hanches."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Inspirez à nouveau en revenant à la position de départ."
              "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 76.5 MiB 0.10 ms
Input props
[
  "data" => [
    "time" => 1750009763
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Blessures lombaires"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Conflits sous-acromiaux"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleurs aux poignets ou aux coudes"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Troubles de la coiffe des rotateurs"
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8638
  +title: null
  +data: [
    "time" => 1750009763
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Blessures lombaires"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Conflits sous-acromiaux"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleurs aux poignets ou aux coudes"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Troubles de la coiffe des rotateurs"
              "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 76.5 MiB 0.25 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#8625
  +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 76.5 MiB 0.75 ms
Input props
[
  "faq" => App\Entity\Faq {#4847
    -news: Doctrine\ORM\PersistentCollection {#5752 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5750 …}
    #id: 2190
    #createdAt: DateTimeImmutable @1749893835 {#4815
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#5765
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4880 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8682
  +faq: App\Entity\Faq {#4847
    -news: Doctrine\ORM\PersistentCollection {#5752 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5750 …}
    #id: 2190
    #createdAt: DateTimeImmutable @1749893835 {#4815
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#5765
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4880 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 76.5 MiB 0.29 ms
Input props
[
  "question" => "Quels muscles travaille le clean avec kettlebell ?"
  "answer" => "Le clean avec kettlebell sollicite principalement le dos, les épaules et les fessiers, tout en engageant les dorsaux, les deltoïdes antérieurs et les muscles stabilisateurs du tronc tout au long du mouvement."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8710
  +question: "Quels muscles travaille le clean avec kettlebell ?"
  +answer: "Le clean avec kettlebell sollicite principalement le dos, les épaules et les fessiers, tout en engageant les dorsaux, les deltoïdes antérieurs et les muscles stabilisateurs du tronc tout au long du mouvement."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.18 ms
Input props
[
  "faq" => App\Entity\Faq {#4878
    -news: Doctrine\ORM\PersistentCollection {#4877 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4875 …}
    #id: 2191
    #createdAt: DateTimeImmutable @1749893835 {#4882
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#4879
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4873 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8741
  +faq: App\Entity\Faq {#4878
    -news: Doctrine\ORM\PersistentCollection {#4877 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4875 …}
    #id: 2191
    #createdAt: DateTimeImmutable @1749893835 {#4882
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#4879
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4873 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 76.5 MiB 0.05 ms
Input props
[
  "question" => "Le clean avec kettlebell est-il adapté aux débutants ?"
  "answer" => "Le clean avec kettlebell est généralement recommandé aux pratiquants intermédiaires, mais les débutants peuvent l’aborder avec une charge légère et un encadrement technique approprié."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8786
  +question: "Le clean avec kettlebell est-il adapté aux débutants ?"
  +answer: "Le clean avec kettlebell est généralement recommandé aux pratiquants intermédiaires, mais les débutants peuvent l’aborder avec une charge légère et un encadrement technique approprié."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.17 ms
Input props
[
  "faq" => App\Entity\Faq {#4869
    -news: Doctrine\ORM\PersistentCollection {#4868 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4866 …}
    #id: 2192
    #createdAt: DateTimeImmutable @1749893835 {#4871
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#4870
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4864 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8789
  +faq: App\Entity\Faq {#4869
    -news: Doctrine\ORM\PersistentCollection {#4868 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4866 …}
    #id: 2192
    #createdAt: DateTimeImmutable @1749893835 {#4871
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#4870
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4864 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 76.5 MiB 0.05 ms
Input props
[
  "question" => "Quelle est la différence entre un clean avec kettlebell et un clean avec barre ?"
  "answer" => "Contrairement au clean avec barre qui s’effectue à deux mains et nécessite plus d’espace, le clean avec kettlebell est souvent réalisé de manière unilatérale, renforçant la force fonctionnelle et le contrôle d’un côté à la fois."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8833
  +question: "Quelle est la différence entre un clean avec kettlebell et un clean avec barre ?"
  +answer: "Contrairement au clean avec barre qui s’effectue à deux mains et nécessite plus d’espace, le clean avec kettlebell est souvent réalisé de manière unilatérale, renforçant la force fonctionnelle et le contrôle d’un côté à la fois."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.15 ms
Input props
[
  "faq" => App\Entity\Faq {#4860
    -news: Doctrine\ORM\PersistentCollection {#4859 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4857 …}
    #id: 2193
    #createdAt: DateTimeImmutable @1749893835 {#4862
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#4861
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4855 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8836
  +faq: App\Entity\Faq {#4860
    -news: Doctrine\ORM\PersistentCollection {#4859 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4857 …}
    #id: 2193
    #createdAt: DateTimeImmutable @1749893835 {#4862
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#4861
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#4855 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 76.5 MiB 0.04 ms
Input props
[
  "question" => "Pourquoi la kettlebell frappe-t-elle mon avant-bras pendant le clean ?"
  "answer" => "Cela est souvent dû à un manque de contrôle ou un mauvais timing lors de la phase de réception. Garder la kettlebell proche du corps et tourner le poignet de façon fluide permet d’éviter cet impact."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8880
  +question: "Pourquoi la kettlebell frappe-t-elle mon avant-bras pendant le clean ?"
  +answer: "Cela est souvent dû à un manque de contrôle ou un mauvais timing lors de la phase de réception. Garder la kettlebell proche du corps et tourner le poignet de façon fluide permet d’éviter cet impact."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.16 ms
Input props
[
  "faq" => App\Entity\Faq {#5775
    -news: Doctrine\ORM\PersistentCollection {#5776 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5778 …}
    #id: 2194
    #createdAt: DateTimeImmutable @1749893835 {#5773
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#5774
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#5780 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8883
  +faq: App\Entity\Faq {#5775
    -news: Doctrine\ORM\PersistentCollection {#5776 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5778 …}
    #id: 2194
    #createdAt: DateTimeImmutable @1749893835 {#5773
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1749893835 {#5774
      date: 2025-06-14 11:37:15.0 Europe/Zurich (+02:00)
    }
    #createdBy: null
    #updatedBy: null
    #translations: Doctrine\ORM\PersistentCollection {#5780 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 76.5 MiB 0.04 ms
Input props
[
  "question" => "Le clean avec kettlebell améliore-t-il la performance sportive ?"
  "answer" => "Oui, le clean avec kettlebell développe la puissance des hanches, la coordination et la stabilité du tronc, des qualités essentielles pour améliorer les performances sportives dans de nombreuses disciplines."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8927
  +question: "Le clean avec kettlebell améliore-t-il la performance sportive ?"
  +answer: "Oui, le clean avec kettlebell développe la puissance des hanches, la coordination et la stabilité du tronc, des qualités essentielles pour améliorer les performances sportives dans de nombreuses disciplines."
}
anatomy:avatar App\Twig\Components\Anatomy\Avatar 84.5 MiB 475.53 ms
Input props
[
  "class" => "relative"
  "primaryMuscles" => [
    3
    12
    28
  ]
  "secondaryMuscles" => [
    1
    17
    20
    25
    37
  ]
  "displayFront" => false
]
Attributes
[
  "class" => "relative"
]
Component
App\Twig\Components\Anatomy\Avatar {#8855
  #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#8938 …}
  +primaryMuscles: [
    3
    12
    28
  ]
  +secondaryMuscles: [
    1
    17
    20
    25
    37
  ]
  +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 {#8936 …}
  -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#8937 …}
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.64 ms
Input props
[
  "name" => "Fessiers"
  "url" => "/fr/exercices/muscle/3-fessiers"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9971
  +name: "Fessiers"
  +url: "/fr/exercices/muscle/3-fessiers"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.13 ms
Input props
[
  "name" => "Dos"
  "url" => "/fr/exercices/muscle/12-dos"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10023
  +name: "Dos"
  +url: "/fr/exercices/muscle/12-dos"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.09 ms
Input props
[
  "name" => "Épaules"
  "url" => "/fr/exercices/muscle/28-epaules"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10047
  +name: "Épaules"
  +url: "/fr/exercices/muscle/28-epaules"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.09 ms
Input props
[
  "name" => "Long supinateur"
  "url" => "/fr/exercices/muscle/1-long-supinateur"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10071
  +name: "Long supinateur"
  +url: "/fr/exercices/muscle/1-long-supinateur"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.08 ms
Input props
[
  "name" => "Deltoïde antérieur"
  "url" => "/fr/exercices/muscle/17-delto%C3%AFde-ant%C3%A9rieur"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10095
  +name: "Deltoïde antérieur"
  +url: "/fr/exercices/muscle/17-delto%C3%AFde-ant%C3%A9rieur"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.08 ms
Input props
[
  "name" => "Brachial"
  "url" => "/fr/exercices/muscle/20-brachial"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10119
  +name: "Brachial"
  +url: "/fr/exercices/muscle/20-brachial"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.10 ms
Input props
[
  "name" => "Grand dorsal"
  "url" => "/fr/exercices/muscle/25-grand-dorsal"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10143
  +name: "Grand dorsal"
  +url: "/fr/exercices/muscle/25-grand-dorsal"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.08 ms
Input props
[
  "name" => "Grand fessier"
  "url" => "/fr/exercices/muscle/37-grand-fessier"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10167
  +name: "Grand fessier"
  +url: "/fr/exercices/muscle/37-grand-fessier"
  +color: "primary"
  +small: false
  +selected: false
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 84.5 MiB 0.11 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#9959
  +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 84.5 MiB 0.59 ms
Input props
[
  "difficulty" => "intermediate"
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#10200
  +difficulty: "intermediate"
  +small: false
  +link: true
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.11 ms
Input props
[
  "name" => "Kettlebells"
  "url" => "/fr/exercices/equipement/2-kettlebells"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10245
  +name: "Kettlebells"
  +url: "/fr/exercices/equipement/2-kettlebells"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.10 ms
Input props
[
  "name" => "Musculation"
  "url" => "/fr/exercices/sport/1-musculation"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10272
  +name: "Musculation"
  +url: "/fr/exercices/sport/1-musculation"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.13 ms
Input props
[
  "name" => "Fitness"
  "url" => "/fr/exercices/sport/5-fitness"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10296
  +name: "Fitness"
  +url: "/fr/exercices/sport/5-fitness"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.09 ms
Input props
[
  "name" => "Crossfit"
  "url" => "/fr/exercices/sport/7-crossfit"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10320
  +name: "Crossfit"
  +url: "/fr/exercices/sport/7-crossfit"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.09 ms
Input props
[
  "name" => "Renforcement"
  "url" => "/fr/exercices/categorie/61-renforcement"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10344
  +name: "Renforcement"
  +url: "/fr/exercices/categorie/61-renforcement"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.11 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 {#10368
  +name: "Entraînement fonctionnel"
  +url: "/fr/exercices/categorie/77-entrainement-fonctionnel"
  +color: "gray"
  +small: true
  +selected: false
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 84.5 MiB 0.10 ms
Input props
[
  "containerClass" => "hidden lg:flex items-center justify-center my-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#10181
  +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 84.5 MiB 0.56 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#8564
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 84.5 MiB 0.10 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#10423
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.09 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 {#10461
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:widget-embed App\Twig\Components\Ui\WidgetEmbed 84.5 MiB 1.70 ms
Input props
[
  "class" => "hidden md:block"
  "route" => "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d72e68f7e?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 {#10497
  +route: "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d72e68f7e?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 84.5 MiB 0.10 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 {#10535
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.09 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 {#10568
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 86.5 MiB 2.23 ms
Input props
[
  "class" => "content-container"
  "title" => "Épaulé avec kettlebell"
  "description" => "Le clean avec kettlebell est un mouvement balistique fondamental largement utilisé dans les programmes de musculation fonctionnelle et d’entraînement de force. Il consiste à amener la kettlebell du sol jusqu’à la position de rack frontal en un seul geste fluide et explosif. Cet exercice dynamique améliore la coordination globale du corps tout en sollicitant une puissante extension des hanches, ce qui en fait un outil redoutable pour développer la puissance, la vitesse et la performance athlétique. Grâce à sa nature polyarticulaire, il engage simultanément plusieurs groupes musculaires majeurs, favorisant l’endurance musculaire, la stabilité du tronc et la force de préhension. Le clean avec kettlebell peut être réalisé seul ou intégré dans des enchaînements avec d'autres exercices tels que le press ou le squat. Il est particulièrement adapté aux pratiquants de niveau intermédiaire à avancé, car il requiert une bonne maîtrise technique pour garantir une exécution sécuritaire et efficace. Polyvalent et facilement modulable, il s’intègre parfaitement dans les entraînements à domicile comme en salle, faisant de lui un exercice incontournable dans tout programme de préparation physique moderne."
]
Attributes
[
  "class" => "content-container"
]
Component
App\Twig\Components\App\PageSharer {#10608
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d72e68f7e-epaule-avec-kettlebell?open-account-panel-popup=1"
  +title: "Épaulé avec kettlebell"
  +description: "Le clean avec kettlebell est un mouvement balistique fondamental largement utilisé dans les programmes de musculation fonctionnelle et d’entraînement de force. Il consiste à amener la kettlebell du sol jusqu’à la position de rack frontal en un seul geste fluide et explosif. Cet exercice dynamique améliore la coordination globale du corps tout en sollicitant une puissante extension des hanches, ce qui en fait un outil redoutable pour développer la puissance, la vitesse et la performance athlétique. Grâce à sa nature polyarticulaire, il engage simultanément plusieurs groupes musculaires majeurs, favorisant l’endurance musculaire, la stabilité du tronc et la force de préhension. Le clean avec kettlebell peut être réalisé seul ou intégré dans des enchaînements avec d'autres exercices tels que le press ou le squat. Il est particulièrement adapté aux pratiquants de niveau intermédiaire à avancé, car il requiert une bonne maîtrise technique pour garantir une exécution sécuritaire et efficace. Polyvalent et facilement modulable, il s’intègre parfaitement dans les entraînements à domicile comme en salle, faisant de lui un exercice incontournable dans tout programme de préparation physique moderne."
  +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.09 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 {#10616
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.08 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 {#10638
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.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 {#10662
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.07 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 {#10685
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.07 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 {#10708
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.11 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 {#10731
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.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 {#10754
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.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 {#10777
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 86.5 MiB 0.70 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.57 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#10824
  +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.11 ms
Input props
[
  "defaultOpenLeft" => false
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#10879
  +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.24 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10871
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.08 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 {#10913
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.07 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 {#10945
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.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 {#10968
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 86.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 {#10991
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.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 {#11014
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.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 {#11037
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.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 {#11060
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.07 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 {#11083
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 86.5 MiB 0.06 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 {#11106
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6433 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}