CINXE.COM
INSA
<!DOCTYPE html> <html lang="fr"> <head> <title>INSA</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" id="metaViewport" content="user-scalable=no, initial-scale=1, width=device-width, viewport-fit=cover" data-tdv-general-scale="0.5"/> <link rel="preload" href="locale/fr.txt?v=1615204071004" as="fetch" crossorigin="anonymous"/> <link rel="preload" href="script.js?v=1615204071004" as="script"/> <link rel="preload" href="media/panorama_76F263F0_658D_A769_41A9_E26C5DC9F59B_0/r/3/0_0.jpg?v=1615204071004" as="image"/> <link rel="preload" href="media/panorama_76F263F0_658D_A769_41A9_E26C5DC9F59B_0/l/3/0_0.jpg?v=1615204071004" as="image"/> <link rel="preload" href="media/panorama_76F263F0_658D_A769_41A9_E26C5DC9F59B_0/u/3/0_0.jpg?v=1615204071004" as="image"/> <link rel="preload" href="media/panorama_76F263F0_658D_A769_41A9_E26C5DC9F59B_0/d/3/0_0.jpg?v=1615204071004" as="image"/> <link rel="preload" href="media/panorama_76F263F0_658D_A769_41A9_E26C5DC9F59B_0/f/3/0_0.jpg?v=1615204071004" as="image"/> <link rel="preload" href="media/panorama_76F263F0_658D_A769_41A9_E26C5DC9F59B_0/b/3/0_0.jpg?v=1615204071004" as="image"/> <script>(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","//www.google-analytics.com/analytics.js","ga");ga("create", "UA-184608874-1", "auto"); ga("send", "pageview");</script> <meta name="description" content="Virtual Tour"/> <meta name="theme-color" content="#FFFFFF"/> <script src="lib/tdvplayer.js?v=1615204071004"></script> <script src="script.js?v=1615204071004"></script> <script type="text/javascript"> (function() { var deviceType = TDV.PlayerAPI.mobile ? 'mobile' : 'general'; var devicesUrl = {"general":"script_general.js?v=1615204071004","mobile":"script_mobile.js?v=1615204071004"}; var url = deviceType in devicesUrl ? devicesUrl[deviceType] : devicesUrl['general']; if(typeof url == "object") { var orient = TDV.PlayerAPI.getOrientation(); if(orient in url) { url = url[orient]; } } var link = document.createElement('link'); link.rel = 'preload'; link.href = url; link.as = 'script'; var el = document.getElementsByTagName('script')[0]; el.parentNode.insertBefore(link, el); })(); </script> <script type="text/javascript"> var tour; function loadTour() { if(tour) return; var settings = new TDV.PlayerSettings(); settings.set(TDV.PlayerSettings.CONTAINER, document.getElementById('viewer')); settings.set(TDV.PlayerSettings.WEBVR_POLYFILL_URL, 'lib/WebVRPolyfill.js?v=1615204071004'); settings.set(TDV.PlayerSettings.HLS_URL, 'lib/Hls.js?v=1615204071004'); settings.set(TDV.PlayerSettings.QUERY_STRING_PARAMETERS, 'v=1615204071004'); var devicesUrl = {"general":"script_general.js?v=1615204071004","mobile":"script_mobile.js?v=1615204071004"}; tour = new TDV.Tour(settings, devicesUrl); tour.bind(TDV.Tour.EVENT_TOUR_INITIALIZED, onVirtualTourInit); tour.bind(TDV.Tour.EVENT_TOUR_LOADED, onVirtualTourLoaded); tour.bind(TDV.Tour.EVENT_TOUR_ENDED, onVirtualTourEnded); tour.load(); } function pauseTour() { if(!tour) return; tour.pause(); } function resumeTour() { if(!tour) return; tour.resume(); } function onVirtualTourInit() { var updateTexts = function() { document.title = this.trans("tour.name") }; tour.locManager.bind(TDV.Tour.LocaleManager.EVENT_LOCALE_CHANGED, updateTexts.bind(tour.locManager)); } function onVirtualTourLoaded() { disposePreloader(); } function onVirtualTourEnded() { } function setMediaByIndex(index) { if(!tour) return; tour.setMediaByIndex(index); } function setMediaByName(name) { if(!tour) return; tour.setMediaByName(name); } function showPreloader() { var preloadContainer = document.getElementById('preloadContainer'); if(preloadContainer != undefined) preloadContainer.style.opacity = 1; } function disposePreloader() { var preloadContainer = document.getElementById('preloadContainer'); if(preloadContainer == undefined) return; var transitionEndName = transitionEndEventName(); if(transitionEndName) { preloadContainer.addEventListener(transitionEndName, hide, false); preloadContainer.style.opacity = 0; setTimeout(hide, 500); //Force hide. Some cases the transitionend event isn't dispatched with an iFrame. } else { hide(); } function hide() { document.getElementById("video_94623211_848E_9838_41C1_111573D34617").pause(); preloadContainer.style.visibility = 'hidden'; preloadContainer.style.display = 'none'; var videoList = preloadContainer.getElementsByTagName("video"); for(var i=0; i<videoList.length; ++i) { var video = videoList[i]; video.pause(); while (video.children.length) video.removeChild(video.children[0]); } } function transitionEndEventName () { var el = document.createElement('div'); var transitions = { 'transition':'transitionend', 'OTransition':'otransitionend', 'MozTransition':'transitionend', 'WebkitTransition':'webkitTransitionEnd' }; var t; for (t in transitions) { if (el.style[t] !== undefined) { return transitions[t]; } } return undefined; } } function onBodyClick(){ document.body.removeEventListener("click", onBodyClick); document.body.removeEventListener("touchend", onBodyClick); loadTour(); } function onLoad() { if (/AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent)) { var inIFrame = false; try { inIFrame = (window.self !== window.top); } catch (e) { inIFrame = true; } if (!inIFrame) { var onResize = function(async) { [0, 250, 1000, 2000].forEach(function(delay) { setTimeout(function() { var viewer = document.querySelector('#viewer'); var scale = window.innerWidth / document.documentElement.clientWidth; var width = document.documentElement.clientWidth; var height = Math.round(window.innerHeight / scale); viewer.style.width = width + 'px'; viewer.style.height = height + 'px'; viewer.style.left = Math.round((window.innerWidth - width) * 0.5) + 'px'; viewer.style.top = Math.round((window.innerHeight - height) * 0.5) + 'px'; viewer.style.transform = 'scale(' + scale + ', ' + scale + ')'; window.scrollTo(0,0); }, delay); }); }; var onTouchEnd = function() { document.body.removeEventListener("touchend", onTouchEnd); clearInterval(resizeIntervalId); onResize(); if (/CriOS/.test(navigator.userAgent)) setInterval(onResize, 4000); }; document.body.addEventListener("touchend", onTouchEnd); var resizeIntervalId = setInterval(onResize, 300); window.addEventListener('resize', onResize); onResize(); } } var params = getParams(location.search.substr(1)); if(params.hasOwnProperty("skip-loading")) { loadTour(); disposePreloader(); return; } if (isOVRWeb()){ showPreloader(); loadTour(); return; } playVideo(document.getElementById("video_94623211_848E_9838_41C1_111573D34617")); document.body.addEventListener("click", onBodyClick); document.body.addEventListener("touchend", onBodyClick); showPreloader(); } function playVideo(video) { function isSafariDesktopV11orGreater() { return /^((?!chrome|android|crios|ipad|iphone).)*safari/i.test(navigator.userAgent) && parseFloat(/Version\/([0-9]+\.[0-9]+)/i.exec(navigator.userAgent)[1]) >= 11; } function hasAudio (video) { return video.mozHasAudio || Boolean(video.webkitAudioDecodedByteCount) || Boolean(video.audioTracks && video.audioTracks.length); } function detectUserAction() { var onVideoClick = function(e) { if(video.paused) { video.play(); } video.muted = false; if(hasAudio(video)) { e.stopPropagation(); e.stopImmediatePropagation(); e.preventDefault(); } video.removeEventListener('click', onVideoClick); video.removeEventListener('touchend', onVideoClick); }; video.addEventListener("click", onVideoClick); video.addEventListener("touchend", onVideoClick); } if (isSafariDesktopV11orGreater()) { video.muted = true; video.play(); } else { var canPlay = true; var promise = video.play(); if (promise) { promise.catch(function() { video.muted = true; video.play(); detectUserAction(); }); } else { canPlay = false; } if (!canPlay || video.muted) { detectUserAction(); } } } function isOVRWeb(){ return window.location.hash.substring(1).split('&').indexOf('ovrweb') > -1; } function getParams(params) { var queryDict = {}; params.split("&").forEach(function(item) {var k = item.split("=")[0], v = decodeURIComponent(item.split("=")[1]);queryDict[k.toLowerCase()] = v}); return queryDict; } document.addEventListener('DOMContentLoaded', onLoad); </script> <style type="text/css"> html, body { width: 100%; height: 100%; margin: 0; padding: 0; padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); } #viewer { z-index:1; position:absolute; width: 100%; height: 100%; top: 0; } #preloadContainer { z-index:2; position:relative; width:100%; height:100%; opacity:0; background-color:rgba(255,255,255,1); transition: opacity 0.5s; -webkit-transition: opacity 0.5s; -moz-transition: opacity 0.5s; -o-transition: opacity 0.5s;} </style> <link rel="stylesheet" href="fonts.css?v=1615204071004"> </head> <body> <div id="preloadContainer"><div style="z-index: 4; position: absolute; display: flex; align-items: center; text-align: center; overflow: hidden; background-color: #FFFFFF; left: 0%; top: 0%; width: 100.00%; height: 100.00%"><video id="video_94623211_848E_9838_41C1_111573D34617" style="position: absolute; min-width: 100%; min-height: 100%; width: auto; height: auto; overflow: hidden; left: 50%; top: 50%; transform: translateY(-50%) translateX(-50%)" onended="onBodyClick()" autoplay playsinline webkit-playsinline poster="media/video_94623211_848E_9838_41C1_111573D34617_poster.jpg" preload="auto"><source src="media/video_94623211_848E_9838_41C1_111573D34617.m3u8" type="application/x-mpegurl"><source src="media/video_94623211_848E_9838_41C1_111573D34617.mp4" type="video/mp4">Your browser does not support the video tab</video></div></div> <div id="viewer"></div> </body> </html>