Redirect 301 redirect from GET @training_exercise_detail (20e04c)

GET https://test.fitmetrics.ch/fr/exercice/6733d70ea80e4-auto-massage-du-deltoide-anterieur

Components

22 Twig Components
126 Render Count
649 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 4.10ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
10 1.49ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
4 4.65ms
ui:dropdown
"App\Twig\Components\Ui\Dropdown"
components/ui/dropdown.html.twig
4 3.21ms
faq
"App\Twig\Components\Ui\FaqComponent"
components/ui/faq.html.twig
4 1.13ms
raw-faq
"App\Twig\Components\Ui\RawFaqComponent"
components/ui/raw-faq.html.twig
4 0.34ms
utils:lang-selector
[Anonymous]
components/utils/lang-selector.html.twig
3 4.81ms
ad:square:fluid
"App\Twig\Components\Ad\AdSquareFluid"
components/ad/square-fluid.html.twig
3 0.43ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
2 3.78ms
ui:editor-render
"App\Twig\Components\Ui\Editor\EditorRender"
components/ui/editor/render.html.twig
2 0.77ms
app:loading_spinner
"App\Twig\Components\App\LoadingSpinner"
components/app/loading-spinner.html.twig
2 0.67ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 41.78ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 8.67ms
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 590.49ms
training:difficulty-badge
"App\Twig\Components\Training\DifficultyBadge"
components/training/difficulity-badge.html.twig
1 0.60ms
ui:widget-embed
"App\Twig\Components\Ui\WidgetEmbed"
components/ui/widget_embed.html.twig
1 1.52ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 0.72ms
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.05ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 70.5 MiB 41.78 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#6174
  -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 64.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 {#6221
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.05 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[52px] w-[96px] max-w-[96px] sm:h-[56px] sm:w-[104px] sm:max-w-[104px] object-contain object-left"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#6232
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
64.5 MiB 2.20 ms
Input props
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
  "showTranslateIcon" => false
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6283
  -props: [
    "size" => "compact"
    "showTranslateIcon" => false
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 64.5 MiB 1.73 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "compact"
  "showTranslateIcon" => false
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#6310
  +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 64.5 MiB 0.83 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#6345
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: false
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6388
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6434
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.05 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 {#6451
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden 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 {#6472
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6500
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6516
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6540
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6564
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6588
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6612
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6636
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.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 {#6660
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 64.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-8 w-8 mr-3 fill-current"
]
Attributes
[
  "class" => "h-8 w-8 mr-3 fill-current"
]
Component
App\Twig\Components\Media\Icon {#6684
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Attributes
[
  "class" => "w-7 h-7 fill-black dark:fill-white transition group-hover:rotate-180"
]
Component
App\Twig\Components\Media\Icon {#7052
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:lang-selector
[Anonymous]
66.5 MiB 0.80 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Attributes
[
  "defaultOpenLeft" => true
  "size" => "compact"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#7014
  -props: [
    "defaultOpenLeft" => true
    "size" => "compact"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 66.5 MiB 0.70 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#7098
  +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 66.5 MiB 0.58 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#7120
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: true
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 66.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 {#7151
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.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 {#7173
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 66.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 {#7220
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 70.5 MiB 8.67 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#7257
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#7258 …}
  -formFactory: Symfony\Component\Form\FormFactory {#7256 …}
}
media:icon App\Twig\Components\Media\Icon 68.5 MiB 0.04 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Component
App\Twig\Components\Media\Icon {#7409
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "close"
  +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 dark:block h-[80px] w-[300px]"
]
Attributes
[
  "class" => "hidden dark:block h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#7444
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#7474
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 68.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 {#7506
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "google"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 68.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 {#7525
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
app:lang-selector App\Twig\Components\App\LangSelector 70.5 MiB 0.66 ms
Input props
[
  "defaultOpenLeft" => true
  "size" => "compact"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "compact"
]
Component
App\Twig\Components\App\LangSelector {#7637
  +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 70.5 MiB 0.54 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => true
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#7666
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: true
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7697
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7719
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7766
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7621
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.03 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "hidden 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 {#7791
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7807
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7845
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7869
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7893
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7917
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "discipline"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.03 ms
Input props
[
  "name" => "stats-chart"
  "class" => "h-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 {#7941
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-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 {#7965
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7989
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8013
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8037
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#7577
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 70.5 MiB 0.57 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4434
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Ball Smash"
        "url" => "/fr/exercices/groupe/302-ball-smash"
      ]
      [
        "label" => "Auto-massage du deltoïde antérieur"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#8107
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "Ball Smash"
      "url" => "/fr/exercices/groupe/302-ball-smash"
    ]
    [
      "label" => "Auto-massage du deltoïde antérieur"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4434
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Ball Smash"
        "url" => "/fr/exercices/groupe/302-ball-smash"
      ]
      [
        "label" => "Auto-massage du deltoïde antérieur"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8137
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8159
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8182
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 70.5 MiB 0.38 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#8225
  +includeScript: true
  +labelClass: null
  +containerClass: "my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2932 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
media:video App\Twig\Components\Media\Video 70.5 MiB 0.33 ms
Input props
[
  "media" => App\Entity\Media\MediaVideo {#4365
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4367 …}
    #credits: Doctrine\ORM\PersistentCollection {#4369 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=9yYliXBDVVI"
    #id: 833
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4416 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450638 {#4403
      date: 2024-11-12 23:30:38.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450638 {#4355
      date: 2024-11-12 23:30:38.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "9yYliXBDVVI"
  }
  "title" => "Auto-massage du deltoïde antérieur"
  "showCredits" => false
]
Attributes
[]
Component
App\Twig\Components\Media\Video {#8312
  +media: App\Entity\Media\MediaVideo {#4365
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4367 …}
    #credits: Doctrine\ORM\PersistentCollection {#4369 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=9yYliXBDVVI"
    #id: 833
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4416 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450638 {#4403
      date: 2024-11-12 23:30:38.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450638 {#4355
      date: 2024-11-12 23:30:38.0 Europe/Zurich (+01:00)
    }
    #createdBy: null
    #updatedBy: null
    -duration: null
    -format: null
    -startTime: null
    -endTime: null
    -youtubeId: "9yYliXBDVVI"
  }
  +title: "Auto-massage du deltoïde antérieur"
  +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 70.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 {#8328
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8361
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 70.5 MiB 1.25 ms
Input props
[
  "class" => "mt-2 md:m-0"
]
Attributes
[
  "class" => "mt-2 md:m-0"
]
Component
App\Twig\Components\App\PageSharer {#8385
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d70ea80e4-auto-massage-du-deltoide-anterieur"
  +title: "Auto-massage du deltoïde antérieur - Exercice - FitMetrics"
  +description: "L'auto-massage du deltoïde antérieur est une technique de libération myofasciale simple et efficace, spécialement conçue pour soulager les tensions situées à l'avant de l'épaule. Réalisé à l'aide d'une balle de massage ferme, comme une balle de lacrosse, cet exercice permet de cibler les zones de raideur musculaire souvent liées à la musculation, aux mouvements de poussée répétés ou aux longues heures passées assis devant un bureau. En appliquant une pression contrôlée et en effectuant des mouvements lents, il favorise la circulation sanguine et améliore la mobilité des tissus. Intégré dans une routine régulière, il contribue à réduire l'inconfort lié aux surcharges fonctionnelles et à améliorer le confort articulaire. Ce type d'auto-massage est adapté aussi bien aux sportifs qu'aux personnes actives cherchant à prévenir les douleurs d'épaule. Utilisé en échauffement, en récupération ou en phase de détente, il aide à maintenir une bonne posture et optimise les performances lors des exercices de poussée ou au-dessus de la tête. Facile à mettre en place et ne nécessitant qu'un équipement minimal, l'auto-massage du deltoïde antérieur est un outil accessible pour entretenir la santé de l'épaule et soutenir une meilleure qualité de mouvement au quotidien."
  +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 70.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 {#8415
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8443
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8468
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8491
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8514
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8537
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8560
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 70.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 {#8583
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 72.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 {#8614
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 72.5 MiB 0.68 ms
Input props
[
  "data" => [
    "time" => 1756072910
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Placez une balle de massage (type lacrosse) entre le devant de l'épaule et un mur."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Penchez-vous légèrement vers l'avant pour appliquer une pression sur le deltoïde antérieur."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Faites rouler la balle lentement en petits cercles ou de haut en bas pour masser le muscle."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez la pression sur les points sensibles pendant 20 à 30 secondes."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Changez de côté et répétez."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Contrôlez la pression en ajustant l'inclinaison du corps."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez des mouvements lents et précis."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Évitez de rouler directement sur les zones osseuses."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Respirez lentement et profondément pendant l'exercice."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez doucement lorsque vous maintenez la pression sur une zone tendue."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ne retenez pas votre respiration pendant l'application de la pression."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8663
  +title: null
  +data: [
    "time" => 1756072910
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Instructions"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "ordered"
          "items" => [
            [
              "content" => "Placez une balle de massage (type lacrosse) entre le devant de l'épaule et un mur."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Penchez-vous légèrement vers l'avant pour appliquer une pression sur le deltoïde antérieur."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Faites rouler la balle lentement en petits cercles ou de haut en bas pour masser le muscle."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez la pression sur les points sensibles pendant 20 à 30 secondes."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Changez de côté et répétez."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Contrôlez la pression en ajustant l'inclinaison du corps."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez des mouvements lents et précis."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Évitez de rouler directement sur les zones osseuses."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Respirez lentement et profondément pendant l'exercice."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez doucement lorsque vous maintenez la pression sur une zone tendue."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Ne retenez pas votre respiration pendant l'application de la pression."
              "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 72.5 MiB 0.10 ms
Input props
[
  "data" => [
    "time" => 1756072910
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Éviter en cas de blessure aiguë à l'épaule."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Non recommandé après une chirurgie récente de l'épaule."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Arrêter immédiatement en cas de douleur vive."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#8724
  +title: null
  +data: [
    "time" => 1756072910
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Éviter en cas de blessure aiguë à l'épaule."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Non recommandé après une chirurgie récente de l'épaule."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Arrêter immédiatement en cas de douleur vive."
              "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 72.5 MiB 0.22 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#8711
  +includeScript: true
  +labelClass: null
  +containerClass: "mt-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2932 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
faq App\Twig\Components\Ui\FaqComponent 72.5 MiB 0.64 ms
Input props
[
  "faq" => App\Entity\Faq {#4835
    -news: Doctrine\ORM\PersistentCollection {#4818 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4820 …}
    #id: 5413
    #createdAt: DateTimeImmutable @1755870331 {#4830
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4805
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4864 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8768
  +faq: App\Entity\Faq {#4835
    -news: Doctrine\ORM\PersistentCollection {#4818 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4820 …}
    #id: 5413
    #createdAt: DateTimeImmutable @1755870331 {#4830
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4805
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4864 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 72.5 MiB 0.20 ms
Input props
[
  "question" => "A quoi sert l'auto-massage du deltoïde antérieur ?"
  "answer" => "L'auto-massage du deltoïde antérieur sert à soulager les tensions à l'avant de l'épaule, à favoriser la récupération musculaire et à améliorer la mobilité articulaire."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8796
  +question: "A quoi sert l'auto-massage du deltoïde antérieur ?"
  +answer: "L'auto-massage du deltoïde antérieur sert à soulager les tensions à l'avant de l'épaule, à favoriser la récupération musculaire et à améliorer la mobilité articulaire."
}
faq App\Twig\Components\Ui\FaqComponent 72.5 MiB 0.18 ms
Input props
[
  "faq" => App\Entity\Faq {#4866
    -news: Doctrine\ORM\PersistentCollection {#4873 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4870 …}
    #id: 5414
    #createdAt: DateTimeImmutable @1755870331 {#4861
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4868
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4880 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8827
  +faq: App\Entity\Faq {#4866
    -news: Doctrine\ORM\PersistentCollection {#4873 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4870 …}
    #id: 5414
    #createdAt: DateTimeImmutable @1755870331 {#4861
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4868
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4880 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 72.5 MiB 0.05 ms
Input props
[
  "question" => "Combien de temps dois-je faire l'auto-massage du deltoïde antérieur ?"
  "answer" => "Il est recommandé de maintenir la pression ou de faire rouler la balle pendant 1 à 2 minutes par côté, en insistant sur les zones sensibles sans excès."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8871
  +question: "Combien de temps dois-je faire l'auto-massage du deltoïde antérieur ?"
  +answer: "Il est recommandé de maintenir la pression ou de faire rouler la balle pendant 1 à 2 minutes par côté, en insistant sur les zones sensibles sans excès."
}
faq App\Twig\Components\Ui\FaqComponent 72.5 MiB 0.16 ms
Input props
[
  "faq" => App\Entity\Faq {#4879
    -news: Doctrine\ORM\PersistentCollection {#5051 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4936 …}
    #id: 5415
    #createdAt: DateTimeImmutable @1755870331 {#4877
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4876
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4852 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8874
  +faq: App\Entity\Faq {#4879
    -news: Doctrine\ORM\PersistentCollection {#5051 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4936 …}
    #id: 5415
    #createdAt: DateTimeImmutable @1755870331 {#4877
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4876
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4852 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 72.5 MiB 0.05 ms
Input props
[
  "question" => "Puis-je faire l'auto-massage du deltoïde antérieur tous les jours ?"
  "answer" => "Oui, cet auto-massage peut être pratiqué quotidiennement dans le cadre de la récupération ou du travail de mobilité, surtout si vous sollicitez souvent le haut du corps."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8918
  +question: "Puis-je faire l'auto-massage du deltoïde antérieur tous les jours ?"
  +answer: "Oui, cet auto-massage peut être pratiqué quotidiennement dans le cadre de la récupération ou du travail de mobilité, surtout si vous sollicitez souvent le haut du corps."
}
faq App\Twig\Components\Ui\FaqComponent 72.5 MiB 0.15 ms
Input props
[
  "faq" => App\Entity\Faq {#4848
    -news: Doctrine\ORM\PersistentCollection {#4847 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4845 …}
    #id: 5416
    #createdAt: DateTimeImmutable @1755870331 {#4850
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4849
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4843 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#8921
  +faq: App\Entity\Faq {#4848
    -news: Doctrine\ORM\PersistentCollection {#4847 …}
    -exercises: Doctrine\ORM\PersistentCollection {#4845 …}
    #id: 5416
    #createdAt: DateTimeImmutable @1755870331 {#4850
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1755870331 {#4849
      date: 2025-08-22 15:45:31.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3710 …}
    #updatedBy: App\Entity\User {#3710 …}
    #translations: Doctrine\ORM\PersistentCollection {#4843 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 72.5 MiB 0.04 ms
Input props
[
  "question" => "Quel matériel est nécessaire pour l'auto-massage du deltoïde antérieur ?"
  "answer" => "Il suffit d'une balle de lacrosse ou d'une balle de massage ferme pour effectuer efficacement l'auto-massage du deltoïde antérieur."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#8965
  +question: "Quel matériel est nécessaire pour l'auto-massage du deltoïde antérieur ?"
  +answer: "Il suffit d'une balle de lacrosse ou d'une balle de massage ferme pour effectuer efficacement l'auto-massage du deltoïde antérieur."
}
anatomy:avatar App\Twig\Components\Anatomy\Avatar 80.5 MiB 590.49 ms
Input props
[
  "class" => "relative"
  "primaryMuscles" => [
    28
  ]
  "secondaryMuscles" => [
    17
  ]
  "displayFront" => true
]
Attributes
[
  "class" => "relative"
]
Component
App\Twig\Components\Anatomy\Avatar {#8893
  #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#8976 …}
  +primaryMuscles: [
    28
  ]
  +secondaryMuscles: [
    17
  ]
  +type: "url"
  +urlReferenceType: 2
  +displayFront: true
  +selectedMuscles: []
  +displayTagMuscles: false
  +hoverMuscleDefaultText: "-"
  #entityManager: Doctrine\ORM\EntityManager {#593 …}
  #localeSwitcher: Symfony\Component\Translation\LocaleSwitcher {#84 …}
  #avatarData: App\BusinessLogic\Anatomy\AvatarData {#8974 …}
  -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#8975 …}
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.63 ms
Input props
[
  "name" => "Épaules"
  "url" => "/fr/exercices/muscle/28-epaules"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10391
  +name: "Épaules"
  +url: "/fr/exercices/muscle/28-epaules"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.10 ms
Input props
[
  "name" => "Deltoïde antérieur"
  "url" => "/fr/exercices/muscle/17-delto%C3%AFde-ant%C3%A9rieur"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10443
  +name: "Deltoïde antérieur"
  +url: "/fr/exercices/muscle/17-delto%C3%AFde-ant%C3%A9rieur"
  +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 {#10379
  +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 {#2932 …}
  #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.60 ms
Input props
[
  "difficulty" => "beginner"
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#10476
  +difficulty: "beginner"
  +small: false
  +link: true
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.11 ms
Input props
[
  "name" => "Isolation"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10507
  +name: "Isolation"
  +url: null
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 80.5 MiB 0.10 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 {#10547
  +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.11 ms
Input props
[
  "name" => "Fitness"
  "url" => "/fr/exercices/sport/5-fitness"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10571
  +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 {#10595
  +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.08 ms
Input props
[
  "name" => "Pilates"
  "url" => "/fr/exercices/sport/9-pilates"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#10619
  +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 {#10643
  +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 {#10667
  +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 {#10691
  +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 {#10457
  +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 {#2932 …}
  #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 {#8650
  +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 {#10746
  +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 {#10784
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:widget-embed App\Twig\Components\Ui\WidgetEmbed 80.5 MiB 1.52 ms
Input props
[
  "class" => "hidden md:block"
  "route" => "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70ea80e4?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 {#10820
  +route: "https://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70ea80e4?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.09 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 {#10858
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.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 {#10891
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 82.5 MiB 2.53 ms
Input props
[
  "class" => "content-container"
  "title" => "Auto-massage du deltoïde antérieur"
  "description" => "L'auto-massage du deltoïde antérieur est une technique de libération myofasciale simple et efficace, spécialement conçue pour soulager les tensions situées à l'avant de l'épaule. Réalisé à l'aide d'une balle de massage ferme, comme une balle de lacrosse, cet exercice permet de cibler les zones de raideur musculaire souvent liées à la musculation, aux mouvements de poussée répétés ou aux longues heures passées assis devant un bureau. En appliquant une pression contrôlée et en effectuant des mouvements lents, il favorise la circulation sanguine et améliore la mobilité des tissus. Intégré dans une routine régulière, il contribue à réduire l'inconfort lié aux surcharges fonctionnelles et à améliorer le confort articulaire. Ce type d'auto-massage est adapté aussi bien aux sportifs qu'aux personnes actives cherchant à prévenir les douleurs d'épaule. Utilisé en échauffement, en récupération ou en phase de détente, il aide à maintenir une bonne posture et optimise les performances lors des exercices de poussée ou au-dessus de la tête. Facile à mettre en place et ne nécessitant qu'un équipement minimal, l'auto-massage du deltoïde antérieur est un outil accessible pour entretenir la santé de l'épaule et soutenir une meilleure qualité de mouvement au quotidien."
]
Attributes
[
  "class" => "content-container"
]
Component
App\Twig\Components\App\PageSharer {#10931
  +shareUrl: "https://test.fitmetrics.ch/fr/exercice/6733d70ea80e4-auto-massage-du-deltoide-anterieur"
  +title: "Auto-massage du deltoïde antérieur"
  +description: "L'auto-massage du deltoïde antérieur est une technique de libération myofasciale simple et efficace, spécialement conçue pour soulager les tensions situées à l'avant de l'épaule. Réalisé à l'aide d'une balle de massage ferme, comme une balle de lacrosse, cet exercice permet de cibler les zones de raideur musculaire souvent liées à la musculation, aux mouvements de poussée répétés ou aux longues heures passées assis devant un bureau. En appliquant une pression contrôlée et en effectuant des mouvements lents, il favorise la circulation sanguine et améliore la mobilité des tissus. Intégré dans une routine régulière, il contribue à réduire l'inconfort lié aux surcharges fonctionnelles et à améliorer le confort articulaire. Ce type d'auto-massage est adapté aussi bien aux sportifs qu'aux personnes actives cherchant à prévenir les douleurs d'épaule. Utilisé en échauffement, en récupération ou en phase de détente, il aide à maintenir une bonne posture et optimise les performances lors des exercices de poussée ou au-dessus de la tête. Facile à mettre en place et ne nécessitant qu'un équipement minimal, l'auto-massage du deltoïde antérieur est un outil accessible pour entretenir la santé de l'épaule et soutenir une meilleure qualité de mouvement au quotidien."
  +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 82.5 MiB 0.12 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 {#10939
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.10 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 {#10961
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.10 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 {#10985
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.10 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 {#11008
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.08 ms
Input props
[
  "name" => "facebook"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#11031
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +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" => "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 {#11054
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11077
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11100
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 82.5 MiB 0.72 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 {#2932 …}
  #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 82.5 MiB 0.56 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#11147
  +includeScript: true
  +labelClass: null
  +containerClass: "content-container my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2932 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#730 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#221 …}
}
utils:lang-selector
[Anonymous]
82.5 MiB 1.81 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#11194
  -props: [
    "size" => "large"
  ]
}
app:lang-selector App\Twig\Components\App\LangSelector 82.5 MiB 1.55 ms
Input props
[
  "defaultOpenLeft" => false
  "size" => "large"
  "showTranslateIcon" => true
]
Attributes
[
  "size" => "large"
]
Component
App\Twig\Components\App\LangSelector {#11216
  +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 82.5 MiB 1.26 ms
Input props
[
  "label" => "lang.name.fr"
  "defaultOpenLeft" => false
  "locales" => [
    "fr"
    "en"
    "de"
    "it"
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Dropdown {#11238
  +label: "lang.name.fr"
  +contentClass: null
  +defaultOpen: false
  +defaultOpenLeft: false
  +locales: [
    "fr"
    "en"
    "de"
    "it"
  ]
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.08 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 {#11269
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "g-translate"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11291
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11338
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
82.5 MiB 1.05 ms
Input props
[
  "size" => "large"
]
Attributes
[
  "size" => "large"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#11217
  -props: [
    "size" => "large"
  ]
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11359
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11393
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.08 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 {#11416
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11439
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.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 {#11462
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +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 {#11485
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +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 {#11508
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.07 ms
Input props
[
  "name" => "facebook"
  "class" => "w-[19px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[19px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#11531
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 82.5 MiB 0.07 ms
Input props
[
  "name" => "youtube"
  "class" => "w-[28px] h-[24px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[24px]"
]
Component
App\Twig\Components\Media\Icon {#11554
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#6224 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}