templates/includes/session_timeout.js.twig line 1
<script>
document.addEventListener('DOMContentLoaded', () => {
// Si redirection déjà faite, afficher le pop-up
const logoutReason = sessionStorage.getItem("logout_reason");
if (logoutReason === "timeout") {
alert("Vous avez été déconnecté suite à une trop longue inactivité sur le site.");
sessionStorage.removeItem("logout_reason");
}
// Heartbeat toutes les 60s
setInterval(() => {
fetch(window.location.href, { method: 'HEAD' })
.then(res => {
if (res.headers.get("X-Logout-Reason") === "timeout") {
sessionStorage.setItem("logout_reason", "timeout");
window.location.href = "{{ path('landing') }}";
}
})
.catch(console.error);
}, 60000); // 60 secondes
});
</script>