Atelier

MR. MORGAN

Œuvre originale à l'huile
Découvrir l'œuvre
Pièce unique · Certificat d'authenticité inclus · Créée en France
(function () { var preloadUrls = [ "https://atelier.mrmorgan.fr/assets/images/image01.jpg?v=8d371bd8", "https://atelier.mrmorgan.fr/assets/images/image02.jpg?v=8d371bd8", "https://atelier.mrmorgan.fr/assets/images/image03.jpg?v=8d371bd8" ]; preloadUrls.forEach(function (url) { var img = new Image(); img.decoding = "sync"; img.src = url; }); })();
(function(){ var CORRECT_FILE = "image02.png"; var CORRECT_HASH = "0fc03bc0"; function fixImg(img){ var src = img.getAttribute("src"); if(!src || (src.indexOf("image01.png") === -1 && src.indexOf("image02.png") === -1)) return; var fixed = src.replace(/image0[12]\.png\?v=[a-z0-9]+/i, CORRECT_FILE + "?v=" + CORRECT_HASH); if(fixed !== src){ img.setAttribute("src", fixed); } } function fixBg(el){ var bg = el.style && el.style.backgroundImage; if(!bg || (bg.indexOf("image01.png") === -1 && bg.indexOf("image02.png") === -1)) return; var fixed = bg.replace(/image0[12]\.png\?v=[a-z0-9]+/i, CORRECT_FILE + "?v=" + CORRECT_HASH); if(fixed !== bg){ el.style.backgroundImage = fixed; } } function run(){ document.querySelectorAll('img[src*="image01.png"], img[src*="image02.png"]').forEach(fixImg); document.querySelectorAll('[style*="image01.png"], [style*="image02.png"]').forEach(fixBg); } run(); document.addEventListener("DOMContentLoaded", run); window.addEventListener("load", run); var observer = new MutationObserver(function(){ run(); }); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ["src", "style"] }); })();
Atelier MR. MORGAN
Atelier MR. MORGAN

Contact

Pour toute demande d'acquisition, de disponibilité ou d'information complémentaire, vous pouvez nous écrire via le formulaire.

Réponse sous 24 à 48 heures
Atelier MR. MORGAN · Œuvre originale à l'huile · Certificat d'authenticité inclus
(function() { function atelierMoveContactForm() { var section = document.querySelector(".atelier-contact-section"); var slot = document.querySelector(".atelier-contact-form-slot"); var form = document.querySelector("form"); if (!section) { return; } if (!slot || !form) { window.setTimeout(function() { section.classList.add("is-ready"); }, 450); return; } form.classList.add("atelier-contact-form"); if (!slot.contains(form)) { slot.appendChild(form); } var submit = form.querySelector('button, input[type="submit"], .button'); if (submit) { if (submit.tagName && submit.tagName.toLowerCase() === "input") { submit.value = "ENVOYER LA DEMANDE"; } else { submit.textContent = "ENVOYER LA DEMANDE"; } } window.requestAnimationFrame(function() { section.classList.add("is-ready"); }); } document.addEventListener("DOMContentLoaded", atelierMoveContactForm); window.addEventListener("load", atelierMoveContactForm); setTimeout(atelierMoveContactForm, 200); setTimeout(atelierMoveContactForm, 700); setTimeout(atelierMoveContactForm, 1500); })();
Atelier MR. MORGAN
L'Ombre et la Grâce
Blessée, jamais brisée.

Cette œuvre est dédiée à la résilience féminine — à ces femmes qui portent leurs blessures en silence, sans jamais perdre leur dignité.

La cicatrice sur son dos symbolise la douleur traversée, tandis que l'ombre incarne tout ce qu'il faut parfois cacher ou endurer.

Pourtant, la lumière révèle une vérité plus profonde : elle montre cette force intérieure indestructible qui continue de briller malgré la douleur.

La beauté, la force et la grâce demeurent en elle, pour toujours.

Blessée, jamais brisée.

Détails de l'œuvre
Une pièce unique, accompagnée de son certificat d'authenticité.
Titre
L'Ombre et la Grâce — Blessée, jamais brisée.
Technique
Huile sur toile
Dimensions
70 × 100 cm
Année
2026
Édition
Pièce unique — 1/1
Direction artistique
Atelier MR. MORGAN
Peinture réalisée par
Voloshyna Kateryna
Origine
Créée en France
Certificat
Certificat d'authenticité n° MM-ART-2026-001 · délivré par SAS MR. MORGAN

Cette œuvre originale a été réalisée en un seul exemplaire.

Peinture à l'huile réalisée par Voloshyna Kateryna, sous la direction artistique de l'Atelier MR. MORGAN.

Aucune autre version originale ne sera produite.

L'œuvre est accompagnée de son certificat d'authenticité, remis avec la toile lors de l'acquisition.

Ambiance lumineuse
Lumière ambrée
RGB ambré/orangé · faible intensité · effet dramatique sans lumière agressive.
(function() { var section = document.getElementById("mrOeuvreSectionV2"); if (!section) { return; } var currentMode = "rgb"; var isSwitching = false; var isDetails = false; var touchStartY = null; var scrollLock = false; var texts = { natural: { title: "Lumière naturelle", text: "Lumière du jour douce, idéale pour une lecture calme et naturelle de l'œuvre." }, gallery: { title: "Éclairage galerie", text: "Spot chaud 3000K · IRC 90+ · faisceau doux orienté vers la toile." }, rgb: { title: "Lumière ambrée", text: "RGB ambré/orangé · faible intensité · effet dramatique sans lumière agressive." } }; function setDetails(showDetails) { isDetails = showDetails; section.classList.toggle("is-details", showDetails); } function setLight(mode) { if (isSwitching || mode === currentMode || !texts[mode]) { return; } isSwitching = true; section.classList.add("is-switching"); section.classList.remove("mode-natural", "mode-gallery", "mode-rgb"); section.classList.add("mode-" + mode); var buttons = section.querySelectorAll(".mr-oeuvre-button-v2"); buttons.forEach(function(button) { button.classList.toggle("active", button.getAttribute("data-mode") === mode); }); var title = document.getElementById("mrOeuvreInfoTitleV2"); var text = document.getElementById("mrOeuvreInfoTextV2"); if (title && text) { title.textContent = texts[mode].title; text.textContent = texts[mode].text; } currentMode = mode; window.setTimeout(function() { isSwitching = false; section.classList.remove("is-switching"); }, 1850); } function isSectionInFocus() { if (window.innerWidth <= 768) { return false; } var rect = section.getBoundingClientRect(); var middle = window.innerHeight * 0.5; return rect.top <= middle && rect.bottom >= middle; } function handleWheel(event) { if (window.innerWidth <= 768) { return; } if (!isSectionInFocus()) { return; } if (Math.abs(event.deltaY) < 18) { return; } if (scrollLock) { event.preventDefault(); return; } if (event.deltaY > 0 && !isDetails) { event.preventDefault(); setDetails(true); scrollLock = true; window.setTimeout(function() { scrollLock = false; }, 850); return; } if (event.deltaY < 0 && isDetails) { event.preventDefault(); setDetails(false); scrollLock = true; window.setTimeout(function() { scrollLock = false; }, 850); } } function handleTouchStart(event) { if (!event.touches || !event.touches.length) { return; } touchStartY = event.touches[0].clientY; } function handleTouchMove(event) { if (touchStartY === null || window.innerWidth <= 768) { return; } if (!isSectionInFocus()) { return; } var currentY = event.touches[0].clientY; var diff = touchStartY - currentY; if (Math.abs(diff) < 35) { return; } if (scrollLock) { event.preventDefault(); return; } if (diff > 0 && !isDetails) { event.preventDefault(); setDetails(true); scrollLock = true; window.setTimeout(function() { scrollLock = false; }, 850); } if (diff < 0 && isDetails) { event.preventDefault(); setDetails(false); scrollLock = true; window.setTimeout(function() { scrollLock = false; }, 850); } } var lightButtons = section.querySelectorAll(".mr-oeuvre-button-v2");
Atelier MR. MORGAN
Atelier MR. MORGAN

Demande d’acquisition

Pour toute demande d’acquisition, de disponibilité ou d’information complémentaire, vous pouvez nous écrire via le formulaire.

Nous pouvons également créer une autre œuvre sur demande, à partir de votre projet, de votre espace ou de votre univers visuel, sans reproduction de nos pièces uniques. Couleurs, dimensions, atmosphère et format peuvent être adaptés à votre intérieur.

Chaque œuvre commandée est réalisée spécialement pour vous, en exemplaire unique, accompagnée de son certificat d’authenticité et protégée par le droit d’auteur.

La livraison de l’œuvre est assurée en France et à l’international, avec un emballage adapté et son certificat d’authenticité.

Réponse sous 24 à 48 heures
Atelier MR. MORGAN · Acquisition · Création sur mesure · Livraison · Certificat d’authenticité inclus
(function() { function moveAcquisitionForm() { var slot = document.querySelector(".atelier-acquisition-form-slot"); if (!slot) { return; } var existing = slot.querySelector("form"); if (existing) { styleAcquisitionForm(existing); return; } var forms = Array.prototype.slice.call(document.querySelectorAll("form")); var candidates = forms.filter(function(form) { if (form.closest(".atelier-contact-section")) { return false; } if (form.closest(".atelier-acquisition-section")) { return false; } return true; }); var form = candidates[candidates.length - 1]; if (!form) { return; } styleAcquisitionForm(form); slot.appendChild(form); } function styleAcquisitionForm(form) { if (form.getAttribute("data-acquisition-styled") === "true") { return; } form.classList.add("atelier-acquisition-form"); form.setAttribute("data-acquisition-styled", "true"); var textarea = form.querySelector("textarea"); if (textarea) { textarea.setAttribute("placeholder", "Votre demande d’acquisition, de livraison ou de création sur mesure"); } var submit = form.querySelector('button, input[type="submit"], .button'); if (submit) { if (submit.tagName && submit.tagName.toLowerCase() === "input") { submit.value = "ENVOYER LA DEMANDE"; } else { submit.textContent = "ENVOYER LA DEMANDE"; } } } function redirectAcquisitionButton() { document.querySelectorAll(".mr-oeuvre-acquisition-v2").forEach(function(button) { button.setAttribute("href", "#acquisition"); }); } document.addEventListener("click", function(event) { var acquisitionButton = event.target.closest(".mr-oeuvre-acquisition-v2"); if (acquisitionButton) { acquisitionButton.setAttribute("href", "#acquisition"); } }, true); document.addEventListener("DOMContentLoaded", function() { moveAcquisitionForm(); redirectAcquisitionButton(); }); window.addEventListener("load", function() { moveAcquisitionForm(); redirectAcquisitionButton(); }); setTimeout(function() { moveAcquisitionForm(); redirectAcquisitionButton(); }, 200); })();
Accueil
Naissance de l'œuvre

Le processus de création

Du premier trait à l'œuvre achevée, chaque étape révèle la naissance de « L'Ombre et la Grâce ».

Esquisse préparatoire
01

Esquisse préparatoire

Les premières lignes posent la silhouette, l'équilibre et la direction du mouvement.

Premiers gestes
02

Premiers gestes

Les premières touches dorées installent l'énergie, le contraste et la tension de la composition.

Mise en peinture
03

Mise en peinture

La figure commence à apparaître. Les premières couches de peinture donnent corps à l'œuvre.

Œuvre achevée
04

Œuvre achevée

L'équilibre final se révèle : une présence silencieuse, lumineuse et fragile à la fois.

Présence réelle
05

Présence réelle

Une vue de biais révèle le volume, la texture et la présence physique de la toile.

Signature au dos
06

Signature au dos

L'œuvre est signée au dos de la toile, identifiée comme pièce unique et accompagnée de son certificat d'authenticité.

Détails de l'œuvre

Chaque gros plan révèle le geste, la lumière et la texture réelle de la peinture.

Détail symbolique

Détail symbolique

La cicatrice devient le signe visible d'une force intérieure intacte.

Matière picturale

Matière picturale

Les touches dorées révèlent le mouvement de la robe et la lumière du corps.

Authenticité

Cette œuvre originale est signée à la main, accompagnée de son certificat d'authenticité et identifiée comme pièce unique — 1/1.

Atelier MR. MORGAN
Naissance de l'œuvre

Le processus de création

Du premier trait à l'œuvre achevée, chaque étape révèle la naissance de « L'Ombre et la Grâce ».

Glissez pour découvrir
Esquisse préparatoire
01

Esquisse préparatoire

Les premières lignes posent la silhouette, l'équilibre et la direction du mouvement.

Premiers gestes
02

Premiers gestes

Les premières touches dorées installent l'énergie, le contraste et la tension de la composition.

Mise en peinture
03

Mise en peinture

La figure commence à apparaître. Les premières couches de peinture donnent corps à l'œuvre.

Œuvre achevée
04

Œuvre achevée

L'équilibre final se révèle : une présence silencieuse, lumineuse et fragile à la fois.

Présence réelle
05

Présence réelle

Une vue de biais révèle le volume, la texture et la présence physique de la toile.

Signature au dos
06

Signature au dos

L'œuvre est signée au dos de la toile, identifiée comme pièce unique et accompagnée de son certificat.

Détails de l'œuvre

Chaque gros plan révèle le geste, la lumière et la texture réelle de la peinture.

Détail symbolique

Détail symbolique

La cicatrice devient le signe visible d'une force intérieure intacte.

Matière picturale

Matière picturale

Les touches dorées révèlent le mouvement de la robe et la lumière du corps.

Authenticité

Cette œuvre originale est signée à la main, accompagnée de son certificat d'authenticité et identifiée comme pièce unique — 1/1.

(function() { var ticking = false; var lastVisible = null; function isMobileProcessLogoMode() { return window.innerWidth <= 768; } function getOrCreateLogo() { var logo = document.getElementById("mrProcessMobileFixedHome"); if (logo) { return logo; } logo = document.createElement("a"); logo.id = "mrProcessMobileFixedHome"; logo.href = "#home"; logo.setAttribute("aria-label", "Accueil"); document.body.appendChild(logo); return logo; } function shouldShowLogo() { var section = document.querySelector(".mrpm"); if (!section || !isMobileProcessLogoMode()) { return false; } var rect = section.getBoundingClientRect(); return ( rect.top <= 90 && rect.top > -170 && rect.bottom > 240 ); } function setLogoVisible(visible) { var logo = getOrCreateLogo(); if (!logo) { return; } if (lastVisible === visible) { return; } lastVisible = visible; if (visible) { logo.classList.add("is-instant"); logo.classList.add("is-visible"); window.setTimeout(function() { logo.classList.remove("is-instant"); }, 120); } else { logo.classList.remove("is-instant"); logo.classList.remove("is-visible"); } } function updateMobileProcessLogo() { setLogoVisible(shouldShowLogo()); } function requestMobileProcessLogoUpdate() { if (ticking) { return; } ticking = true; window.requestAnimationFrame(function() { updateMobileProcessLogo(); ticking = false; }); } function initMobileProcessLogo() { getOrCreateLogo(); updateMobileProcessLogo(); window.addEventListener("scroll", requestMobileProcessLogoUpdate, { passive: true }); window.addEventListener("resize", requestMobileProcessLogoUpdate); document.addEventListener("visibilitychange", function() { if (!document.hidden) { requestMobileProcessLogoUpdate(); } }); window.addEventListener("pageshow", function() { requestMobileProcessLogoUpdate(); }); window.addEventListener("hashchange", function() { requestMobileProcessLogoUpdate(); window.setTimeout(updateMobileProcessLogo, 180); window.setTimeout(updateMobileProcessLogo, 420); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", initMobileProcessLogo); } else { initMobileProcessLogo(); } })();
(function() { var current = 0; var slides = []; var mrTouchStartX = 0; var mrTouchStartY = 0; var mrTouchTracking = false; var mrGalleryHistoryOpen = false; var mrIgnoreNextPopstate = false; function isMobile() { return window.innerWidth <= 768; } function getVisibleFrames() { var selector = isMobile() ? ".mrpm .mrpm-img" : ".mrp .mrp-img, .mrp .mrp-detail-img"; return Array.prototype.slice.call(document.querySelectorAll(selector)); } function getArticle(frame) { return frame.closest("article") || frame.parentElement; } function getTitle(frame) { var article = getArticle(frame); var title = article ? article.querySelector("h3, h4") : null; var titleText = title ? title.textContent.trim() : "Œuvre"; if (isMobile() && titleText === "Esquisse préparatoire") { return "Esquisse"; } return titleText; } function getText(frame) { var article = getArticle(frame); var text = article ? article.querySelector("p") : null; return text ? text.textContent.trim() : ""; } function getNumber(frame, index) { var article = getArticle(frame); var number = article ? article.querySelector(".mrp-num, .mrpm-num") : null; return number ? number.textContent.trim() : String(index + 1).padStart(2, "0"); } function buildSlides() { slides = []; getVisibleFrames().forEach(function(frame, index) { var img = frame.querySelector("img"); if (!img) { return; } slides.push({ frame: frame, src: img.currentSrc || img.src, alt: img.alt || "", num: getNumber(frame, index), title: getTitle(frame), text: getText(frame) }); }); } function addGalleryHideStyle() { if (document.getElementById("mrEmergencyGalleryHideStyle")) { return; } var style = document.createElement("style"); style.id = "mrEmergencyGalleryHideStyle"; style.textContent = "html.mr-emergency-gallery-open #mrProcessViewportLogoFinal," + "html.mr-emergency-gallery-open #mrProcessMobileFixedHome," + "html.mr-emergency-gallery-open .mrpm-logo-progress-final," + "html.mr-emergency-gallery-open .mrpm-fixed-logo-final," + "html.mr-emergency-gallery-open .mrpm-clean-process-logo-v10," + "html.mr-emergency-gallery-open .mrpm-home," + "html.mr-emergency-gallery-open .mrp-home," + "html.mr-emergency-gallery-open .mrpm a[aria-label='Accueil']," + "html.mr-emergency-gallery-open .mrp a[aria-label='Accueil']{" + "opacity:0!important;" + "visibility:hidden!important;" + "pointer-events:none!important;" + "filter:none!important;" + "}" + "#mrEmergencyClose{" + "display:none!important;" + "opacity:0!important;" + "visibility:hidden!important;" + "pointer-events:none!important;" + "}"; document.head.appendChild(style); } function setGalleryOpenState(open) { if (open) { document.documentElement.classList.add("mr-emergency-gallery-open"); return; } document.documentElement.classList.remove("mr-emergency-gallery-open"); window.dispatchEvent(new Event("scroll")); window.setTimeout(function() { window.dispatchEvent(new Event("scroll")); }, 80); } function pushGalleryHistory() { if (mrGalleryHistoryOpen) { return; } try { window.history.pushState( { mrEmergencyGallery: true }, "", window.location.href ); mrGalleryHistoryOpen = true; } catch(e) {} } window.addEventListener("popstate", function() { if (mrIgnoreNextPopstate) { mrIgnoreNextPopstate = false; return; } var overlay = document.getElementById("mrEmergencyGallery"); if (overlay && overlay.style.display === "block") { closeGallery(true); } }); function addMobileSwipeStyle() { if (document.getElementById("mrMobileSwipeStyle")) { return; } var style = document.createElement("style"); style.id = "mrMobileSwipeStyle"; style.textContent = "@media(max-width:768px){" + "#mrEmergencyPrev,#mrEmergencyNext{" + "display:none!important;" + "visibility:hidden!important;" + "opacity:0!important;" + "pointer-events:none!important;" + "}" + ".mr-mobile-swipe-line{" + "position:fixed!important;" + "z-index:100000000!important;" + "width:34px!important;" + "height:1px!important;" + "pointer-events:none!important;" + "display:none;" + "background:linear-gradient(90deg,transparent,rgba(216,189,134,.92),transparent)!important;" + "box-shadow:0 0 12px rgba(216,189,134,.38)!important;" + "}" + ".mr-mobile-swipe-line:after{" + "content:''!important;" + "position:absolute!important;" + "left:50%!important;" + "top:50%!important;" + "width:4px!important;" + "height:4px!important;" + "border-radius:50%!important;" + "background:rgba(216,189,134,.82)!important;" + "transform:translate(-50%,-50%)!important;" + "box-shadow:0 0 12px rgba(216,189,134,.5)!important;" + "}" + "#mrMobileSwipeLeft{" + "animation:mrMobileSwipeLeft 1.45s ease-in-out infinite!important;" + "}" + "#mrMobileSwipeRight{" + "animation:mrMobileSwipeRight 1.45s ease-in-out infinite!important;" + "}" + "@keyframes mrMobileSwipeLeft{" + "0%{opacity:0;transform:translateX(-12px)}" + "30%{opacity:.72}" + "100%{opacity:0;transform:translateX(16px)}" + "}" + "@keyframes mrMobileSwipeRight{" + "0%{opacity:0;transform:translateX(12px)}" + "30%{opacity:.72}" + "100%{opacity:0;transform:translateX(-16px)}" + "}" + "}"; document.head.appendChild(style); } function updateMobileSwipeLines() { var overlay = document.getElementById("mrEmergencyGallery"); var image = document.getElementById("mrEmergencyImage"); var left = document.getElementById("mrMobileSwipeLeft"); var right = document.getElementById("mrMobileSwipeRight"); if (!left || !right) { return; } if (!isMobile() || !overlay || overlay.style.display !== "block" || !image) { left.style.display = "none"; right.style.display = "none"; return; } var rect = image.getBoundingClientRect(); if (!rect.width || !rect.height) { left.style.display = "none"; right.style.display = "none"; return; } var y = rect.top + rect.height / 2; var leftGap = rect.left; var rightGap = window.innerWidth - rect.right; var leftX = Math.max(8, (leftGap / 2) - 17); var rightX = rect.right + Math.max(8, (rightGap / 2) - 17); if (rightX > window.innerWidth - 42) { rightX = window.innerWidth - 42; } left.style.left = leftX + "px"; left.style.top = y + "px"; right.style.left = rightX + "px"; right.style.top = y + "px"; if (current > 0) { left.style.display = "block"; } else { left.style.display = "none"; } if (current < slides.length - 1) { right.style.display = "block"; } else { right.style.display = "none"; } } function makeButton(text) { var btn = document.createElement("button"); btn.type = "button"; btn.textContent = text; btn.style.border = "1px solid rgba(255,255,255,.28)"; btn.style.background = "rgba(0,0,0,.46)"; btn.style.color = "rgba(255,255,255,.86)"; btn.style.cursor = "pointer"; btn.style.fontFamily = "Arial, sans-serif"; return btn; } function createOverlay() { var old = document.getElementById("mrEmergencyGallery"); if (old) { return old; } addGalleryHideStyle(); addMobileSwipeStyle(); var overlay = document.createElement("div"); overlay.id = "mrEmergencyGallery"; overlay.style.position = "fixed"; overlay.style.inset = "0"; overlay.style.zIndex = "99999999"; overlay.style.display = "none"; overlay.style.background = "rgba(0,0,0,.965)"; overlay.style.color = "#f2eadf"; overlay.style.padding = "34px"; overlay.style.boxSizing = "border-box"; overlay.style.fontFamily = "Arial, sans-serif"; var close = makeButton("Fermer"); close.id = "mrEmergencyClose"; close.style.position = "fixed"; close.style.top = "26px"; close.style.right = "28px"; close.style.zIndex = "3"; close.style.height = "38px"; close.style.padding = "0 18px"; close.style.fontSize = "9px"; close.style.letterSpacing = ".16em"; close.style.textTransform = "uppercase"; close.style.display = "none"; close.style.opacity = "0"; close.style.visibility = "hidden"; close.style.pointerEvents = "none"; var prev = makeButton("‹"); prev.id = "mrEmergencyPrev"; prev.style.position = "fixed"; prev.style.left = "24px"; prev.style.top = "50%"; prev.style.zIndex = "3"; prev.style.width = "48px"; prev.style.height = "62px"; prev.style.fontSize = "38px"; prev.style.transform = "translateY(-50%)"; var next = makeButton("›"); next.id = "mrEmergencyNext"; next.style.position = "fixed"; next.style.right = "24px"; next.style.top = "50%"; next.style.zIndex = "3"; next.style.width = "48px"; next.style.height = "62px"; next.style.fontSize = "38px"; next.style.transform = "translateY(-50%)"; var leftLine = document.createElement("div"); leftLine.id = "mrMobileSwipeLeft"; leftLine.className = "mr-mobile-swipe-line"; var rightLine = document.createElement("div"); rightLine.id = "mrMobileSwipeRight"; rightLine.className = "mr-mobile-swipe-line"; var shell = document.createElement("div"); shell.style.width = "100%"; shell.style.height = "100%"; shell.style.display = "grid"; shell.style.gridTemplateRows = "minmax(0,1fr) auto"; shell.style.gap = "22px"; var stage = document.createElement("div"); stage.style.display = "flex"; stage.style.alignItems = "center"; stage.style.justifyContent = "center"; stage.style.minHeight = "0"; var image = document.createElement("img"); image.id = "mrEmergencyImage"; image.style.display = "block"; image.style.maxWidth = "84vw"; image.style.maxHeight = "74vh"; image.style.width = "auto"; image.style.height = "auto"; image.style.objectFit = "contain"; image.style.border = "1px solid rgba(255,255,255,.12)"; image.style.boxShadow = "0 30px 86px rgba(0,0,0,.66)"; image.style.background = "#050505"; var caption = document.createElement("div"); caption.style.maxWidth = "820px"; caption.style.margin = "0 auto"; caption.style.textAlign = "center"; var count = document.createElement("div"); count.id = "mrEmergencyCount"; count.style.marginBottom = "10px"; count.style.fontSize = "9px"; count.style.letterSpacing = ".22em"; count.style.textTransform = "uppercase"; count.style.color = "rgba(216,189,134,.76)"; var title = document.createElement("h3"); title.id = "mrEmergencyTitle"; title.style.margin = "0"; title.style.fontFamily = "Georgia, Times New Roman, serif"; title.style.fontSize = "25px"; title.style.lineHeight = "1.15"; title.style.fontWeight = "400"; title.style.letterSpacing = ".035em"; title.style.textTransform = "uppercase"; title.style.color = "rgba(242,234,223,.92)"; var text = document.createElement("p"); text.id = "mrEmergencyText"; text.style.maxWidth = "680px"; text.style.margin = "12px auto 0"; text.style.fontSize = "13px"; text.style.lineHeight = "1.62"; text.style.color = "rgba(242,234,223,.62)"; var back = makeButton("Retour au processus"); back.style.marginTop = "18px"; back.style.minHeight = "38px"; back.style.padding = "0 22px"; back.style.color = "rgba(216,189,134,.84)"; back.style.border = "1px solid rgba(216,189,134,.42)"; back.style.fontSize = "9px"; back.style.letterSpacing = ".16em"; back.style.textTransform = "uppercase"; stage.appendChild(image); caption.appendChild(count); caption.appendChild(title); caption.appendChild(text); caption.appendChild(back); shell.appendChild(stage); shell.appendChild(caption); overlay.appendChild(close); overlay.appendChild(prev); overlay.appendChild(next); overlay.appendChild(leftLine); overlay.appendChild(rightLine); overlay.appendChild(shell); document.body.appendChild(overlay); close.addEventListener("click", function() { closeGallery(false); }); back.addEventListener("click", function() { closeGallery(false); }); prev.addEventListener("click", function(e) { e.preventDefault(); e.stopPropagation(); showSlide(current - 1); }); next.addEventListener("click", function(e) { e.preventDefault(); e.stopPropagation(); showSlide(current + 1); }); overlay.addEventListener("click", function(e) { if (e.target === overlay) { closeGallery(false); } }); overlay.addEventListener("touchstart", function(e) { if (!isMobile() || overlay.style.display !== "block") { return; } if (!e.touches || e.touches.length !== 1) { mrTouchTracking = false; return; } mrTouchStartX = e.touches[0].clientX; mrTouchStartY = e.touches[0].clientY; mrTouchTracking = true; }, { passive: true }); overlay.addEventListener("touchend", function(e) { if (!mrTouchTracking || !isMobile() || overlay.style.display !== "block") { mrTouchTracking = false; return; } if (!e.changedTouches || !e.changedTouches.length) { mrTouchTracking = false; return; } var dx = e.changedTouches[0].clientX - mrTouchStartX; var dy = e.changedTouches[0].clientY - mrTouchStartY; mrTouchTracking = false; if (Math.abs(dx) < 46) { return; } if (Math.abs(dx) < Math.abs(dy) * 1.25) { return; } if (dx < 0 && current < slides.length - 1) { showSlide(current + 1); return; } if (dx > 0 && current > 0) { showSlide(current - 1); } }, { passive: true }); return overlay; } function showSlide(index) { if (!slides.length) { return; } if (index < 0) { index = slides.length - 1; } if (index >= slides.length) { index = 0; } current = index; var slide = slides[current]; var galleryImage = document.getElementById("mrEmergencyImage"); galleryImage.onload = function() { window.setTimeout(updateMobileSwipeLines, 40); }; galleryImage.src = slide.src; galleryImage.alt = slide.alt; document.getElementById("mrEmergencyCount").textContent = String(current + 1).padStart(2, "0") + " / " + String(slides.length).padStart(2, "0"); document.getElementById("mrEmergencyTitle").textContent = slide.num + " — " + slide.title; document.getElementById("mrEmergencyText").textContent = slide.text; window.setTimeout(updateMobileSwipeLines, 80); window.setTimeout(updateMobileSwipeLines, 280); } function openGallery(frame) { buildSlides(); createOverlay(); if (!slides.length) { alert("Фото не знайдені"); return; } var start = 0; slides.forEach(function(slide, index) { if (slide.frame === frame) { start = index; } }); setGalleryOpenState(true); showSlide(start); document.getElementById("mrEmergencyGallery").style.display = "block"; document.body.style.overflow = "hidden"; pushGalleryHistory(); window.setTimeout(function() { setGalleryOpenState(true); updateMobileSwipeLines(); }, 80); window.setTimeout(function() { setGalleryOpenState(true); updateMobileSwipeLines(); }, 280); window.setTimeout(function() { setGalleryOpenState(true); updateMobileSwipeLines(); }, 700); } function closeGallery(fromBrowserBack) { var overlay = document.getElementById("mrEmergencyGallery"); if (!overlay) { return; } overlay.style.display = "none"; document.body.style.overflow = ""; setGalleryOpenState(false); updateMobileSwipeLines(); if (mrGalleryHistoryOpen) { mrGalleryHistoryOpen = false; if (!fromBrowserBack) { mrIgnoreNextPopstate = true; try { window.history.back(); } catch(e) {} } } } function init() { document.querySelectorAll(".mrp .mrp-img, .mrp .mrp-detail-img, .mrpm .mrpm-img").forEach(function(frame) { frame.style.cursor = "zoom-in"; }); } document.addEventListener("click", function(e) { var frame = e.target.closest(".mrp-img, .mrp-detail-img, .mrpm-img"); if (!frame) { return; } if (!frame.closest(".mrp") && !frame.closest(".mrpm")) { return; } e.preventDefault(); e.stopPropagation(); openGallery(frame); }, true); document.addEventListener("keydown", function(e) { var overlay = document.getElementById("mrEmergencyGallery"); if (!overlay || overlay.style.display !== "block") { return; } if (e.key === "Escape") { closeGallery(false); } if (e.key === "ArrowLeft") { showSlide(current - 1); } if (e.key === "ArrowRight") { showSlide(current + 1); } }); window.addEventListener("resize", function() { window.setTimeout(updateMobileSwipeLines, 250); }); window.addEventListener("orientationchange", function() { window.setTimeout(updateMobileSwipeLines, 650); }); if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } window.setTimeout(init, 500); window.setTimeout(init, 1500); window.setTimeout(init, 2500); })();
(function() { var zoom = 3.55; var size = 230; function isMobile() { return window.innerWidth <= 768; } function ensureStyle() { if (document.getElementById("mrEmergencyLoupeStyle")) { return; } var style = document.createElement("style"); style.id = "mrEmergencyLoupeStyle"; style.textContent = "#mrEmergencyLoupe{" + "position:fixed;" + "left:0;" + "top:0;" + "z-index:100000000;" + "width:" + size + "px;" + "height:" + size + "px;" + "display:none;" + "pointer-events:none;" + "overflow:hidden;" + "background-repeat:no-repeat;" + "background-color:#050505;" + "border:1px solid rgba(216,189,134,.92);" + "box-shadow:0 24px 70px rgba(0,0,0,.78),inset 0 0 0 1px rgba(255,255,255,.10);" + "transform:translate(-50%,-50%);" + "}" + "#mrEmergencyLoupe.is-active{display:block;}"; document.head.appendChild(style); } function ensureLoupe() { ensureStyle(); var loupe = document.getElementById("mrEmergencyLoupe"); if (loupe) { return loupe; } loupe = document.createElement("div"); loupe.id = "mrEmergencyLoupe"; document.body.appendChild(loupe); return loupe; } function hideLoupe() { var loupe = document.getElementById("mrEmergencyLoupe"); if (loupe) { loupe.classList.remove("is-active"); } } function moveLoupe(event) { if (isMobile()) { hideLoupe(); return; } var image = event.target && event.target.closest ? event.target.closest("#mrEmergencyImage") : null; if (!image) { return; } var overlay = document.getElementById("mrEmergencyGallery"); if (!overlay || overlay.style.display !== "block") { hideLoupe(); return; } if (!image.complete || !image.naturalWidth || !image.naturalHeight) { hideLoupe(); return; } var rect = image.getBoundingClientRect(); var x = event.clientX - rect.left; var y = event.clientY - rect.top; if (x < 0 || y < 0 || x > rect.width || y > rect.height) { hideLoupe(); return; } var loupe = ensureLoupe(); loupe.style.left = event.clientX + "px"; loupe.style.top = event.clientY + "px"; loupe.style.backgroundImage = "url('" + image.currentSrc + "')"; loupe.style.backgroundSize = (rect.width * zoom) + "px " + (rect.height * zoom) + "px"; loupe.style.backgroundPosition = ((size / 2) - (x * zoom)) + "px " + ((size / 2) - (y * zoom)) + "px"; loupe.classList.add("is-active"); } document.addEventListener("mousemove", moveLoupe, true); document.addEventListener("mouseout", function(event) { var image = event.target && event.target.closest ? event.target.closest("#mrEmergencyImage") : null; if (image) { hideLoupe(); } }, true); document.addEventListener("click", function(event) { if ( event.target.classList.contains("mr-clean-close") || event.target.textContent === "Fermer" || event.target.textContent === "Retour au processus" ) { hideLoupe(); } }, true); document.addEventListener("keydown", function(event) { if (event.key === "Escape") { hideLoupe(); } }); })();
(function(){ var ZOOM_SCALE = 2.6; var isZoomed = false; var panX = 0; var panY = 0; var isPanning = false; var panStartTouchX = 0; var panStartTouchY = 0; var panStartX = 0; var panStartY = 0; var lastTapTime = 0; var lastTapX = 0; var lastTapY = 0; function isMobile(){ return window.innerWidth <= 768; } function getOverlay(){ return document.getElementById("mrEmergencyGallery"); } function getImage(){ return document.getElementById("mrEmergencyImage"); } function applyTransform(animate){ var image = getImage(); if(!image) return; image.style.transition = animate ? "transform .28s ease" : "none"; image.style.transform = "translate(" + panX + "px," + panY + "px) scale(" + (isZoomed ? ZOOM_SCALE : 1) + ")"; image.style.cursor = isZoomed ? "grab" : "zoom-in"; } function clampPan(){ var image = getImage(); if(!image) return; var baseWidth = image.offsetWidth; var baseHeight = image.offsetHeight; var scaledWidth = baseWidth * ZOOM_SCALE; var scaledHeight = baseHeight * ZOOM_SCALE; var maxPanX = Math.max(0,(scaledWidth - window.innerWidth)/2); var maxPanY = Math.max(0,(scaledHeight - window.innerHeight)/2); if(panX>maxPanX) panX=maxPanX; if(panX<-maxPanX) panX=-maxPanX; if(panY>maxPanY) panY=maxPanY; if(panY<-maxPanY) panY=-maxPanY; } function resetZoom(animate){ isZoomed = false; panX = 0; panY = 0; applyTransform(!!animate); } function toggleZoom(){ isZoomed = !isZoomed; if(!isZoomed){ panX = 0; panY = 0; } applyTransform(true); } function ensureHint(){ var text = document.getElementById("mrEmergencyText"); if(!text || !text.parentElement) return; if(document.querySelector(".mr-emergency-zoom-hint")) return; var hint = document.createElement("div"); hint.className = "mr-emergency-zoom-hint"; hint.textContent = "Touchez deux fois pour zoomer"; text.insertAdjacentElement("afterend", hint); } function bindOverlay(overlay){ if(overlay.getAttribute("data-mr-zoom-bound")) return; overlay.setAttribute("data-mr-zoom-bound","1"); overlay.addEventListener("touchstart", function(e){ if(!isMobile() || overlay.style.display !== "block") return; if(!e.touches || e.touches.length !== 1){ isPanning = false; return; } var t = e.touches[0]; if(isZoomed){ isPanning = true; panStartTouchX = t.clientX; panStartTouchY = t.clientY; panStartX = panX; panStartY = panY; } }, {capture:true, passive:true}); overlay.addEventListener("touchmove", function(e){ if(!isMobile() || overlay.style.display !== "block") return; if(!isZoomed || !isPanning) return; if(!e.touches || e.touches.length !== 1) return; e.preventDefault(); var t = e.touches[0]; panX = panStartX + (t.clientX - panStartTouchX); panY = panStartY + (t.clientY - panStartTouchY); clampPan(); applyTransform(false); }, {capture:true, passive:false}); overlay.addEventListener("touchend", function(e){ if(!isMobile() || overlay.style.display !== "block"){ isPanning = false; return; } if(!e.changedTouches || !e.changedTouches.length){ isPanning = false; return; } var endT = e.changedTouches[0]; var onImage = e.target && e.target.closest && e.target.closest("#mrEmergencyImage"); var now = Date.now(); isPanning = false; var isDoubleTap = onImage && (now - lastTapTime) < 320 && Math.abs(endT.clientX - lastTapX) < 40 && Math.abs(endT.clientY - lastTapY) < 40; if(isDoubleTap){ lastTapTime = 0; toggleZoom(); if(e.stopImmediatePropagation) e.stopImmediatePropagation(); e.preventDefault(); return; } lastTapTime = now; lastTapX = endT.clientX; lastTapY = endT.clientY; /* коли наближено — блокуємо свайп-гортання з основного скрипта */ if(isZoomed){ if(e.stopImmediatePropagation) e.stopImmediatePropagation(); } }, {capture:true, passive:false}); } function watchImage(){ var image = getImage(); if(!image) return; if(image.getAttribute("data-mr-zoom-watched")) return; image.setAttribute("data-mr-zoom-watched","1"); image.style.transformOrigin = "center center"; image.style.willChange = "transform"; var observer = new MutationObserver(function(){ resetZoom(false); }); observer.observe(image, { attributes:true, attributeFilter:["src"] }); } function watchOverlayVisibility(overlay){ var observer = new MutationObserver(function(){ if(overlay.style.display === "none"){ resetZoom(false); } }); observer.observe(overlay, { attributes:true, attributeFilter:["style"] }); } function init(){ var overlay = getOverlay(); if(overlay){ bindOverlay(overlay); watchImage(); watchOverlayVisibility(overlay); ensureHint(); return true; } return false; } if(!init()){ var bodyObserver = new MutationObserver(function(){ if(init()){ bodyObserver.disconnect(); } }); bodyObserver.observe(document.body, {childList:true, subtree:true}); } window.setTimeout(init, 800); window.setTimeout(init, 2000); })();
← Accueil
Informations juridiques

Mentions légales

Éditeur du site

SAS MR. MORGAN
Société par actions simplifiée
Capital social : 5 000 €
Siège social : 14 RUE AMPERE, 92700 COLOMBES, France

Immatriculation

SIREN : 991 309 345
SIRET : 991 309 345 00015
RCS : Nanterre 991 309 345
TVA intracommunautaire : FR03991309345

Publication

Directeur de la publication : Vladyslav Dubchak

Nom de domaine

atelier.mrmorgan.fr

Hébergement

Carrd Inc.
611 Mission Street
San Francisco, CA, États-Unis

Propriété intellectuelle

L’ensemble des contenus présents sur le site atelier.mrmorgan.fr, incluant notamment les textes, images, photographies, graphismes, logos, éléments visuels, structure et mise en page, est la propriété exclusive de MR. MORGAN, sauf mention contraire.

Toute reproduction, représentation, modification, adaptation, diffusion ou utilisation, totale ou partielle, sans autorisation préalable écrite, est strictement interdite.

Données personnelles

Les informations transmises via les formulaires du site sont utilisées uniquement pour répondre aux demandes d’information, de disponibilité ou d’acquisition.

Les données collectées ne sont pas vendues ni transmises à des tiers à des fins commerciales. Elles sont destinées uniquement à SAS MR. MORGAN.

Durée de conservation : les données issues des formulaires sont conservées pendant une durée maximale de 3 ans à compter du dernier contact.

Conformément à la réglementation applicable, vous pouvez demander l’accès, la rectification, l’effacement ou la limitation du traitement de vos données via le formulaire de contact.

Vous disposez également du droit d’introduire une réclamation auprès de la CNIL.

Cookies

Le site n’utilise pas de cookies publicitaires ou de suivi volontairement mis en place par MR. MORGAN. Des cookies strictement nécessaires au fonctionnement technique du site peuvent toutefois être utilisés.

Atelier MR. MORGAN
ACCROCHAGE SIMULÉ
L'œuvre dans l'espace
Appartement parisien
Œuvre originale 70 × 100 cm — accrochage simulé.
1 / 3
(function () { var images = [ { src: "https://atelier.mrmorgan.fr/assets/images/image17.jpg?v=03e2cc24", title: "Appartement parisien" }, { src: "https://atelier.mrmorgan.fr/assets/images/image18.jpg?v=03e2cc24", title: "Espace galerie" }, { src: "https://atelier.mrmorgan.fr/assets/images/image19.jpg?v=03e2cc24", title: "Salon contemporain" } ]; var current = 0; var isSwitching = false; var touchStartX = 0; var touchStartY = 0; var touchEndX = 0; var touchEndY = 0; var stage = document.getElementById("mrsStage"); var imageA = document.getElementById("mrsImageA"); var title = document.getElementById("mrsTitle"); var count = document.getElementById("mrsCount"); var switcherButtons = document.querySelectorAll(".mrs-switcher-btn"); if (!stage || !imageA || !title || !count || !switcherButtons.length) return; function preloadImages() { images.forEach(function(item) { var im = new Image(); im.src = item.src; }); } function updateSwitcher(index) { switcherButtons.forEach(function(btn) { btn.classList.toggle("is-active", Number(btn.getAttribute("data-index")) === index); }); } function updateMeta(index) { title.textContent = images[index].title; count.textContent = (index + 1) + " / " + images.length; } function switchTo(index) { if (isSwitching) return; if (index === current) return; if (index < 0 || index >= images.length) return; isSwitching = true; updateSwitcher(index); var nextImage = new Image(); nextImage.src = images[index].src; function startSoftChange() { stage.classList.add("is-locked"); stage.classList.add("is-soft-changing"); window.setTimeout(function() { imageA.src = images[index].src; updateMeta(index); current = index; window.requestAnimationFrame(function() { stage.classList.remove("is-soft-changing"); }); window.setTimeout(function() { stage.classList.remove("is-locked"); isSwitching = false; }, 760); }, 520); } if (nextImage.complete) { startSoftChange(); } else { nextImage.onload = startSoftChange; nextImage.onerror = startSoftChange; } } function nextImage() { if (current < images.length - 1) { switchTo(current + 1); } else { switchTo(0); } } function prevImage() { if (current > 0) { switchTo(current - 1); } else { switchTo(images.length - 1); } } switcherButtons.forEach(function(btn) { btn.addEventListener("click", function() { var index = Number(btn.getAttribute("data-index")); switchTo(index); }); }); stage.addEventListener("touchstart", function(event) { if (!event.touches || !event.touches.length) return; touchStartX = event.touches[0].clientX; touchStartY = event.touches[0].clientY; }, { passive: true }); stage.addEventListener("touchend", function(event) { if (!event.changedTouches || !event.changedTouches.length) return; touchEndX = event.changedTouches[0].clientX; touchEndY = event.changedTouches[0].clientY; var diffX = touchEndX - touchStartX; var diffY = touchEndY - touchStartY; if (Math.abs(diffX) < 45) return; if (Math.abs(diffX) < Math.abs(diffY) * 1.2) return; if (diffX < 0) { nextImage(); } else { prevImage(); } }, { passive: true }); preloadImages(); updateSwitcher(current); updateMeta(current); })();
Commande sur mesure

Votre histoire sur toile

Un souvenir, une émotion, un instant de vie — transformé en une œuvre originale, peinte à la main, unique au monde.

Chaque vie porte une histoire qui mérite d'être racontée autrement que par des mots. Partagez-nous un souvenir ou un moment important, et l'Atelier MR. MORGAN le transforme en une peinture originale à l'huile, réalisée à la main sur toile.

Raconter mon histoire

Le processus

01

L'écoute

Nous échangeons avec vous pour comprendre le sens, l'émotion, les couleurs et le format souhaité.

02

Direction artistique

Nous proposons une première orientation visuelle pour ressentir l'atmosphère de la future œuvre.

03

Validation et devis

Le devis précise le format, le prix, les délais et les conditions de réalisation.

04

Acompte de 30 %

Après validation, un acompte de 30 % lance officiellement la création.

05

Création à l'huile

La toile est peinte entièrement à la main comme une interprétation unique de votre histoire.

06

Livraison sécurisée et assurée

L'œuvre achevée vous est livrée avec soin, accompagnée de son certificat d'authenticité.

Chaque œuvre est soigneusement protégée, emballée et expédiée via une livraison sécurisée et assurée, adaptée à sa valeur.

Ce que vous recevez

  • Œuvre originale
  • Certificat d'authenticité
  • Facture
  • Photos et vidéos du processus
  • Livraison assurée
  • Pièce unique, jamais reproduite

Cette toile n'est pas un simple objet de décoration : c'est un héritag