Redirect 301 redirect from GET @training_exercise_group (ca7ada)

GET https://test.fitmetrics.ch/fr/exercice/6733d718993bf-moulinet-avec-kettlebell?alias=9304

Components

20 Twig Components
113 Render Count
474 ms Render Time
84.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.42ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
16 2.05ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
3 1.42ms
ad:square:fluid
"App\Twig\Components\Ad\AdSquareFluid"
components/ad/square-fluid.html.twig
3 0.48ms
faq
"App\Twig\Components\Ui\FaqComponent"
components/ui/faq.html.twig
3 1.07ms
raw-faq
"App\Twig\Components\Ui\RawFaqComponent"
components/ui/raw-faq.html.twig
3 0.36ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
2 0.55ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
2 3.47ms
ui:editor-render
"App\Twig\Components\Ui\Editor\EditorRender"
components/ui/editor/render.html.twig
2 1.04ms
app:loading_spinner
"App\Twig\Components\App\LoadingSpinner"
components/app/loading-spinner.html.twig
2 0.70ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 39.11ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 8.98ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.60ms
ad:banner
"App\Twig\Components\Ad\AdBanner"
components/ad/banner.html.twig
1 0.39ms
media:video
"App\Twig\Components\Media\Video"
components/media/video.html.twig
1 0.34ms
anatomy:avatar
"App\Twig\Components\Anatomy\Avatar"
components/anatomy/avatar.html.twig
1 419.92ms
training:difficulty-badge
"App\Twig\Components\Training\DifficultyBadge"
components/training/difficulity-badge.html.twig
1 0.63ms
ui:widget-embed
"App\Twig\Components\Ui\WidgetEmbed"
components/ui/widget_embed.html.twig
1 1.75ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.74ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
1 0.58ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 74.5 MiB 39.11 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#5990
  -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 68.5 MiB 0.44 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 {#6037
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#6048
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
68.5 MiB 1.03 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6099
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 68.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 {#6114
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#6164
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#6192
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#6208
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#6232
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6256
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#6280
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#6304
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 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 {#6328
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6352
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6376
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +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 {#6721
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
70.5 MiB 0.11 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6676
  -props: [
    "class" => "max-w-fit"
  ]
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 74.5 MiB 8.98 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#6806
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#6807 …}
  -formFactory: Symfony\Component\Form\FormFactory {#6805 …}
}
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 {#6958
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +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 {#6993
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +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 {#7023
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +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 {#7055
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +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 {#7074
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7184
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7218
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7234
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7258
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7282
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7306
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7330
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "discipline"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7354
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7378
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7402
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "favorites"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#7426
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7450
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
app:lang-selector App\Twig\Components\App\LangSelector 74.5 MiB 0.47 ms
Input props
[
  "defaultOpenLeft" => true
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#7495
  +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 74.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 {#7485
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7126
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 74.5 MiB 0.60 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4567
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Windmill"
        "url" => "/fr/exercices/groupe/159-windmill"
      ]
      [
        "label" => "Moulin à vent avec kettlebell"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#7578
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "Windmill"
      "url" => "/fr/exercices/groupe/159-windmill"
    ]
    [
      "label" => "Moulin à vent avec kettlebell"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4567
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Windmill"
        "url" => "/fr/exercices/groupe/159-windmill"
      ]
      [
        "label" => "Moulin à vent avec kettlebell"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7608
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7630
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7653
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 74.5 MiB 0.39 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#7696
  +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 74.5 MiB 0.34 ms
Input props
[
  "media" => App\Entity\Media\MediaVideo {#4498
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4500 …}
    #credits: Doctrine\ORM\PersistentCollection {#4502 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=S8rhdOapyus"
    #id: 1436
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450648 {#4536
      date: 2024-11-12 23:30:48.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450648 {#4488
      date: 2024-11-12 23:30:48.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "S8rhdOapyus"
  }
  "title" => "Moulinet avec kettlebell"
  "showCredits" => false
]
Attributes
[]
Component
App\Twig\Components\Media\Video {#7783
  +media: App\Entity\Media\MediaVideo {#4498
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4500 …}
    #credits: Doctrine\ORM\PersistentCollection {#4502 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=S8rhdOapyus"
    #id: 1436
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450648 {#4536
      date: 2024-11-12 23:30:48.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450648 {#4488
      date: 2024-11-12 23:30:48.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "S8rhdOapyus"
  }
  +title: "Moulinet 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 74.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 {#7799
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7832
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 74.5 MiB 1.31 ms
Input props
[
  "class" => "mt-2 md:m-0"
]
Attributes
[
  "class" => "mt-2 md:m-0"
]
Component
App\Twig\Components\App\PageSharer {#7856
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d718993bf-moulinet-avec-kettlebell?alias=9304"
  +title: "Moulin à vent avec kettlebell - Exercice - FitMetrics"
  +description: "Le moulinet avec kettlebell est un exercice polyarticulaire efficace qui développe la stabilité du tronc, la force de l’épaule et la mobilité des hanches. En tenant une kettlebell au-dessus de la tête tout en effectuant une inclinaison latérale contrôlée du bassin, cet exercice favorise la rotation thoracique et améliore la souplesse des ischio-jambiers et des adducteurs. Il sollicite également la force unilatérale et l’équilibre, ce qui en fait un excellent choix pour l’entraînement fonctionnel, le CrossFit ou les programmes de remise en forme générale. Pratiqué régulièrement, le moulinet avec kettlebell améliore l’efficacité des mouvements, réduit le risque de blessures lombaires grâce au renforcement des muscles stabilisateurs et optimise les performances dans les mouvements athlétiques nécessitant stabilité en charge au-dessus de la tête et force rotative. Cet exercice est particulièrement utile pour améliorer la coordination entre le haut et le bas du corps, tout en renforçant le contrôle anti-rotationnel du tronc, essentiel à la fois pour les activités quotidiennes et la performance sportive."
  +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 74.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-5 h-5 text-white fill-white"
]
Attributes
[
  "class" => "w-5 h-5 text-white fill-white"
]
Component
App\Twig\Components\Media\Icon {#7886
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 74.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 {#7914
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "twitter"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#7939
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#7962
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#7985
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "linkedin"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8008
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8031
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.5 MiB 0.03 ms
Input props
[
  "name" => "email"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#8054
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 74.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 {#8085
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 76.5 MiB 0.92 ms
Input props
[
  "data" => [
    "time" => 1752431962
    "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 plus larges que la largeur des épaules, en tenant une kettlebell au-dessus de la tête avec un bras."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Tournez légèrement les pieds dans la direction opposée au bras qui tient la kettlebell."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez le bras tendu avec la kettlebell et poussez les hanches dans la direction opposée."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Abaissez le buste en direction du sol en faisant glisser votre main libre le long de votre jambe ou en la tendant vers le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Marquez une pause lorsque votre torse est parallèle au sol ou lorsque votre main touche le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Revenez à la position de départ en redressant le buste tout en gardant la sangle abdominale engagée."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez les yeux fixés sur la kettlebell pendant tout le mouvement pour maintenir la stabilité."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Contractez fortement la sangle abdominale pour protéger le bas du dos."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ne courbez pas le dos ; effectuez une flexion des hanches en maintenant la colonne vertébrale neutre."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez en abaissant le buste vers le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez en revenant à la position debout."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8134
  +title: null
  +data: [
    "time" => 1752431962
    "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 plus larges que la largeur des épaules, en tenant une kettlebell au-dessus de la tête avec un bras."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Tournez légèrement les pieds dans la direction opposée au bras qui tient la kettlebell."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez le bras tendu avec la kettlebell et poussez les hanches dans la direction opposée."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Abaissez le buste en direction du sol en faisant glisser votre main libre le long de votre jambe ou en la tendant vers le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Marquez une pause lorsque votre torse est parallèle au sol ou lorsque votre main touche le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Revenez à la position de départ en redressant le buste tout en gardant la sangle abdominale engagée."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez les yeux fixés sur la kettlebell pendant tout le mouvement pour maintenir la stabilité."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Contractez fortement la sangle abdominale pour protéger le bas du dos."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ne courbez pas le dos ; effectuez une flexion des hanches en maintenant la colonne vertébrale neutre."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez en abaissant le buste vers le sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez en revenant à la position debout."
              "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.12 ms
Input props
[
  "data" => [
    "time" => 1752431962
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Blessures à l'épaule"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleurs lombaires"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Mobilité thoracique limitée"
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8195
  +title: null
  +data: [
    "time" => 1752431962
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Blessures à l'épaule"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleurs lombaires"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Mobilité thoracique limitée"
              "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.27 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#8182
  +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.72 ms
Input props
[
  "faq" => App\Entity\Faq {#5261
    -news: Doctrine\ORM\PersistentCollection {#5244 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5246 …}
    #id: 3785
    #createdAt: DateTimeImmutable @1752182881 {#5256
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1752182881 {#5231
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5294 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8239
  +faq: App\Entity\Faq {#5261
    -news: Doctrine\ORM\PersistentCollection {#5244 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5246 …}
    #id: 3785
    #createdAt: DateTimeImmutable @1752182881 {#5256
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1752182881 {#5231
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5294 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 76.5 MiB 0.27 ms
Input props
[
  "question" => "Comment protéger mon dos pendant les moulinets avec kettlebell ?"
  "answer" => "Pour protéger votre dos, maintenez une colonne vertébrale neutre, engagez les abdominaux tout au long du mouvement et effectuez une flexion contrôlée des hanches sans arrondir le bas du dos. Garder les yeux sur la kettlebell aide aussi à aligner correctement le corps."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8267
  +question: "Comment protéger mon dos pendant les moulinets avec kettlebell ?"
  +answer: "Pour protéger votre dos, maintenez une colonne vertébrale neutre, engagez les abdominaux tout au long du mouvement et effectuez une flexion contrôlée des hanches sans arrondir le bas du dos. Garder les yeux sur la kettlebell aide aussi à aligner correctement le corps."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.19 ms
Input props
[
  "faq" => App\Entity\Faq {#5292
    -news: Doctrine\ORM\PersistentCollection {#5291 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5289 …}
    #id: 3786
    #createdAt: DateTimeImmutable @1752182881 {#5296
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1752182881 {#5293
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5287 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8298
  +faq: App\Entity\Faq {#5292
    -news: Doctrine\ORM\PersistentCollection {#5291 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5289 …}
    #id: 3786
    #createdAt: DateTimeImmutable @1752182881 {#5296
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1752182881 {#5293
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5287 …}
    #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" => "Quels muscles sont principalement sollicités avec les moulinets avec kettlebell ?"
  "answer" => "Les moulinets avec kettlebell sollicitent principalement les abdominaux, le dos et les épaules, tout en engageant les obliques externes, les dorsaux et les fessiers, ce qui en fait un mouvement complet pour la stabilité du tronc et la force au-dessus de la tête."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8343
  +question: "Quels muscles sont principalement sollicités avec les moulinets avec kettlebell ?"
  +answer: "Les moulinets avec kettlebell sollicitent principalement les abdominaux, le dos et les épaules, tout en engageant les obliques externes, les dorsaux et les fessiers, ce qui en fait un mouvement complet pour la stabilité du tronc et la force au-dessus de la tête."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.16 ms
Input props
[
  "faq" => App\Entity\Faq {#5283
    -news: Doctrine\ORM\PersistentCollection {#5282 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5280 …}
    #id: 3787
    #createdAt: DateTimeImmutable @1752182881 {#5285
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1752182881 {#5284
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5278 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8346
  +faq: App\Entity\Faq {#5283
    -news: Doctrine\ORM\PersistentCollection {#5282 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5280 …}
    #id: 3787
    #createdAt: DateTimeImmutable @1752182881 {#5285
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1752182881 {#5284
      date: 2025-07-10 23:28:01.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#5278 …}
    #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" => "Est-ce que le moulinet avec kettlebell convient aux débutants ?"
  "answer" => "Le moulinet avec kettlebell est plutôt destiné aux pratiquants de niveau intermédiaire en raison de ses exigences en équilibre, mobilité et force, mais les débutants peuvent commencer avec la version au poids de corps pour maîtriser la technique avant d’ajouter une charge."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8390
  +question: "Est-ce que le moulinet avec kettlebell convient aux débutants ?"
  +answer: "Le moulinet avec kettlebell est plutôt destiné aux pratiquants de niveau intermédiaire en raison de ses exigences en équilibre, mobilité et force, mais les débutants peuvent commencer avec la version au poids de corps pour maîtriser la technique avant d’ajouter une charge."
}
anatomy:avatar App\Twig\Components\Anatomy\Avatar 84.5 MiB 419.92 ms
Input props
[
  "class" => "relative"
  "primaryMuscles" => [
    6
    12
    28
  ]
  "secondaryMuscles" => [
    3
    5
    15
    16
    25
  ]
  "displayFront" => false
]
Attributes
[
  "class" => "relative"
]
Component
App\Twig\Components\Anatomy\Avatar {#8318
  #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#8401 …}
  +primaryMuscles: [
    6
    12
    28
  ]
  +secondaryMuscles: [
    3
    5
    15
    16
    25
  ]
  +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 {#8399 …}
  -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#8400 …}
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.61 ms
Input props
[
  "name" => "Abdominaux"
  "url" => "/fr/exercices/muscle/6-abdominaux"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9438
  +name: "Abdominaux"
  +url: "/fr/exercices/muscle/6-abdominaux"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.11 ms
Input props
[
  "name" => "Dos"
  "url" => "/fr/exercices/muscle/12-dos"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9490
  +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.10 ms
Input props
[
  "name" => "Épaules"
  "url" => "/fr/exercices/muscle/28-epaules"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9514
  +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" => "Fessiers"
  "url" => "/fr/exercices/muscle/3-fessiers"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9538
  +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.09 ms
Input props
[
  "name" => "Lombaires"
  "url" => "/fr/exercices/muscle/5-lombaires"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9562
  +name: "Lombaires"
  +url: "/fr/exercices/muscle/5-lombaires"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.10 ms
Input props
[
  "name" => "Obliques"
  "url" => "/fr/exercices/muscle/15-obliques"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9586
  +name: "Obliques"
  +url: "/fr/exercices/muscle/15-obliques"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.09 ms
Input props
[
  "name" => "Deltoïde latéral"
  "url" => "/fr/exercices/muscle/16-delto%C3%AFde-lat%C3%A9ral"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9610
  +name: "Deltoïde latéral"
  +url: "/fr/exercices/muscle/16-delto%C3%AFde-lat%C3%A9ral"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.08 ms
Input props
[
  "name" => "Grand dorsal"
  "url" => "/fr/exercices/muscle/25-grand-dorsal"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9634
  +name: "Grand dorsal"
  +url: "/fr/exercices/muscle/25-grand-dorsal"
  +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 {#9426
  +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.63 ms
Input props
[
  "difficulty" => "intermediate"
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#9667
  +difficulty: "intermediate"
  +small: false
  +link: true
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.11 ms
Input props
[
  "name" => "Composé"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9698
  +name: "Composé"
  +url: null
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.13 ms
Input props
[
  "name" => "Kettlebells"
  "url" => "/fr/exercices/equipement/2-kettlebells"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9738
  +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.09 ms
Input props
[
  "name" => "Fitness"
  "url" => "/fr/exercices/sport/5-fitness"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9762
  +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 {#9786
  +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.10 ms
Input props
[
  "name" => "Renforcement"
  "url" => "/fr/exercices/categorie/61-renforcement"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9810
  +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" => "Haut du corps"
  "url" => "/fr/exercices/categorie/67-haut-du-corps"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#9834
  +name: "Haut du corps"
  +url: "/fr/exercices/categorie/67-haut-du-corps"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.08 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 {#9858
  +name: "Entraînement fonctionnel"
  +url: "/fr/exercices/categorie/77-entrainement-fonctionnel"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 84.5 MiB 0.08 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 {#9882
  +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 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 {#9648
  +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.60 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#8121
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 84.5 MiB 0.11 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#9939
  +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 {#9977
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:widget-embed App\Twig\Components\Ui\WidgetEmbed 84.5 MiB 1.75 ms
Input props
[
  "class" => "hidden md:block"
  "route" => "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d718993bf?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 {#10013
  +route: "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d718993bf?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 {#10051
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10084
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 84.5 MiB 2.17 ms
Input props
[
  "class" => "content-container"
  "title" => "Moulinet avec kettlebell"
  "description" => "Le moulinet avec kettlebell est un exercice polyarticulaire efficace qui développe la stabilité du tronc, la force de l’épaule et la mobilité des hanches. En tenant une kettlebell au-dessus de la tête tout en effectuant une inclinaison latérale contrôlée du bassin, cet exercice favorise la rotation thoracique et améliore la souplesse des ischio-jambiers et des adducteurs. Il sollicite également la force unilatérale et l’équilibre, ce qui en fait un excellent choix pour l’entraînement fonctionnel, le CrossFit ou les programmes de remise en forme générale. Pratiqué régulièrement, le moulinet avec kettlebell améliore l’efficacité des mouvements, réduit le risque de blessures lombaires grâce au renforcement des muscles stabilisateurs et optimise les performances dans les mouvements athlétiques nécessitant stabilité en charge au-dessus de la tête et force rotative. Cet exercice est particulièrement utile pour améliorer la coordination entre le haut et le bas du corps, tout en renforçant le contrôle anti-rotationnel du tronc, essentiel à la fois pour les activités quotidiennes et la performance sportive."
]
Attributes
[
  "class" => "content-container"
]
Component
App\Twig\Components\App\PageSharer {#10124
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d718993bf-moulinet-avec-kettlebell?alias=9304"
  +title: "Moulinet avec kettlebell"
  +description: "Le moulinet avec kettlebell est un exercice polyarticulaire efficace qui développe la stabilité du tronc, la force de l’épaule et la mobilité des hanches. En tenant une kettlebell au-dessus de la tête tout en effectuant une inclinaison latérale contrôlée du bassin, cet exercice favorise la rotation thoracique et améliore la souplesse des ischio-jambiers et des adducteurs. Il sollicite également la force unilatérale et l’équilibre, ce qui en fait un excellent choix pour l’entraînement fonctionnel, le CrossFit ou les programmes de remise en forme générale. Pratiqué régulièrement, le moulinet avec kettlebell améliore l’efficacité des mouvements, réduit le risque de blessures lombaires grâce au renforcement des muscles stabilisateurs et optimise les performances dans les mouvements athlétiques nécessitant stabilité en charge au-dessus de la tête et force rotative. Cet exercice est particulièrement utile pour améliorer la coordination entre le haut et le bas du corps, tout en renforçant le contrôle anti-rotationnel du tronc, essentiel à la fois pour les activités quotidiennes et la performance sportive."
  +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 84.5 MiB 0.08 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 {#10132
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10154
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.07 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 {#10178
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10201
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10224
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.07 ms
Input props
[
  "name" => "linkedin"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#10247
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10270
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10293
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 84.5 MiB 0.74 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 84.5 MiB 0.58 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#10340
  +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 84.5 MiB 0.08 ms
Input props
[
  "defaultOpenLeft" => false
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#10395
  +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]
84.5 MiB 0.27 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10387
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10429
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.08 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 {#10461
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10484
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 84.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 {#10507
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.05 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 {#10530
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.06 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 {#10553
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.05 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 {#10576
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.06 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 {#10599
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 84.5 MiB 0.05 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 {#10622
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6040 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}