Test your video connection
Before booking your consultation, take 30 seconds to check that your camera, microphone and connection are ready. A successful test = no surprises on the day.
1. Camera and microphone
Click to start your camera
2. Connection speed
3. Result
⚠️ Reminder: in accordance with our Terms & Conditions, no consultation will be refunded if your connection fails. Test before booking!
async function startCam(){
try{
const s = await navigator.mediaDevices.getUserMedia({video:true,audio:true});
document.getElementById(‘v’).srcObject = s;
document.getElementById(‘vmsg’).textContent = ‘✅ Camera active’;
document.getElementById(‘mic’).style.display = ‘block’;
const ctx = new AudioContext();
const src = ctx.createMediaStreamSource(s);
const an = ctx.createAnalyser(); an.fftSize = 512;
src.connect(an);
const buf = new Uint8Array(an.frequencyBinCount);
(function loop(){
an.getByteFrequencyData(buf);
document.getElementById(‘lvl’).value = Math.min(100, Math.sqrt(buf.reduce((a,b)=>a+b*b,0)/buf.length));
requestAnimationFrame(loop);
})();
document.getElementById(‘micmsg’).textContent = ‘✅ Microphone detected — speak, the bar should move’;
window._camOK = true; checkAll();
}catch(e){
document.getElementById(‘vmsg’).textContent = ‘❌ Camera/microphone unavailable: ‘ + e.message;
}
}
function testSpeed(){
document.getElementById(‘smsg’).textContent = ‘Testing…’;
const start = Date.now();
fetch(‘/wp-content/uploads/2026/09/expert-batiment-cannes.webp?cb=’ + Math.random(), {cache:’no-store’})
.then(r => r.blob())
.then(b => {
const s = (Date.now()-start)/1000;
const mbps = (b.size*8/1e6/s);
window._netOK = mbps > 1;
document.getElementById(‘smsg’).textContent = mbps > 1
? ‘✅ Speed: ~’ + mbps.toFixed(1) + ‘ Mbps — sufficient for video’
: ‘⚠️ Low speed (‘ + mbps.toFixed(1) + ‘ Mbps) — use WiFi or find a better signal’;
checkAll();
})
.catch(()=>{document.getElementById(‘smsg’).textContent=’⚠️ Test failed — check your connection’;});
}
function checkAll(){
const v = document.getElementById(‘verdict’);
if(window._camOK && window._netOK !== undefined){
v.style.display = ‘block’;
v.style.background = window._camOK && window._netOK ? ‘#e8f5e9’ : ‘#fff3e0’;
v.innerHTML = window._camOK && window._netOK
? ‘✅ You are ready for video! Book your slot.’
: ‘⚠️ Fix the issues above before booking. Otherwise the consultation will NOT be refunded — see Terms.’;
}
}
📅 Last updated 31/10/2026 - Cassini Expertise, independent building expert – departments 06, 83 and 13.