Redirect 301 redirect from GET @training_exercise_collection_muscle (6a38ee)

GET https://test.fitmetrics.ch/fr/exercice/6733d70fc2209-massage-de-lomoplate?alias=14080

Components

22 Twig Components
129 Render Count
478 ms Render Time
82.5 MiB Memory Usage

Components

Name Metadata Render Count Render Time
media:icon
"App\Twig\Components\Media\Icon"
components/media/icon.html.twig
77 3.98ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
11 1.57ms
faq
"App\Twig\Components\Ui\FaqComponent"
components/ui/faq.html.twig
5 1.25ms
raw-faq
"App\Twig\Components\Ui\RawFaqComponent"
components/ui/raw-faq.html.twig
5 0.37ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
4 4.61ms
ui:dropdown
"App\Twig\Components\Ui\Dropdown"
components/ui/dropdown.html.twig
4 3.26ms
utils:lang-selector
[Anonymous]
components/utils/lang-selector.html.twig
3 4.72ms
ad:square:fluid
"App\Twig\Components\Ad\AdSquareFluid"
components/ad/square-fluid.html.twig
3 0.44ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
2 3.60ms
ui:editor-render
"App\Twig\Components\Ui\Editor\EditorRender"
components/ui/editor/render.html.twig
2 0.80ms
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 39.33ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 7.44ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.57ms
ad:banner
"App\Twig\Components\Ad\AdBanner"
components/ad/banner.html.twig
1 0.38ms
media:video
"App\Twig\Components\Media\Video"
components/media/video.html.twig
1 0.33ms
anatomy:avatar
"App\Twig\Components\Anatomy\Avatar"
components/anatomy/avatar.html.twig
1 421.42ms
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.67ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.73ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
1 0.56ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
1 1.06ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 76.5 MiB 39.33 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#5970
  -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#219 …}
  -em: Doctrine\ORM\EntityManager {#593 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#216 …}
  -kernel: App\Kernel {#14 …}
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#510 …}
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.42 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "header--logo-dark header--logo dark:hidden h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "header--logo-dark header--logo dark:hidden h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#6017
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#6028
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
76.5 MiB 2.12 ms
Input props
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6079
  -props: [
    "size" => "compact"
    "showTranslateIcon" => false
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 76.5 MiB 1.66 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#6106
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  +showTranslateIcon: false
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 76.5 MiB 0.88 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#6141
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: false
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-4 h-4 dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-4 h-4 dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#6184
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#6230
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#6247
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "hidden header--logo-white header--logo w-full dark:block h-[50px] scale-150"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#6268
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "search"
  "class" => "h-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6296
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#6312
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#6336
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#6360
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#6384
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#6408
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6432
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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-7 w-7 mr-4 fill-current"
]
Attributes
[
  "class" => "h-7 w-7 mr-4 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6456
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6480
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#6848
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
76.5 MiB 0.76 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Attributes
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6810
  -props: [
    "defaultOpenLeft" => true
    "size" => "compact"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 76.5 MiB 0.65 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#6894
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  +showTranslateIcon: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 76.5 MiB 0.53 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#6916
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: true
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "g-translate"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Component
App\Twig\Components\Media\Icon {#6947
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#6969
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#7016
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 76.5 MiB 7.44 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#7053
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#7054 …}
  -formFactory: Symfony\Component\Form\FormFactory {#7052 …}
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7205
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 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 {#7240
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7270
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7302
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7321
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
app:lang-selector App\Twig\Components\App\LangSelector 76.5 MiB 0.71 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#7433
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  +showTranslateIcon: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 76.5 MiB 0.57 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#7462
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: true
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "g-translate"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px]"
]
Component
App\Twig\Components\Media\Icon {#7493
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-[18px] h-[18px] dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#7515
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#7562
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-14 w-full object-contain object-center dark:hidden"
]
Attributes
[
  "class" => "h-14 w-full object-contain object-center dark:hidden"
]
Component
App\Twig\Components\Media\Icon {#7417
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden h-14 w-full object-contain object-center dark:block"
]
Attributes
[
  "class" => "hidden h-14 w-full object-contain object-center dark:block"
]
Component
App\Twig\Components\Media\Icon {#7587
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.04 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7603
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7641
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7665
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7689
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7713
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7737
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7761
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7785
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.03 ms
Input props
[
  "name" => "favorites"
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7809
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Attributes
[
  "class" => "h-5 w-5 shrink-0 fill-current text-zinc-500 dark:text-white/70"
]
Component
App\Twig\Components\Media\Icon {#7833
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "more"
  +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 {#7373
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 76.5 MiB 0.57 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4474
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Massage"
        "url" => "/fr/exercices/groupe/184-massage"
      ]
      [
        "label" => "Libération de l'omoplate avec balle de massage"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#7903
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "Massage"
      "url" => "/fr/exercices/groupe/184-massage"
    ]
    [
      "label" => "Libération de l'omoplate avec balle de massage"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4474
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Massage"
        "url" => "/fr/exercices/groupe/184-massage"
      ]
      [
        "label" => "Libération de l'omoplate avec balle de massage"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 76.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 {#7933
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#7955
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#7978
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 76.5 MiB 0.38 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#8021
  +includeScript: true
  +labelClass: null
  +containerClass: "my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2930 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
media:video App\Twig\Components\Media\Video 76.5 MiB 0.33 ms
Input props
[
  "media" => App\Entity\Media\MediaVideo {#4405
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4407 …}
    #credits: Doctrine\ORM\PersistentCollection {#4409 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=FtPnYt-p5bc"
    #id: 859
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4456 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450639 {#4443
      date: 2024-11-12 23:30:39.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450639 {#4395
      date: 2024-11-12 23:30:39.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "FtPnYt-p5bc"
  }
  "title" => "Massage de l'omoplate"
  "showCredits" => false
]
Attributes
[]
Component
App\Twig\Components\Media\Video {#8108
  +media: App\Entity\Media\MediaVideo {#4405
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4407 …}
    #credits: Doctrine\ORM\PersistentCollection {#4409 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=FtPnYt-p5bc"
    #id: 859
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4456 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450639 {#4443
      date: 2024-11-12 23:30:39.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450639 {#4395
      date: 2024-11-12 23:30:39.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "FtPnYt-p5bc"
  }
  +title: "Massage de l'omoplate"
  +posterSm: null
  +posterLg: null
  +hasPipButton: true
  +loop: false
  +mute: false
  +showCredits: false
  +creditsTitle: "label.media_video.credits"
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#510 …}
  -appManager: App\BusinessLogic\App\Manager\AppManager {#509 …}
}
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 {#8124
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8157
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 76.5 MiB 1.42 ms
Input props
[
  "class" => "mt-2 md:m-0"
]
Attributes
[
  "class" => "mt-2 md:m-0"
]
Component
App\Twig\Components\App\PageSharer {#8181
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d70fc2209-massage-de-lomoplate?alias=14080"
  +title: "Libération de l'omoplate avec balle de massage - Exercice - FitMetrics"
  +description: "Le massage de l'omoplate avec une balle de lacrosse est une technique d'auto-massage très efficace pour soulager les tensions musculaires et améliorer le confort articulaire. En plaçant la balle sous la zone de l'omoplate et en utilisant le poids du corps, il est possible de cibler directement les points de tension souvent responsables de raideurs dans le haut du dos. Cette méthode offre une pression profonde qui aide à relâcher les muscles contractés et favorise une meilleure circulation sanguine. Accessible à tous, elle ne nécessite qu'un équipement minimal et peut être pratiquée aussi bien à domicile qu'en salle de sport ou en déplacement. Idéal pour les personnes passant de longues heures assises, souffrant de posture affaiblie ou de mouvements répétitifs au-dessus de la tête, ce massage contribue à réduire les inconforts liés au mode de vie moderne. En intégrant régulièrement cette pratique dans une routine de récupération, on améliore la souplesse, la mobilité et la posture générale. De plus, quelques minutes suffisent pour obtenir un effet notable sur la détente musculaire et le bien-être. Cette approche simple et pratique constitue une solution naturelle et efficace pour maintenir un dos en bonne santé, optimiser la récupération après l'effort et soutenir un mode de vie actif et sans douleur."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
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 {#8211
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8239
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8264
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8287
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8310
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8333
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8356
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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 {#8379
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +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-black"
]
Attributes
[
  "class" => "w-6 h-6 mr-3 !text-black"
]
Component
App\Twig\Components\Media\Icon {#8410
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 76.5 MiB 0.70 ms
Input props
[
  "data" => [
    "time" => 1756152081
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Allongez-vous sur le dos, genoux fléchis et pieds à plat au sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Placez une balle de lacrosse sous la zone de l'omoplate."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Déplacez lentement votre poids pour appliquer une pression."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Levez le bras au-dessus de la tête ou croisez-le pour ajuster la pression."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Roulez doucement jusqu'à trouver un point de tension et maintenez 20 à 40 secondes."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez les mouvements lents et contrôlés."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ne placez pas la balle directement sur la colonne vertébrale."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Détendez le haut du corps pour laisser la balle pénétrer dans le muscle."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Arrêtez immédiatement en cas de douleur vive."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez profondément avant d'appliquer la pression."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez lentement en relâchant le corps sur la balle."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez une respiration régulière pendant le roulement."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8459
  +title: null
  +data: [
    "time" => 1756152081
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Allongez-vous sur le dos, genoux fléchis et pieds à plat au sol."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Placez une balle de lacrosse sous la zone de l'omoplate."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Déplacez lentement votre poids pour appliquer une pression."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Levez le bras au-dessus de la tête ou croisez-le pour ajuster la pression."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Roulez doucement jusqu'à trouver un point de tension et maintenez 20 à 40 secondes."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Gardez les mouvements lents et contrôlés."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ne placez pas la balle directement sur la colonne vertébrale."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Détendez le haut du corps pour laisser la balle pénétrer dans le muscle."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Arrêtez immédiatement en cas de douleur vive."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez profondément avant d'appliquer la pression."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez lentement en relâchant le corps sur la balle."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez une respiration régulière pendant le roulement."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
  +spacing: 4
  +adsInterval: 5
  +withAds: true
  +withMarketingBanner: false
  +marketingBannerPosition: 8
  -host: "https://test.fitmetrics.ch"
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 76.5 MiB 0.10 ms
Input props
[
  "data" => [
    "time" => 1756152081
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Blessure récente à l'épaule"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleur intense au dos"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Fractures à l'épaule ou au haut du dos"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ostéoporose de la colonne thoracique"
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8520
  +title: null
  +data: [
    "time" => 1756152081
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Blessure récente à l'épaule"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleur intense au dos"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Fractures à l'épaule ou au haut du dos"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ostéoporose de la colonne thoracique"
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
  +spacing: 4
  +adsInterval: 5
  +withAds: true
  +withMarketingBanner: false
  +marketingBannerPosition: 8
  -host: "https://test.fitmetrics.ch"
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 76.5 MiB 0.23 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#8507
  +includeScript: true
  +labelClass: null
  +containerClass: "mt-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2930 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.62 ms
Input props
[
  "faq" => App\Entity\Faq {#5144
    -news: Doctrine\ORM\PersistentCollection {#5127 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5129 …}
    #id: 5426
    #createdAt: DateTimeImmutable @1755870970 {#5139
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5114
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5177 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8564
  +faq: App\Entity\Faq {#5144
    -news: Doctrine\ORM\PersistentCollection {#5127 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5129 …}
    #id: 5426
    #createdAt: DateTimeImmutable @1755870970 {#5139
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5114
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5177 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 76.5 MiB 0.19 ms
Input props
[
  "question" => "Comment utiliser une balle de lacrosse pour masser l'omoplate ?"
  "answer" => "Allongez-vous sur le dos, placez la balle sous l'omoplate et laissez votre poids appliquer la pression. Déplacez le bras pour ajuster l'intensité et maintenez la balle sur les points de tension pendant 20 à 40 secondes."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8592
  +question: "Comment utiliser une balle de lacrosse pour masser l'omoplate ?"
  +answer: "Allongez-vous sur le dos, placez la balle sous l'omoplate et laissez votre poids appliquer la pression. Déplacez le bras pour ajuster l'intensité et maintenez la balle sur les points de tension pendant 20 à 40 secondes."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.18 ms
Input props
[
  "faq" => App\Entity\Faq {#5175
    -news: Doctrine\ORM\PersistentCollection {#5174 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5172 …}
    #id: 5427
    #createdAt: DateTimeImmutable @1755870970 {#5179
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5176
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5170 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8623
  +faq: App\Entity\Faq {#5175
    -news: Doctrine\ORM\PersistentCollection {#5174 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5172 …}
    #id: 5427
    #createdAt: DateTimeImmutable @1755870970 {#5179
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5176
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5170 …}
    #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 fréquence puis-je faire un massage de l'omoplate avec balle de lacrosse ?"
  "answer" => "Il est recommandé de pratiquer ce massage 3 à 5 fois par semaine selon le niveau de raideur et les besoins de récupération. Faites toujours une pause si vous ressentez des courbatures importantes."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8667
  +question: "À quelle fréquence puis-je faire un massage de l'omoplate avec balle de lacrosse ?"
  +answer: "Il est recommandé de pratiquer ce massage 3 à 5 fois par semaine selon le niveau de raideur et les besoins de récupération. Faites toujours une pause si vous ressentez des courbatures importantes."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.16 ms
Input props
[
  "faq" => App\Entity\Faq {#5166
    -news: Doctrine\ORM\PersistentCollection {#5165 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5163 …}
    #id: 5428
    #createdAt: DateTimeImmutable @1755870970 {#5168
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5167
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5161 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8670
  +faq: App\Entity\Faq {#5166
    -news: Doctrine\ORM\PersistentCollection {#5165 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5163 …}
    #id: 5428
    #createdAt: DateTimeImmutable @1755870970 {#5168
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5167
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5161 …}
    #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 massage avec une balle aide à soulager les tensions dues au travail de bureau ?"
  "answer" => "Oui, ce massage est particulièrement efficace pour relâcher les tensions de l'épaule et du haut du dos liées à une posture assise prolongée. Il favorise le relâchement musculaire et stimule la circulation."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8714
  +question: "Est-ce que le massage avec une balle aide à soulager les tensions dues au travail de bureau ?"
  +answer: "Oui, ce massage est particulièrement efficace pour relâcher les tensions de l'épaule et du haut du dos liées à une posture assise prolongée. Il favorise le relâchement musculaire et stimule la circulation."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.15 ms
Input props
[
  "faq" => App\Entity\Faq {#5157
    -news: Doctrine\ORM\PersistentCollection {#5156 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5154 …}
    #id: 5429
    #createdAt: DateTimeImmutable @1755870970 {#5159
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5158
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5152 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8717
  +faq: App\Entity\Faq {#5157
    -news: Doctrine\ORM\PersistentCollection {#5156 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5154 …}
    #id: 5429
    #createdAt: DateTimeImmutable @1755870970 {#5159
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5158
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5152 …}
    #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" => "Puis-je utiliser une balle de lacrosse si j'ai mal à l'épaule ?"
  "answer" => "En cas de simple raideur musculaire, la technique peut être bénéfique. Toutefois, en présence de blessures récentes, fractures ou douleurs chroniques, il est essentiel de consulter un professionnel de santé avant utilisation."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8761
  +question: "Puis-je utiliser une balle de lacrosse si j'ai mal à l'épaule ?"
  +answer: "En cas de simple raideur musculaire, la technique peut être bénéfique. Toutefois, en présence de blessures récentes, fractures ou douleurs chroniques, il est essentiel de consulter un professionnel de santé avant utilisation."
}
faq App\Twig\Components\Ui\FaqComponent 76.5 MiB 0.15 ms
Input props
[
  "faq" => App\Entity\Faq {#5104
    -news: Doctrine\ORM\PersistentCollection {#5103 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5101 …}
    #id: 5430
    #createdAt: DateTimeImmutable @1755870970 {#5106
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5105
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5099 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8764
  +faq: App\Entity\Faq {#5104
    -news: Doctrine\ORM\PersistentCollection {#5103 …}
    -exercises: Doctrine\ORM\PersistentCollection {#5101 …}
    #id: 5430
    #createdAt: DateTimeImmutable @1755870970 {#5106
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870970 {#5105
      date: 2025-08-22 15:56:10.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3708 …}
    #updatedBy: App\Entity\User {#3708 …}
    #translations: Doctrine\ORM\PersistentCollection {#5099 …}
    #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" => "Quels muscles sont ciblés par le massage de l'omoplate ?"
  "answer" => "Le massage agit principalement sur les rhomboïdes et le grand dorsal, tout en soulageant les trapèzes et le dentelé antérieur, zones fréquemment tendues par la posture et l'activité quotidienne."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8808
  +question: "Quels muscles sont ciblés par le massage de l'omoplate ?"
  +answer: "Le massage agit principalement sur les rhomboïdes et le grand dorsal, tout en soulageant les trapèzes et le dentelé antérieur, zones fréquemment tendues par la posture et l'activité quotidienne."
}
anatomy:avatar App\Twig\Components\Anatomy\Avatar 80.5 MiB 421.42 ms
Input props
[
  "class" => "relative"
  "primaryMuscles" => [
    12
  ]
  "secondaryMuscles" => [
    13
    26
  ]
  "displayFront" => false
]
Attributes
[
  "class" => "relative"
]
Component
App\Twig\Components\Anatomy\Avatar {#8736
  #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#8819 …}
  +primaryMuscles: [
    12
  ]
  +secondaryMuscles: [
    13
    26
  ]
  +type: "url"
  +urlReferenceType: 2
  +displayFront: false
  +selectedMuscles: []
  +displayTagMuscles: false
  +hoverMuscleDefaultText: "-"
  #entityManager: Doctrine\ORM\EntityManager {#593 …}
  #localeSwitcher: Symfony\Component\Translation\LocaleSwitcher {#84 …}
  #avatarData: App\BusinessLogic\Anatomy\AvatarData {#8817 …}
  -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#8818 …}
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.63 ms
Input props
[
  "name" => "Dos"
  "url" => "/fr/exercices/muscle/12-dos"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10138
  +name: "Dos"
  +url: "/fr/exercices/muscle/12-dos"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.10 ms
Input props
[
  "name" => "Trapèzes"
  "url" => "/fr/exercices/muscle/13-trap%C3%A8zes"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10190
  +name: "Trapèzes"
  +url: "/fr/exercices/muscle/13-trap%C3%A8zes"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.09 ms
Input props
[
  "name" => "Rhomboïde"
  "url" => "/fr/exercices/muscle/26-rhombo%C3%AFde"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10214
  +name: "Rhomboïde"
  +url: "/fr/exercices/muscle/26-rhombo%C3%AFde"
  +color: "primary"
  +small: false
  +selected: false
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 80.5 MiB 0.11 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#10126
  +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 {#2930 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 80.5 MiB 0.59 ms
Input props
[
  "difficulty" => "beginner"
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#10247
  +difficulty: "beginner"
  +small: false
  +link: true
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.10 ms
Input props
[
  "name" => "Isolation"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10278
  +name: "Isolation"
  +url: null
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.11 ms
Input props
[
  "name" => "Balle de massage"
  "url" => "/fr/exercices/equipement/86-balle-de-massage"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10318
  +name: "Balle de massage"
  +url: "/fr/exercices/equipement/86-balle-de-massage"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.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 {#10342
  +name: "Fitness"
  +url: "/fr/exercices/sport/5-fitness"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.09 ms
Input props
[
  "name" => "Yoga"
  "url" => "/fr/exercices/sport/8-yoga"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10366
  +name: "Yoga"
  +url: "/fr/exercices/sport/8-yoga"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.09 ms
Input props
[
  "name" => "Pilates"
  "url" => "/fr/exercices/sport/9-pilates"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10390
  +name: "Pilates"
  +url: "/fr/exercices/sport/9-pilates"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.09 ms
Input props
[
  "name" => "Mobilité"
  "url" => "/fr/exercices/categorie/59-mobilite"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10414
  +name: "Mobilité"
  +url: "/fr/exercices/categorie/59-mobilite"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.09 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 {#10438
  +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 80.5 MiB 0.09 ms
Input props
[
  "name" => "Récupération et relaxation"
  "url" => "/fr/exercices/categorie/75-recuperation-et-relaxation"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10462
  +name: "Récupération et relaxation"
  +url: "/fr/exercices/categorie/75-recuperation-et-relaxation"
  +color: "gray"
  +small: true
  +selected: false
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 80.5 MiB 0.10 ms
Input props
[
  "containerClass" => "hidden lg:flex items-center justify-center my-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#10228
  +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 {#2930 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 80.5 MiB 0.57 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#8446
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 80.5 MiB 0.10 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#10508
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
media:icon App\Twig\Components\Media\Icon 80.5 MiB 0.09 ms
Input props
[
  "name" => "program"
  "class" => "w-6 h-6 mr-3 !text-black"
]
Attributes
[
  "class" => "w-6 h-6 mr-3 !text-black"
]
Component
App\Twig\Components\Media\Icon {#10558
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:widget-embed App\Twig\Components\Ui\WidgetEmbed 80.5 MiB 1.67 ms
Input props
[
  "class" => "hidden md:block"
  "route" => "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70fc2209?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 {#10594
  +route: "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70fc2209?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 80.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 {#10632
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10665
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 80.5 MiB 2.18 ms
Input props
[
  "class" => "content-container"
  "title" => "Massage de l'omoplate"
  "description" => "Le massage de l'omoplate avec une balle de lacrosse est une technique d'auto-massage très efficace pour soulager les tensions musculaires et améliorer le confort articulaire. En plaçant la balle sous la zone de l'omoplate et en utilisant le poids du corps, il est possible de cibler directement les points de tension souvent responsables de raideurs dans le haut du dos. Cette méthode offre une pression profonde qui aide à relâcher les muscles contractés et favorise une meilleure circulation sanguine. Accessible à tous, elle ne nécessite qu'un équipement minimal et peut être pratiquée aussi bien à domicile qu'en salle de sport ou en déplacement. Idéal pour les personnes passant de longues heures assises, souffrant de posture affaiblie ou de mouvements répétitifs au-dessus de la tête, ce massage contribue à réduire les inconforts liés au mode de vie moderne. En intégrant régulièrement cette pratique dans une routine de récupération, on améliore la souplesse, la mobilité et la posture générale. De plus, quelques minutes suffisent pour obtenir un effet notable sur la détente musculaire et le bien-être. Cette approche simple et pratique constitue une solution naturelle et efficace pour maintenir un dos en bonne santé, optimiser la récupération après l'effort et soutenir un mode de vie actif et sans douleur."
]
Attributes
[
  "class" => "content-container"
]
Component
App\Twig\Components\App\PageSharer {#10705
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d70fc2209-massage-de-lomoplate?alias=14080"
  +title: "Massage de l'omoplate"
  +description: "Le massage de l'omoplate avec une balle de lacrosse est une technique d'auto-massage très efficace pour soulager les tensions musculaires et améliorer le confort articulaire. En plaçant la balle sous la zone de l'omoplate et en utilisant le poids du corps, il est possible de cibler directement les points de tension souvent responsables de raideurs dans le haut du dos. Cette méthode offre une pression profonde qui aide à relâcher les muscles contractés et favorise une meilleure circulation sanguine. Accessible à tous, elle ne nécessite qu'un équipement minimal et peut être pratiquée aussi bien à domicile qu'en salle de sport ou en déplacement. Idéal pour les personnes passant de longues heures assises, souffrant de posture affaiblie ou de mouvements répétitifs au-dessus de la tête, ce massage contribue à réduire les inconforts liés au mode de vie moderne. En intégrant régulièrement cette pratique dans une routine de récupération, on améliore la souplesse, la mobilité et la posture générale. De plus, quelques minutes suffisent pour obtenir un effet notable sur la détente musculaire et le bien-être. Cette approche simple et pratique constitue une solution naturelle et efficace pour maintenir un dos en bonne santé, optimiser la récupération après l'effort et soutenir un mode de vie actif et sans douleur."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10713
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10735
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 80.5 MiB 0.09 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 {#10759
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10782
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10805
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10828
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10851
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 80.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 {#10874
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 80.5 MiB 0.73 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdWideSkyscraper {#763
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: false
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2930 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
  +right: true
  +left: true
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 80.5 MiB 0.56 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#10921
  +includeScript: true
  +labelClass: null
  +containerClass: "content-container my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2930 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
utils:lang-selector
[Anonymous]
80.5 MiB 1.85 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10968
  -props: [
    "size" => "large"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 80.5 MiB 1.59 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "large"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "large"
]
Component
App\Twig\Components\App\LangSelector {#10990
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  +showTranslateIcon: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#911 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#725 …}
}
ui:dropdown App\Twig\Components\Ui\Dropdown 80.5 MiB 1.29 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#11012
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: false
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 80.5 MiB 0.09 ms
Input props
[
  "name" => "g-translate"
  "class" => "fill-black dark:fill-white w-5 h-5"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-5 h-5"
]
Component
App\Twig\Components\Media\Icon {#11043
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 80.5 MiB 0.08 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-black dark:fill-white w-5 h-5 dropdown-icon"
]
Attributes
[
  "class" => "fill-black dark:fill-white w-5 h-5 dropdown-icon"
]
Component
App\Twig\Components\Media\Icon {#11065
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 80.5 MiB 0.08 ms
Input props
[
  "name" => "check"
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Attributes
[
  "class" => "w-[15px] h-[15px] dark:fill-white"
]
Component
App\Twig\Components\Media\Icon {#11112
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
80.5 MiB 1.06 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#10991
  -props: [
    "size" => "large"
  ]
}
media:icon App\Twig\Components\Media\Icon 80.5 MiB 0.09 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden"
]
Attributes
[
  "class" => "h-12 sm:h-16 max-w-[116px] mr-3 dark:hidden"
]
Component
App\Twig\Components\Media\Icon {#11133
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 80.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 {#11167
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 80.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 {#11190
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 80.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 {#11213
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 80.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 {#11236
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11259
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11282
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11305
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.10 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 {#11328
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6020 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}