{"id":219,"date":"2025-09-21T17:04:53","date_gmt":"2025-09-21T17:04:53","guid":{"rendered":"http:\/\/hyperfocale.fr\/index.php\/portfolio\/"},"modified":"2026-10-12T15:51:30","modified_gmt":"2026-10-12T15:51:30","slug":"portfolio","status":"publish","type":"page","link":"https:\/\/hyperfocale.fr\/index.php\/portfolio\/","title":{"rendered":"Portfolio"},"content":{"rendered":"\n\n\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue&#038;family=DM+Sans:wght@400;500&#038;display=swap\">\n\n<section class=\"pf-hero\"><div class=\"hf-hero-fade\"><\/div>\n  <div class=\"pf-inner\">\n\n    <h1 class=\"pf-title\">Portfolio<\/h1>\n\n    <div class=\"pf-row\">\n      <p class=\"pf-intro\"><strong>Hyperfocale<\/strong>, photographe bas\u00e9 \u00e0 Lyon.<\/p>\n\n      <div class=\"pf-live\" aria-label=\"Lyon, heure et m\u00e9t\u00e9o actuelles\">\n        <span class=\"pf-dot\" aria-hidden=\"true\"><\/span>\n        <span class=\"pf-city\">Lyon<\/span>\n        <span class=\"pf-time\" id=\"pfTime\">&#8211;:&#8211;:&#8211;<\/span>\n        <span class=\"pf-weather\" id=\"pfWeather\" hidden><\/span>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<style>\n  .pf-hero {\n    --pf-bg: #0b0909;\n    --pf-ink: #f2ece4;\n    --pf-muted: #a89f96;\n    --pf-line: rgba(242, 236, 228, .14);\n    --pf-red: #C0281A;\n\n    position: relative;\n    isolation: isolate;\n    display: flex;\n    align-items: flex-end;\n    min-height: clamp(380px, 58svh, 620px);\n    background-color: var(--pf-bg);\n    background-image:\n      radial-gradient(70% 100% at 100% 0%, rgba(192, 40, 26, .28), transparent 65%),\n      radial-gradient(60% 90% at 0% 100%, rgba(74, 15, 11, .55), transparent 70%);\n    padding: 96px clamp(28px, 5vw, 72px) 56px;\n    width: 100vw !important;\n    max-width: 100vw !important;\n    margin-left: calc(50% - 50vw) !important;\n    margin-right: calc(50% - 50vw) !important;\n    margin-top: 0 !important;\n    border: 0 !important;\n    font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;\n    box-sizing: border-box;\n    overflow: hidden;\n  }\n\n  \/* Texture 1 : taches douces, qui s'estompent vers le bas pour se fondre dans le bloc suivant *\/\n  .pf-hero::before {\n    content: \"\";\n    position: absolute; inset: 0; z-index: 0; pointer-events: none;\n    opacity: .35; mix-blend-mode: multiply;\n    background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='600' height='600'><filter id='t'><feTurbulence type='fractalNoise' baseFrequency='.012 .02' numOctaves='3' seed='23'\/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1.6 -.45'\/><\/filter><rect width='100%' height='100%' filter='url(%23t)'\/><\/svg>\");\n    background-size: 600px 600px;\n    -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 180px), transparent 100%);\n            mask-image: linear-gradient(to bottom, #000 calc(100% - 180px), transparent 100%);\n  }\n\n  \/* Texture 2 : grain fin *\/\n  .pf-hero::after {\n    content: \"\";\n    position: absolute; inset: 0; z-index: 1; pointer-events: none;\n    opacity: .14; mix-blend-mode: overlay;\n    background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'\/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'\/><\/filter><rect width='100%' height='100%' filter='url(%23n)'\/><\/svg>\");\n  }\n\n  .pf-hero .pf-inner {\n    position: relative; z-index: 2;\n    width: 100%;\n    max-width: 1400px;\n    margin: 0 auto;\n  }\n\n  \/* ---------- Titre ---------- *\/\n  .pf-hero .pf-title {\n    margin: 0 !important; padding: 0 !important;\n    font-family: 'Bebas Neue', 'Arial Narrow', Impact, sans-serif;\n    font-weight: 400;\n    font-size: clamp(4rem, 12vw, 10rem);\n    line-height: .88;\n    letter-spacing: .01em;\n    text-transform: uppercase;\n    color: var(--pf-ink);\n  }\n  .pf-hero .pf-title::after {\n    content: \"\";\n    display: block;\n    width: 64px; height: 3px;\n    margin-top: 26px;\n    background: var(--pf-red);\n  }\n\n  \/* ---------- Ligne basse : pr\u00e9sentation \u00e0 gauche, heure et m\u00e9t\u00e9o \u00e0 droite ---------- *\/\n  .pf-hero .pf-row {\n    display: flex; flex-wrap: wrap;\n    align-items: baseline; justify-content: space-between;\n    gap: 14px 40px;\n    margin-top: 40px;\n    padding-top: 22px;\n    border-top: 1px solid var(--pf-line);\n  }\n\n  .pf-hero .pf-intro {\n    margin: 0 !important; padding: 0 !important;\n    font-size: 1.05rem; line-height: 1.4;\n    color: var(--pf-muted);\n  }\n  \/* le nom de marque est en Helvetica bold *\/\n  .pf-hero .pf-intro strong {\n    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n    font-weight: 700;\n    letter-spacing: -.01em;\n    color: var(--pf-ink);\n  }\n\n  .pf-hero .pf-live {\n    display: inline-flex; flex-wrap: wrap; align-items: center;\n    gap: 6px 18px;\n    font-size: .78rem; font-weight: 500;\n    letter-spacing: .18em; text-transform: uppercase;\n    color: var(--pf-muted);\n  }\n  .pf-hero .pf-city { color: var(--pf-ink); }\n  .pf-hero .pf-time {\n    font-variant-numeric: tabular-nums;\n    color: var(--pf-ink);\n    letter-spacing: .12em;\n  }\n\n  .pf-hero .pf-dot {\n    width: 7px; height: 7px; border-radius: 50%;\n    background: var(--pf-red);\n    box-shadow: 0 0 0 0 rgba(192, 40, 26, .6);\n    animation: pf-pulse 2.4s ease-out infinite;\n  }\n  @keyframes pf-pulse {\n    0%   { box-shadow: 0 0 0 0 rgba(192, 40, 26, .6); }\n    70%  { box-shadow: 0 0 0 9px rgba(192, 40, 26, 0); }\n    100% { box-shadow: 0 0 0 0 rgba(192, 40, 26, 0); }\n  }\n\n  @media (max-width: 768px) {\n    .pf-hero { min-height: 360px; padding: 72px 22px 40px; }\n    .pf-hero .pf-title { font-size: clamp(3.6rem, 19vw, 5.6rem); }\n    .pf-hero .pf-title::after { margin-top: 20px; width: 48px; }\n    .pf-hero .pf-row { margin-top: 30px; padding-top: 18px; flex-direction: column; align-items: flex-start; gap: 12px; }\n    .pf-hero .pf-intro { font-size: 1rem; }\n    .pf-hero .pf-live { letter-spacing: .14em; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    .pf-hero .pf-dot { animation: none; }\n  }\n<\/style>\n\n<script>\n(function () {\n  var timeEl = document.getElementById('pfTime');\n  var wEl = document.getElementById('pfWeather');\n  if (!timeEl) return;\n\n  \/* Heure de Lyon (fuseau Europe\/Paris), mise \u00e0 jour chaque seconde *\/\n  var fmt = null;\n  try {\n    fmt = new Intl.DateTimeFormat('fr-FR', {\n      timeZone: 'Europe\/Paris', hour: '2-digit', minute: '2-digit', second: '2-digit', hourCycle: 'h23'\n    });\n  } catch (e) {}\n  function tick() {\n    var d = new Date();\n    timeEl.textContent = fmt ? fmt.format(d) : d.toTimeString().slice(0, 8);\n  }\n  tick();\n  setInterval(tick, 1000);\n\n  \/* M\u00e9t\u00e9o : libell\u00e9s des codes m\u00e9t\u00e9o *\/\n  function label(c) {\n    if (c === 0) return 'D\u00e9gag\u00e9';\n    if (c === 1) return 'Peu nuageux';\n    if (c === 2) return '\u00c9claircies';\n    if (c === 3) return 'Couvert';\n    if (c === 45 || c === 48) return 'Brouillard';\n    if (c >= 51 && c <= 57) return 'Bruine';\n    if (c >= 61 && c <= 67) return 'Pluie';\n    if (c >= 71 && c <= 77) return 'Neige';\n    if (c >= 80 && c <= 82) return 'Averses';\n    if (c === 85 || c === 86) return 'Averses de neige';\n    if (c >= 95) return 'Orage';\n    return '';\n  }\n\n  \/* M\u00e9t\u00e9o actuelle \u00e0 Lyon. Si la requ\u00eate \u00e9choue, la ligne reste simplement masqu\u00e9e. *\/\n  var url = 'https:\/\/api.open-meteo.com\/v1\/forecast?latitude=45.764&longitude=4.8357&current=temperature_2m,weather_code&timezone=Europe%2FParis';\n\n  function loadWeather() {\n    var ctrl = ('AbortController' in window) ? new AbortController() : null;\n    var timer = setTimeout(function () { if (ctrl) ctrl.abort(); }, 7000);\n    fetch(url, ctrl ? { signal: ctrl.signal } : undefined)\n      .then(function (r) { return r.json(); })\n      .then(function (j) {\n        clearTimeout(timer);\n        var c = j && j.current;\n        if (!c || typeof c.temperature_2m !== 'number') return;\n        var txt = Math.round(c.temperature_2m) + '\u00b0';\n        var l = label(c.weather_code);\n        if (l) txt += ' \u00b7 ' + l;\n        wEl.textContent = txt;\n        wEl.hidden = false;\n      })\n      .catch(function () { clearTimeout(timer); });\n  }\n  loadWeather();\n  setInterval(loadWeather, 10 * 60 * 1000);\n})();\n<\/script>\n\n\n\n\n\n\n\n\n\n\n\n<style id=\"hf-seam-css\">.pf-hero .hf-hero-fade{position:absolute;left:0;right:0;bottom:0;height:260px;background:linear-gradient(to bottom,rgba(11,9,9,0),#0b0909);pointer-events:none;z-index:1}.pj-section{padding-top:80px!important}.pj-section .hf-seam{position:absolute;left:0;right:0;top:0;height:110px;background:linear-gradient(to bottom,#0b0909 0,rgba(11,9,9,.7) 45%,rgba(11,9,9,0) 100%);pointer-events:none;z-index:6}<\/style><section class=\"pj-section\" aria-label=\"Projets\"><div class=\"hf-seam\"><\/div>\n  <h2 class=\"pj-sr\">Projets photo<\/h2>\n\n  <!-- D\u00e9cor de la planche (ne pas toucher) -->\n  <div class=\"pj-mat\" aria-hidden=\"true\"><\/div>\n  <div class=\"pj-stain\" aria-hidden=\"true\"><\/div>\n  <div class=\"pj-scratch\" aria-hidden=\"true\"><\/div>\n  <svg class=\"pj-proto\" viewBox=\"0 0 380 380\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\">\n    <path d=\"M380 120A120 120 0 0 1 260 0M380 240A240 240 0 0 1 140 0M380 360A360 360 0 0 1 20 0\"\/>\n    <path d=\"M380 0L380 360M380 0L286.8 347.7M380 0L200 311.8M380 0L125.5 254.6M380 0L68.2 180M380 0L32.2 93.2M380 0L20 0\" stroke-opacity=\".55\"\/>\n    <g fill=\"currentColor\" stroke=\"none\" font-family=\"ui-monospace,Menlo,monospace\" font-size=\"9\" opacity=\".8\"><text x=\"222\" y=\"262\">30<\/text><text x=\"160\" y=\"214\">45<\/text><text x=\"112\" y=\"152\">60<\/text><\/g>\n  <\/svg>\n  <svg class=\"pj-arcs\" viewBox=\"0 0 420 420\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\">\n    <circle cx=\"0\" cy=\"420\" r=\"100\"\/><circle cx=\"0\" cy=\"420\" r=\"200\"\/><circle cx=\"0\" cy=\"420\" r=\"300\"\/><circle cx=\"0\" cy=\"420\" r=\"400\" stroke-dasharray=\"2 5\"\/>\n    <path d=\"M0 420L420 420M0 420L0 0\" stroke-opacity=\".6\"\/>\n  <\/svg>\n  <div class=\"pj-rx\" aria-hidden=\"true\"><\/div>\n  <div class=\"pj-ry\" aria-hidden=\"true\"><\/div>\n  <div class=\"pj-nx\" aria-hidden=\"true\"><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><\/div>\n  <div class=\"pj-ny\" aria-hidden=\"true\"><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><span><\/span><\/div>\n  <p class=\"pj-meta\" aria-hidden=\"true\">Hyperfocale &nbsp;\u00b7&nbsp; planche de travail &nbsp;\u00b7&nbsp; cm<\/p>\n  <div class=\"pj-lamp\" aria-hidden=\"true\"><\/div>\n  <div class=\"pj-grain\" aria-hidden=\"true\"><\/div>\n\n  <!--\n  ============ AJOUTER UN PROJET ============\n  1. Copie un bloc <a class=\"pj\"> ... <\/a> ci-dessous.\n  2. Colle-le o\u00f9 tu veux dans .pj-grid (a la fin, ou ailleurs).\n  3. Change : href, src, alt, titre, sous-titre.\n  Le placement en quinconce est automatique, les espaces restent identiques.\n  Photo en 3:2 (paysage) ? Ajoute data-format=\"paysage\" sur <a class=\"pj\"> pour un rendu parfait\n  d\u00e8s le chargement (sinon c'est d\u00e9tect\u00e9 dans la seconde qui suit).\n  ===========================================\n  -->\n\n  <div class=\"pj-grid\" id=\"pjGrid\">\n\n    <a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/menthon-raid\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/5-10-96LOW-1.jpg\" alt=\"Menthon RAID\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Menthon RAID<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/atlet-nutrition-2\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/ATLET-Nutrition-19LOW.jpg\" alt=\"Atlet Nutrition\u00ae\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Atlet Nutrition\u00ae<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/saintelyon-2025\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/30-11-V1-51-of-79LOW.jpg\" alt=\"Saint\u00e9Lyon 2025\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Saint\u00e9Lyon 2025<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/occ-2026\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/28-09-B-44LOW.jpg\" alt=\"OCC 2026\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">OCC 2026<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/spec-project-red\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/REd-12LOW.jpg\" alt=\"Spec Project - RED\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Spec Project &#8211; RED<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/tour-de-france-2026\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/22-07-TDF-17LOW.jpg\" alt=\"Tour de France 2026\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Tour de France 2026<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/marathon-du-mont-blanc-2026\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/07\/MMB-Serie-6-2.jpg\" alt=\"Marathon du Mont-Blanc 2026\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Marathon du Mont-Blanc 2026<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/ut4m-2026\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/19-01-Mathieu-59-scaled.jpg\" alt=\"UT4M 2026\" loading=\"eager\" decoding=\"async\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">UT4M 2026<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/saint-jacques-by-utmb-2026\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/22-06-6-of-12LOW.jpg\" alt=\"Saint-Jacques By UTMB 2026\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Saint-Jacques By UTMB 2026<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/nice-by-utmb-2025\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/07\/29-09-5-of-67-scaled.jpg\" alt=\"Nice by UTMB\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Nice by UTMB<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/meeting-grenoble-athle\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/32-05-16-of-18LOW.jpg\" alt=\"Meeting Grenoble Athl\u00e9\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Meeting Grenoble Athl\u00e9<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/yonex-ifb-2025\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/10\/27-10-19-of-22LOW.jpg\" alt=\"Yonex IFB 2025\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Yonex IFB 2025<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/bomolet\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/07\/29-01-3-of-17-scaled.jpg\" alt=\"Bomolet\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Bomolet<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/10km-de-villeurbanne\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/07\/6-04-1-37-of-63-scaled.jpg\" alt=\"10km de Villeurbanne\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">10km de Villeurbanne<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/semi-marathon-de-feur\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/07\/22-03-40-of-76-scaled.jpg\" alt=\"Semi-marathon de Feurs\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Semi-marathon de Feurs<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"https:\/\/hyperfocale.fr\/index.php\/meeting-athletisme\/\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/07\/Meeting-CSBJ-2-40-of-78.jpg\" alt=\"Meeting d'athl\u00e9tisme\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">Meeting d&rsquo;athl\u00e9tisme<\/strong><\/span>\n    <\/a>\n<a class=\"pj\" href=\"#\">\n      <span class=\"pj-media\"><img src=\"https:\/\/hyperfocale.fr\/wp-content\/uploads\/2026\/07\/RenduFinal-33A-scaled.jpg\" alt=\"UT4M\" loading=\"eager\" decoding=\"async\" fetchpriority=\"high\"><\/span>\n      <span class=\"pj-cap\"><strong class=\"pj-title\">UT4M<\/strong><\/span>\n    <\/a>\n\n  <\/div>\n<style>.hf-cta-contact{display:flex;flex-direction:column;align-items:center;gap:14px;margin:38px auto 0;text-align:center;position:relative;z-index:4}.hf-cta-contact h2{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(24px,2.6vw,32px);line-height:1;letter-spacing:.04em;color:rgba(244,236,228,.85);margin:0}.hf-cta-contact .hf-links{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:center;align-items:center}.hf-cta-contact a.hf-link{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:14px;color:rgba(244,236,228,.78);text-decoration:none;padding:0;border:0;background:none;transition:color .2s}.hf-cta-contact a.hf-link:hover{color:#E8920A;text-decoration:underline;text-underline-offset:4px}.hf-cta-contact svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pj-section{padding-bottom:140px!important}.pj-section .hf-cta-contact{margin-top:90px}<\/style><div class=\"hf-cta-contact\"><h2>Un projet en t\u00eate&nbsp;?<\/h2><div class=\"hf-links\"><a class=\"hf-link\" href=\"https:\/\/www.instagram.com\/eliott_mra\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"5\"><\/rect><circle cx=\"12\" cy=\"12\" r=\"4\"><\/circle><circle cx=\"17.5\" cy=\"6.5\" r=\".6\"><\/circle><\/svg>@eliott_mra<\/a><a class=\"hf-link\" href=\"mailto:eliottmoura@gmail.com\">eliottmoura@gmail.com<\/a><\/div><\/div><\/section>\n\n<style>\n.pj-section.pj-section{\n  --ease:cubic-bezier(.23,1,.32,1);\n  --u:40px;                                           \/* 1 carreau de la planche = 1 cm *\/\n  --line:rgba(255,232,222,.05);\n  --line-major:rgba(255,232,222,.11);\n  --ink:#f2ece4; --mut:#b9aea4; --red:#C0281A;\n\n  \/* --- mise en page : tout se calcule \u00e0 partir de la largeur de l'\u00e9cran --- *\/\n  --pl:clamp(48px,4vw,84px);                          \/* marge gauche (r\u00e8gle comprise) *\/\n  --pr:clamp(20px,2.4vw,50px);                        \/* marge droite *\/\n  --gw:min(1900px, calc(100vw - var(--pl) - var(--pr)));\n  --cols:4;\n  position:relative; isolation:isolate; overflow:hidden;\n  width:100vw !important; max-width:none !important;\n  margin-left:calc(50% - 50vw) !important; margin-right:0 !important;\n  margin-top:-1px !important; margin-bottom:0 !important;\n  padding:clamp(120px,11vw,200px) var(--pr) clamp(150px,14vw,260px) var(--pl);\n  background:#1a0807; color:var(--ink); box-sizing:border-box;\n}\n.pj-section *{box-sizing:border-box}\n.pj-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0!important;padding:0!important;border:0}\n\n\/* lumi\u00e8re de la lampe, vue de dessus *\/\n.pj-section::before{\n  content:\"\"; position:absolute; inset:0; z-index:0; pointer-events:none;\n  background:\n    radial-gradient(60% 90% at 0% 0%, rgba(74,15,11,.55), transparent 70%),\n    radial-gradient(70% 520px at 28% 6%, rgba(150,34,24,.38), transparent 70%),\n    radial-gradient(60% 600px at 85% 38%, rgba(110,24,18,.34), transparent 70%),\n    radial-gradient(70% 600px at 15% 72%, rgba(120,26,19,.30), transparent 70%),\n    radial-gradient(60% 520px at 80% 96%, rgba(90,18,14,.36), transparent 70%);\n}\n\/* raccord avec le bloc m\u00e9t\u00e9o du dessus *\/\n.pj-section::after{\n  content:\"\"; position:absolute; left:0; right:0; top:0; height:260px; z-index:2; pointer-events:none;\n  background:linear-gradient(to bottom,#0b0909 0,rgba(11,9,9,.72) 35%,transparent 100%);\n}\n\n\/* la planche : carreaux de 1 cm, lignes de 5 cm, points aux croisements *\/\n.pj-mat{\n  position:absolute; inset:0; z-index:0; pointer-events:none;\n  background-image:\n    radial-gradient(circle at 0 0, rgba(255,232,222,.30) 1.3px, transparent 1.9px),\n    linear-gradient(var(--line-major) 1px, transparent 1px),\n    linear-gradient(90deg, var(--line-major) 1px, transparent 1px),\n    linear-gradient(var(--line) 1px, transparent 1px),\n    linear-gradient(90deg, var(--line) 1px, transparent 1px);\n  background-size:\n    calc(var(--u)*5) calc(var(--u)*5), calc(var(--u)*5) calc(var(--u)*5), calc(var(--u)*5) calc(var(--u)*5),\n    var(--u) var(--u), var(--u) var(--u);\n  background-position:28px 28px;\n}\n\/* taches et usure de la mati\u00e8re *\/\n.pj-stain{\n  position:absolute; inset:0; z-index:0; pointer-events:none; mix-blend-mode:multiply; opacity:.5;\n  background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='900' height='900'><filter id='s'><feTurbulence type='fractalNoise' baseFrequency='.0045 .006' numOctaves='3' seed='7'\/><feColorMatrix values='0 0 0 0 .02  0 0 0 0 .01  0 0 0 0 .01  0 0 0 1.7 -.55'\/><\/filter><rect width='900' height='900' filter='url(%23s)'\/><\/svg>\");\n  background-size:900px 900px;\n}\n\/* micro-rayures et traits de coupe *\/\n.pj-scratch{\n  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.95;\n  background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='1400' height='900' fill='none' stroke-linecap='round'><g stroke='white' stroke-width='.6'><path d='M60 120L520 300' stroke-opacity='.06'\/><path d='M900 40L1300 210' stroke-opacity='.05'\/><path d='M200 700L760 560' stroke-opacity='.06'\/><path d='M1100 800L1350 640' stroke-opacity='.05'\/><path d='M30 420L330 380' stroke-opacity='.05'\/><path d='M640 860L1020 700' stroke-opacity='.04'\/><path d='M760 90L980 400' stroke-opacity='.045'\/><path d='M420 540L610 470' stroke-opacity='.06'\/><\/g><g stroke='black' stroke-width='.9'><path d='M300 200Q420 262 560 238' stroke-opacity='.35'\/><path d='M980 560Q1090 520 1210 590' stroke-opacity='.3'\/><path d='M140 800Q260 760 350 810' stroke-opacity='.28'\/><\/g><\/svg>\");\n  background-size:1400px 900px;\n}\n\n\/* r\u00e8gles gradu\u00e9es (les chiffres se comptent tout seuls : 0, 5, 10...) *\/\n.pj-rx,.pj-ry{position:absolute; z-index:1; pointer-events:none; background-color:rgba(10,4,3,.4)}\n.pj-rx{\n  top:0; left:28px; right:0; height:28px; border-bottom:1px solid rgba(255,232,222,.14);\n  background-image:linear-gradient(90deg, rgba(255,232,222,.38) 1px, transparent 1px), linear-gradient(90deg, rgba(255,232,222,.55) 1px, transparent 1px);\n  background-size:var(--u) 6px, calc(var(--u)*5) 12px; background-position:0 100%, 0 100%; background-repeat:repeat-x;\n}\n.pj-ry{\n  top:28px; left:0; bottom:0; width:28px; border-right:1px solid rgba(255,232,222,.14);\n  background-image:linear-gradient(180deg, rgba(255,232,222,.38) 1px, transparent 1px), linear-gradient(180deg, rgba(255,232,222,.55) 1px, transparent 1px);\n  background-size:6px var(--u), 12px calc(var(--u)*5); background-position:100% 0, 100% 0; background-repeat:repeat-y;\n}\n.pj-nx,.pj-ny{position:absolute; z-index:1; pointer-events:none; display:flex; overflow:hidden}\n.pj-nx{top:0; left:28px; right:0; height:28px; counter-reset:nx -5}\n.pj-ny{top:28px; left:0; bottom:0; width:28px; flex-direction:column; counter-reset:ny -5}\n.pj-nx span,.pj-ny span{flex:0 0 calc(var(--u)*5); position:relative}\n.pj-nx span{counter-increment:nx 5}\n.pj-ny span{counter-increment:ny 5}\n.pj-nx span::before,.pj-ny span::before{\n  position:absolute; font:400 9px\/1 ui-monospace,'SF Mono',Menlo,Consolas,monospace; color:rgba(255,232,222,.42);\n  letter-spacing:.04em; font-variant-numeric:tabular-nums;\n}\n.pj-nx span::before{content:counter(nx); left:4px; top:5px}\n.pj-ny span::before{content:counter(ny); left:4px; top:5px}\n\n\/* rapporteur et cercles gradu\u00e9s dans les angles *\/\n.pj-proto,.pj-arcs{position:absolute; z-index:1; pointer-events:none; color:rgba(255,232,222,.20)}\n.pj-proto{top:28px; right:0; width:clamp(200px,24vw,400px); height:auto}\n.pj-arcs{left:28px; bottom:0; width:clamp(180px,22vw,360px); height:auto}\n.pj-meta{\n  position:absolute; right:clamp(20px,3vw,60px); bottom:clamp(20px,2.6vw,44px); z-index:1; margin:0!important; pointer-events:none;\n  font:400 10px\/1 ui-monospace,'SF Mono',Menlo,Consolas,monospace; letter-spacing:.28em; text-transform:uppercase; color:rgba(255,232,222,.36);\n}\n\n\/* lampe qui suit la souris (ordinateur, si le script est actif) *\/\n.pj-lamp{\n  position:absolute; left:0; top:0; width:1100px; height:1100px; margin:-550px 0 0 -550px; z-index:4; pointer-events:none;\n  background:radial-gradient(closest-side, rgba(255,216,194,.15), rgba(255,170,140,.05) 55%, transparent);\n  mix-blend-mode:screen; opacity:0; transition:opacity .4s ease-out; will-change:transform;\n}\n.pj-section.lit .pj-lamp{opacity:1}\n\n\/* grain de la mati\u00e8re, par-dessus tout (photos comprises) *\/\n.pj-grain{\n  position:absolute; inset:0; z-index:5; pointer-events:none;\n  background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'\/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'\/><\/filter><rect width='220' height='220' filter='url(%23g)'\/><\/svg>\");\n  mix-blend-mode:overlay; opacity:.14;\n}\n\n\/* ===== LA GRILLE : 4 colonnes, quinconce, espaces identiques en largeur et en hauteur =====\n   Unit\u00e9 de hauteur = 1\/60 de la largeur d'une photo. Photo 4:5 = 75 unit\u00e9s, 3:2 = 40 unit\u00e9s.\n   Espace entre photos = 20 unit\u00e9s = 1\/3 de la largeur d'une photo, partout. *\/\n.pj-grid{\n  --cw:calc(var(--gw) \/ (var(--cols) + (var(--cols) - 1) \/ 3));\n  --gap:calc(var(--cw) \/ 3);\n  --unit:calc(var(--cw) \/ 60);\n  position:relative; z-index:3;\n  display:grid; grid-template-columns:repeat(var(--cols), var(--cw));\n  grid-auto-rows:var(--unit); column-gap:var(--gap); row-gap:0;\n  justify-content:center; align-items:start; margin:0 auto;\n}\n.pj{\n  --sp:95;                                                         \/* 75 + 20 *\/\n  position:relative; display:block; align-self:start; grid-row:var(--rs,auto) \/ span var(--sp);\n  text-decoration:none!important; color:inherit!important;\n}\n.pj.is-l,.pj[data-format=\"paysage\"]{--sp:60}                       \/* 40 + 20 *\/\n.pj[data-format=\"portrait\"]{--sp:95}\n\n\/* d\u00e9part d\u00e9cal\u00e9 des 4 premi\u00e8res colonnes = le quinconce *\/\n.pj:nth-child(1){grid-column:1; --rs:1;  --rot:-1.4deg}\n.pj:nth-child(2){grid-column:2; --rs:37; --rot:1deg}\n.pj:nth-child(3){grid-column:3; --rs:15; --rot:-.8deg}\n.pj:nth-child(4){grid-column:4; --rs:55; --rot:1.6deg}\n.pj:nth-child(4n+5){--rot:1.2deg}\n.pj:nth-child(4n+6){--rot:-1deg}\n.pj:nth-child(4n+7){--rot:1.5deg}\n.pj:nth-child(4n+8){--rot:-1.3deg}\n\n.pj-media{\n  position:relative; display:block; width:100%; overflow:hidden; aspect-ratio:4\/5; background:#150f0e;\n  rotate:var(--rot,0deg);\n  box-shadow:0 1px 2px rgba(0,0,0,.55), 0 18px 36px -16px rgba(0,0,0,.65);\n  outline:1px solid rgba(255,232,222,.08);\n  transition:rotate .28s var(--ease), translate .28s var(--ease), box-shadow .28s var(--ease);\n}\n.pj.is-l .pj-media,.pj[data-format=\"paysage\"] .pj-media{aspect-ratio:3\/2}\n.pj[data-format=\"portrait\"] .pj-media{aspect-ratio:4\/5}\n.pj-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block}\n\n\/* rep\u00e8res de cadrage au survol *\/\n.pj::before{\n  --c:rgba(255,232,222,.7);\n  content:\"\"; position:absolute; inset:-16px; pointer-events:none; opacity:0; transition:opacity .2s ease-out;\n  background:\n    linear-gradient(var(--c),var(--c)) 0 0\/14px 1px no-repeat,    linear-gradient(var(--c),var(--c)) 0 0\/1px 14px no-repeat,\n    linear-gradient(var(--c),var(--c)) 100% 0\/14px 1px no-repeat, linear-gradient(var(--c),var(--c)) 100% 0\/1px 14px no-repeat,\n    linear-gradient(var(--c),var(--c)) 0 100%\/14px 1px no-repeat, linear-gradient(var(--c),var(--c)) 0 100%\/1px 14px no-repeat,\n    linear-gradient(var(--c),var(--c)) 100% 100%\/14px 1px no-repeat, linear-gradient(var(--c),var(--c)) 100% 100%\/1px 14px no-repeat;\n}\n\n\/* l\u00e9gende : titre en gras, sous-titre en regular, dans l'espace sous la photo *\/\n.pj-cap{\n  position:absolute; left:0; right:0; top:100%; display:block; padding-top:24px; text-align:left;\n  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;\n  opacity:0; transform:translateY(-4px); transition:opacity .22s ease-out, transform .22s ease-out; pointer-events:none;\n}\n.pj-title{display:block; font-weight:700; font-size:15px; line-height:1.25; color:var(--ink)}\n.pj-sub{display:block; margin-top:3px; font-weight:400; font-size:13.5px; line-height:1.35; color:var(--mut)}\n\n@media (hover:hover) and (pointer:fine){\n  .pj:hover .pj-cap,.pj:focus-visible .pj-cap{opacity:1; transform:none}\n  .pj:hover::before,.pj:focus-visible::before{opacity:1}\n  .pj:hover .pj-media,.pj:focus-visible .pj-media{rotate:0deg; translate:0 -4px; box-shadow:0 1px 2px rgba(0,0,0,.5), 0 26px 44px -16px rgba(0,0,0,.7)}\n}\n.pj:focus-visible{outline:none}\n.pj:focus-visible .pj-media{outline:1px solid var(--red); outline-offset:6px}\n@media (hover:none){.pj-cap{opacity:1; transform:none}}\n\n\/* le tirage se pose sur la planche : 100 % CSS, jamais cach\u00e9 si le script tarde *\/\n@keyframes pjDrop{from{opacity:0; transform:translateY(-24px) scale(1.04)} to{opacity:1; transform:none}}\n@supports (animation-timeline:view()){\n  .pj-media{animation:pjDrop ease-out both; animation-timeline:view(); animation-range:entry 0% entry 65%}\n}\n@supports not (animation-timeline:view()){\n  .pj-media{animation:pjDrop .6s var(--ease) both}\n}\n\n\/* ===== TABLETTE ET PETIT \u00c9CRAN : 2 colonnes ===== *\/\n@media (max-width:1359px){\n  .pj-section.pj-section{--cols:2}\n  .pj:nth-child(1){grid-column:1; --rs:1}\n  .pj:nth-child(2){grid-column:2; --rs:37}\n  .pj:nth-child(n+3){grid-column:auto; --rs:auto}\n  .pj-proto{opacity:.8}\n}\n\/* ===== MOBILE : un tirage par ligne, en alternance, m\u00eames espaces ===== *\/\n@media (max-width:620px){\n  .pj-section.pj-section{--u:28px; --pl:46px; --pr:18px}\n  .pj-grid{display:flex; flex-direction:column; gap:92px}\n  .pj:nth-child(n){width:80%; grid-row:auto; --rs:auto}\n  .pj:nth-child(odd){align-self:flex-start; --rot:-1.6deg}\n  .pj:nth-child(even){align-self:flex-end; --rot:1.4deg}\n  .pj-title{font-size:14.5px} .pj-sub{font-size:13px}\n}\n@media (prefers-reduced-motion:reduce){\n  .pj-media{animation:none !important; transition:none !important}\n  .pj-cap,.pj::before,.pj-lamp{transition:opacity .2s ease !important}\n}\n<\/style>\n\n<script>\n\/* Am\u00e9liorations facultatives : la page s'affiche tr\u00e8s bien sans ce script. *\/\n(function(){\n  var sec=document.querySelector('.pj-section'); if(!sec)return;\n\n  \/* photo en 3:2 non d\u00e9clar\u00e9e : d\u00e9tect\u00e9e au chargement *\/\n  [].slice.call(sec.querySelectorAll('.pj')).forEach(function(el){\n    var img=el.querySelector('img'); if(!img||el.getAttribute('data-format'))return;\n    function f(){if(img.naturalWidth&&img.naturalHeight){el.classList.toggle('is-l',img.naturalWidth\/img.naturalHeight>=1.15);}}\n    if(img.complete)f();else img.addEventListener('load',f);\n  });\n\n  \/* lampe qui suit la souris, avec un l\u00e9ger retard (ordinateur seulement) *\/\n  var lamp=sec.querySelector('.pj-lamp');\n  if(lamp&&window.matchMedia&&window.matchMedia('(hover:hover) and (pointer:fine)').matches&&!window.matchMedia('(prefers-reduced-motion:reduce)').matches){\n    var tx=0,ty=0,x=0,y=0,run=false;\n    function tick(){\n      x+=(tx-x)*.14; y+=(ty-y)*.14;\n      lamp.style.transform='translate3d('+x.toFixed(1)+'px,'+y.toFixed(1)+'px,0)';\n      if(Math.abs(tx-x)>.5||Math.abs(ty-y)>.5){requestAnimationFrame(tick);}else{run=false;}\n    }\n    sec.addEventListener('pointermove',function(e){\n      if(e.pointerType==='touch')return;\n      var r=sec.getBoundingClientRect(); tx=e.clientX-r.left; ty=e.clientY-r.top;\n      sec.classList.add('lit'); if(!run){run=true;requestAnimationFrame(tick);}\n    });\n    sec.addEventListener('pointerleave',function(){sec.classList.remove('lit');});\n  }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Portfolio Hyperfocale, photographe bas\u00e9 \u00e0 Lyon. Lyon &#8211;:&#8211;:&#8211; Projets photo 304560 Hyperfocale &nbsp;\u00b7&nbsp; planche de travail &nbsp;\u00b7&nbsp; cm Menthon RAID [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-219","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/pages\/219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/comments?post=219"}],"version-history":[{"count":192,"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/pages\/219\/revisions"}],"predecessor-version":[{"id":3287,"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/pages\/219\/revisions\/3287"}],"wp:attachment":[{"href":"https:\/\/hyperfocale.fr\/index.php\/wp-json\/wp\/v2\/media?parent=219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}