<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Effeuillage &#8211; Brian Mura</title>
	<atom:link href="https://brianmura.fr/tag/effeuillage/feed/" rel="self" type="application/rss+xml" />
	<link>https://brianmura.fr</link>
	<description></description>
	<lastBuildDate>Fri, 12 Jun 2026 09:45:16 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://brianmura.fr/wp-content/uploads/2024/12/cropped-courtesy-logo-32x32.jpg</url>
	<title>Effeuillage &#8211; Brian Mura</title>
	<link>https://brianmura.fr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Effeuillage</title>
		<link>https://brianmura.fr/sculpture/effeuillage/</link>
		
		<dc:creator><![CDATA[Brian Mura]]></dc:creator>
		<pubDate>Fri, 20 Dec 2024 16:16:53 +0000</pubDate>
				<category><![CDATA[Sculpture]]></category>
		<category><![CDATA[Effeuillage]]></category>
		<guid isPermaLink="false">https://brianmura.fr/?p=1411</guid>

					<description><![CDATA[Effeuillage &#124; papier &#124; balais essuie-glace &#124; peinture aluminium &#124;
ustensiles de dégustation &#124; ~15 x  20 cm. &#124; 2018-2019.]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1411" class="elementor elementor-1411">
				<div class="elementor-element elementor-element-83e0b87 e-flex e-con-boxed wpr-particle-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent" data-id="83e0b87" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-b830c20 elementor-widget elementor-widget-html" data-id="b830c20" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					
<div id="effeuillage-viewer" class="serie-viewer">

  <aside id="effeuillage-caption" class="serie-caption">

    <div class="serie-title">Effeuillage</div>

          <div class="serie-meta">
                  <span>- Chute de papier</span>
                  <span>- Peinture aluminium</span>
                  <span>- Ustensiles de dégustation</span>
                  <span>- Balais essuie glace</span>
                  <span>~ 15 x 20 cm.</span>
                  <span>- 2018 -2019</span>
              </div>
    
	      <div class="serie-description">

        			<p>Je me souviens, c'était bientôt l'hiver et l'automne était d'aluminium.</p>
		
		
        		
		
      </div>
	
    
  </aside>


<div id="effeuillage-stage" class="serie-stage">

  
          <img decoding="async"
        id="effeuillage-img"
        class="serie-img"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-7.jpg"
        alt="Effeuillage — 1"
      >
    
  
      <button class="serie-prev" aria-label="Précédent">&#8592;</button>
    <button class="serie-next" aria-label="Suivant">&#8594;</button>
    <div class="serie-counter">1 / 10</div>
  
</div>

<!-- Grille mobile — images empilées -->
<!-- Grille mobile — images et vidéos empilées -->
<div id="effeuillage-mobile-grid" class="serie-mobile-grid">
            <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-7.jpg"
        alt="Effeuillage — 1"
        class="serie-mobile-img"
        data-index="0"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-8.jpg"
        alt="Effeuillage — 2"
        class="serie-mobile-img"
        data-index="1"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-10.jpg"
        alt="Effeuillage — 3"
        class="serie-mobile-img"
        data-index="2"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-12.jpg"
        alt="Effeuillage — 4"
        class="serie-mobile-img"
        data-index="3"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-13.jpg"
        alt="Effeuillage — 5"
        class="serie-mobile-img"
        data-index="4"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-14.jpg"
        alt="Effeuillage — 6"
        class="serie-mobile-img"
        data-index="5"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-15.jpg"
        alt="Effeuillage — 7"
        class="serie-mobile-img"
        data-index="6"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-3.jpg"
        alt="Effeuillage — 8"
        class="serie-mobile-img"
        data-index="7"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-5.jpg"
        alt="Effeuillage — 9"
        class="serie-mobile-img"
        data-index="8"
      >
                <img decoding="async"
        src="https://brianmura.fr/wp-content/uploads/2024/12/effeuillage-7.jpg"
        alt="Effeuillage — 10"
        class="serie-mobile-img"
        data-index="9"
      >
      </div>

<!-- Lightbox mobile -->
<div id="effeuillage-lightbox" class="serie-lightbox" aria-hidden="true">
  <button class="slb-close">✕</button>
  <button class="slb-prev">&#8592;</button>
  <img decoding="async" class="slb-img" src="" alt="">
  <button class="slb-next">&#8594;</button>
  <div class="slb-counter"></div>
</div>

</div><script>
(function () {

  const viewerId = 'effeuillage';
  const media    = [{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-7.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-8.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-10.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-12.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-13.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-14.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-15.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-3.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-5.jpg"},{"type":"image","src":"https:\/\/brianmura.fr\/wp-content\/uploads\/2024\/12\/effeuillage-7.jpg"}];
  const total    = media.length;
  let   current  = 0;

  const stage   = document.getElementById(viewerId + '-stage');
  const counter = stage ? stage.querySelector('.serie-counter') : null;
  const btnPrev = stage ? stage.querySelector('.serie-prev') : null;
  const btnNext = stage ? stage.querySelector('.serie-next') : null;
  const viewer  = document.getElementById(viewerId + '-viewer');

  function getOrCreateMedia(item) {
    const existing = document.getElementById(viewerId + '-img');

    if (item.type === 'video') {
      if (existing && existing.tagName === 'VIDEO') {
        existing.src      = item.src;
        existing.loop     = item.loop === true;
        existing.muted    = item.autoplay === true;
        existing.autoplay = item.autoplay === true;
        existing.load();
        existing.load();
		if (item.autoplay) {
		existing.addEventListener('loadedmetadata', () => {
		existing.play().catch(() => {});
		}, { once: true });
	}
      }
      const vid = document.createElement('video');
      vid.id        = viewerId + '-img';
      vid.className = 'serie-img serie-video';
      vid.src       = item.src;
      vid.controls  = true;
      vid.setAttribute('playsinline', '');
      vid.loop      = item.loop === true;
      vid.muted     = item.autoplay === true;
      vid.autoplay  = item.autoplay === true;
      vid.style.cssText = 'max-width:100%; max-height:100%; object-fit:contain;';
	  if (existing) existing.replaceWith(vid);
      else stage.prepend(vid);
      if (item.autoplay) {
      vid.addEventListener('loadedmetadata', () => {
       vid.play().catch(() => {});
       }, { once: true });
}

    } else {
      if (existing && existing.tagName === 'IMG') {
        existing.src = item.src;
        existing.alt = 'Effeuillage — ' + (current + 1);
        return;
      }
      const img = document.createElement('img');
      img.id        = viewerId + '-img';
      img.className = 'serie-img';
      img.src       = item.src;
      img.alt       = 'Effeuillage — ' + (current + 1);
      img.style.cursor = 'pointer';
      img.addEventListener('click', () => go(current + 1));
      if (existing) existing.replaceWith(img);
      else stage.prepend(img);
    }
  }

  function go(n) {
    current = (n + total) % total;
    getOrCreateMedia(media[current]);
    if (counter) counter.textContent = (current + 1) + ' / ' + total;
  }

  /* Clic sur l'image initiale = suivant */
  const initImg = document.getElementById(viewerId + '-img');
  if (initImg && initImg.tagName === 'IMG') {
    initImg.style.cursor = 'pointer';
    initImg.addEventListener('click', () => go(current + 1));
  }

  if (btnPrev) btnPrev.addEventListener('click', () => go(current - 1));
  if (btnNext) btnNext.addEventListener('click', () => go(current + 1));

  document.addEventListener('keydown', e => {
    if (e.key === 'ArrowLeft')  go(current - 1);
    if (e.key === 'ArrowRight') go(current + 1);
  });

  /* Swipe */
  let touchX = null;
  if (viewer) {
    viewer.addEventListener('touchstart', e => {
      touchX = e.touches[0].clientX;
    }, { passive: true });
    viewer.addEventListener('touchend', e => {
      if (touchX === null) return;
      const diff = touchX - e.changedTouches[0].clientX;
      if (Math.abs(diff) > 40) go(current + (diff > 0 ? 1 : -1));
      touchX = null;
    }, { passive: true });
  }

  /* Player audio */
  const playerEl = document.getElementById(viewerId + '-player');
  if (playerEl) {
    const audioEl  = document.querySelector('#' + viewerId + '-viewer .serie-audio');
    const playBtn  = playerEl.querySelector('.sp-play');
    const playIcon = playerEl.querySelector('.sp-play-icon');
    const prevBtn  = playerEl.querySelector('.sp-prev');
    const nextBtn  = playerEl.querySelector('.sp-next');
    const tracks   = [...playerEl.querySelectorAll('.sp-track')];
    const timeCur  = playerEl.querySelector('.sp-cur');
    const timeTot  = playerEl.querySelector('.sp-tot');
    let   trackIdx = 0;

    function fmt(s) {
      if (isNaN(s) || !isFinite(s)) return '0:00';
      return Math.floor(s / 60) + ':' + String(Math.floor(s % 60)).padStart(2, '0');
    }

    function setIcon(playing) {
      playIcon.innerHTML = playing
        ? '<rect x="6" y="4" width="4" height="16" rx="1"/><rect x="14" y="4" width="4" height="16" rx="1"/>'
        : '<polygon points="5 3 19 12 5 21 5 3"/>';
    }

    function loadTrack(i) {
      trackIdx = i;
      audioEl.src = tracks[i].dataset.src;
      timeCur.textContent = '0:00';
      timeTot.textContent = '0:00';
      tracks.forEach((t, j) => t.classList.toggle('active', j === i));
    }

    playBtn.addEventListener('click',  () => { audioEl.paused ? audioEl.play() : audioEl.pause(); });
    audioEl.addEventListener('play',   () => setIcon(true));
    audioEl.addEventListener('pause',  () => setIcon(false));
    audioEl.addEventListener('timeupdate', () => {
      timeCur.textContent = fmt(audioEl.currentTime);
      timeTot.textContent = fmt(audioEl.duration);
    });
    audioEl.addEventListener('ended', () => {
      if (tracks.length < 2) return;
      loadTrack((trackIdx + 1) % tracks.length);
      audioEl.play();
    });
    prevBtn.addEventListener('click', () => {
      loadTrack((trackIdx - 1 + tracks.length) % tracks.length);
      audioEl.play();
    });
    nextBtn.addEventListener('click', () => {
      loadTrack((trackIdx + 1) % tracks.length);
      audioEl.play();
    });
    tracks.forEach((t, i) => {
      t.addEventListener('click', () => { loadTrack(i); audioEl.play(); });
    });
    loadTrack(0);
  }
  
  
  /* ========================
     LIGHTBOX MOBILE
  ======================== */

  const mobileGrid = document.getElementById(viewerId + '-mobile-grid');
  const lightbox   = document.getElementById(viewerId + '-lightbox');

  if (mobileGrid && lightbox) {

    const lbImg     = lightbox.querySelector('.slb-img');
    const lbPrev    = lightbox.querySelector('.slb-prev');
    const lbNext    = lightbox.querySelector('.slb-next');
    const lbClose   = lightbox.querySelector('.slb-close');
    const lbCounter = lightbox.querySelector('.slb-counter');

    /* Uniquement les images — pas les vidéos */
    const imgItems = media.filter(m => m.type === 'image');
    let   lbCurrent = 0;

    function lbGo(n) {
      lbCurrent = (n + imgItems.length) % imgItems.length;
      lbImg.src = imgItems[lbCurrent].src;
      lbCounter.textContent = (lbCurrent + 1) + ' / ' + imgItems.length;
    }

    function openLightbox(index) {
      lbCurrent = index;
      lbImg.src = imgItems[index].src;
      lbCounter.textContent = (index + 1) + ' / ' + imgItems.length;
      lightbox.classList.add('open');
      lightbox.setAttribute('aria-hidden', 'false');
      document.body.style.overflow = 'hidden';
    }

    function closeLightbox() {
      lightbox.classList.remove('open');
      lightbox.setAttribute('aria-hidden', 'true');
      document.body.style.overflow = '';
    }

    /* Tap sur image → lightbox */
    mobileGrid.querySelectorAll('.serie-mobile-img').forEach((img, i) => {
      img.addEventListener('click', () => openLightbox(i));
    });

    lbClose.addEventListener('click', closeLightbox);
    lbPrev.addEventListener('click',  () => lbGo(lbCurrent - 1));
    lbNext.addEventListener('click',  () => lbGo(lbCurrent + 1));

    /* Swipe dans la lightbox */
    let lbTouchX = null;
    lightbox.addEventListener('touchstart', e => {
      lbTouchX = e.touches[0].clientX;
    }, { passive: true });
    lightbox.addEventListener('touchend', e => {
      if (lbTouchX === null) return;
      const diff = lbTouchX - e.changedTouches[0].clientX;
      if (Math.abs(diff) > 40) lbGo(lbCurrent + (diff > 0 ? 1 : -1));
      lbTouchX = null;
    }, { passive: true });

    /* Escape */
    document.addEventListener('keydown', e => {
      if (e.key === 'Escape' && lightbox.classList.contains('open')) closeLightbox();
    });

    /* Ferme au clic sur le fond */
    lightbox.addEventListener('click', e => {
      if (e.target === lightbox) closeLightbox();
    });
  }
  
}());
</script>				</div>
				</div>
					</div>
				</div>
				</div>
		]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
