Messages
All4
Ordered list of dispatched messages across all your buses
"App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Bus | query.bus |
| Message | App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery {#1267 +owners: [ App\Theming\Domain\Model\ThemeOwner {#1081 +type: App\Theming\Domain\Model\ThemeOwnerType {#1290 +name: "Organization" +value: "organization" } +id: "019faa7b-72e5-732d-9607-71ca860d5e28" } ] } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#1280 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#737 -result: App\Theming\Application\Query\GetResolvedTheme\ResolvedTheme {#725 +tokens: App\Theming\Domain\Model\ThemeTokens {#717 +colorPrimary: App\SharedKernel\Domain\ValueObject\HexColor {#716 -value: "#12507d" } +colorAccent: App\SharedKernel\Domain\ValueObject\HexColor {#715 -value: "#e0a33c" } +colorBackground: App\SharedKernel\Domain\ValueObject\HexColor {#714 -value: "#f6f8fa" } +colorSurface: App\SharedKernel\Domain\ValueObject\HexColor {#713 -value: "#ffffff" } +colorText: App\SharedKernel\Domain\ValueObject\HexColor {#712 -value: "#101a24" } +fontFamily: "Inter" +colorPrimaryHover: "#0d3c60" +colorPrimaryLight: "#dbeafe" +colorAccentHover: "#c98a26" +colorAccentLight: "#fdf0d8" +colorSuccess: "#0f8a5f" +colorSuccessLight: "" +colorWarning: "#e0a33c" +colorWarningLight: "" +colorError: "#d23f31" +colorErrorLight: "" +colorInfo: "#12507d" +colorInfoLight: "" +colorSurfaceHover: "" +colorTopbar: "#ffffff" +colorBorder: "rgba(16, 26, 36, 0.10)" +bgSidebar: "#0e2334" +bgSidebarHover: "#16344a" +bgSidebarActive: "#1d4360" +backgroundImage: "" +sidebarOpacity: "100" +neutral50: "" +neutral100: "" +neutral200: "" +neutral300: "" +neutral400: "" +neutral500: "" +neutral600: "" +neutral700: "" +neutral800: "" +neutral900: "" +fontFamilyHeading: "Sora" +fontFamilyMono: "" +fontSize: App\Theming\Domain\Model\FontSize {#730 +name: "Base" +value: "base" } +fontSizeSmall: "" +fontSizeLarge: "" +fontWeightNormal: "400" +fontWeightMedium: "500" +fontWeightSemibold: "600" +fontWeightBold: "700" +lineHeight: "1.65" +lineHeightTight: "1.3" +letterSpacing: "0" +borderRadius: "0.75rem" +radiusSm: "6px" +radiusMd: "8px" +radiusLg: "12px" +radiusXl: "16px" +radius2xl: "1rem" +radius3xl: "1.5rem" +radiusFull: "9999px" +shadowSm: "0 1px 2px rgba(16, 26, 36, 0.06)" +shadowMd: "0 10px 30px -12px rgba(18, 80, 125, 0.28)" +shadowLg: "" +shadowXl: "" +shadowFocus: "0 0 0 3px rgba(18, 80, 125, 0.30)" +btnBorderRadius: "999px" +btnPaddingX: "" +btnPaddingY: "" +inputBorderRadius: "" +inputBorderColor: "" +cardBorderRadius: "" +cardBorderColor: "rgba(16, 26, 36, 0.10)" +cardShadow: "" +msgBubbleRadius: "" +msgOutgoingBg: "" +msgOutgoingColor: "" +msgIncomingBg: "" +msgIncomingColor: "" +avatarRadius: "" +transitionFast: "0.15s" +transitionBase: "0.2s" +transitionSlow: "0.3s" +transitionEasing: "cubic-bezier(0.4, 0, 0.2, 1)" +colorTextSecondary: "" +colorTextMuted: "" +density: App\Theming\Domain\Model\Density {#727 +name: "Comfortable" +value: "comfortable" } +orgLogoUrl: "" +orgFaviconUrl: "" +customCss: "" } +customCss: "" +themeSlug: "minimal" +hasOwnSettings: true +blockDesign: [] +textStyles: [] } -handlerName: "App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeHandler::__invoke" } |
"App\PageBuilder\Application\Query\GetPageBySlug\GetPageBySlugQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Bus | query.bus |
| Message | App\PageBuilder\Application\Query\GetPageBySlug\GetPageBySlugQuery {#586 +slug: "optique-services" } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#594 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#547 -result: App\PageBuilder\Application\Query\PageView {#395 +id: "019fafef-3eca-7a9e-8dc1-c30ed9c13698" +slug: "optique-services" +title: "Optique Lumière — Nos services" +ownerType: "organization" +ownerId: "019faa7b-72e5-732d-9607-71ca860d5e28" +status: "published" +visibility: "public" +document: [ "version" => 1 "blocks" => [ [ "id" => "blk_01KYQYYFPAF838VGE31VBH5MNS" "type" => "navbar" "props" => [ "brand" => "Optique Lumière" "links" => [ [ "url" => "/" "label" => "Accueil" ] [ "url" => "/optique-boutique" "label" => "La boutique" ] [ "url" => "/optique-services" "label" => "Nos services" ] [ "url" => "/optique-marques" "label" => "Marques" ] [ "url" => "/optique-contact" "label" => "Contact" ] ] "ctaUrl" => "/optique-rendez-vous" "sticky" => true "homeUrl" => "/" "logoUrl" => "" "ctaLabel" => "Prendre rendez-vous" "activeUrl" => "/optique-services" "transparentUntilScroll" => false ] "children" => [] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF978VGE31VCFMWKN" "type" => "section" "props" => [ "style" => [ "fullBleed" => true ] "maxWidth" => "wide" "paddingX" => "lg" "paddingY" => "lg" "backgroundColor" => "var(--color-primary, #12507d)" ] "children" => [ [ [ "id" => "blk_01KYQYYFPAF8D8VGE31VBW2Q9M" "type" => "rich_text" "props" => [ "html" => "Nos services" "textStyle" => [ "color" => "var(--color-accent, #e0a33c)" "fontSize" => "12px" "fontFamily" => "sans" "fontWeight" => "700" "letterSpacing" => ".2em" "textTransform" => "uppercase" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF8Q8VGE31VBZ9XT7" "type" => "rich_text" "props" => [ "html" => "Un métier, pas un rayon" "textStyle" => [ "color" => "#f7fafc" "fontSize" => "clamp(32px,5vw,58px)" "fontFamily" => "heading" "fontWeight" => "800" "lineHeight" => "1.05" "letterSpacing" => "-.03em" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF918VGE31VC4KAWA" "type" => "rich_text" "props" => [ "html" => "Examen de vue, tiers payant, ajustage à vie, montage sur votre monture : ce qui fait la différence entre un opticien et un colis." "style" => [ "marginTop" => 4 ] "textStyle" => [ "color" => "color-mix(in srgb, #f7fafc 82%, transparent)" "fontSize" => "17px" "fontFamily" => "sans" "lineHeight" => "1.65" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] ] ] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF5Q8VGE31VA75XB8" "type" => "section" "props" => [ "maxWidth" => "wide" "paddingX" => "lg" "paddingY" => "xl" "backgroundColor" => "var(--color-surface, #ffffff)" ] "children" => [ [ [ "id" => "blk_01KYQYYFPAF2N8VGE31V9CY1YN" "type" => "rich_text" "props" => [ "html" => "En magasin" "textStyle" => [ "color" => "var(--color-accent, #e0a33c)" "fontSize" => "12px" "fontFamily" => "sans" "fontWeight" => "700" "letterSpacing" => ".2em" "textTransform" => "uppercase" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF4V8VGE31V9NRAWC" "type" => "rich_text" "props" => [ "html" => "Six raisons de pousser la porte" "textStyle" => [ "color" => "var(--color-text, #101a24)" "fontSize" => "clamp(30px,4.4vw,50px)" "fontFamily" => "heading" "fontWeight" => "800" "lineHeight" => "1.05" "letterSpacing" => "-.03em" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF5D8VGE31V9V2DBT" "type" => "cards" "props" => [ "gap" => "md" "items" => [ [ "icon" => "👁️" "meta" => "Déduit de votre équipement" "text" => "Réfraction, acuité, vision de près et de loin, écarts pupillaires. Sur rendez-vous, 30 minutes." "color" => "var(--color-primary, #12507d)" "image" => "" "title" => "Examen de vue" "eyebrow" => "30 €" "linkUrl" => "/optique-rendez-vous" "linkLabel" => "Prendre rendez-vous" ] [ "icon" => "💳" "meta" => "Toutes mutuelles agréées" "text" => "Nous facturons la Sécurité sociale et votre mutuelle. Vous ne réglez que le reste à charge." "color" => "var(--color-accent, #e0a33c)" "image" => "" "title" => "Tiers payant intégral" "eyebrow" => "Sans avance de frais" "linkUrl" => "" "linkLabel" => "" ] [ "icon" => "🛠️" "meta" => "Sans rendez-vous" "text" => "Reprise de l’alignement, cambrure des branches, plaquettes. Gratuit sur nos montures, y compris achetées en ligne." "color" => "var(--color-primary, #12507d)" "image" => "" "title" => "Ajustage & réparation" "eyebrow" => "Offert" "linkUrl" => "" "linkLabel" => "" ] [ "icon" => "🔍" "meta" => "Sous 5 jours ouvrés" "text" => "Vous gardez la monture que vous aimez, on y monte des verres neufs. Contrôle préalable de l’état." "color" => "var(--color-accent, #e0a33c)" "image" => "" "title" => "Verres sur monture personnelle" "eyebrow" => "89 €" "linkUrl" => "/optique-boutique" "linkLabel" => "Commander" ] [ "icon" => "🫧" "meta" => "Sur rendez-vous" "text" => "Séance d’apprentissage de la pose et du retrait, essai de plusieurs géométries avant de choisir." "color" => "var(--color-primary, #12507d)" "image" => "" "title" => "Lentilles : essai & apprentissage" "eyebrow" => "Première pose" "linkUrl" => "/optique-rendez-vous" "linkLabel" => "Prendre rendez-vous" ] [ "icon" => "🧒" "meta" => "Dès 4 ans" "text" => "Montures flexibles, casse remplacée gratuitement, contrôle de l’adaptation tous les six mois." "color" => "var(--color-accent, #e0a33c)" "image" => "" "title" => "Optique de l’enfant" "eyebrow" => "Garantie 2 ans" "linkUrl" => "/optique-boutique" "linkLabel" => "Voir les montures" ] ] "columns" => 3 "variant" => "outline" ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] ] ] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF718VGE31VB2ZCJR" "type" => "section" "props" => [ "maxWidth" => "normal" "paddingX" => "lg" "paddingY" => "xl" "backgroundColor" => "var(--color-background, #f6f8fa)" ] "children" => [ [ [ "id" => "blk_01KYQYYFPAF698VGE31VANFFX7" "type" => "rich_text" "props" => [ "html" => "Questions fréquentes" "textStyle" => [ "color" => "var(--color-accent, #e0a33c)" "fontSize" => "12px" "fontFamily" => "sans" "fontWeight" => "700" "letterSpacing" => ".2em" "textTransform" => "uppercase" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF6H8VGE31VAVP5M0" "type" => "rich_text" "props" => [ "html" => "Ce qu’on nous demande le plus" "textStyle" => [ "color" => "var(--color-text, #101a24)" "fontSize" => "clamp(30px,4.4vw,50px)" "fontFamily" => "heading" "fontWeight" => "800" "lineHeight" => "1.05" "letterSpacing" => "-.03em" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF6S8VGE31VAVVQDV" "type" => "accordion" "props" => [ "items" => [ [ "title" => "Faut-il une ordonnance pour commander ?" "content" => "Pour des verres correcteurs ou des lentilles, oui : une ordonnance en cours de validité (5 ans pour un adulte de 16 à 42 ans, 3 ans au-delà, 1 an avant 16 ans). Pour une monture seule, des solaires non correctrices ou un accessoire, non." ] [ "title" => "Puis-je essayer avant d’acheter en ligne ?" "content" => "Oui. Réservez un créneau, venez essayer, et repartez avec — ou commandez en ligne le soir même. Les montures du site sont celles du magasin." ] [ "title" => "Comment fonctionne le tiers payant ?" "content" => "Nous télétransmettons directement à la Sécurité sociale et à votre mutuelle. Apportez votre carte Vitale et votre attestation de mutuelle : vous ne réglez que le reste à charge, souvent nul dans le cadre du 100 % Santé." ] [ "title" => "Combien de temps pour recevoir mes lunettes ?" "content" => "Comptez 48 h pour des verres unifocaux simples, 5 jours ouvrés pour des progressifs ou des verres à traitement spécifique. Nous vous prévenons dès que la commande est prête." ] [ "title" => "Que se passe-t-il si la monture ne me va plus ?" "content" => "Vous disposez de 30 jours pour l’échanger ou vous faire rembourser, monture non portée et dans son étui. Passé ce délai, l’ajustage reste gratuit à vie." ] [ "title" => "Réparez-vous les lunettes achetées ailleurs ?" "content" => "Oui, l’ajustage est facturé 15 € et la soudure de monture est possible selon le matériau. Passez sans rendez-vous, on regarde ensemble." ] ] "allowMultiple" => false ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] ] ] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF9N8VGE31VCHXZC6" "type" => "page_footer" "props" => [ "links" => [ [ "url" => "/optique-boutique" "label" => "La boutique" ] [ "url" => "/optique-services" "label" => "Nos services" ] [ "url" => "/optique-rendez-vous" "label" => "Prendre rendez-vous" ] [ "url" => "/optique-contact" "label" => "Contact & horaires" ] ] "tagline" => "Opticien diplômé depuis 1994 — agréé toutes mutuelles, tiers payant intégral." "brandText" => "Optique Lumière" "addressText" => "14 rue Gabriel Péri, 92120 Montrouge — 01 46 55 12 90" ] "children" => [] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] ] "settings" => [] ] +themeOverride: [ "colorPrimary" => "" "colorAccent" => "" "colorBackground" => "" "colorSurface" => "" "colorText" => "" "colorTextSecondary" => "" "colorTextMuted" => "" "fontFamily" => "" "fontFamilyHeading" => "" "borderRadius" => "" "backgroundImage" => "" ] +seo: [ "title" => "" "description" => "" "ogImageUrl" => "" "canonicalUrl" => "" ] +viewsCount: 3 +createdAt: "2026-07-29T22:11:59+00:00" +updatedAt: "2026-07-29T21:11:59+00:00" +publishedAt: "2026-07-29T22:11:59+00:00" } -handlerName: "App\PageBuilder\Application\Query\GetPageBySlug\GetPageBySlugHandler::__invoke" } |
"App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Bus | query.bus |
| Message | App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery {#109 +owners: [ App\Theming\Domain\Model\ThemeOwner {#341 +type: App\Theming\Domain\Model\ThemeOwnerType {#1290 +name: "Organization" +value: "organization" } +id: "019faa7b-72e5-732d-9607-71ca860d5e28" } ] } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#100 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#86 -result: App\Theming\Application\Query\GetResolvedTheme\ResolvedTheme {#80 +tokens: App\Theming\Domain\Model\ThemeTokens {#72 +colorPrimary: App\SharedKernel\Domain\ValueObject\HexColor {#71 -value: "#12507d" } +colorAccent: App\SharedKernel\Domain\ValueObject\HexColor {#70 -value: "#e0a33c" } +colorBackground: App\SharedKernel\Domain\ValueObject\HexColor {#69 -value: "#f6f8fa" } +colorSurface: App\SharedKernel\Domain\ValueObject\HexColor {#68 -value: "#ffffff" } +colorText: App\SharedKernel\Domain\ValueObject\HexColor {#67 -value: "#101a24" } +fontFamily: "Inter" +colorPrimaryHover: "#0d3c60" +colorPrimaryLight: "#dbeafe" +colorAccentHover: "#c98a26" +colorAccentLight: "#fdf0d8" +colorSuccess: "#0f8a5f" +colorSuccessLight: "" +colorWarning: "#e0a33c" +colorWarningLight: "" +colorError: "#d23f31" +colorErrorLight: "" +colorInfo: "#12507d" +colorInfoLight: "" +colorSurfaceHover: "" +colorTopbar: "#ffffff" +colorBorder: "rgba(16, 26, 36, 0.10)" +bgSidebar: "#0e2334" +bgSidebarHover: "#16344a" +bgSidebarActive: "#1d4360" +backgroundImage: "" +sidebarOpacity: "100" +neutral50: "" +neutral100: "" +neutral200: "" +neutral300: "" +neutral400: "" +neutral500: "" +neutral600: "" +neutral700: "" +neutral800: "" +neutral900: "" +fontFamilyHeading: "Sora" +fontFamilyMono: "" +fontSize: App\Theming\Domain\Model\FontSize {#730 +name: "Base" +value: "base" } +fontSizeSmall: "" +fontSizeLarge: "" +fontWeightNormal: "400" +fontWeightMedium: "500" +fontWeightSemibold: "600" +fontWeightBold: "700" +lineHeight: "1.65" +lineHeightTight: "1.3" +letterSpacing: "0" +borderRadius: "0.75rem" +radiusSm: "6px" +radiusMd: "8px" +radiusLg: "12px" +radiusXl: "16px" +radius2xl: "1rem" +radius3xl: "1.5rem" +radiusFull: "9999px" +shadowSm: "0 1px 2px rgba(16, 26, 36, 0.06)" +shadowMd: "0 10px 30px -12px rgba(18, 80, 125, 0.28)" +shadowLg: "" +shadowXl: "" +shadowFocus: "0 0 0 3px rgba(18, 80, 125, 0.30)" +btnBorderRadius: "999px" +btnPaddingX: "" +btnPaddingY: "" +inputBorderRadius: "" +inputBorderColor: "" +cardBorderRadius: "" +cardBorderColor: "rgba(16, 26, 36, 0.10)" +cardShadow: "" +msgBubbleRadius: "" +msgOutgoingBg: "" +msgOutgoingColor: "" +msgIncomingBg: "" +msgIncomingColor: "" +avatarRadius: "" +transitionFast: "0.15s" +transitionBase: "0.2s" +transitionSlow: "0.3s" +transitionEasing: "cubic-bezier(0.4, 0, 0.2, 1)" +colorTextSecondary: "" +colorTextMuted: "" +density: App\Theming\Domain\Model\Density {#727 +name: "Comfortable" +value: "comfortable" } +orgLogoUrl: "" +orgFaviconUrl: "" +customCss: "" } +customCss: "" +themeSlug: "minimal" +hasOwnSettings: true +blockDesign: [] +textStyles: [] } -handlerName: "App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeHandler::__invoke" } |
"App\PageBuilder\Application\Query\GetSiteChrome\GetSiteChromeQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Bus | query.bus |
| Message | App\PageBuilder\Application\Query\GetSiteChrome\GetSiteChromeQuery {#3393 +owner: App\PageBuilder\Domain\Model\PageOwner {#3387 +type: App\PageBuilder\Domain\Model\PageOwnerType {#454 +name: "Organization" +value: "organization" } +id: "019faa7b-72e5-732d-9607-71ca860d5e28" } } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#2337 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#3667 -result: App\PageBuilder\Application\Query\GetSiteChrome\SiteChromeView {#3710 +header: null +footer: null } -handlerName: "App\PageBuilder\Application\Query\GetSiteChrome\GetSiteChromeHandler::__invoke" } |
command.bus0
Ordered list of messages dispatched on the command.bus bus
query.bus4
Ordered list of messages dispatched on the query.bus bus
"App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Message | App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery {#1267 +owners: [ App\Theming\Domain\Model\ThemeOwner {#1081 +type: App\Theming\Domain\Model\ThemeOwnerType {#1290 +name: "Organization" +value: "organization" } +id: "019faa7b-72e5-732d-9607-71ca860d5e28" } ] } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#1280 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#737 -result: App\Theming\Application\Query\GetResolvedTheme\ResolvedTheme {#725 +tokens: App\Theming\Domain\Model\ThemeTokens {#717 +colorPrimary: App\SharedKernel\Domain\ValueObject\HexColor {#716 -value: "#12507d" } +colorAccent: App\SharedKernel\Domain\ValueObject\HexColor {#715 -value: "#e0a33c" } +colorBackground: App\SharedKernel\Domain\ValueObject\HexColor {#714 -value: "#f6f8fa" } +colorSurface: App\SharedKernel\Domain\ValueObject\HexColor {#713 -value: "#ffffff" } +colorText: App\SharedKernel\Domain\ValueObject\HexColor {#712 -value: "#101a24" } +fontFamily: "Inter" +colorPrimaryHover: "#0d3c60" +colorPrimaryLight: "#dbeafe" +colorAccentHover: "#c98a26" +colorAccentLight: "#fdf0d8" +colorSuccess: "#0f8a5f" +colorSuccessLight: "" +colorWarning: "#e0a33c" +colorWarningLight: "" +colorError: "#d23f31" +colorErrorLight: "" +colorInfo: "#12507d" +colorInfoLight: "" +colorSurfaceHover: "" +colorTopbar: "#ffffff" +colorBorder: "rgba(16, 26, 36, 0.10)" +bgSidebar: "#0e2334" +bgSidebarHover: "#16344a" +bgSidebarActive: "#1d4360" +backgroundImage: "" +sidebarOpacity: "100" +neutral50: "" +neutral100: "" +neutral200: "" +neutral300: "" +neutral400: "" +neutral500: "" +neutral600: "" +neutral700: "" +neutral800: "" +neutral900: "" +fontFamilyHeading: "Sora" +fontFamilyMono: "" +fontSize: App\Theming\Domain\Model\FontSize {#730 +name: "Base" +value: "base" } +fontSizeSmall: "" +fontSizeLarge: "" +fontWeightNormal: "400" +fontWeightMedium: "500" +fontWeightSemibold: "600" +fontWeightBold: "700" +lineHeight: "1.65" +lineHeightTight: "1.3" +letterSpacing: "0" +borderRadius: "0.75rem" +radiusSm: "6px" +radiusMd: "8px" +radiusLg: "12px" +radiusXl: "16px" +radius2xl: "1rem" +radius3xl: "1.5rem" +radiusFull: "9999px" +shadowSm: "0 1px 2px rgba(16, 26, 36, 0.06)" +shadowMd: "0 10px 30px -12px rgba(18, 80, 125, 0.28)" +shadowLg: "" +shadowXl: "" +shadowFocus: "0 0 0 3px rgba(18, 80, 125, 0.30)" +btnBorderRadius: "999px" +btnPaddingX: "" +btnPaddingY: "" +inputBorderRadius: "" +inputBorderColor: "" +cardBorderRadius: "" +cardBorderColor: "rgba(16, 26, 36, 0.10)" +cardShadow: "" +msgBubbleRadius: "" +msgOutgoingBg: "" +msgOutgoingColor: "" +msgIncomingBg: "" +msgIncomingColor: "" +avatarRadius: "" +transitionFast: "0.15s" +transitionBase: "0.2s" +transitionSlow: "0.3s" +transitionEasing: "cubic-bezier(0.4, 0, 0.2, 1)" +colorTextSecondary: "" +colorTextMuted: "" +density: App\Theming\Domain\Model\Density {#727 +name: "Comfortable" +value: "comfortable" } +orgLogoUrl: "" +orgFaviconUrl: "" +customCss: "" } +customCss: "" +themeSlug: "minimal" +hasOwnSettings: true +blockDesign: [] +textStyles: [] } -handlerName: "App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeHandler::__invoke" } |
"App\PageBuilder\Application\Query\GetPageBySlug\GetPageBySlugQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Message | App\PageBuilder\Application\Query\GetPageBySlug\GetPageBySlugQuery {#586 +slug: "optique-services" } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#594 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#547 -result: App\PageBuilder\Application\Query\PageView {#395 +id: "019fafef-3eca-7a9e-8dc1-c30ed9c13698" +slug: "optique-services" +title: "Optique Lumière — Nos services" +ownerType: "organization" +ownerId: "019faa7b-72e5-732d-9607-71ca860d5e28" +status: "published" +visibility: "public" +document: [ "version" => 1 "blocks" => [ [ "id" => "blk_01KYQYYFPAF838VGE31VBH5MNS" "type" => "navbar" "props" => [ "brand" => "Optique Lumière" "links" => [ [ "url" => "/" "label" => "Accueil" ] [ "url" => "/optique-boutique" "label" => "La boutique" ] [ "url" => "/optique-services" "label" => "Nos services" ] [ "url" => "/optique-marques" "label" => "Marques" ] [ "url" => "/optique-contact" "label" => "Contact" ] ] "ctaUrl" => "/optique-rendez-vous" "sticky" => true "homeUrl" => "/" "logoUrl" => "" "ctaLabel" => "Prendre rendez-vous" "activeUrl" => "/optique-services" "transparentUntilScroll" => false ] "children" => [] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF978VGE31VCFMWKN" "type" => "section" "props" => [ "style" => [ "fullBleed" => true ] "maxWidth" => "wide" "paddingX" => "lg" "paddingY" => "lg" "backgroundColor" => "var(--color-primary, #12507d)" ] "children" => [ [ [ "id" => "blk_01KYQYYFPAF8D8VGE31VBW2Q9M" "type" => "rich_text" "props" => [ "html" => "Nos services" "textStyle" => [ "color" => "var(--color-accent, #e0a33c)" "fontSize" => "12px" "fontFamily" => "sans" "fontWeight" => "700" "letterSpacing" => ".2em" "textTransform" => "uppercase" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF8Q8VGE31VBZ9XT7" "type" => "rich_text" "props" => [ "html" => "Un métier, pas un rayon" "textStyle" => [ "color" => "#f7fafc" "fontSize" => "clamp(32px,5vw,58px)" "fontFamily" => "heading" "fontWeight" => "800" "lineHeight" => "1.05" "letterSpacing" => "-.03em" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF918VGE31VC4KAWA" "type" => "rich_text" "props" => [ "html" => "Examen de vue, tiers payant, ajustage à vie, montage sur votre monture : ce qui fait la différence entre un opticien et un colis." "style" => [ "marginTop" => 4 ] "textStyle" => [ "color" => "color-mix(in srgb, #f7fafc 82%, transparent)" "fontSize" => "17px" "fontFamily" => "sans" "lineHeight" => "1.65" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] ] ] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF5Q8VGE31VA75XB8" "type" => "section" "props" => [ "maxWidth" => "wide" "paddingX" => "lg" "paddingY" => "xl" "backgroundColor" => "var(--color-surface, #ffffff)" ] "children" => [ [ [ "id" => "blk_01KYQYYFPAF2N8VGE31V9CY1YN" "type" => "rich_text" "props" => [ "html" => "En magasin" "textStyle" => [ "color" => "var(--color-accent, #e0a33c)" "fontSize" => "12px" "fontFamily" => "sans" "fontWeight" => "700" "letterSpacing" => ".2em" "textTransform" => "uppercase" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF4V8VGE31V9NRAWC" "type" => "rich_text" "props" => [ "html" => "Six raisons de pousser la porte" "textStyle" => [ "color" => "var(--color-text, #101a24)" "fontSize" => "clamp(30px,4.4vw,50px)" "fontFamily" => "heading" "fontWeight" => "800" "lineHeight" => "1.05" "letterSpacing" => "-.03em" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF5D8VGE31V9V2DBT" "type" => "cards" "props" => [ "gap" => "md" "items" => [ [ "icon" => "👁️" "meta" => "Déduit de votre équipement" "text" => "Réfraction, acuité, vision de près et de loin, écarts pupillaires. Sur rendez-vous, 30 minutes." "color" => "var(--color-primary, #12507d)" "image" => "" "title" => "Examen de vue" "eyebrow" => "30 €" "linkUrl" => "/optique-rendez-vous" "linkLabel" => "Prendre rendez-vous" ] [ "icon" => "💳" "meta" => "Toutes mutuelles agréées" "text" => "Nous facturons la Sécurité sociale et votre mutuelle. Vous ne réglez que le reste à charge." "color" => "var(--color-accent, #e0a33c)" "image" => "" "title" => "Tiers payant intégral" "eyebrow" => "Sans avance de frais" "linkUrl" => "" "linkLabel" => "" ] [ "icon" => "🛠️" "meta" => "Sans rendez-vous" "text" => "Reprise de l’alignement, cambrure des branches, plaquettes. Gratuit sur nos montures, y compris achetées en ligne." "color" => "var(--color-primary, #12507d)" "image" => "" "title" => "Ajustage & réparation" "eyebrow" => "Offert" "linkUrl" => "" "linkLabel" => "" ] [ "icon" => "🔍" "meta" => "Sous 5 jours ouvrés" "text" => "Vous gardez la monture que vous aimez, on y monte des verres neufs. Contrôle préalable de l’état." "color" => "var(--color-accent, #e0a33c)" "image" => "" "title" => "Verres sur monture personnelle" "eyebrow" => "89 €" "linkUrl" => "/optique-boutique" "linkLabel" => "Commander" ] [ "icon" => "🫧" "meta" => "Sur rendez-vous" "text" => "Séance d’apprentissage de la pose et du retrait, essai de plusieurs géométries avant de choisir." "color" => "var(--color-primary, #12507d)" "image" => "" "title" => "Lentilles : essai & apprentissage" "eyebrow" => "Première pose" "linkUrl" => "/optique-rendez-vous" "linkLabel" => "Prendre rendez-vous" ] [ "icon" => "🧒" "meta" => "Dès 4 ans" "text" => "Montures flexibles, casse remplacée gratuitement, contrôle de l’adaptation tous les six mois." "color" => "var(--color-accent, #e0a33c)" "image" => "" "title" => "Optique de l’enfant" "eyebrow" => "Garantie 2 ans" "linkUrl" => "/optique-boutique" "linkLabel" => "Voir les montures" ] ] "columns" => 3 "variant" => "outline" ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] ] ] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF718VGE31VB2ZCJR" "type" => "section" "props" => [ "maxWidth" => "normal" "paddingX" => "lg" "paddingY" => "xl" "backgroundColor" => "var(--color-background, #f6f8fa)" ] "children" => [ [ [ "id" => "blk_01KYQYYFPAF698VGE31VANFFX7" "type" => "rich_text" "props" => [ "html" => "Questions fréquentes" "textStyle" => [ "color" => "var(--color-accent, #e0a33c)" "fontSize" => "12px" "fontFamily" => "sans" "fontWeight" => "700" "letterSpacing" => ".2em" "textTransform" => "uppercase" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF6H8VGE31VAVP5M0" "type" => "rich_text" "props" => [ "html" => "Ce qu’on nous demande le plus" "textStyle" => [ "color" => "var(--color-text, #101a24)" "fontSize" => "clamp(30px,4.4vw,50px)" "fontFamily" => "heading" "fontWeight" => "800" "lineHeight" => "1.05" "letterSpacing" => "-.03em" ] ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] [ "id" => "blk_01KYQYYFPAF6S8VGE31VAVVQDV" "type" => "accordion" "props" => [ "items" => [ [ "title" => "Faut-il une ordonnance pour commander ?" "content" => "Pour des verres correcteurs ou des lentilles, oui : une ordonnance en cours de validité (5 ans pour un adulte de 16 à 42 ans, 3 ans au-delà, 1 an avant 16 ans). Pour une monture seule, des solaires non correctrices ou un accessoire, non." ] [ "title" => "Puis-je essayer avant d’acheter en ligne ?" "content" => "Oui. Réservez un créneau, venez essayer, et repartez avec — ou commandez en ligne le soir même. Les montures du site sont celles du magasin." ] [ "title" => "Comment fonctionne le tiers payant ?" "content" => "Nous télétransmettons directement à la Sécurité sociale et à votre mutuelle. Apportez votre carte Vitale et votre attestation de mutuelle : vous ne réglez que le reste à charge, souvent nul dans le cadre du 100 % Santé." ] [ "title" => "Combien de temps pour recevoir mes lunettes ?" "content" => "Comptez 48 h pour des verres unifocaux simples, 5 jours ouvrés pour des progressifs ou des verres à traitement spécifique. Nous vous prévenons dès que la commande est prête." ] [ "title" => "Que se passe-t-il si la monture ne me va plus ?" "content" => "Vous disposez de 30 jours pour l’échanger ou vous faire rembourser, monture non portée et dans son étui. Passé ce délai, l’ajustage reste gratuit à vie." ] [ "title" => "Réparez-vous les lunettes achetées ailleurs ?" "content" => "Oui, l’ajustage est facturé 15 € et la soudure de monture est possible selon le matériau. Passez sans rendez-vous, on regarde ensemble." ] ] "allowMultiple" => false ] "children" => [] "responsive" => [] "visibility" => [ "mobile" => true "tablet" => true "desktop" => true ] ] ] ] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] [ "id" => "blk_01KYQYYFPAF9N8VGE31VCHXZC6" "type" => "page_footer" "props" => [ "links" => [ [ "url" => "/optique-boutique" "label" => "La boutique" ] [ "url" => "/optique-services" "label" => "Nos services" ] [ "url" => "/optique-rendez-vous" "label" => "Prendre rendez-vous" ] [ "url" => "/optique-contact" "label" => "Contact & horaires" ] ] "tagline" => "Opticien diplômé depuis 1994 — agréé toutes mutuelles, tiers payant intégral." "brandText" => "Optique Lumière" "addressText" => "14 rue Gabriel Péri, 92120 Montrouge — 01 46 55 12 90" ] "children" => [] "responsive" => [] "visibility" => [ "desktop" => true "tablet" => true "mobile" => true ] ] ] "settings" => [] ] +themeOverride: [ "colorPrimary" => "" "colorAccent" => "" "colorBackground" => "" "colorSurface" => "" "colorText" => "" "colorTextSecondary" => "" "colorTextMuted" => "" "fontFamily" => "" "fontFamilyHeading" => "" "borderRadius" => "" "backgroundImage" => "" ] +seo: [ "title" => "" "description" => "" "ogImageUrl" => "" "canonicalUrl" => "" ] +viewsCount: 3 +createdAt: "2026-07-29T22:11:59+00:00" +updatedAt: "2026-07-29T21:11:59+00:00" +publishedAt: "2026-07-29T22:11:59+00:00" } -handlerName: "App\PageBuilder\Application\Query\GetPageBySlug\GetPageBySlugHandler::__invoke" } |
"App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Message | App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeQuery {#109 +owners: [ App\Theming\Domain\Model\ThemeOwner {#341 +type: App\Theming\Domain\Model\ThemeOwnerType {#1290 +name: "Organization" +value: "organization" } +id: "019faa7b-72e5-732d-9607-71ca860d5e28" } ] } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#100 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#86 -result: App\Theming\Application\Query\GetResolvedTheme\ResolvedTheme {#80 +tokens: App\Theming\Domain\Model\ThemeTokens {#72 +colorPrimary: App\SharedKernel\Domain\ValueObject\HexColor {#71 -value: "#12507d" } +colorAccent: App\SharedKernel\Domain\ValueObject\HexColor {#70 -value: "#e0a33c" } +colorBackground: App\SharedKernel\Domain\ValueObject\HexColor {#69 -value: "#f6f8fa" } +colorSurface: App\SharedKernel\Domain\ValueObject\HexColor {#68 -value: "#ffffff" } +colorText: App\SharedKernel\Domain\ValueObject\HexColor {#67 -value: "#101a24" } +fontFamily: "Inter" +colorPrimaryHover: "#0d3c60" +colorPrimaryLight: "#dbeafe" +colorAccentHover: "#c98a26" +colorAccentLight: "#fdf0d8" +colorSuccess: "#0f8a5f" +colorSuccessLight: "" +colorWarning: "#e0a33c" +colorWarningLight: "" +colorError: "#d23f31" +colorErrorLight: "" +colorInfo: "#12507d" +colorInfoLight: "" +colorSurfaceHover: "" +colorTopbar: "#ffffff" +colorBorder: "rgba(16, 26, 36, 0.10)" +bgSidebar: "#0e2334" +bgSidebarHover: "#16344a" +bgSidebarActive: "#1d4360" +backgroundImage: "" +sidebarOpacity: "100" +neutral50: "" +neutral100: "" +neutral200: "" +neutral300: "" +neutral400: "" +neutral500: "" +neutral600: "" +neutral700: "" +neutral800: "" +neutral900: "" +fontFamilyHeading: "Sora" +fontFamilyMono: "" +fontSize: App\Theming\Domain\Model\FontSize {#730 +name: "Base" +value: "base" } +fontSizeSmall: "" +fontSizeLarge: "" +fontWeightNormal: "400" +fontWeightMedium: "500" +fontWeightSemibold: "600" +fontWeightBold: "700" +lineHeight: "1.65" +lineHeightTight: "1.3" +letterSpacing: "0" +borderRadius: "0.75rem" +radiusSm: "6px" +radiusMd: "8px" +radiusLg: "12px" +radiusXl: "16px" +radius2xl: "1rem" +radius3xl: "1.5rem" +radiusFull: "9999px" +shadowSm: "0 1px 2px rgba(16, 26, 36, 0.06)" +shadowMd: "0 10px 30px -12px rgba(18, 80, 125, 0.28)" +shadowLg: "" +shadowXl: "" +shadowFocus: "0 0 0 3px rgba(18, 80, 125, 0.30)" +btnBorderRadius: "999px" +btnPaddingX: "" +btnPaddingY: "" +inputBorderRadius: "" +inputBorderColor: "" +cardBorderRadius: "" +cardBorderColor: "rgba(16, 26, 36, 0.10)" +cardShadow: "" +msgBubbleRadius: "" +msgOutgoingBg: "" +msgOutgoingColor: "" +msgIncomingBg: "" +msgIncomingColor: "" +avatarRadius: "" +transitionFast: "0.15s" +transitionBase: "0.2s" +transitionSlow: "0.3s" +transitionEasing: "cubic-bezier(0.4, 0, 0.2, 1)" +colorTextSecondary: "" +colorTextMuted: "" +density: App\Theming\Domain\Model\Density {#727 +name: "Comfortable" +value: "comfortable" } +orgLogoUrl: "" +orgFaviconUrl: "" +customCss: "" } +customCss: "" +themeSlug: "minimal" +hasOwnSettings: true +blockDesign: [] +textStyles: [] } -handlerName: "App\Theming\Application\Query\GetResolvedTheme\GetResolvedThemeHandler::__invoke" } |
"App\PageBuilder\Application\Query\GetSiteChrome\GetSiteChromeQuery" |
|
|---|---|
| Caller | In MessengerQueryBus.php line |
| Message | App\PageBuilder\Application\Query\GetSiteChrome\GetSiteChromeQuery {#3393 +owner: App\PageBuilder\Domain\Model\PageOwner {#3387 +type: App\PageBuilder\Domain\Model\PageOwnerType {#454 +name: "Organization" +value: "organization" } +id: "019faa7b-72e5-732d-9607-71ca860d5e28" } } |
| Envelope stamps when dispatching | No items |
| Envelope stamps after dispatch |
Symfony\Component\Messenger\Stamp\BusNameStamp {#2337 -busName: "query.bus" } Symfony\Component\Messenger\Stamp\HandledStamp {#3667 -result: App\PageBuilder\Application\Query\GetSiteChrome\SiteChromeView {#3710 +header: null +footer: null } -handlerName: "App\PageBuilder\Application\Query\GetSiteChrome\GetSiteChromeHandler::__invoke" } |
event.bus0
Ordered list of messages dispatched on the event.bus bus