1document.addEventListener('DOMContentLoaded',function(){(function(){var section=document.querySelector('#expertises');if(!section)return;var intro=section.querySelector('.expertises-intro');var content=section.querySelector('.expertises-content .desc-texte');if(!intro||!content)return;gsap.set(content,{autoAlpha:0});ScrollTrigger.create({trigger:section,start:'top 60%',once:!0,onEnter:function(){var svg=intro.querySelector('#presentation');var s=svg?svg.getBoundingClientRect().width/389.41:1;function px(v){return(v*s)+'px'} 2var tl=gsap.timeline();tl.fromTo(intro.querySelector('.cercle'),{opacity:0},{opacity:0,duration:0.1}).fromTo(intro.querySelector('.logo'),{opacity:0},{opacity:1,duration:0.1}).fromTo(intro.querySelector('.step4'),{x:px(137),y:px(137),opacity:0},{x:0,y:0,opacity:1,duration:0.25}).fromTo(intro.querySelector('.etape1'),{opacity:0},{opacity:1,duration:0.1}).fromTo(intro.querySelector('.step1'),{x:px(-137),y:px(138),opacity:0},{x:0,y:0,opacity:1,duration:0.25}).fromTo(intro.querySelector('.etape2'),{opacity:0},{opacity:1,duration:0.1}).fromTo(intro.querySelector('.step2'),{x:px(-114),y:px(-114),opacity:0},{x:0,y:0,opacity:1,duration:0.25}).fromTo(intro.querySelector('.etape3'),{opacity:0},{opacity:1,duration:0.1}).fromTo(intro.querySelector('.step3'),{x:px(114),y:px(-114),opacity:0},{x:0,y:0,opacity:1,duration:0.25}).fromTo(intro.querySelector('.etape4'),{opacity:0},{opacity:1,duration:0.1}).fromTo(intro.querySelector('.asset1'),{opacity:0},{opacity:1,duration:0.1}).fromTo(intro.querySelector('.asset2'),{opacity:0},{opacity:1,duration:0.1}).to({},{duration:0.5}).to(intro.querySelector('.step4'),{x:px(137),y:px(137),opacity:0,duration:0.25,ease:'power2.in'}).to(intro.querySelector('.step1'),{x:px(-137),y:px(138),opacity:0,duration:0.25,ease:'power2.in'},'<').to(intro.querySelector('.step2'),{x:px(-114),y:px(-114),opacity:0,duration:0.25,ease:'power2.in'},'<').to(intro.querySelector('.step3'),{x:px(114),y:px(-114),opacity:0,duration:0.25,ease:'power2.in'},'<').to(intro.querySelector('.etape1'),{opacity:0,duration:0.15,ease:'power2.in'},'<').to(intro.querySelector('.etape2'),{opacity:0,duration:0.15,ease:'power2.in'},'<').to(intro.querySelector('.etape3'),{opacity:0,duration:0.15,ease:'power2.in'},'<').to(intro.querySelector('.etape4'),{opacity:0,duration:0.15,ease:'power2.in'},'<').to(intro.querySelector('.asset1'),{opacity:0,duration:0.15,ease:'power2.in'},'<').to(intro.querySelector('.asset2'),{opacity:0,duration:0.15,ease:'power2.in'},'<').to(intro.querySelector('.logo'),{opacity:0,duration:0.15,ease:'power2.in'}).to(intro.querySelector('.cercle'),{opacity:0,duration:0.15,ease:'power2.in'},'<').to(intro,{autoAlpha:0,height:0,paddingTop:0,paddingBottom:0,duration:0.3,ease:'power2.in'}).to(content,{autoAlpha:1,duration:0.4,ease:'power2.out'},'-=0.15')}})})();const emploisSpan=document.querySelector('#top .emplois span');if(emploisSpan){const targetValue=parseInt(emploisSpan.innerText);gsap.from(emploisSpan,{innerText:0,duration:2,ease:"power1.out",scrollTrigger:{trigger:emploisSpan,start:"top 90%",once:!0,},onUpdate:function(){emploisSpan.innerText=Math.ceil(emploisSpan.innerText)}})} 3if(document.querySelector('.swiper-vignettes')){new Swiper('.swiper-vignettes',{slidesPerView:1,spaceBetween:30,loop:!0,pagination:{el:'.swiper-vignettes .swiper-pagination',clickable:!0,},breakpoints:{768:{slidesPerView:2,spaceBetween:15,},992:{slidesPerView:3,spaceBetween:30,},1200:{slidesPerView:4,spaceBetween:30,},1400:{slidesPerView:5,spaceBetween:30,}}})} 4if(document.querySelector('.actus-swiper')){new Swiper('.actus-swiper',{slidesPerView:1,spaceBetween:30,loop:!0,speed:1000,resistanceRatio:0.5,autoplay:{delay:3000,disableOnInteraction:!0,pauseOnMouseEnter:!0,},navigation:{nextEl:document.querySelector('#actualites .swiper-nav .swiper-button-next'),prevEl:document.querySelector('#actualites .swiper-nav .swiper-button-prev'),},breakpoints:{576:{slidesPerView:2},992:{slidesPerView:3},1200:{slidesPerView:4},},})} 5if(document.querySelector('.offres-swiper')){var offresSwiper=null;
5function initOffresSwiper(){if(window.innerWidth<992){if(!offresSwiper){offresSwiper=new Swiper('.offres-swiper',{slidesPerView:1,spaceBetween:16,loop:!1,grid:{rows:3,fill:'row',},speed:1000,autoplay:{delay:3000,disableOnInteraction:!1,pauseOnMouseEnter:!0,},pagination:{el:'.offres-pagination',clickable:!0,},})}}else{if(offresSwiper){offresSwiper.destroy(!0,!0);offresSwiper=null}}} 6initOffresSwiper();window.addEventListener('resize',initOffresSwiper)}(function(){var clientsSection=document.querySelector('#clients');if(!clientsSection)return;var prevBtn=document.querySelector('#clientsPrev');var nextBtn=document.querySelector('#clientsNext');var shell=clientsSection.querySelector('.clients-shell');var CARD_COUNT=8;var HOLD_DURATION=1500;var SLIDE_DURATION=720;var STAGGER_STEP=45;var SWIPE_THRESHOLD=45;var logoSwipers=[];var autoplayId=null;var isAnimating=!1;var touchStartX=0;var touchStartY=0;document.querySelectorAll('.logo-card-swiper').forEach(function(el){logoSwipers.push(new Swiper(el,{loop:!0,speed:SLIDE_DURATION,slidesPerView:1,spaceBetween:0,allowTouchMove:!1,simulateTouch:!1,followFinger:!1,resistanceRatio:0,watchSlidesProgress:!0,}))});if(!logoSwipers.length)return;function lockDuringAnimation(){isAnimating=!0;var total=SLIDE_DURATION+(CARD_COUNT-1)*STAGGER_STEP;setTimeout(function(){isAnimating=!1},total)} 7function slideAll(direction){if(isAnimating)return;lockDuringAnimation();logoSwipers.forEach(function(swiper,index){setTimeout(function(){direction===1?swiper.slideNext(SLIDE_DURATION):swiper.slidePrev(SLIDE_DURATION)},index*STAGGER_STEP)})} 8function nextBatch(){slideAll(1)} 9function prevBatch(){slideAll(-1)} 10function startAutoplay(){stopAutoplay();var total=SLIDE_DURATION+(CARD_COUNT-1)*STAGGER_STEP;autoplayId=setInterval(nextBatch,HOLD_DURATION+total)} 11function stopAutoplay(){if(!autoplayId)return;clearInterval(autoplayId);autoplayId=null} 12if(prevBtn){prevBtn.addEventListener('click',function(){prevBatch();startAutoplay()})} 13if(nextBtn){nextBtn.addEventListener('click',function(){nextBatch();startAutoplay()})} 14if(shell){shell.addEventListener('mouseenter',stopAutoplay);shell.addEventListener('mouseleave',startAutoplay);shell.addEventListener('touchstart',function(e){touchStartX=e.changedTouches[0].clientX;touchStartY=e.changedTouches[0].clientY;stopAutoplay()},{passive:!0});shell.addEventListener('touchend',function(e){var diffX=e.changedTouches[0].clientX-touchStartX;var diffY=e.changedTouches[0].clientY-touchStartY;if(Math.abs(diffX)>Math.abs(diffY)&&Math.abs(diffX)>SWIPE_THRESHOLD){diffX<0?nextBatch():prevBatch()} 15startAutoplay()},{passive:!0})} 16var isVisible=!1;new IntersectionObserver(function(entries){entries.forEach(function(entry){isVisible=entry.isIntersecting;isVisible?startAutoplay():stopAutoplay()})},{threshold:0.1}).observe(clientsSection)})();if(document.querySelector('#chiffres')){document.querySelectorAll('#chiffres .counter').forEach(function(counter){const dataEls=Array.from(counter.querySelectorAll('.data'));if(!dataEls.length)return;const target=parseFloat(dataEls[0].dataset.count)||0;const isFloat=target%1!==0;const tl=gsap.timeline({scrollTrigger:{trigger:counter,start:'top bottom',toggleActions:'play none none none',once:!0,invalidateOnRefresh:!0,}});dataEls.forEach(function(el,i){const obj={val:0};tl.from(el,{opacity:0,scale:1.35,filter:'blur(12px)',duration:0.8,ease:'power3.out',immediateRender:!1,},i*0.18);tl.fromTo(obj,{val:0},{val:target,duration:2,ease:'power2.out',onUpdate(){el.textContent=isFloat?obj.val.toFixed(1):Math.round(obj.val)},},i*0.18)})})} 17const actuSection=document.querySelector('#actualites');if(actuSection){const isMobile=window.matchMedia('(max-width: 991px)').matches;const tl=gsap.timeline({scrollTrigger:{trigger:actuSection,start:'top bottom',end:'top 20%',once:!0,invalidateOnRefresh:!0,markers:!1,}});if(isMobile){tl.fromTo(actuSection,{opacity:0,y:30},{opacity:1,y:0,ease:'power2.out',duration:0.45,onComplete:function(){actuSection.style.willChange='auto'}})}else{actuSection.style.willChange='transform';tl.fromTo(actuSection,{scale:0.1,transformOrigin:'center center'},{scale:1,ease:'power2.out',duration:1,onComplete:function(){actuSection.style.willChange='auto'}}).fromTo(actuSection.querySelector('.container-fluid'),{opacity:0}
17,{opacity:1,ease:'power1.out',duration:0.7},0.35)}}})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.