{"id":28001,"date":"2025-09-18T17:29:01","date_gmt":"2025-09-18T15:29:01","guid":{"rendered":"https:\/\/etiennefrancey.ch\/?page_id=28001"},"modified":"2026-02-23T17:58:23","modified_gmt":"2026-02-23T16:58:23","slug":"home","status":"publish","type":"page","link":"https:\/\/etiennefrancey.ch\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"28001\" class=\"elementor elementor-28001\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f2578ec e-con-full logo-home e-flex e-con e-parent\" data-id=\"f2578ec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd7c86a elementor-widget elementor-widget-text-editor\" data-id=\"dd7c86a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Etienne Francey<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5cc5a4a e-flex e-con-boxed e-con e-parent\" data-id=\"5cc5a4a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0fb39b9 elementor-widget elementor-widget-html\" data-id=\"0fb39b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"diapo-root\"><\/div>\n\n<style>\n  html, body {\n    margin: 0;\n    overflow-x: hidden;\n  }\n\n  #diapo-root {\n    position: fixed;\n    inset: 0;\n    overflow: hidden;\n    z-index: 9999;\n    background: transparent;\n    opacity: 1;\n    transition: opacity 200ms ease-in-out;\n  }\n\n  #diapo-root.is-fading {\n    opacity: 0;\n  }\n\n  #diapo-box {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    width: 100vw;   \/* d\u00e9part *\/\n    height: 180vh;  \/* d\u00e9part *\/\n    transform: translate(-50%, -50%);\n    overflow: hidden;\n    background: transparent;\n  }\n\n  #diapo-box img {\n    position: absolute;\n    top: 50%;\n    left: 50%;\n    max-width: 100%;\n    max-height: 100%;\n    width: auto;\n    height: auto;\n    transform: translate(-50%, -50%);\n    object-fit: contain;\n    object-position: center;\n    opacity: 0;\n    transition: opacity 0ms linear;\n    pointer-events: none;\n    user-select: none;\n    -webkit-user-drag: none;\n  }\n\n  #diapo-box img.is-active {\n    opacity: 1;\n  }\n<\/style>\n\n<script>\n(() => {\n  const isElementorEditor =\n    window.location.search.includes(\"elementor-preview=\") ||\n    document.body.classList.contains(\"elementor-editor-active\") ||\n    (window.elementorFrontend &&\n      window.elementorFrontend.isEditMode &&\n      window.elementorFrontend.isEditMode());\n\n  const CONFIG = {\n    minPreloadMs: 2300,\n    animMs: 3000,\n    endDelayMs: 0,\n    fadeMs: 700,\n    redirectUrl: \"https:\/\/etiennefrancey.ch\/en\/personal\",\n    enableRedirect: !isElementorEditor,\n    urls: [\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B01.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B02.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B03.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B04.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B05.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/etienne-francey-8920-1.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B07.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B08.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B09.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B10.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B18.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B12.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B13.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B14.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B15.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B16.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B17.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B11.jpg\",\n      \"https:\/\/etiennefrancey.ch\/wp-content\/uploads\/2026\/02\/B19.jpg\"\n    ]\n  };\n\n  const IMAGE_URLS = CONFIG.urls;\n  const root = document.getElementById(\"diapo-root\");\n  if (!root || !IMAGE_URLS.length) return;\n\n  const box = document.createElement(\"div\");\n  box.id = \"diapo-box\";\n  root.appendChild(box);\n\n  const wait = (ms) => new Promise((r) => setTimeout(r, ms));\n  const preload = (src) =>\n    new Promise((resolve) => {\n      const img = new Image();\n      img.onload = resolve;\n      img.onerror = resolve;\n      img.src = src;\n    });\n\n  const easeInOutSine = (t) => -(Math.cos(Math.PI * t) - 1) \/ 2;\n\n  async function run() {\n    await Promise.all([\n      Promise.all(IMAGE_URLS.map(preload)),\n      wait(CONFIG.minPreloadMs)\n    ]);\n\n    const slides = IMAGE_URLS.map((src, i) => {\n      const img = document.createElement(\"img\");\n      img.src = src;\n      if (i === 0) img.classList.add(\"is-active\");\n      box.appendChild(img);\n      return img;\n    });\n\n    window.__diapoSlidesStarted = true;\n    window.dispatchEvent(new CustomEvent(\"diapo:slides:start\"));\n\n    const t0 = performance.now();\n\n    function frame(now) {\n      const t = Math.min((now - t0) \/ CONFIG.animMs, 1);\n\n      const eSlides = easeInOutSine(t);\n      const idx = Math.min(slides.length - 1, Math.floor(eSlides * slides.length));\n      slides.forEach((img, i) => img.classList.toggle(\"is-active\", i === idx));\n\n      const eZoom = easeInOutSine(t);\n\n      const startW = 120, endW = 20;\n      const startH = 120, endH = 20;\n\n      const width = startW - (startW - endW) * eZoom;\n      const height = startH - (startH - endH) * eZoom;\n\n      box.style.width = width + \"vw\";\n      box.style.height = height + \"vh\";\n\n      if (t < 1) {\n        requestAnimationFrame(frame);\n      } else {\n        setTimeout(() => {\n          root.classList.add(\"is-fading\");\n\n          if (!CONFIG.enableRedirect) return;\n\n          setTimeout(() => {\n            window.location.href = CONFIG.redirectUrl;\n          }, CONFIG.fadeMs);\n        }, CONFIG.endDelayMs);\n      }\n    }\n\n    requestAnimationFrame(frame);\n  }\n\n  run();\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5cd0d46 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html\" data-id=\"5cd0d46\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  .logo-home {\n    position: fixed;\n    left: 0;\n    top: 50%;\n    transform: translate(0, -50%);\n    z-index: 10001;\n    transition: top 0.8s ease-in-out, transform 0.8s ease-in-out;\n    will-change: top, transform;\n  }\n\n  .logo-home.is-top {\n    top: 0;\n    transform: translate(0, 0);\n  }\n<\/style>\n\n<script>\n(() => {\n  const logo = document.querySelector(\".logo-home\");\n  if (!logo) return;\n\n  const moveTop = () => logo.classList.add(\"is-top\");\n\n  window.addEventListener(\"diapo:slides:start\", moveTop, { once: true });\n\n  if (window.__diapoSlidesStarted) moveTop();\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Photographe suisse bas\u00e9 \u00e0 Fribourg, actif principalement dans le domaine commercial ou \u00e9ditorial et repr\u00e9sent\u00e9 par l\u2019agence Margot de Roquefeuil \u00e0 Paris.<\/p>","protected":false},"author":1,"featured_media":27408,"parent":0,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"inline_featured_image":false,"h5ap_radio_sources":[],"footnotes":""},"class_list":["post-28001","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/pages\/28001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/comments?post=28001"}],"version-history":[{"count":319,"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/pages\/28001\/revisions"}],"predecessor-version":[{"id":32875,"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/pages\/28001\/revisions\/32875"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/media\/27408"}],"wp:attachment":[{"href":"https:\/\/etiennefrancey.ch\/en\/wp-json\/wp\/v2\/media?parent=28001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}