tag:blogger.com,1999:blog-23159649367631308192024-02-07T21:00:16.862-05:00Louis-Guillaume's BlogIf you do it, do it Béton!Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.comBlogger107125tag:blogger.com,1999:blog-2315964936763130819.post-90444123335020775082023-08-13T20:38:00.001-04:002023-08-13T20:38:42.135-04:00Midjourney - Art of prompting<p style="clear: both; text-align: left;">What would you prompt to achieve such results?</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX6SUjVqBdgAnBQQ2UToNB4M2Rg3Dx7aHA6lRkvxbqlgtie71iWNN0mEekXkzgRbcXpZPy8ZO8J3BcLbKiemtuyiS48cOcFPOneu-iqDuIswg7FJx8ncgkMewEwsw-F2F90DiKC5qcz8ryNaxIYPnb5JQnbVD_OOmDkXhiJfLU3kgCyWxhZj4JvZWTczsW/s1024/lgcarrier_a_cat_with_lips_like_kiss_bloo_a_big_pink_gum_bubble__ed6e70dc-7eb9-4651-94d1-8bb91cd50870.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="1024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX6SUjVqBdgAnBQQ2UToNB4M2Rg3Dx7aHA6lRkvxbqlgtie71iWNN0mEekXkzgRbcXpZPy8ZO8J3BcLbKiemtuyiS48cOcFPOneu-iqDuIswg7FJx8ncgkMewEwsw-F2F90DiKC5qcz8ryNaxIYPnb5JQnbVD_OOmDkXhiJfLU3kgCyWxhZj4JvZWTczsW/s320/lgcarrier_a_cat_with_lips_like_kiss_bloo_a_big_pink_gum_bubble__ed6e70dc-7eb9-4651-94d1-8bb91cd50870.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh93yYk-dnMeojyAxXcyDSRTFoB2KcMZoOQg4U77o-h13fWDojVuSDost25FpjJj0CXBOA2rOxEvxFKGFZcRRbVqqKc57bcWGYkvN_XBgjUsqtHiWnp_SgYnHZOcDP3mVc3HBQHjs_Jpx8wtxPOey7vvznmtS_m8S9BuEXRNe5Ft5NpT8Kne-ukf0XI_dhS/s1024/lgcarrier_Steven_Spielberg_with_lips_like_kiss_bloo_a_big_pink__e865afcc-f8c8-45bf-a817-33a7efc32e4e.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="1024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh93yYk-dnMeojyAxXcyDSRTFoB2KcMZoOQg4U77o-h13fWDojVuSDost25FpjJj0CXBOA2rOxEvxFKGFZcRRbVqqKc57bcWGYkvN_XBgjUsqtHiWnp_SgYnHZOcDP3mVc3HBQHjs_Jpx8wtxPOey7vvznmtS_m8S9BuEXRNe5Ft5NpT8Kne-ukf0XI_dhS/s320/lgcarrier_Steven_Spielberg_with_lips_like_kiss_bloo_a_big_pink__e865afcc-f8c8-45bf-a817-33a7efc32e4e.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSMf5aeYOIEuwpRAOc7f9VznWcHC2u9OuFHxPA6gyND0RsMwvS_8sLlWI-2kAHT6KCXJonq-16jjdTj7A2F3xiaLJPmcLm82fj42CQboZ21e0DH2_yxwCGVou4FhA2E6I7SZqqaSDvYNhtzXLzoatSU4bkx61-9gWL4LYPBcNrNAMbeXVI2iXtvBWBWP0z/s1024/lgcarrier_The_Pope_with_lips_like_kiss_bloo_a_big_pink_gum_bubb_6e8fcddd-be0b-4d55-9f5c-e3b28029918d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="1024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSMf5aeYOIEuwpRAOc7f9VznWcHC2u9OuFHxPA6gyND0RsMwvS_8sLlWI-2kAHT6KCXJonq-16jjdTj7A2F3xiaLJPmcLm82fj42CQboZ21e0DH2_yxwCGVou4FhA2E6I7SZqqaSDvYNhtzXLzoatSU4bkx61-9gWL4LYPBcNrNAMbeXVI2iXtvBWBWP0z/s320/lgcarrier_The_Pope_with_lips_like_kiss_bloo_a_big_pink_gum_bubb_6e8fcddd-be0b-4d55-9f5c-e3b28029918d.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlfijBwD_L3jNkeVF-gYQmfxth3j8ZJm_etUFcgu7Wh5OBMIm6YXexTj8cDJ6Ig3eMM2Hh-016uA7qm6lesmU-KeW3O6rKx3sAPBiO6UF-iQ7BjFW-e4KsZmVXXURTo50KnihWbQw9TN6zvr-VeeIVFfLN1QE38bTOdpWTJYJKALNXC-M_Yi-orY34XyxK/s1024/lgcarrier_Warren_Buffett_with_lips_like_kiss_bloo_a_big_pink_gu_6f6c6214-26da-4588-81cf-2c9968cc0bef.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1024" data-original-width="1024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlfijBwD_L3jNkeVF-gYQmfxth3j8ZJm_etUFcgu7Wh5OBMIm6YXexTj8cDJ6Ig3eMM2Hh-016uA7qm6lesmU-KeW3O6rKx3sAPBiO6UF-iQ7BjFW-e4KsZmVXXURTo50KnihWbQw9TN6zvr-VeeIVFfLN1QE38bTOdpWTJYJKALNXC-M_Yi-orY34XyxK/s320/lgcarrier_Warren_Buffett_with_lips_like_kiss_bloo_a_big_pink_gu_6f6c6214-26da-4588-81cf-2c9968cc0bef.png" width="320" /></a></div><br /><p style="clear: both; text-align: left;"><br /></p><p style="clear: both; text-align: left;">Try this one:</p><blockquote><p style="clear: both; text-align: left;"><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-indigo-700 hover:text-indigo-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(67, 56, 202); text-decoration-thickness: 2px; text-underline-offset: 2px;">The Pope with lips like kiss bloo a big pink gum bubble</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-yellow-700 hover:text-yellow-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(161, 98, 7); text-decoration-thickness: 2px; text-underline-offset: 2px;">high fashion</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-blue-700 hover:text-blue-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(43, 108, 176); text-decoration-thickness: 2px; text-underline-offset: 2px;">vibrant colors</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-purple-700 hover:text-purple-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(126, 34, 206); text-decoration-thickness: 2px; text-underline-offset: 2px;">fashion photography</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-rose-700 hover:text-rose-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(190, 18, 60); text-decoration-thickness: 2px; text-underline-offset: 2px;">detailed</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-emerald-700 hover:text-emerald-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(4, 120, 87); text-decoration-thickness: 2px; text-underline-offset: 2px;">magazine photography</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-orange-700 hover:text-orange-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(194, 65, 12); text-decoration-thickness: 2px; text-underline-offset: 2px;">with vibrant colors and exquisite details</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-indigo-700 hover:text-indigo-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(67, 56, 202); text-decoration-thickness: 2px; text-underline-offset: 2px;">Canon EOS 5D Mark IV</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-yellow-700 hover:text-yellow-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(161, 98, 7); text-decoration-thickness: 2px; text-underline-offset: 2px;">24</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">-</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-blue-700 hover:text-blue-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(43, 108, 176); text-decoration-thickness: 2px; text-underline-offset: 2px;">70mm lens</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-purple-700 hover:text-purple-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(126, 34, 206); text-decoration-thickness: 2px; text-underline-offset: 2px;">f</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">/</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-rose-700 hover:text-rose-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(190, 18, 60); text-decoration-thickness: 2px; text-underline-offset: 2px;">4</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-emerald-700 hover:text-emerald-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(4, 120, 87); text-decoration-thickness: 2px; text-underline-offset: 2px;">ISO 200</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-orange-700 hover:text-orange-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(194, 65, 12); text-decoration-thickness: 2px; text-underline-offset: 2px;">1</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">/</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-indigo-700 hover:text-indigo-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(67, 56, 202); text-decoration-thickness: 2px; text-underline-offset: 2px;">100 sec</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-yellow-700 hover:text-yellow-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(161, 98, 7); text-decoration-thickness: 2px; text-underline-offset: 2px;">textures and details</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">.</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-blue-700 hover:text-blue-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(43, 108, 176); text-decoration-thickness: 2px; text-underline-offset: 2px;">Warm lighting</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-purple-700 hover:text-purple-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(126, 34, 206); text-decoration-thickness: 2px; text-underline-offset: 2px;">high</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">-</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-rose-700 hover:text-rose-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(190, 18, 60); text-decoration-thickness: 2px; text-underline-offset: 2px;">end fashion</span></span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class="text-slate-200" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity));">,</span></span><span style="background-color: #080b16; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";"> </span><span class="relative hover:z-50 text-base md:text-xl .inline-block" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; background-color: #080b16; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: #cbd5e1; font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; position: relative;"><span class=" hover:!.text-white hover:underline underline-offset-2 decoration-2 rounded p-0.5 -m-0.5 cursor-pointer text-slate-200 decoration-emerald-700 hover:text-emerald-50" draggable="false" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(66,153,225,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; -webkit-tap-highlight-color: transparent; border-radius: 0.25rem; border: 0px solid rgb(237, 242, 247); box-sizing: border-box; color: rgb(226 232 240/var(--tw-text-opacity)); cursor: pointer; margin: -0.125rem; padding: 0.125rem; text-decoration-color: rgb(4, 120, 87); text-decoration-thickness: 2px; text-underline-offset: 2px;">urban setting</span></span></p></blockquote><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><br /></div></div>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-46787043412335816132023-08-13T20:04:00.000-04:002023-08-13T20:04:31.742-04:00A New Dawn: From Oracle Apex to Generative AI<p>Hello dear readers,</p><p><br /></p><p>If you've been here before, you'll remember a time when this space was filled with insights and tutorials on Oracle Application Express (Apex). It's been over a decade since my last post, and the tech landscape has shifted remarkably since then.</p><p><br /></p><p>Today, I'm excited to delve into a topic that has piqued my interest in recent years: Generative AI, specifically focusing on prompt engineering for models like GPT and platforms such as Midjourney.</p><p><br /></p><h4 style="text-align: left;">Why the shift?</h4><p>In the past, I explored the intricacies of Apex, offering a helping hand to many as they navigated that ecosystem. But as I evolved in my tech journey, I became fascinated by how AI can generate content, assist in decision-making, and even partake in creative processes.</p><p><br /></p><h4 style="text-align: left;">What is Generative AI?</h4><p>Generative AI models, like GPT by OpenAI, are designed to produce content. By feeding them prompts, these models can write essays, poems, code, and even music. But the true art lies in "prompt engineering" – crafting prompts that guide the AI to produce desired outputs. Think of it as crafting a question so well that the answer is inevitably insightful.</p><p><br /></p><h4 style="text-align: left;">Why Midjourney and others?</h4><p>Midjourney and similar platforms showcase the potential of these models in real-world applications. They represent the bridge between raw AI capabilities and practical tools we can use daily.</p><p><br /></p><h4 style="text-align: left;">What's Next?</h4><p>Over the next few posts, I'll share my experiments with prompt engineering, insights into best practices, and thoughts on the ethics and responsibilities that come with using such powerful tools. Whether you're an AI enthusiast, a skeptic, or just curious, I invite you to join me on this journey.</p>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-73079361201309003252013-05-16T15:12:00.002-04:002013-05-16T15:12:25.992-04:00Font-Awesome<div>
If you are using <a href="http://twitter.github.io/bootstrap/">Twitter Bootstrap</a> for you visual layer, you should consider using <a href="http://fortawesome.github.io/Font-Awesome/">Font-Awesome</a> for the icons.</div>
Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-54452820958565943882013-05-09T16:31:00.001-04:002013-05-09T16:31:23.282-04:00Asynchronous file upload to an APEX_COLLECTIONIf you are using asynchronous requests to upload data into an APEX_COLLECTION, you will end up with an <b>ORA-00001: unique constraint violated (APEX_040100.WWV_FLOW_COLLECTION_MEMBERS_PK)</b>. The reason is simple, sometimes APEX tries to insert the same value (WWV_FLOW_COLLECTION_MEMBERS$.SEQ_ID). A workaround consist of managing queues on the server side.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com2tag:blogger.com,1999:blog-2315964936763130819.post-59781305033239252912013-02-15T23:45:00.000-05:002013-02-15T23:45:00.475-05:00Google Visualization API EssentialsI have finished my technical review of a new book: <a href="http://www.packtpub.com/google-visualization-api-essentials/book">Google Visualization API Essentials</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.packtpub.com/sites/default/files/4360OT_Mockup%20Normal.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://www.packtpub.com/sites/default/files/4360OT_Mockup%20Normal.jpg" width="259" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
I try to diversify my projects and topics related to them.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-30693555809342450562013-01-08T10:55:00.001-05:002013-01-08T10:58:44.340-05:00Google Security - Hall of fame - Honorable Mention<br />
This summer, I discovered a bug in the billing module of <a href="https://adwords.google.com/">Google AdWords</a>. Working with the Google Security Team, we have been able to reproduce and fix the problem.<br />
<br />
Thus, my name is found on the <a href="http://www.google.com/about/appsecurity/hall-of-fame/distinction/">Google Security Hall of Fame</a>.<br />
<br />
Usually, I don't dig for exposure, but when I do, I do it Béton! ;)Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-79190320232878299922012-07-10T08:00:00.000-04:002012-07-10T08:00:05.715-04:00Oracle FORMS to APEX<img alt="Martial Arts Belts" border="0" id="BLOGGER_PHOTO_ID_5377493143616117538" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfVvR3abQ5OWieEwNUQDpdBg4Afueksgp5opLSwUHUTgMHb9gXcmXFqShSN-XjnrE3mEODqUoymy_BYKIGGjme0XTqUxyNnpvXrYPNAWsV_4z0I-7BYFcrCVh4SeGylp5WcdF9rwWYP2Lf/s320/canstockphoto0278928.jpg" style="height: 213px; width: 320px;" title="Martial Arts Belts" /><br />
<br />
When Chuck Norris uses FORMS it's already converted to APEX.<br />
Since none of us is Chuck Norris, we need to use <a href="http://www.apexframework.com/">APEX Framework</a> to ensure a perfect Oracle FORMS conversion project.<br />
<br />
This is where the work of SIE comes into play.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0Montreal, QC, Canada45.5086699 -73.553992545.3306269 -73.8698495 45.6867129 -73.238135500000013tag:blogger.com,1999:blog-2315964936763130819.post-88809111536561012052012-06-19T08:00:00.000-04:002012-06-19T08:00:03.206-04:00Gestion des comptes utilisateurs - Événements notifiables (pt.1)<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
Lorsqu'on développe un système qui doit supporter des utilisateurs externes à l'organisation, il faut prévoir des méthodes pour automatiser la gestion des comptes utilisateurs.<br />
<div style="text-align: -webkit-auto;">
<ul>
<li>Activation des comptes</li>
<li>Récupération des codes utilisateur</li>
<li>Réinitialisation des mots de passe</li>
</ul>
<div>
<h3>
Liste des applications dans APEXFramework (Pilotage)</h3>
</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPm3I3Im0t1grbswFdHWQI141QxSS5_ui_AdfjuQPehwnHXCIck7TOtqUU8G1LgcNpLgj3A3gJSPRDTIuwc3WerTrGotg8_V08mqJLcWOfdRrW1sx_wXVRcv6ChCKlu0zcYHUp7EjpqIxG/s1600/AFW+-+Liste+des+applications.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPm3I3Im0t1grbswFdHWQI141QxSS5_ui_AdfjuQPehwnHXCIck7TOtqUU8G1LgcNpLgj3A3gJSPRDTIuwc3WerTrGotg8_V08mqJLcWOfdRrW1sx_wXVRcv6ChCKlu0zcYHUp7EjpqIxG/s400/AFW+-+Liste+des+applications.png" width="400" /></a></div>
</div>
<ol style="text-align: -webkit-auto;">
<li>SAFP - SIE APEXFramework - Produit</li>
<li>SAFD - SIE APEXFramework - Domaine</li>
<li>SAFU - SIE APEXFramework - Utilisateur</li>
<li>SAFS - SIE APEXFramework - Système</li>
<li>SGA - SIE APEXFramework - Gestion accès</li>
</ol>
<div style="text-align: -webkit-auto;">
<h3>
SGA - Sie Gestion Accès</h3>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlyJv91PJsFMKwxoAWZ63MHeZDUoMBoI_n3WChUa6ZxLgFY_jXD33UL7YxAhfRvLvOm5X_QtxVGmQBEH3C2WghunAeY1lHwWIENsX0QHfR-efX7CqJATxcERXJyrstKipf5qpbZfaPyLJb/s1600/Connexion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: left;"><span style="color: black;"><img border="0" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlyJv91PJsFMKwxoAWZ63MHeZDUoMBoI_n3WChUa6ZxLgFY_jXD33UL7YxAhfRvLvOm5X_QtxVGmQBEH3C2WghunAeY1lHwWIENsX0QHfR-efX7CqJATxcERXJyrstKipf5qpbZfaPyLJb/s400/Connexion.png" width="400" /></span></a>
<br />
L'application SGA permet l'authentification pour un ensemble d'applications.
<br />
<br /></div>
<h4>
Événement notifiable - Activation du compte utilisateur</h4>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDcECYDyt_78TVYXqjuEg-w6mLSto9WyU8ttYpg82eb4naiQL77ZO7l9s894mfV7iU_ACf9vsezBGZAnfUajDB3sgcm5dOWxMu19-4eRGZL9YJH_vqw0S13fezme4OVGPkkYLIorVL4mJQ/s1600/Activation_compte.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDcECYDyt_78TVYXqjuEg-w6mLSto9WyU8ttYpg82eb4naiQL77ZO7l9s894mfV7iU_ACf9vsezBGZAnfUajDB3sgcm5dOWxMu19-4eRGZL9YJH_vqw0S13fezme4OVGPkkYLIorVL4mJQ/s400/Activation_compte.png" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;">Lors de la création d'un compte utilisateur, il est préférable de valider l'authenticité d'une personne avec une adresse de courriel valide. Pour ce faire, un courriel sera envoyé à l'utilisateur une fois que ce dernier aura complété le formulaire de création de compte.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: -webkit-auto;"><br /></span></div>
<div>
<h4>
Courriel d'activation du compte utilisateur</h4>
</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6K39Gtz_7whivoQ76frWNNoa5ATpmb9uBEWOTQ6xw8Je5QDXhtI173FgI9mS8NJCRHXxznDUH-kWiEQewJG96jt08NlzZ2ZRd9XUfG7RAFCviah2dD3r99zQgv6VaURhe1iA0_DlD-vGt/s1600/Activation+-+Inbox+%25281%2529+-+Gmail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6K39Gtz_7whivoQ76frWNNoa5ATpmb9uBEWOTQ6xw8Je5QDXhtI173FgI9mS8NJCRHXxznDUH-kWiEQewJG96jt08NlzZ2ZRd9XUfG7RAFCviah2dD3r99zQgv6VaURhe1iA0_DlD-vGt/s400/Activation+-+Inbox+%25281%2529+-+Gmail.png" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
Le courriel contient uniquement un lien vers SGA afin d'activer le compte. Le lien généré est unique et il est valide que pour une courte période de temps.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<h4 style="text-align: -webkit-auto;">
Activation du compte utilisateur</h4>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF0fLQwKZyoB-OgOizUm93jHc6ICeZAXFopQ4pXryw-9vUsFB8VfNPfHrkkd87IMbf_NpU2xoe3YKEdG6FyCed7qc-kvxECmOiKGN-ltWFJ2XmUZmbBHJ5NP34zaspIoZ-38B4o65DShoV/s1600/Mesg_infor_courl_activation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" height="219" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF0fLQwKZyoB-OgOizUm93jHc6ICeZAXFopQ4pXryw-9vUsFB8VfNPfHrkkd87IMbf_NpU2xoe3YKEdG6FyCed7qc-kvxECmOiKGN-ltWFJ2XmUZmbBHJ5NP34zaspIoZ-38B4o65DShoV/s320/Mesg_infor_courl_activation.png" width="320" /></span></a></div>
<div style="text-align: -webkit-auto;">
Le lien dans le courriel redirige l'utilisateur vers SGA et son compte sera automatiquement activé.</div>
<div style="text-align: -webkit-auto;">
<br /></div>
<div style="text-align: -webkit-auto;">
<h4>
Événement notifiable - Obtention du code utilisateur oublié</h4>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: black;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzqYXpR6yT0Nybs6WIuU0lWnG0mr_0DTh4j2Vo04dYbetizuak-DGDEgDbkmbVKyU2Imd-VDoOzHurhnOdy__PDXYXqp55oY0JxY-Xv1vIKv2IJOQbtQnGC7ujsqoZucXmdBmzneQOYSAd/s1600/Code_utilisateur_oubli%25C3%25A9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzqYXpR6yT0Nybs6WIuU0lWnG0mr_0DTh4j2Vo04dYbetizuak-DGDEgDbkmbVKyU2Imd-VDoOzHurhnOdy__PDXYXqp55oY0JxY-Xv1vIKv2IJOQbtQnGC7ujsqoZucXmdBmzneQOYSAd/s320/Code_utilisateur_oubli%25C3%25A9.png" width="320" /></a>
</span></div>
<div class="separator" style="clear: both; text-align: left;">
À partir de l'écran principal de l'application SGA, un utilisateur peut faire une demande pour obtenir son code utilisateur oublié.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: black;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBEgjWdmFYNUtGekxKdgCHXEh2i23cSEP92RGWkOHBcn2N9Ceot1DO02cr8SdhP6m9TWa6mcEBdmn8EIeVaYfxBny3B2MLbw7ll7-hX9FY7_aoVws2z2D2kYJfV0s1YHybCN7RmdFx6nlq/s1600/Mesg_infor_courl_code_utilisateur_oubli%25C3%25A9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBEgjWdmFYNUtGekxKdgCHXEh2i23cSEP92RGWkOHBcn2N9Ceot1DO02cr8SdhP6m9TWa6mcEBdmn8EIeVaYfxBny3B2MLbw7ll7-hX9FY7_aoVws2z2D2kYJfV0s1YHybCN7RmdFx6nlq/s320/Mesg_infor_courl_code_utilisateur_oubli%25C3%25A9.png" width="320" /></a>
</span></div>
<div class="separator" style="clear: both; text-align: left;">
Un message informe l'utilisateur qu'un courriel lui sera expédié.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<h4 style="text-align: -webkit-auto;">
Courriel d'obtention du code utilisateur</h4>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF0vxgbBnUz5-MR5omi_b8w1utdoBR5gFkD1UyqEV8cOhrivCO6myDx2-j7wvvtLYSJA-jyarqbcHRcIC1aIZGpa3rMfOI61ByE71bIgIUcVlqhQMe55DYO-YPVcekTxdn6MNIMowi1WNe/s1600/Code+utilisateur+oubli%25C3%25A9+-+Inbox+%25281%2529+-+Gmail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF0vxgbBnUz5-MR5omi_b8w1utdoBR5gFkD1UyqEV8cOhrivCO6myDx2-j7wvvtLYSJA-jyarqbcHRcIC1aIZGpa3rMfOI61ByE71bIgIUcVlqhQMe55DYO-YPVcekTxdn6MNIMowi1WNe/s320/Code+utilisateur+oubli%25C3%25A9+-+Inbox+%25281%2529+-+Gmail.png" width="320" /></span></a></div>
<span style="text-align: left;">Le courriel contient le code utilisateur qui est utilisé pour s'authentifier dans le système.</span><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
</div>
<h4 style="text-align: -webkit-auto;">
Événement notifiable - Réinitialisation du mot de passe</h4>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: black;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb5rcMYJdiCrlAcHmOpBDpeR2-zbno8ERAIllIbp3Av9sr4wgicIUS2KBQjLiBETfo8GhZTbluhATtwyimdV9vFROs6ybXV5ZM_vsRM6tAmB5OccXXrTVYKk6jQJMgaDJMfwBmT-31nkuO/s1600/Mot_passe_oubli%25C3%25A9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb5rcMYJdiCrlAcHmOpBDpeR2-zbno8ERAIllIbp3Av9sr4wgicIUS2KBQjLiBETfo8GhZTbluhATtwyimdV9vFROs6ybXV5ZM_vsRM6tAmB5OccXXrTVYKk6jQJMgaDJMfwBmT-31nkuO/s320/Mot_passe_oubli%25C3%25A9.png" width="320" /></a>
</span></div>
<div class="separator" style="clear: both; text-align: left;">
À partir de l'écran principal de l'application SGA, un utilisateur peut faire une demande pour réinitialiser son mot de passe oublié.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_6yZSaYgWM2pqcyDhEyJJgDcLPOfh6sS3R4UnIqNgE32O_Kb6Pd1ZzcoLU_qTo1xPf3ItYIGDVt6VLsSYOtAjUcr3bwsL5fb39FIthir5OmE0L2L134egiUPTfxs4HAJVAAosNLrpzcXG/s1600/Mesg_infor_courl_mot_passe_oubli%25C3%25A9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_6yZSaYgWM2pqcyDhEyJJgDcLPOfh6sS3R4UnIqNgE32O_Kb6Pd1ZzcoLU_qTo1xPf3ItYIGDVt6VLsSYOtAjUcr3bwsL5fb39FIthir5OmE0L2L134egiUPTfxs4HAJVAAosNLrpzcXG/s320/Mesg_infor_courl_mot_passe_oubli%25C3%25A9.png" width="320" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
Un message informe l'utilisateur qu'un courriel lui sera expédié.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<h4 style="text-align: -webkit-auto;">
Courriel de réinitialisation du mot de passe</h4>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: black;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi60RHr57Xs3UJvrC4lbnf_WBv7LDWQw28F2effEBrDwPNMJ7Wiv-Evm79aKUSikqnAdSyrzzX7Oyi1ehOOuNR1osaygmaUyPsT-zBZQ14t30yEWw9qC3HzgWnzmsDBTJrhz-3L0vKrTlcN/s1600/R%25C3%25A9initialisation+-+Inbox+%25281%2529+-+Gmail.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi60RHr57Xs3UJvrC4lbnf_WBv7LDWQw28F2effEBrDwPNMJ7Wiv-Evm79aKUSikqnAdSyrzzX7Oyi1ehOOuNR1osaygmaUyPsT-zBZQ14t30yEWw9qC3HzgWnzmsDBTJrhz-3L0vKrTlcN/s320/R%25C3%25A9initialisation+-+Inbox+%25281%2529+-+Gmail.png" width="320" /></a>
</span></div>
<div class="separator" style="clear: both; text-align: left;">
Puisque c'est une <b>très très mauvaise pratique</b> que d'envoyer des mots de passe dans des courriels, le courriel contient uniquement un lien vers SGA pour y réinitialiser le mot de passe. Le lien généré est unique et il est valide que pour une courte période de temps.</div>
<i>N.B. Les mots de passe temporaires dans les courriels sont aussi une mauvaise pratique. Méfiez-vous de ce genre de solution et de ceux qui les proposent...</i><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggqH0XXLordq4qdVhUtbWZKZxaFPrLgVYOX6lKPCLLX95VJk9ICzpMCErNfB-NkfGeLju3ATy1gscQeLs4VTrUtIEpvne5F5rLTiJIg3aTKiDkYu0YHm8sPJlg5HXtefgs2lwdcmyPc_Ve/s1600/R%25C3%25A9initialisation_mot_passe.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggqH0XXLordq4qdVhUtbWZKZxaFPrLgVYOX6lKPCLLX95VJk9ICzpMCErNfB-NkfGeLju3ATy1gscQeLs4VTrUtIEpvne5F5rLTiJIg3aTKiDkYu0YHm8sPJlg5HXtefgs2lwdcmyPc_Ve/s320/R%25C3%25A9initialisation_mot_passe.png" width="320" /></span></a></div>
Le lien dans le courriel redirige l'utilisateur vers SGA et un formulaire de réinitialisation sera automatiquement affiché.<br />
<br />
<h4>
Réinitialisation du mot de passe</h4>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu4RT5mSuFFO0AswQsecKBgMAhwxPzhQNXYOFxHIWbaygcVxUJFLxdH-j5xR1K7aM3A_9QhN7K1fmjSVrerUgwWT1Simjm_3BIjNKJQtWcATO3c6rbJVW2hdYdfGFCJv3H7JVtPAF3zDpS/s1600/Nouveau+mot+de+passe.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="color: black;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu4RT5mSuFFO0AswQsecKBgMAhwxPzhQNXYOFxHIWbaygcVxUJFLxdH-j5xR1K7aM3A_9QhN7K1fmjSVrerUgwWT1Simjm_3BIjNKJQtWcATO3c6rbJVW2hdYdfGFCJv3H7JVtPAF3zDpS/s320/Nouveau+mot+de+passe.png" width="320" /></span></a></div>
<div>
<span style="text-align: left;">Un message informe l'utilisateur que son mot de passe est modifié.</span></div>
<span style="text-align: left;"></span><br />
<h4 style="text-align: -webkit-auto;">
<span style="text-align: left;">Configuration</span></h4>
<br />
<span style="text-align: left;">Mon prochain article portera sur la configuration de ces événements notifiables. :)</span></div>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0Quebec City, QC, Canada46.8032826 -71.24279646.6293826 -71.558652999999993 46.977182600000006 -70.926939tag:blogger.com,1999:blog-2315964936763130819.post-35411701820543119992012-06-15T08:00:00.000-04:002012-06-15T08:00:06.125-04:00Accessibilité d'une application Web - Contraste des couleursL'accessibilité Web regroupe une multitude d'éléments à considérer. Lorsque vient le temps d'analyser le contraste des couleurs sur une page web, on peut utiliser <a href="https://addons.mozilla.org/en-US/firefox/addon/juicy-studio-accessibility-too/">Colour Contrast Analyser</a>, une extension pour Firefox. Juicy Studio offre <a href="http://juicystudio.com/services/luminositycontrastratio.php">un moyen simple pour calculer les ratios de luminosité et de contraste</a>. Ce n'est pas le meilleur des outils que j'ai trouvé pour effectuer cette tâche par contre, il est minimaliste et c'est ce qui est préférable pour commencer.<br />
<br />
Pour plus d'informations concernant les contrastes entre les couleurs d'arrière plan et d'avant plan: "<a href="http://www.w3.org/TR/2000/WD-AERT-20000426#color-contrast">Ensure that foreground and background color combinations provide sufficient contrast when viewed by someone having color deficits or when viewed on a black and white screen</a>" -World Wide Web Consortium (W3C)<br />
C'est un article qui date de 2000. Pour des informations plus récentes: <a href="http://www.w3.org/standards/techs/accessibility.html#w3c_all">Standards d'accessibilité du W3C</a><br />
<h2>
</h2>
<h2>
<i>Colour Contrast Analyser</i> - Extension Firefox</h2>
Pour l'exemple, je vais utiliser une application dont le thème est originaire d'un thème proposé par APEX.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivAPyZ5-Eeh1mosw3trhh7G_QR4X7rp5tcmi3f7Yzde1tat4eBEFdaRK1cxhjba8cY1xYrEelMv1lbMR-yFq1iRTYy5a1H4Pe-GXfrbLnC6ERljpSoXLcP-dwO0bqyNLoY-1CHAeR6hbn-/s1600/SAS_contraste_alltests.png"><img alt="" border="0" height="345" id="BLOGGER_PHOTO_ID_5561759093931857266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivAPyZ5-Eeh1mosw3trhh7G_QR4X7rp5tcmi3f7Yzde1tat4eBEFdaRK1cxhjba8cY1xYrEelMv1lbMR-yFq1iRTYy5a1H4Pe-GXfrbLnC6ERljpSoXLcP-dwO0bqyNLoY-1CHAeR6hbn-/s640/SAS_contraste_alltests.png" width="640" /></a><br />
<br />
Lorsque l'extension <i>Colour Contrast Analyser</i> pour Firefox est installée, il est possible d'y accéder par le menu contextuel. Lorsqu'on exécute les tests, une page s'ouvre dans un nouvel onglet. Cette page contient plusieurs tableaux (sommaires et détails).<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYNXRjh6Xva06R8bN-bmE1QkxpXdX3ecXJ-TcfH_kwFX99Zillq73n6frLv0n0VQfNz3BfJ17lbyfnjYLxdmJaSNLY6P_PUxIA1okypcUD6kfk04HC6gRnK_PpNh0lTuRk15tL2AZL-MoE/s1600/Colour_contrast_analyser.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5561758091070078946" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYNXRjh6Xva06R8bN-bmE1QkxpXdX3ecXJ-TcfH_kwFX99Zillq73n6frLv0n0VQfNz3BfJ17lbyfnjYLxdmJaSNLY6P_PUxIA1okypcUD6kfk04HC6gRnK_PpNh0lTuRk15tL2AZL-MoE/s320/Colour_contrast_analyser.png" style="cursor: hand; cursor: pointer; height: 320px; width: 147px;" /></a><br />
<br />
<h3>
Résultats des tests (Tableaux)</h3>
Un sommaire permet de rapidement constater s'il y a présence d'éléments problématiques. Heureusement, ce ne sont pas tous les éléments qui sont en conflit avec les normes d'accessibilité Web.<br />
<br />
Nous devons apporter un changement au thème car les couleurs du texte et de l'arrière plan d'une rangée d'un rapport SQL n'offrent pas assez de contraste pour répondre aux normes d'accessibilité Web.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwCYiDEcmA-576cjK4eFV4_abCmwEwbxItAn6FpeKUVevfU7RC5k0czAzIWFk96FZ_6W1SpOok4oy9L3SnOELKOReOtItgN9lW_Kd7jQwa9qPcOzOk20SujbUEfWz0JynBDpvCUqcxbgwZ/s1600/SAS_cca_fail.png"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5561760828592123058" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwCYiDEcmA-576cjK4eFV4_abCmwEwbxItAn6FpeKUVevfU7RC5k0czAzIWFk96FZ_6W1SpOok4oy9L3SnOELKOReOtItgN9lW_Kd7jQwa9qPcOzOk20SujbUEfWz0JynBDpvCUqcxbgwZ/s1600/SAS_cca_fail.png" /></a><br />
<br />
<h3>
Ce qu'il faut retenir</h3>
<br />
Il est important de faire ce genre de tests lorsqu'on développe des applications "grand public" pour assurer une accessibilité uniforme peu importe la condition physique des utilisateurs.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0Quebec City, QC, Canada46.8032826 -71.24279646.6293826 -71.558652999999993 46.977182600000006 -70.926939tag:blogger.com,1999:blog-2315964936763130819.post-38021074460484493342012-06-14T08:00:00.001-04:002012-06-14T08:00:14.215-04:00SGQRI 008-01- Pièges communs et fausses croyances<br />
<span style="font-family: Verdana, sans-serif;">« </span><span style="font-family: Verdana, sans-serif;"><a href="http://www.msg.gouv.qc.ca/documents/standards/access_web_ve.pdf" target="_blank">Le standard SGQRI 008-01 énonce les règles permettant à tout site Web, public ou intranet ou extranet, d'être accessible afin de faciliter son utilisation par toute personne, handicapée ou non.</a></span>
<span style="font-family: Verdana, sans-serif;">»</span><br />
<span style="font-family: Verdana, sans-serif;"><b>- Gouvernement du Québec Ministère des Services gouvernementaux</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">L’adoption de normes et de standard en matière d’accessibilité par le gouvernement apporte son lot de changements pour tous les intervenants du secteur des ressources informationnelles.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">Les standards sur l’accessibilité comportent des éléments obligatoires pour les ministères et les organismes. Comment s’assurer que les systèmes développés avec Oracle APEX respectent un maximum de ces standards pour offrir un niveau d’accessibilité qui sera jugé acceptable?</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">Ce guide fera la lumière sur les problématiques rencontrées au fil de mes mandats. Mes interventions se font en début, en milieu et en fin de parcours. Dans le meilleur des mondes, la résolution de problèmes se fait avant même de les rencontrer. Par contre, il arrive de se faire parachuter en plein milieu du champ de bataille. Il faut alors régler les problèmes existants tout en usant de stratégies pour éviter les embûches à venir.</span><br />
<br />
<h3>
<span style="font-family: Verdana, sans-serif;">Un maillon de plus dans la chaîne</span></h3>
<span style="font-family: Verdana, sans-serif;">Voir l’application de standards en matière d’accessibilité comme une étape de plus dans la chaîne de production est réconfortant pour plusieurs gestionnaires et chargés de projet, car les inconnus sont ainsi regroupés au sein d’une même étape. Rien n’est plus facile que d’ajouter une grille de validation supplémentaire à la phase de contrôle de qualité du projet.</span><div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">Malheureusement, cette vision est fausse!</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">L’accessibilité Web passe par une intégration transversale répartit dans chacune des étapes d’un projet. Une planification rigoureuse permet d’éviter les oublies et assure de plus l’assignation des différentes responsabilités et tâches aux bons intervenants dans la chaîne de production Web. </span><span style="font-family: Verdana, sans-serif;">Lorsque l’accessibilité est adressée en fin de parcours, il est généralement trop tard pour bien faire les choses. Les budgets et/ou les échéanciers ne permettent pas la révision globale du processus de production. Le choix technologique (dans ce cas-ci Oracle APEX) limite sur certains points l’adoption de standards.</span><span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">Le meilleur moyen apparaît donc évident, commencer du bon pied pour éviter bien des maux de tête!</span><br />
<br />
<h3>
<span style="font-family: Verdana, sans-serif;">Laissons ça aux intégrateurs Web</span></h3>
<span style="font-family: Verdana, sans-serif;">Donner aux seuls intégrateurs Web le fardeau de rendre un site Web accessible semble à priori normal et simple lors de la planification des échéanciers et de l’affectation des responsabilités et des tâches aux ressources. Pour rendre accessible un site Web, il s’avère normal d’attribuer cette tâche à un des derniers maillons de la chaîne, celui qui assemble à proprement parler les différents modules du système.</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">Malheureusement, tout cela est faux!</span><span style="font-family: Verdana, sans-serif;"><br /></span><br />
<span style="font-family: Verdana, sans-serif;">Des décisions et des orientations doivent être prises dès le début du projet, avant même que l’intégrateur Web ne soit désigné. Le chargé de projet doit faire un choix technologique éclairé pour ne pas limiter le respect d’exigences. Les rédacteurs doivent fournir en plus du contenu habituel, les équivalences lorsqu’il y a lieu. Les designers doivent concevoir des interfaces qui s’adaptent aux différentes technologies d'adaptation informatique. Les programmeurs doivent tenir compte des règles et des restrictions dans leur manière de coder.</span><br />
<br />
<h3>
<span style="font-family: Verdana, sans-serif;">Standards respectés, vive l’accessibilité</span></h3>
<span style="font-family: Verdana, sans-serif;">Le respect des standards assure que l’accessibilité est atteinte. La validation du code HTML par un outil quelconque fera la « job ».</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">Malheureusement, tout cela est faux!</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">Seule une multitude de tests fonctionnels avec des technologies d’adaptation informatiques permet de valider l’expérience utilisateur. Le choix des technologies dépend des standards adoptés par le marché. Ainsi, </span><i style="font-family: Verdana, sans-serif;">JAWS </i><span style="font-family: Verdana, sans-serif;">et </span><i style="font-family: Verdana, sans-serif;">Window-Eyes</i><span style="font-family: Verdana, sans-serif;"> sont les progiciels majoritairement utilisé par les organisations nécessitant un niveau d’accessibilité accru.</span><span style="font-family: Verdana, sans-serif;"><br /></span><br />
<h3>
<span style="font-family: Verdana, sans-serif;">Trois points importants à retenir</span></h3>
<span style="font-family: Verdana, sans-serif;"><ul>
<li>Il est primordial pour tout gestionnaire et chargé de projet de comprendre et d’assimiler le caractère transversal de l’accessibilité.</li>
<li>L’accessibilité est une responsabilité partagée.</li>
<li>Le contrôle de qualité est primordial et trop souvent ignoré.</li>
</ul>
</span><br />
</div>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0Quebec City, QC, Canada46.8032826 -71.24279646.6293826 -71.558652999999993 46.977182600000006 -70.926939tag:blogger.com,1999:blog-2315964936763130819.post-42496933697030921472012-06-13T22:52:00.000-04:002012-06-13T22:58:47.527-04:00Orientation stratégique d'APEXFramework (AFW)<br />
Bonjour à tous,<br />
<br />
Ça fait longtemps que je n'ai pas eu l'occasion d'écrire sur mon blogue. Il faut dire que mon horaire chargé ainsi que mes déplacements fréquents entre Québec et Montréal y sont pour quelque chose.<br />
<br />
Depuis les 3 dernières années chez SIE-Solutions, j'ai travaillé sur le développement et la mise en place d'APEXFramework (AFW). Nous sommes fiers d'avoir des client qui couvrent l'ensemble du Québec (de Gatineau à Sept-Îles). Tous nos efforts investis sont récompensés, c'est un réel succès!<br />
<br />
Chez SIE, le partage est une valeur essentielle. C'est dans cette optique qu'APEXFramework sera disponible gratuitement à toutes organisations voulant améliorer sa productivité et ses pratiques de développement.<br />
<br />
<a href="http://www.apexframework.com/res/apexframework/afw_sod_4.1_2012_05_24.pdf" target="_blank">L'orientation stratégique pour AFW 4.1.1 est disponible</a>. Un traduction anglaise sera disponible prochainement. La publication française crée un engouement auquel nous devons répondre en priorité pour le marché local.<br />
<br />
Nouvelles en temps réel entourant <a href="https://twitter.com/#!/APEXFramework">APEXFramework sur Twitter</a>: <a href="https://twitter.com/#!/search/realtime/%23orclafw" target="">#orclafw</a><br />Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0Ville de Québec46.8032826 -71.24279646.7597796 -71.32176 46.846785600000004 -71.163832tag:blogger.com,1999:blog-2315964936763130819.post-83146494370903305312011-02-28T15:39:00.001-05:002011-02-28T15:39:22.333-05:00Forum Oracle 2011Cette année encore, ce fut fort agréable de revoir de nombreux visages et d'en rencontrer de nouveaux. Le taux de participation avoisinait les 300 dans chaque ville (Québec et Montréal).<br /><br />Je tiens à remercier Oracle et l'Ora*Gec qui ont permis la tenue de ces journées! Merci aussi à tous les autres commanditaires.<br /><br />Il y a eu une conférence portant sur les nouveautés d'APEX 4. J'espère voir davantage de conférences techniques portant sur l'intégration de cet outil avec la plateforme Oracle.<br /><br />Constat important: Apex fait de plus en plus d'adeptes à travers tout le Québec.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-34141668795867697382011-01-27T17:11:00.001-05:002011-01-27T17:11:43.818-05:00v4.0.2.00.07 - Bug - Datepicker - minDate maxDateAll datepicker items (even in tabular form) following a datepicker item with a minDate and maxDate will share the same date range.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_eGo1vRawUKs/TUHsUnqK7mI/AAAAAAAAAlY/tJuJrs_uCN8/s1600/Date%2B1%2Bw%2BminDate%2BmaxDate.png"><img style="cursor:pointer; cursor:hand;width: 320px; height: 256px;" src="http://4.bp.blogspot.com/_eGo1vRawUKs/TUHsUnqK7mI/AAAAAAAAAlY/tJuJrs_uCN8/s320/Date%2B1%2Bw%2BminDate%2BmaxDate.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5566990453394042466" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_eGo1vRawUKs/TUHsktT8MDI/AAAAAAAAAlg/LekcBuq7yYk/s1600/Date%2B2%2Bwo%2BminDate%2BmaxDate.png"><img style="cursor:pointer; cursor:hand;width: 320px; height: 254px;" src="http://2.bp.blogspot.com/_eGo1vRawUKs/TUHsktT8MDI/AAAAAAAAAlg/LekcBuq7yYk/s320/Date%2B2%2Bwo%2BminDate%2BmaxDate.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5566990729789321266" /></a><br /><br />You can follow the thread <a href="http://goo.gl/CjmDK">APEX 4 - Bug - default jQuery UI Datepicker - minDate maxDate</a> in the official Oracle APEX Forum.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-11478896675868689812011-01-12T17:30:00.001-05:002011-01-12T23:17:26.143-05:00Traduction des messages utilisés en interne par Oracle APEX<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJR5B6XWCLTfy7Xiu9R39dTDsRHbuCOFyFgHcF2CFkP0vdpD5P63zpO2fWkSbVrQAaCB65c1JI2zvUNNi5C_Baw_ki-V57TtFMxUaYhl-Dkcyx3b0XzAi5gLuKI2QwOQYsVZIFwVoK451s/s1600/traduction_en-fr-de.JPG"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJR5B6XWCLTfy7Xiu9R39dTDsRHbuCOFyFgHcF2CFkP0vdpD5P63zpO2fWkSbVrQAaCB65c1JI2zvUNNi5C_Baw_ki-V57TtFMxUaYhl-Dkcyx3b0XzAi5gLuKI2QwOQYsVZIFwVoK451s/s320/traduction_en-fr-de.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5561429778170742802" /></a><br />Aujourd'hui, pour une énième fois, on m'a demandé comment traduire (ou remplacer) les textes affichés par APEX. Je me suis dit qu'un petit "blog post" sur le sujet serait surement utile pour plusieurs d'entre vous.<br /><br />J'ai répondu à cette question dans le forum officiel d'APEX:<br /><a href="http://forums.oracle.com/forums/thread.jspa?threadID=2135806">Is it possible to change the message of the automated validations [generated by APEX]</a><br /><br />Documentation complète et officielle de Oracle:<br /><a href="http://apex.oracle.com/i/doc/global_mess_reports.htm">Translating Messages Used Internally by Oracle Application Express</a>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-50682566242976519152011-01-12T12:57:00.002-05:002011-01-12T12:57:17.321-05:00Accessibilité d'une application Web - En brefLorsque les mots "accessibilité Web" surgissent, une majorité de gens les associe à un handicap visuel précis: l'absence de vision.<br /><br />Dans les faits, l'accessibilité Web englobe des limitations physiques et psychologiques engendrées par des handicaps ou le vieillissement.<br /><br />Il faut donc associer "accessibilité Web" avec plusieurs éléments:<br />-les troubles de vision légers (ex.: daltoniens) et majeurs (ex.: aveugles)<br />-les troubles moteurs légers (ex.: arthrite) et majeurs (ex.: paralysie)<br />-les troubles cognitifs (ex.: dyslexie)<br /><br />Dans les organisations et la vie de tous les jours, il est fréquent de rencontrer du personnel souffrant de troubles légers au niveau visuel et moteur. Pour tous les projets de développement, il est important de prévoir le contenu et les interfaces en fonction de ces limitations fréquentes. On se demande donc par quoi il faut commencer car la tâche peut sembler immense et mal définie.<br /><br />Petit test à faire avec vos collègues.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR_GdG6erTQ4p0C2VMYJ7fs8CWunwJjTBSN7MAJEyndTxMWrnhrRJ3HSRT8JABgfgTdtTHus9hNI6n2wDXqA-nt4O8MIaFzL2-C4570EweuPOxeO3gbHaWcKMebAhsEdODxKVv8KcX1AdT/s1600/colorblind_web_accessibility.jpg"><img style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 295px; height: 288px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR_GdG6erTQ4p0C2VMYJ7fs8CWunwJjTBSN7MAJEyndTxMWrnhrRJ3HSRT8JABgfgTdtTHus9hNI6n2wDXqA-nt4O8MIaFzL2-C4570EweuPOxeO3gbHaWcKMebAhsEdODxKVv8KcX1AdT/s320/colorblind_web_accessibility.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5561358027313672114" /></a><br />Est-ce que vous voyez les mêmes chiffres?<br /><br /><br />Le chargé de projet doit d'abord prioriser un niveau d'accessibilité à atteindre. Par exemple, il peut choisir de rendre accessible le système aux personnes ayant des troubles visuels légers. Ainsi, les designers devront commencer par valider les choix de couleurs ainsi que les différents niveaux de contraste et de luminosité.<br /><br />Dans mon prochain article, je vais parler des outils qui sont utiles pour analyser les niveaux de contraste et de luminosité.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-9372987378392054992010-11-08T14:49:00.009-05:002010-11-08T15:15:32.609-05:00Groupe d'intérêt Oracle APEXVenez assister en grand nombre aux conférences Oracle APEX présentées lors de deux demi-journées du groupe d'intérêt APEX.<br /><br />Les conférences auront lieu à <a href="http://www.oragec.org/pls/htmldb/f?p=105:26:0::NO::P26_ID_SERVICE,LAST_PAGE:46248%2C34" target="_blank">Québec</a> et <a href="http://www.oragec.org/pls/htmldb/f?p=105:26:0::NO::P26_ID_SERVICE,LAST_PAGE:46247%2C34" target="_blank">Montréal</a>. <a href="http://dpeake.blogspot.com/" target="_blank">M. David Peake, chef de produit APEX chez Oracle</a>, sera le principal présentateur. Trois sujets seront abordés: <span style="font-weight:bold;">APEX 4.0</span>, l'<span style="font-weight:bold;">intégration avec E-Business Suite</span> et la <span style="font-weight:bold;">feuille de route d'APEX</span>.<br /><br />À la fin des présentations, une table ronde permettra au public de poser des questions à des experts.<br /><br /><a href="http://www.sie-solutions.ca" target="_blank">SIE-Solutions</a> commandite cet événement. Par le fait même, je vais être présent à Québec et Montréal pour vous rencontrer et répondre à vos questions. Si vous avez des questions particulières (ou plus complexes) concernant <a href="http://www.apexframework.com" target="_blank">APEXFramework et la migration d'Oracle FORMS vers APEX</a>, n'hésitez pas à <a href="mailto:lg.carrier@sie-solutions.ca">me contacter par courriel</a>.<br /><br /><a href="http://www.oragec.org/pls/htmldb/f?p=105:26:0::NO::P26_ID_SERVICE,LAST_PAGE:46248%2C34" target="_blank">Inscriptions pour Québec</a><br /><a href="http://www.oragec.org/pls/htmldb/f?p=105:26:0::NO::P26_ID_SERVICE,LAST_PAGE:46247%2C34" target="_blank">Inscriptions pour Montréal</a><br /><br />Au plaisir,Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-17492855311358380692010-04-16T19:20:00.003-04:002011-01-07T16:33:44.083-05:00Google Search Stories + Oracle APEXSomething funny to finish the week...<br /><br /><object width="498" height="300"><param name="movie" value="http://www.youtube.com/v/y3mRbZD-54Y&hl=fr_FR&fs=1&rel=0&color1=0x006699&color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/y3mRbZD-54Y&hl=fr_FR&fs=1&rel=0&color1=0x006699&color2=0x54abd6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="498" height="300"></embed></object>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-9513613468242861722010-03-23T10:36:00.002-04:002010-03-23T10:37:12.709-04:00My condolences to Scott Spadafore's family and friends.<a href="http://joelkallman.blogspot.com/2010/03/scott-spadafore.html">Sad news</a> makes you remember that life is short and each moment is important.<br /><br />My condolences to Scott Spadafore's family and friends.<br /><br /><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhLUFWZXy5P5nDaTU75OqWTEW4VPNwbRDyBUXhoJ3xpm5Wxleooe4bRXaAjhBF9bvrLzECXwGnSQ4CJD8mBnx7ZRSU0G1Bvx6QCST1j7Fa9aE3UZdnwRAVLV12B4E1z1GwxS9dCY3sOuhg/s400/2010-03-23_sspadafo_otn_apex_forums.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5451837189672147106" /><br />The Oracle APEX community will remember forever!<br /><br />Peace.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-79451769892499886392010-03-15T08:30:00.001-04:002010-03-15T08:31:37.630-04:00Rappel - Inscriptions de dernière minute - Journée APEX 2010Il reste encore quelques places disponibles pour assister aux conférences et aux <a href="http://www.sie-solutions.ca/Speed_training_janvier_2010.pdf">capsules speed-training</a> de la Journée APEX.<br /><br />La date limite pour les inscriptions est aujourd'hui, le lundi 15 mars 2010, pour la ville de Québec.<br /><a href="http://goo.gl/jiP1">Inscrptions pour Québec</a><br /><br />La date limite pour les inscriptions est mercredi, le mercredi 17 mars 2010, pour la ville de Montréal.<br /><a href="http://goo.gl/ohzI">Inscriptions pour Montréal</a><br /><br /><br />Au plaisir de vous y rencontrer!Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-6292034538708845072010-03-02T11:00:00.001-05:002010-03-02T11:02:02.189-05:00Oracle OpenWorld 2010 - Call for PapersDon't miss your chance to talk about APEX in front of many people.<br /><br /><a href="http://www.eventreg.com/oracle/openworld2010/sanfrancisco/cfp/">OOW 2010 - Call for Papers</a>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-23796427754641873482010-03-01T18:30:00.002-05:002010-03-10T01:37:29.798-05:00SIE-Solutions et Oracle sont heureux de vous inviter à la deuxième édition de la Journée APEX.<a href="http://goo.gl/jiP1" target="_blank">Inscriptions pour Québec</a><br /><a href="http://goo.gl/ohzI" target="_blank">Inscriptions pour Montréal</a><br /><br />Tel que prévu, <a href="http://www.oracle.com" target="_blank">Oracle</a> annonce la mise en production de la <a href="http://tryapexnow.com/" target="_blank">version 4.0</a> pour bientôt. Voici une extraordinaire opportunité d'en apprendre davantage sur cette nouvelle mouture tout en découvrant de quelle façon APEX s'intègre au sein de la gamme de produits offerts par Oracle. Vous pourrez aussi apprécier comment la plateforme de développement <a href="http://www.apexframework.com" target="_blank">APEXFramework</a> s'intègre avec <a href="http://apex.oracle.com" target="_blank">APEX</a> pour faciliter le développement et l'entretien.<br /> <br />En après-midi, profitez d'une session de speed training. <a href="http://www.sie-solutions.ca/Speed_training_janvier_2010.pdf" target="_blank">Assistez à six (6) capsules de formation spécialement sélectionnées parmi les 375 disponibles à ce jour.</a> Le détail des sessions sera publié ici-même dans les prochains jours.<br />Le tout est gracieusement offert aux organisations qui utilisent déjà Oracle APEX ou qui désirent en faire usage, <span style="font-weight:bold;">100</span> places sont disponibles en avant-midi pour les conférences et <span style="font-weight:bold;">25</span> pour les capsules de formation de l'après-midi. Le nombre de places étant limité, réservez tôt!<br /> <br /><span style="font-weight:bold;">À l'agenda:</span><br /><br /><span style="font-weight:bold;">8h00 : 8h30 - </span>Déjeuner continental offert<br /><span style="font-weight:bold;">8h30 : 9h00 - </span>APEX au sein de la plateforme Oracle<br /><span style="font-weight:bold;">9h00 : 10h15 - </span>APEX 4.0 - Tout ce que vous voulez savoir<br /><span style="font-weight:bold;">10h15 : 10h30 - </span>Pause café<br /><span style="font-weight:bold;">10h30 : 11h45 - </span>Plateforme de développement APEXFramework<br /><span style="font-weight:bold;">11h45 : 12h00 - </span>Prix de présence<br /><span style="font-weight:bold;">12h00 : 13h30 - </span>Diner offert (pour les gens qui participent au Speed Training)<br /><span style="font-weight:bold;">13h30 : 16:00 - </span><a href="http://www.sie-solutions.ca/Speed_training_janvier_2010.pdf" target="_blank">Speed training</a><br /><br /><span style="font-weight:bold;text-decoration:underline;">Mardi 16 mars 2010</span><br />L'événement se tient à l'<a href="http://maps.google.ca/places/ca/sainte-foy/avenue-des-hotels/3115/-h%C3%B4tel-qu%C3%A9bec?hl=fr" target="_blank">Hôtel Québec</a>. Pour ceux qui assistent aux capsules de formation de l'après-midi, elles auront lieu dans les bureaux d'Oracle où le dîner vous sera également servi vers 12h30.<br /><a href="http://goo.gl/jiP1">Inscriptions pour Québec</a><br /><br /><span style="font-weight:bold;text-decoration:underline;">Jeudi 18 mars 2010</span><br />L'événement se tient à l'<a href="http://maps.google.ca/maps/place?cid=9246562197534744572&q=hyatt&hl=fr" target="_blank">hôtel Hyatt Regency</a>. Pour ceux qui assistent aux capsules de formation de l'après-midi, elles auront lieu dans les bureaux d'Oracle où le dîner vous sera également servi vers 12h30.<br /><a href="http://goo.gl/ohzI">Inscriptions pour Montréal</a>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-63819731910440562122010-03-01T17:38:00.003-05:002010-03-01T17:43:36.896-05:00Plateforme de blogues et de ressources maintenant disponible sur APEXQuébec.com<a href="http://www.apexquebec.com/" target="_blank"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 242px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYg7F6hZbar3DDj5jn8RJDBmAFLVqSWTe_EmaFSJhPRyFcZKdAchMFXy97J6NKe-ysNHHV4-OxEWw-v2ErOPENhINOKFL3QUoae3vmDLHdxIquXTK-FH7IRiqxppBRBpcL3sp8jwQIibMl/s320/canstockphoto2532222.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5442273378073051346" /></a><br /><br />Tous les membres d'APEXQuébec ont maintenant la possibilité de se faire connaître et de diffuser leurs messages grâce à la plateforme de blogues et ses flux RSS.<br /><br /><a href="http://www.apexquebec.com/pls/apex/f?p=147:10400">Aggrégateur de blogues</a><br /><br /><br />Un gestionnaire de ressources avec versions permet d'héberger des applications, des extensions, des librairies, etc. Bref, tout ce dont la communauté APEX a de besoin pour faire de ses projets de remarquables chefs d'oeuvre.<br /><br /><a href="http://www.apexquebec.com/pls/apex/f?p=147:10000">Liste des ressources</a>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-33176900923022885282010-01-14T21:15:00.004-05:002010-01-14T21:16:30.924-05:00jQuery 1.4 Released<a href="http://jquery14.com/" target="_blank">Official information</a><br /><br /><a href="http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/" target="_blank">The 15 new features you must know</a>Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0tag:blogger.com,1999:blog-2315964936763130819.post-2498753648284213852010-01-11T16:23:00.002-05:002010-01-11T16:24:49.969-05:00Oracle Forms to APEX - How to navigate between records<img style="width: 300px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqeRUEjyoiivOWLTnYTLMs2JJYY2urgDrSVHKa3Cvwe_r1pxJ4nbzsWYeD7zUePQ8FZZbQpXes6L6bdANjwTq7sV9iXb6GThZMsjE17PMGD-VaL59T-SjJysYC61GXDUGjy5iqS-xvKGu-/s400/canstockphoto0997488.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5425587672051294194" /><br /><br />Each conversion project has its share of changes. <a href="http://www.apexframework.com/afw/f?p=APEXFRAMEWORK:composants:0::::SAPI:APEXFRM_SIE_01#PAGECENTER" target="_blank">Besides managing messages</a>, browsing is an aspect that we must not neglect to reduce the impact of changes on the user.<br /><br />FORMS can easily navigate between records in a form. With APEX, it is possible to access records preceding and following (the feature is relatively limited given the needs of users).<br /><br />An APEXFramework's module allows the extraction of sorts, filters and conditions of interactive reports to create interfaces to intelligently navigate through the records of an interactive report.<br /><br /><a href="http://www.screencast.com/t/MWZmMzU5M">With minimal effort, you can create a toolbar to navigate using sorts, filters and conditions applied to an interactive report.</a><br /><a href="http://www.screencast.com/t/MWZmMzU5M"><img style="width: 128px; height: 128px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnWEOBeQ_dDQ87O60vt5Dz6xIZuSZMGRqD4-prjk8wOx_WYwDWJdyweqtvTg-zJ2Y6PtaI23RD8Ff1f-TZpZ8VUl9-7vT7kzIdySXGPPbTgbAp7uWPBOCMZxty1oj-ywGi0S9NvSjWiUps/s320/film.png" border="0" alt="" title="Démo vidéo"/></a><br /><br />This feature is one of the many offered by <a href="http://www.apexframework.com" target="_blank">APEXFramework</a>.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com4tag:blogger.com,1999:blog-2315964936763130819.post-42971516532774193312010-01-11T16:00:00.001-05:002010-01-11T16:00:39.670-05:00Oracle FORMS vers APEX - Comment naviguer entre les enregistrements<img style="width: 300px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqeRUEjyoiivOWLTnYTLMs2JJYY2urgDrSVHKa3Cvwe_r1pxJ4nbzsWYeD7zUePQ8FZZbQpXes6L6bdANjwTq7sV9iXb6GThZMsjE17PMGD-VaL59T-SjJysYC61GXDUGjy5iqS-xvKGu-/s400/canstockphoto0997488.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5425587672051294194" /><br /><br />Chaque projet de conversion comporte son lot de changements. Outre <a href="http://www.apexframework.com/afw/f?p=APEXFRAMEWORK:composants:0::::SAPI:APEXFRM_SIE_01#PAGECENTER" target="_blank">la gestion des messages</a>, la navigation est un aspect qu'il ne faut pas négliger pour réduire l'impact des changements sur l'utilisateur final.<br /><br />FORMS permet de naviguer facilement entre les enregistrements au niveau d'un formulaire. Tant qu'à APEX, il est possible d'accéder aux enregistrements précédents et suivants (la fonctionnalité est relativement limitée compte tenu des besoins des utilisateurs).<br /><br />Le module d'APEXFramework permettant l'extraction des tris, filtres et conditions des états interactifs ("interactive reports") permet de créer des interfaces pour naviguer intelligemment entre les enregistrements d'un état interactif.<br /><br /><a href="http://www.screencast.com/t/MWZmMzU5M">Avec un minimum d'effort, il est possible de créer une barre d'outils pour naviguer selon les tris, filtres et conditions appliqués sur un état interactif ("interactive reports").</a><br /><a href="http://www.screencast.com/t/MWZmMzU5M"><img style="width: 128px; height: 128px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnWEOBeQ_dDQ87O60vt5Dz6xIZuSZMGRqD4-prjk8wOx_WYwDWJdyweqtvTg-zJ2Y6PtaI23RD8Ff1f-TZpZ8VUl9-7vT7kzIdySXGPPbTgbAp7uWPBOCMZxty1oj-ywGi0S9NvSjWiUps/s320/film.png" border="0" alt="" title="Démo vidéo"/></a><br /><br />La reconduction de cette fonctionnalité est une des nombreuses facilités offertes par <a href="http://www.apexframework.com" target="_blank">APEXFramework</a>.Louis-Guillaumehttp://www.blogger.com/profile/06491876959467764686noreply@blogger.com0