Redirect 301 redirect from GET @training_exercise_detail (ade325)

GET http://test.fitmetrics.ch/fr/exercice/6733d70f82238-etirement-open-book?alias=11980

Components

20 Twig Components
116 Render Count
642 ms Render Time
88.5 MiB Memory Usage

Components

Name Metadata Render Count Render Time
media:icon
"App\Twig\Components\Media\Icon"
components/media/icon.html.twig
67 3.18ms
ui:badge
"App\Twig\Components\Ui\Badge"
components/ui/badge.html.twig
15 1.91ms
faq
"App\Twig\Components\Ui\FaqComponent"
components/ui/faq.html.twig
5 1.30ms
raw-faq
"App\Twig\Components\Ui\RawFaqComponent"
components/ui/raw-faq.html.twig
5 0.42ms
utils:theme-switcher
[Anonymous]
components/utils/theme-switcher.html.twig
3 1.31ms
ad:square:fluid
"App\Twig\Components\Ad\AdSquareFluid"
components/ad/square-fluid.html.twig
3 0.45ms
app:lang-selector
"App\Twig\Components\App\LangSelector"
components/app/lang-selector.html.twig
2 0.53ms
app:page-sharer
"App\Twig\Components\App\PageSharer"
components/app/page-sharer.html.twig
2 3.55ms
ui:editor-render
"App\Twig\Components\Ui\Editor\EditorRender"
components/ui/editor/render.html.twig
2 0.95ms
app:loading_spinner
"App\Twig\Components\App\LoadingSpinner"
components/app/loading-spinner.html.twig
2 0.62ms
menu:main
"App\Twig\Components\Menu\MainMenu"
components/menu/main.html.twig
1 39.92ms
menu:connexion-menu
"App\Twig\Components\Menu\ConnexionMenu"
components/menu/user-menu.html.twig
1 9.35ms
menu:breadcrumb
"App\Twig\Components\Menu\Breadcrumb"
components/menu/breadcrumb.html.twig
1 0.56ms
ad:banner
"App\Twig\Components\Ad\AdBanner"
components/ad/banner.html.twig
1 0.43ms
media:video
"App\Twig\Components\Media\Video"
components/media/video.html.twig
1 0.43ms
anatomy:avatar
"App\Twig\Components\Anatomy\Avatar"
components/anatomy/avatar.html.twig
1 579.97ms
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.63ms
ad:wide-skyscraper
"App\Twig\Components\Ad\AdWideSkyscraper"
components/ad/wide-skyscraper.html.twig
1 7.85ms
ad:horizontal:fluid
"App\Twig\Components\Ad\AdHorizontalFluid"
components/ad/horizontal-fluid.html.twig
1 0.59ms

Render calls

menu:main App\Twig\Components\Menu\MainMenu 78.5 MiB 39.92 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\MainMenu {#7510
  -routingManager: App\BusinessLogic\Training\Exercise\Url\ExerciseRoutingManager {#208 …}
  -em: Doctrine\ORM\EntityManager {#550 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableAdapter {#205 …}
  -kernel: App\Kernel {#14 …}
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …}
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.43 ms
Input props
[
  "name" => "fitmetrics-biceps"
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Attributes
[
  "class" => "header--logo-dark header--logo dark:hidden h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoDark"
]
Component
App\Twig\Components\Media\Icon {#7557
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Attributes
[
  "class" => "header--logo-white header--logo hidden dark:block h-[80px] w-[130px] max-w-[130px]"
  "data-front--header-target" => "logoWhite"
]
Component
App\Twig\Components\Media\Icon {#7568
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
72.5 MiB 1.04 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#7619
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7634
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7684
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7712
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "search"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7728
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.5 MiB 0.04 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 {#7752
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7776
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7800
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7824
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "discipline "
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7848
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7872
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#7896
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 72.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 {#8189
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
utils:theme-switcher
[Anonymous]
72.5 MiB 0.14 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#8176
  -props: [
    "class" => "max-w-fit"
  ]
}
menu:connexion-menu App\Twig\Components\Menu\ConnexionMenu 78.5 MiB 9.35 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Menu\ConnexionMenu {#8267
  -authenticationUtils: Symfony\Component\Security\Http\Authentication\AuthenticationUtils {#8268 …}
  -formFactory: Symfony\Component\Form\FormFactory {#8266 …}
}
media:icon App\Twig\Components\Media\Icon 76.5 MiB 0.06 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer"
]
Component
App\Twig\Components\Media\Icon {#8419
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "close"
  +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 dark:block h-[80px] w-[300px]"
]
Attributes
[
  "class" => "hidden dark:block h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#8454
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +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 {#8484
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +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 {#8516
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +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 {#8535
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "apple"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.05 ms
Input props
[
  "name" => "fitmetrics-white-biceps"
  "class" => "h-[80px] w-[300px]"
]
Attributes
[
  "class" => "h-[80px] w-[300px]"
]
Component
App\Twig\Components\Media\Icon {#8645
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.04 ms
Input props
[
  "name" => "chevron-down"
  "class" => "fill-white w-[20px] h-[20px]"
]
Attributes
[
  "class" => "fill-white w-[20px] h-[20px]"
]
Component
App\Twig\Components\Media\Icon {#8679
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "chevron-down"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "flexed-biceps"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8695
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "flexed-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "fire"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8719
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fire"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "category"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8743
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "category"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "barbell"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8767
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "barbell"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "discipline"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8791
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "discipline"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "stats-chart"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8815
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "stats-chart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "latest"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8839
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "latest"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "random"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8863
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "random"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "favorites"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8887
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.03 ms
Input props
[
  "name" => "more"
  "class" => "h-5 w-5 mr-2 fill-current"
]
Attributes
[
  "class" => "h-5 w-5 mr-2 fill-current"
]
Component
App\Twig\Components\Media\Icon {#8911
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "more"
  +title: null
  +symbolDefsName: null
}
app:lang-selector App\Twig\Components\App\LangSelector 78.5 MiB 0.50 ms
Input props
[
  "defaultOpenLeft" => true
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#8956
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: true
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.04 ms
Input props
[
  "name" => "close"
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Attributes
[
  "class" => "w-[26px] h-[26px] md:w-[15px] md:h-[15px] cursor-pointer text-white"
]
Component
App\Twig\Components\Media\Icon {#8946
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.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 {#8587
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
menu:breadcrumb App\Twig\Components\Menu\Breadcrumb 78.5 MiB 0.56 ms
Input props
[
  "builder" => App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4567
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Étirement"
        "url" => "/fr/exercices/groupe/114-etirement"
      ]
      [
        "label" => "Rotation en ouverture de la colonne thoracique"
        "url" => null
      ]
    ]
  }
]
Attributes
[]
Component
App\Twig\Components\Menu\Breadcrumb {#9039
  +items: [
    [
      "label" => "menu.home"
      "url" => "/fr/"
    ]
    [
      "label" => "menu.exercises"
      "url" => "/fr/exercices"
    ]
    [
      "label" => "Étirement"
      "url" => "/fr/exercices/groupe/114-etirement"
    ]
    [
      "label" => "Rotation en ouverture de la colonne thoracique"
      "url" => null
    ]
  ]
  +builder: App\BusinessLogic\App\Menu\BreadcrumbBuilder {#4567
    -items: [
      [
        "label" => "menu.home"
        "url" => "/fr/"
      ]
      [
        "label" => "menu.exercises"
        "url" => "/fr/exercices"
      ]
      [
        "label" => "Étirement"
        "url" => "/fr/exercices/groupe/114-etirement"
      ]
      [
        "label" => "Rotation en ouverture de la colonne thoracique"
        "url" => null
      ]
    ]
  }
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9069
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9091
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9114
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "chevron-right"
  +title: null
  +symbolDefsName: null
}
ad:banner App\Twig\Components\Ad\AdBanner 78.5 MiB 0.43 ms
Input props
[
  "containerClass" => "my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdBanner {#9157
  +includeScript: true
  +labelClass: null
  +containerClass: "my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
media:video App\Twig\Components\Media\Video 78.5 MiB 0.43 ms
Input props
[
  "media" => App\Entity\Media\MediaVideo {#4498
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4500 …}
    #credits: Doctrine\ORM\PersistentCollection {#4502 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=tFKhgIgVkYw"
    #id: 856
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450639 {#4536
      date: 2024-11-12 23:30:39.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450639 {#4488
      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: "tFKhgIgVkYw"
  }
  "title" => "Étirement Open Book"
  "showCredits" => false
]
Attributes
[]
Component
App\Twig\Components\Media\Video {#9244
  +media: App\Entity\Media\MediaVideo {#4498
    #uploadedFile: null
    #file: Vich\UploaderBundle\Entity\File {#4500 …}
    #credits: Doctrine\ORM\PersistentCollection {#4502 …}
    -source: null
    -zone: null
    -urlExternal: "https://www.youtube.com/watch?v=tFKhgIgVkYw"
    #id: 856
    -notes: null
    #translations: Doctrine\ORM\PersistentCollection {#4549 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -tiersId: null
    -tiersName: "azeoo"
    #createdAt: DateTimeImmutable @1731450639 {#4536
      date: 2024-11-12 23:30:39.0 Europe/Zurich (+01:00)
    }
    #updatedAt: DateTimeImmutable @1731450639 {#4488
      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: "tFKhgIgVkYw"
  }
  +title: "Étirement Open Book"
  +posterSm: null
  +posterLg: null
  +hasPipButton: true
  +loop: false
  +mute: false
  +showCredits: false
  +creditsTitle: "label.media_video.credits"
  -mediaManager: App\BusinessLogic\Media\Manager\MediaManager {#214 …}
  -appManager: App\BusinessLogic\App\Manager\AppManager {#152 …}
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.05 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 {#9260
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "favorites"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9293
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 78.5 MiB 1.41 ms
Input props
[
  "class" => "mt-2 md:m-0"
]
Attributes
[
  "class" => "mt-2 md:m-0"
]
Component
App\Twig\Components\App\PageSharer {#9317
  +shareUrl: "http://test.fitmetrics.ch/fr/exercice/6733d70f82238-etirement-open-book?alias=11980"
  +title: "Rotation en ouverture de la colonne thoracique - Exercice - FitMetrics"
  +description: "L’étirement Open Book est un exercice de mobilité ciblé visant à améliorer la rotation de la colonne thoracique et à favoriser la flexibilité du haut du corps. Très utilisé en rééducation, en Pilates et lors des échauffements, il se réalise en position allongée sur le côté avec une ouverture du bras supérieur simulant l’ouverture d’un livre. Ce mouvement doux est particulièrement efficace pour contrer la raideur posturale liée à la position assise prolongée ou au manque de mobilité dans la partie supérieure du dos. En focalisant la rotation sur la région thoracique sans solliciter excessivement les lombaires, il contribue à une meilleure posture et à une réduction des tensions dans les épaules et la cage thoracique. Accessible et sans matériel, cet exercice est adapté aux débutants comme aux pratiquants confirmés et constitue un outil précieux dans tout programme de mobilité ou de préparation physique."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.05 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 {#9347
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9375
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9400
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9423
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9446
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9469
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9492
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.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 {#9515
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 78.5 MiB 0.04 ms
Input props
[
  "name" => "program"
  "class" => "w-6 h-6 mr-3 !text-white"
]
Attributes
[
  "class" => "w-6 h-6 mr-3 !text-white"
]
Component
App\Twig\Components\Media\Icon {#9546
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 78.5 MiB 0.85 ms
Input props
[
  "data" => [
    "time" => 1753787981
    "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 côté, les genoux pliés à 90 degrés et les bras tendus devant vous."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez les genoux serrés et en contact avec le sol tout au long du mouvement."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Faites pivoter lentement le bras supérieur et le torse vers l’extérieur en ouvrant la poitrine vers le plafond."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Laissez la tête suivre le mouvement du bras pour atteindre une rotation thoracique complète."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez la position finale pendant la durée souhaitée, puis revenez lentement à la position de départ."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Répétez pendant la durée prévue, puis changez de côté."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Concentrez-vous sur la rotation de la colonne thoracique, sans impliquer le bas du dos."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez les hanches et les genoux fermement ancrés au sol pour isoler le haut du dos."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Effectuez le mouvement lentement et de manière contrôlée, sans à-coups."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez profondément avant de commencer la rotation."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez lentement pendant la rotation pour favoriser l’amplitude et la détente."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Respirez de manière régulière en maintenant l’étirement."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#9595
  +title: null
  +data: [
    "time" => 1753787981
    "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 côté, les genoux pliés à 90 degrés et les bras tendus devant vous."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez les genoux serrés et en contact avec le sol tout au long du mouvement."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Faites pivoter lentement le bras supérieur et le torse vers l’extérieur en ouvrant la poitrine vers le plafond."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Laissez la tête suivre le mouvement du bras pour atteindre une rotation thoracique complète."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Maintenez la position finale pendant la durée souhaitée, puis revenez lentement à la position de départ."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Répétez pendant la durée prévue, puis changez de côté."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils techniques"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Concentrez-vous sur la rotation de la colonne thoracique, sans impliquer le bas du dos."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Gardez les hanches et les genoux fermement ancrés au sol pour isoler le haut du dos."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Effectuez le mouvement lentement et de manière contrôlée, sans à-coups."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
      [
        "type" => "header"
        "data" => [
          "level" => 2
          "text" => "Conseils de respiration"
        ]
      ]
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Inspirez profondément avant de commencer la rotation."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Expirez lentement pendant la rotation pour favoriser l’amplitude et la détente."
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Respirez de manière régulière en maintenant l’étirement."
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
  +spacing: 4
  +adsInterval: 5
  +withAds: true
  +withMarketingBanner: false
  +marketingBannerPosition: 8
  -host: "http://test.fitmetrics.ch"
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
}
ui:editor-render App\Twig\Components\Ui\Editor\EditorRender 78.5 MiB 0.10 ms
Input props
[
  "data" => [
    "time" => 1753787981
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Conflit sous-acromial sévère"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Chirurgie récente de la colonne vertébrale"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleur aiguë au bas du dos"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Déchirures de la coiffe des rotateurs"
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
]
Attributes
[]
Component
App\Twig\Components\Ui\Editor\EditorRender {#9656
  +title: null
  +data: [
    "time" => 1753787981
    "version" => "2.31.0-rc.7"
    "blocks" => [
      [
        "type" => "list"
        "data" => [
          "style" => "unordered"
          "items" => [
            [
              "content" => "Conflit sous-acromial sévère"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Chirurgie récente de la colonne vertébrale"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Douleur aiguë au bas du dos"
              "items" => []
              "meta" => []
            ]
            [
              "content" => "Déchirures de la coiffe des rotateurs"
              "items" => []
              "meta" => []
            ]
          ]
          "meta" => []
        ]
      ]
    ]
  ]
  +spacing: 4
  +adsInterval: 5
  +withAds: true
  +withMarketingBanner: false
  +marketingBannerPosition: 8
  -host: "http://test.fitmetrics.ch"
  #requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
}
ad:square:fluid App\Twig\Components\Ad\AdSquareFluid 78.5 MiB 0.24 ms
Input props
[
  "containerClass" => "mt-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#9643
  +includeScript: true
  +labelClass: null
  +containerClass: "mt-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
faq App\Twig\Components\Ui\FaqComponent 78.5 MiB 0.66 ms
Input props
[
  "faq" => App\Entity\Faq {#6881
    -news: Doctrine\ORM\PersistentCollection {#6898 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6896 …}
    #id: 4845
    #createdAt: DateTimeImmutable @1753392427 {#6886
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6911
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6848 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#9700
  +faq: App\Entity\Faq {#6881
    -news: Doctrine\ORM\PersistentCollection {#6898 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6896 …}
    #id: 4845
    #createdAt: DateTimeImmutable @1753392427 {#6886
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6911
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6848 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 78.5 MiB 0.23 ms
Input props
[
  "question" => "À quoi sert l’étirement Open Book ?"
  "answer" => "L’étirement Open Book permet d’améliorer la mobilité de la colonne thoracique, de réduire les raideurs du haut du dos et d’optimiser la posture grâce à un mouvement rotatif contrôlé."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#9728
  +question: "À quoi sert l’étirement Open Book ?"
  +answer: "L’étirement Open Book permet d’améliorer la mobilité de la colonne thoracique, de réduire les raideurs du haut du dos et d’optimiser la posture grâce à un mouvement rotatif contrôlé."
}
faq App\Twig\Components\Ui\FaqComponent 78.5 MiB 0.18 ms
Input props
[
  "faq" => App\Entity\Faq {#6850
    -news: Doctrine\ORM\PersistentCollection {#6851 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6853 …}
    #id: 4846
    #createdAt: DateTimeImmutable @1753392427 {#6846
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6849
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6855 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#9759
  +faq: App\Entity\Faq {#6850
    -news: Doctrine\ORM\PersistentCollection {#6851 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6853 …}
    #id: 4846
    #createdAt: DateTimeImmutable @1753392427 {#6846
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6849
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6855 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 78.5 MiB 0.05 ms
Input props
[
  "question" => "Puis-je faire l’étirement Open Book tous les jours ?"
  "answer" => "Oui, cet étirement doux peut être pratiqué quotidiennement en échauffement, en récupération ou comme routine de mobilité pour maintenir la souplesse de la colonne vertébrale."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#9804
  +question: "Puis-je faire l’étirement Open Book tous les jours ?"
  +answer: "Oui, cet étirement doux peut être pratiqué quotidiennement en échauffement, en récupération ou comme routine de mobilité pour maintenir la souplesse de la colonne vertébrale."
}
faq App\Twig\Components\Ui\FaqComponent 80.5 MiB 0.16 ms
Input props
[
  "faq" => App\Entity\Faq {#6859
    -news: Doctrine\ORM\PersistentCollection {#6860 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6862 …}
    #id: 4847
    #createdAt: DateTimeImmutable @1753392427 {#6857
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6858
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6864 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#9807
  +faq: App\Entity\Faq {#6859
    -news: Doctrine\ORM\PersistentCollection {#6860 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6862 …}
    #id: 4847
    #createdAt: DateTimeImmutable @1753392427 {#6857
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6858
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6864 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 80.5 MiB 0.05 ms
Input props
[
  "question" => "L’étirement Open Book est-il adapté aux débutants ?"
  "answer" => "Absolument, cet exercice sans équipement est facile à exécuter et convient parfaitement aux débutants comme aux personnes en rééducation."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#9851
  +question: "L’étirement Open Book est-il adapté aux débutants ?"
  +answer: "Absolument, cet exercice sans équipement est facile à exécuter et convient parfaitement aux débutants comme aux personnes en rééducation."
}
faq App\Twig\Components\Ui\FaqComponent 80.5 MiB 0.15 ms
Input props
[
  "faq" => App\Entity\Faq {#6868
    -news: Doctrine\ORM\PersistentCollection {#6869 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6871 …}
    #id: 4848
    #createdAt: DateTimeImmutable @1753392427 {#6866
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6867
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6873 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#9854
  +faq: App\Entity\Faq {#6868
    -news: Doctrine\ORM\PersistentCollection {#6869 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6871 …}
    #id: 4848
    #createdAt: DateTimeImmutable @1753392427 {#6866
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6867
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6873 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 80.5 MiB 0.04 ms
Input props
[
  "question" => "L’étirement Open Book peut-il soulager les douleurs dorsales ?"
  "answer" => "Oui, il peut atténuer les inconforts dans le haut du dos en favorisant la mobilité thoracique, mais il doit être évité en cas de douleur aiguë ou de blessure vertébrale."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#9898
  +question: "L’étirement Open Book peut-il soulager les douleurs dorsales ?"
  +answer: "Oui, il peut atténuer les inconforts dans le haut du dos en favorisant la mobilité thoracique, mais il doit être évité en cas de douleur aiguë ou de blessure vertébrale."
}
faq App\Twig\Components\Ui\FaqComponent 80.5 MiB 0.15 ms
Input props
[
  "faq" => App\Entity\Faq {#6921
    -news: Doctrine\ORM\PersistentCollection {#6922 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6924 …}
    #id: 4849
    #createdAt: DateTimeImmutable @1753392427 {#6919
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6920
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6926 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
]
Attributes
[]
Component
App\Twig\Components\Ui\FaqComponent {#9901
  +faq: App\Entity\Faq {#6921
    -news: Doctrine\ORM\PersistentCollection {#6922 …}
    -exercises: Doctrine\ORM\PersistentCollection {#6924 …}
    #id: 4849
    #createdAt: DateTimeImmutable @1753392427 {#6919
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #updatedAt: DateTimeImmutable @1753392427 {#6920
      date: 2025-07-24 23:27:07.0 Europe/Zurich (+02:00)
    }
    #createdBy: App\Entity\User {#3695 …}
    #updatedBy: App\Entity\User {#3695 …}
    #translations: Doctrine\ORM\PersistentCollection {#6926 …}
    #newTranslations: null
    #currentLocale: "fr"
    #defaultLocale: "en"
    -published: true
    #publishedAt: null
    -publishedBy: null
  }
}
raw-faq App\Twig\Components\Ui\RawFaqComponent 80.5 MiB 0.04 ms
Input props
[
  "question" => "Quels muscles sont sollicités pendant l’étirement Open Book ?"
  "answer" => "Cet étirement cible principalement les muscles du haut du dos, notamment la colonne thoracique, avec une activation secondaire des obliques externes, des rhomboïdes et des fessiers pour la stabilisation."
]
Attributes
[]
Component
App\Twig\Components\Ui\RawFaqComponent {#9945
  +question: "Quels muscles sont sollicités pendant l’étirement Open Book ?"
  +answer: "Cet étirement cible principalement les muscles du haut du dos, notamment la colonne thoracique, avec une activation secondaire des obliques externes, des rhomboïdes et des fessiers pour la stabilisation."
}
anatomy:avatar App\Twig\Components\Anatomy\Avatar 88.5 MiB 579.97 ms
Input props
[
  "class" => "relative"
  "primaryMuscles" => [
    12
  ]
  "secondaryMuscles" => [
    3
    15
    26
  ]
  "displayFront" => false
]
Attributes
[
  "class" => "relative"
]
Component
App\Twig\Components\Anatomy\Avatar {#9873
  #container: Symfony\Component\DependencyInjection\Argument\ServiceLocator {#9956 …}
  +primaryMuscles: [
    12
  ]
  +secondaryMuscles: [
    3
    15
    26
  ]
  +type: "url"
  +urlReferenceType: 2
  +displayFront: false
  +selectedMuscles: []
  +displayTagMuscles: false
  +hoverMuscleDefaultText: "-"
  #entityManager: Doctrine\ORM\EntityManager {#550 …}
  #localeSwitcher: Symfony\Component\Translation\LocaleSwitcher {#1600 …}
  #avatarData: App\BusinessLogic\Anatomy\AvatarData {#9954 …}
  -liveResponder: Symfony\UX\LiveComponent\LiveResponder {#9955 …}
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.67 ms
Input props
[
  "name" => "Dos"
  "url" => "/fr/exercices/muscle/12-dos"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11266
  +name: "Dos"
  +url: "/fr/exercices/muscle/12-dos"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.11 ms
Input props
[
  "name" => "Fessiers"
  "url" => "/fr/exercices/muscle/3-fessiers"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11318
  +name: "Fessiers"
  +url: "/fr/exercices/muscle/3-fessiers"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.09 ms
Input props
[
  "name" => "Obliques"
  "url" => "/fr/exercices/muscle/15-obliques"
  "color" => "primary"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11342
  +name: "Obliques"
  +url: "/fr/exercices/muscle/15-obliques"
  +color: "primary"
  +small: false
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.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 {#11366
  +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 88.5 MiB 0.11 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#11254
  +includeScript: true
  +labelClass: null
  +containerClass: "max-h-[300px] max-w-[300px]"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
training:difficulty-badge App\Twig\Components\Training\DifficultyBadge 88.5 MiB 0.60 ms
Input props
[
  "difficulty" => "beginner"
]
Attributes
[]
Component
App\Twig\Components\Training\DifficultyBadge {#11399
  +difficulty: "beginner"
  +small: false
  +link: true
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.10 ms
Input props
[
  "name" => "Isolation"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11430
  +name: "Isolation"
  +url: null
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.10 ms
Input props
[
  "name" => "Tapis de sol"
  "url" => "/fr/exercices/equipement/17-tapis-de-sol"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11470
  +name: "Tapis de sol"
  +url: "/fr/exercices/equipement/17-tapis-de-sol"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.09 ms
Input props
[
  "name" => "Sans matériel"
  "url" => "/fr/exercices/equipement/29-sans-mat%C3%A9riel"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11494
  +name: "Sans matériel"
  +url: "/fr/exercices/equipement/29-sans-mat%C3%A9riel"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.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 {#11518
  +name: "Fitness"
  +url: "/fr/exercices/sport/5-fitness"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.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 {#11542
  +name: "Yoga"
  +url: "/fr/exercices/sport/8-yoga"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.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 {#11566
  +name: "Pilates"
  +url: "/fr/exercices/sport/9-pilates"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.08 ms
Input props
[
  "name" => "Étirement"
  "url" => "/fr/exercices/categorie/56-etirement"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11590
  +name: "Étirement"
  +url: "/fr/exercices/categorie/56-etirement"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.08 ms
Input props
[
  "name" => "Mobilité"
  "url" => "/fr/exercices/categorie/59-mobilite"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11614
  +name: "Mobilité"
  +url: "/fr/exercices/categorie/59-mobilite"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.08 ms
Input props
[
  "name" => "Échauffement"
  "url" => "/fr/exercices/categorie/62-echauffement"
  "small" => true
  "color" => "gray"
]
Attributes
[]
Component
App\Twig\Components\Ui\Badge {#11638
  +name: "Échauffement"
  +url: "/fr/exercices/categorie/62-echauffement"
  +color: "gray"
  +small: true
  +selected: false
}
ui:badge App\Twig\Components\Ui\Badge 88.5 MiB 0.08 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 {#11662
  +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 88.5 MiB 0.08 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 {#11686
  +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 88.5 MiB 0.10 ms
Input props
[
  "containerClass" => "hidden lg:flex items-center justify-center my-6"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdSquareFluid {#11380
  +includeScript: true
  +labelClass: null
  +containerClass: "hidden lg:flex items-center justify-center my-6"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 88.5 MiB 0.52 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#9582
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
app:loading_spinner App\Twig\Components\App\LoadingSpinner 88.5 MiB 0.11 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\App\LoadingSpinner {#11743
  +color: "fill-primary"
  +size: 8
  +centered: true
  +inline: false
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.09 ms
Input props
[
  "name" => "program"
  "class" => "w-6 h-6 mr-3 !text-white"
]
Attributes
[
  "class" => "w-6 h-6 mr-3 !text-white"
]
Component
App\Twig\Components\Media\Icon {#11781
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "program"
  +title: null
  +symbolDefsName: null
}
ui:widget-embed App\Twig\Components\Ui\WidgetEmbed 88.5 MiB 1.63 ms
Input props
[
  "class" => "hidden md:block"
  "route" => "http://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70f82238?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 {#11817
  +route: "http://test.fitmetrics.ch/fr/widgets/exercise/preview-6733d70f82238?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 88.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 {#11855
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 88.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 {#11888
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "close"
  +title: null
  +symbolDefsName: null
}
app:page-sharer App\Twig\Components\App\PageSharer 88.5 MiB 2.14 ms
Input props
[
  "class" => "content-container"
  "title" => "Étirement Open Book"
  "description" => "L’étirement Open Book est un exercice de mobilité ciblé visant à améliorer la rotation de la colonne thoracique et à favoriser la flexibilité du haut du corps. Très utilisé en rééducation, en Pilates et lors des échauffements, il se réalise en position allongée sur le côté avec une ouverture du bras supérieur simulant l’ouverture d’un livre. Ce mouvement doux est particulièrement efficace pour contrer la raideur posturale liée à la position assise prolongée ou au manque de mobilité dans la partie supérieure du dos. En focalisant la rotation sur la région thoracique sans solliciter excessivement les lombaires, il contribue à une meilleure posture et à une réduction des tensions dans les épaules et la cage thoracique. Accessible et sans matériel, cet exercice est adapté aux débutants comme aux pratiquants confirmés et constitue un outil précieux dans tout programme de mobilité ou de préparation physique."
]
Attributes
[
  "class" => "content-container"
]
Component
App\Twig\Components\App\PageSharer {#11928
  +shareUrl: "http://test.fitmetrics.ch/fr/exercice/6733d70f82238-etirement-open-book?alias=11980"
  +title: "Étirement Open Book"
  +description: "L’étirement Open Book est un exercice de mobilité ciblé visant à améliorer la rotation de la colonne thoracique et à favoriser la flexibilité du haut du corps. Très utilisé en rééducation, en Pilates et lors des échauffements, il se réalise en position allongée sur le côté avec une ouverture du bras supérieur simulant l’ouverture d’un livre. Ce mouvement doux est particulièrement efficace pour contrer la raideur posturale liée à la position assise prolongée ou au manque de mobilité dans la partie supérieure du dos. En focalisant la rotation sur la région thoracique sans solliciter excessivement les lombaires, il contribue à une meilleure posture et à une réduction des tensions dans les épaules et la cage thoracique. Accessible et sans matériel, cet exercice est adapté aux débutants comme aux pratiquants confirmés et constitue un outil précieux dans tout programme de mobilité ou de préparation physique."
  +quote: null
  +hashtags: [
    "fitmetrics"
  ]
  +alignMobileLeft: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
media:icon App\Twig\Components\Media\Icon 88.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 {#11936
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "check"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.09 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 {#11958
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "reddit"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.07 ms
Input props
[
  "name" => "twitter"
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-5 h-5 fill-slate-600 transition-colors group-hover:fill-white dark:fill-white dark:group-hover:fill-white"
]
Component
App\Twig\Components\Media\Icon {#11982
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "twitter"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.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 {#12005
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.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 {#12028
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.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 {#12051
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "linkedin"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.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 {#12074
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.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 {#12097
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "email"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
ad:wide-skyscraper App\Twig\Components\Ad\AdWideSkyscraper 88.5 MiB 7.85 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\Ad\AdWideSkyscraper {#719
  +includeScript: true
  +labelClass: null
  +containerClass: ""
  +adClass: null
  +showBgColor: false
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
  +right: true
  +left: true
}
ad:horizontal:fluid App\Twig\Components\Ad\AdHorizontalFluid 88.5 MiB 0.59 ms
Input props
[
  "containerClass" => "content-container my-4"
]
Attributes
[]
Component
App\Twig\Components\Ad\AdHorizontalFluid {#4481
  +includeScript: true
  +labelClass: null
  +containerClass: "content-container my-4"
  +adClass: null
  +showBgColor: true
  #kernel: App\Kernel {#14 …}
  #accountManager: App\BusinessLogic\User\Manager\AccountManager {#2927 …}
  #parameterBag: Symfony\Component\DependencyInjection\ParameterBag\ContainerBag {#686 …}
  #seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
}
app:lang-selector App\Twig\Components\App\LangSelector 88.5 MiB 0.04 ms
Input props
[
  "defaultOpenLeft" => false
]
Attributes
[]
Component
App\Twig\Components\App\LangSelector {#6801
  +routeName: null
  +params: null
  +withQuery: true
  +defaultOpenLeft: false
  -seoPage: App\BusinessLogic\App\Seo\SeoPage {#210 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#865 …}
  -router: Symfony\Bundle\FrameworkBundle\Routing\Router {#681 …}
}
utils:theme-switcher
[Anonymous]
88.5 MiB 0.13 ms
Input props
[
  "class" => "max-w-fit"
]
Attributes
[
  "class" => "max-w-fit"
]
Component
Symfony\UX\TwigComponent\AnonymousComponent {#6649
  -props: [
    "class" => "max-w-fit"
  ]
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.05 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 {#8517
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.05 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 {#10304
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "fitmetrics-white-biceps"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.04 ms
Input props
[
  "name" => "heart"
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Attributes
[
  "class" => "heart h-5 w-5 text-[#eb2a2a]"
]
Component
App\Twig\Components\Media\Icon {#11055
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "heart"
  +title: null
  +symbolDefsName: null
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.03 ms
Input props
[
  "name" => "whatsapp"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#11751
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "whatsapp"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.05 ms
Input props
[
  "name" => "instagram"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#12160
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "instagram"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.03 ms
Input props
[
  "name" => "threads"
  "class" => "w-[28px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#12183
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "threads"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.03 ms
Input props
[
  "name" => "tiktok"
  "class" => "w-[29px] h-[29px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[29px] h-[29px]"
]
Component
App\Twig\Components\Media\Icon {#12206
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "tiktok"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.03 ms
Input props
[
  "name" => "facebook"
  "class" => "w-[19px] h-[28px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[19px] h-[28px]"
]
Component
App\Twig\Components\Media\Icon {#12229
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "facebook"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}
media:icon App\Twig\Components\Media\Icon 88.5 MiB 0.03 ms
Input props
[
  "name" => "youtube"
  "class" => "w-[28px] h-[24px]"
  "symbolDefsName" => "networks-symbol-defs.svg"
]
Attributes
[
  "class" => "w-[28px] h-[24px]"
]
Component
App\Twig\Components\Media\Icon {#12252
  #iconManager: App\BusinessLogic\Media\Manager\IconManager {#7560 …}
  +name: "youtube"
  +title: null
  +symbolDefsName: "networks-symbol-defs.svg"
}