cloudflare
tcp/443 tcp/80 tcp/8443
Open service 2606:4700:3032::ac43:c7e4:80 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 19:57:45 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Location: https://stock.wassa-soft.com/
cf-cache-status: DYNAMIC
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=299
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=FUgzxhYgmR8uZmhyMtws5qBYWZyzgZNDTi%2FBFs7fMESIaINkqK90yo9C18NcL5h5VjCimOZ7%2FZGViTCLUnBT0k08oF6SACvry9Aa%2FHzzJjvjzWi87jmpcA6W"}]}
CF-RAY: 9c219f42cd1e2083-SJC
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.18.0 (Ubuntu)</center>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"691efa52dc0a48d6bc40bf6d1b54861a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.199.228:8443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 19:58:04 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c219f46be923633-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 104.21.82.98:8443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 19:58:04 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c219f46aeb5dc7a-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.199.228:80 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 19:57:44 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Location: https://stock.wassa-soft.com/
cf-cache-status: DYNAMIC
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=17,cfOrigin;dur=151
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mOrFpXJXC4tiZIqFkBL2d7dQdEu3AAPGwUbemtRfs5kPDgWE0hSUcamCSJN0ijIlsLMCPpMbj9458AV9VSzbuXC%2Bf%2Fv52ShY47LzX8qE"}]}
CF-RAY: 9c219f417ecb3ee5-EWR
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.18.0 (Ubuntu)</center>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"691efa52dc0a48d6bc40bf6d1b54861a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3035::6815:5262:443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 19:57:44 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Sat, 15 Nov 2025 11:11:30 GMT
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Cache-Control: no-cache, no-store, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=tmK5hcdEvAurBPgku48%2FPCnRhNTYcLkAsYWs%2BeloXar4qaGFuxzM7UGftuXUGT%2FIM5pxowVZyq5OI6v8YaNVw6Mlb7dP3TI0lm%2BITdB4IPrgSIuyA5sI3lOU"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
CF-RAY: 9c219f40996cd244-FRA
alt-svc: h3=":443"; ma=86400
Page title: WassaStock.Client
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WassaStock.Client</title>
<base href="/" />
<!-- 🔥 ANTI-CACHE pour forcer le refresh -->
<meta
http-equiv="Cache-Control"
content="no-cache, no-store, must-revalidate"
/>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="css/app.css" />
<link rel="icon" type="image/png" href="favicon.png" />
<link href="manifest.webmanifest" rel="manifest" />
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
<link rel="apple-touch-icon" sizes="192x192" href="icon-192.png" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
<link href="WassaStock.Client.styles.css" rel="stylesheet" />
<link rel="stylesheet" href="css/wassastock-theme.css" />
<link
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
rel="stylesheet"
/>
<script>
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.getRegistrations()
.then(function (registrations) {
for (let registration of registrations) {
registration.unregister();
}
});
}
</script>
<script>
function downloadFile(filename, content, contentType) {
const blob = new Blob([content], { type: contentType });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
}
</script>
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<!-- Conteneur pour les toasts -->
<div
aria-live="polite"
aria-atomic="true"
class="position-fixed bottom-0 end-0 p-3"
style="z-index: 1050"
>
<div id="toastContainer"></div>
</div>
<!-- Inactivité: charger AVANT Blazor pour garantir la présence des fonctions JSInterop -->
<script src="js/inactivity.js"></script>
<script src="_framework/blazor.webassembly.js"></script>
<script src="js/fileUtils.js"></script>
<!-- ZXing.js pour la lecture de codes-barres caméra -->
<script src="https://unpkg.com/@zxing/library@latest"></script>
<script src="https://unpkg.com/@zxing/browser@latest"></script>
<script src="js/barcodeScanner.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Ajout de Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {});
window.hideModal = (modalId) => {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.hide();
}
};
window.bootstrapModalInterop = {
showModal: function (modalId) {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.show();
} else {
console.error(`Modal ${modalId} non trouvée`);
}
},
};
window.showModal
Open service 2606:4700:3032::ac43:c7e4:8443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 19:58:05 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c219f468ac19754-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 172.67.199.228:443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 19:57:44 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Sat, 15 Nov 2025 11:11:30 GMT
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Cache-Control: no-cache, no-store, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=5ERvJ87SJYiUnvXu%2F3J686uxeOS1Oex4QBAsereoYsjFMgJZFwaS6vJITmyun8klTiOTodBVkDlCulS4WoNV%2BRngaWd%2BVfLc%2B%2Bm%2F7%2Fej"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
CF-RAY: 9c219f409e10d9d6-FRA
alt-svc: h3=":443"; ma=86400
Page title: WassaStock.Client
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WassaStock.Client</title>
<base href="/" />
<!-- 🔥 ANTI-CACHE pour forcer le refresh -->
<meta
http-equiv="Cache-Control"
content="no-cache, no-store, must-revalidate"
/>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="css/app.css" />
<link rel="icon" type="image/png" href="favicon.png" />
<link href="manifest.webmanifest" rel="manifest" />
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
<link rel="apple-touch-icon" sizes="192x192" href="icon-192.png" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
<link href="WassaStock.Client.styles.css" rel="stylesheet" />
<link rel="stylesheet" href="css/wassastock-theme.css" />
<link
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
rel="stylesheet"
/>
<script>
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.getRegistrations()
.then(function (registrations) {
for (let registration of registrations) {
registration.unregister();
}
});
}
</script>
<script>
function downloadFile(filename, content, contentType) {
const blob = new Blob([content], { type: contentType });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
}
</script>
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<!-- Conteneur pour les toasts -->
<div
aria-live="polite"
aria-atomic="true"
class="position-fixed bottom-0 end-0 p-3"
style="z-index: 1050"
>
<div id="toastContainer"></div>
</div>
<!-- Inactivité: charger AVANT Blazor pour garantir la présence des fonctions JSInterop -->
<script src="js/inactivity.js"></script>
<script src="_framework/blazor.webassembly.js"></script>
<script src="js/fileUtils.js"></script>
<!-- ZXing.js pour la lecture de codes-barres caméra -->
<script src="https://unpkg.com/@zxing/library@latest"></script>
<script src="https://unpkg.com/@zxing/browser@latest"></script>
<script src="js/barcodeScanner.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Ajout de Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {});
window.hideModal = (modalId) => {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.hide();
}
};
window.bootstrapModalInterop = {
showModal: function (modalId) {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.show();
} else {
console.error(`Modal ${modalId} non trouvée`);
}
},
};
window.showModal
Open service 104.21.82.98:80 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 19:57:45 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Location: https://stock.wassa-soft.com/
cf-cache-status: DYNAMIC
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=484
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=43leblIaa1V0Xd2ihUc3wyu1x0ztW18iYmUdWW8MGBD7wEYPsFEk%2FU7qv0NW2O4Qax9zuYRUoeL%2FhviqomtQOkLbuibpQdAUzYf8Ru68"}]}
CF-RAY: 9c219f43a9de49a6-BOM
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.18.0 (Ubuntu)</center>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"691efa52dc0a48d6bc40bf6d1b54861a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.82.98:443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 19:57:44 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Sat, 15 Nov 2025 11:11:30 GMT
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=8,cfOrigin;dur=218
Cache-Control: no-cache, no-store, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Wx20JmtbQlxaH4MZj4X85Tjr8hijKVqTGRmTYvoV1q1Cu%2FaF8Ek0waLe4lelsmBn5wfmbk15H1wDzH8L9J290nvhQzGO51qrpZU5nl0w"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
CF-RAY: 9c219f409b853d85-EWR
alt-svc: h3=":443"; ma=86400
Page title: WassaStock.Client
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WassaStock.Client</title>
<base href="/" />
<!-- 🔥 ANTI-CACHE pour forcer le refresh -->
<meta
http-equiv="Cache-Control"
content="no-cache, no-store, must-revalidate"
/>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="css/app.css" />
<link rel="icon" type="image/png" href="favicon.png" />
<link href="manifest.webmanifest" rel="manifest" />
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
<link rel="apple-touch-icon" sizes="192x192" href="icon-192.png" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
<link href="WassaStock.Client.styles.css" rel="stylesheet" />
<link rel="stylesheet" href="css/wassastock-theme.css" />
<link
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
rel="stylesheet"
/>
<script>
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.getRegistrations()
.then(function (registrations) {
for (let registration of registrations) {
registration.unregister();
}
});
}
</script>
<script>
function downloadFile(filename, content, contentType) {
const blob = new Blob([content], { type: contentType });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
}
</script>
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<!-- Conteneur pour les toasts -->
<div
aria-live="polite"
aria-atomic="true"
class="position-fixed bottom-0 end-0 p-3"
style="z-index: 1050"
>
<div id="toastContainer"></div>
</div>
<!-- Inactivité: charger AVANT Blazor pour garantir la présence des fonctions JSInterop -->
<script src="js/inactivity.js"></script>
<script src="_framework/blazor.webassembly.js"></script>
<script src="js/fileUtils.js"></script>
<!-- ZXing.js pour la lecture de codes-barres caméra -->
<script src="https://unpkg.com/@zxing/library@latest"></script>
<script src="https://unpkg.com/@zxing/browser@latest"></script>
<script src="js/barcodeScanner.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Ajout de Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {});
window.hideModal = (modalId) => {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.hide();
}
};
window.bootstrapModalInterop = {
showModal: function (modalId) {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.show();
} else {
console.error(`Modal ${modalId} non trouvée`);
}
},
};
window.showModal
Open service 2606:4700:3035::6815:5262:8443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 522 <none> Date: Thu, 22 Jan 2026 19:58:04 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 15 Connection: close Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Expires: Thu, 01 Jan 1970 00:00:01 GMT Referrer-Policy: same-origin X-Frame-Options: SAMEORIGIN Server: cloudflare CF-RAY: 9c219f4628652bbc-FRA alt-svc: h3=":8443"; ma=86400 error code: 522
Open service 2606:4700:3035::6815:5262:80 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 301 Moved Permanently
Date: Thu, 22 Jan 2026 19:57:44 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Location: https://stock.wassa-soft.com/
cf-cache-status: DYNAMIC
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=7go9AFKvSCa0ivwS%2FRh5rOcMeIAzP6sRRGk%2BJZ21l2alZ9zP61wcyezmpOkI3yKmAc2TeeUyM2PDrd1EcE%2FXaVOHh3%2FbeqyUnhFt1lY%2FkA0NhX6qPz9ahjl9"}]}
CF-RAY: 9c219f403e4dc4ec-FRA
alt-svc: h3=":443"; ma=86400
Page title: 301 Moved Permanently
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.18.0 (Ubuntu)</center>
</body>
</html>
Open service 2606:4700:3032::ac43:c7e4:443 · wassa-soft.com
2026-01-22 19:57
HTTP/1.1 200 OK
Date: Thu, 22 Jan 2026 19:57:44 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Server: cloudflare
last-modified: Sat, 15 Nov 2025 11:11:30 GMT
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Cache-Control: no-cache, no-store, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=jcyepQXqEuP%2Bz%2FhliN9sJ3z1tSs%2F%2FPJhhLUYUbmsz6XQj9gOoPM3c57p3tF6Jr59kr4%2FCaEWq4auA7sbXnhHSAM615TtoxjKXeRW0jKNMWdJ1m0TKiDli8uF"}]}
cf-cache-status: DYNAMIC
vary: accept-encoding
CF-RAY: 9c219f403f5e1c32-FRA
alt-svc: h3=":443"; ma=86400
Page title: WassaStock.Client
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>WassaStock.Client</title>
<base href="/" />
<!-- 🔥 ANTI-CACHE pour forcer le refresh -->
<meta
http-equiv="Cache-Control"
content="no-cache, no-store, must-revalidate"
/>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="css/app.css" />
<link rel="icon" type="image/png" href="favicon.png" />
<link href="manifest.webmanifest" rel="manifest" />
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
<link rel="apple-touch-icon" sizes="192x192" href="icon-192.png" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
/>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
<link href="WassaStock.Client.styles.css" rel="stylesheet" />
<link rel="stylesheet" href="css/wassastock-theme.css" />
<link
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
rel="stylesheet"
/>
<script>
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.getRegistrations()
.then(function (registrations) {
for (let registration of registrations) {
registration.unregister();
}
});
}
</script>
<script>
function downloadFile(filename, content, contentType) {
const blob = new Blob([content], { type: contentType });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
}
</script>
</head>
<body>
<div id="app">
<svg class="loading-progress">
<circle r="40%" cx="50%" cy="50%" />
<circle r="40%" cx="50%" cy="50%" />
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="." class="reload">Reload</a>
<span class="dismiss">🗙</span>
</div>
<!-- Conteneur pour les toasts -->
<div
aria-live="polite"
aria-atomic="true"
class="position-fixed bottom-0 end-0 p-3"
style="z-index: 1050"
>
<div id="toastContainer"></div>
</div>
<!-- Inactivité: charger AVANT Blazor pour garantir la présence des fonctions JSInterop -->
<script src="js/inactivity.js"></script>
<script src="_framework/blazor.webassembly.js"></script>
<script src="js/fileUtils.js"></script>
<!-- ZXing.js pour la lecture de codes-barres caméra -->
<script src="https://unpkg.com/@zxing/library@latest"></script>
<script src="https://unpkg.com/@zxing/browser@latest"></script>
<script src="js/barcodeScanner.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Ajout de Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {});
window.hideModal = (modalId) => {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.hide();
}
};
window.bootstrapModalInterop = {
showModal: function (modalId) {
const modalElement = document.getElementById(modalId);
if (modalElement) {
const modal =
bootstrap.Modal.getInstance(modalElement) ||
new bootstrap.Modal(modalElement);
modal.show();
} else {
console.error(`Modal ${modalId} non trouvée`);
}
},
};
window.showModal