Initial commit — Gestion de Stock DC

This commit is contained in:
Etienne
2026-05-28 09:35:43 +00:00
commit ffa17142fd
8 changed files with 2281 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<!-- Montants -->
<rect x="4" y="2" width="3" height="28" rx="1" fill="#aac5c5"/>
<rect x="25" y="2" width="3" height="28" rx="1" fill="#aac5c5"/>
<!-- Étagères -->
<rect x="4" y="2" width="24" height="3" rx="1" fill="#8ab0b0"/>
<rect x="4" y="12" width="24" height="2.5" rx="1" fill="#8ab0b0"/>
<rect x="4" y="22" width="24" height="2.5" rx="1" fill="#8ab0b0"/>
<!-- Objets étagère haut -->
<rect x="9" y="6" width="4" height="6" rx="0.5" fill="#555454"/>
<rect x="14" y="7" width="3" height="5" rx="0.5" fill="#777"/>
<rect x="18" y="5" width="4" height="7" rx="0.5" fill="#555454"/>
<!-- Objets étagère bas -->
<rect x="9" y="16" width="5" height="6" rx="0.5" fill="#777"/>
<rect x="16" y="17" width="3" height="5" rx="0.5" fill="#555454"/>
<rect x="20" y="16" width="3" height="6" rx="0.5" fill="#777"/>
</svg>

After

Width:  |  Height:  |  Size: 912 B

+1051
View File
File diff suppressed because it is too large Load Diff
+112
View File
@@ -0,0 +1,112 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Connexion — Gestion de Stock</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background: #f7fafa;
color: #555454;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
padding: 20px;
}
.login-box {
background: #fff;
border: 1px solid #e0e6e6;
border-radius: 12px;
padding: 40px 36px;
max-width: 380px;
width: 100%;
box-shadow: 0 4px 16px rgba(0,0,0,0.06);
text-align: center;
}
h1 {
font-size: 22px;
font-weight: 700;
color: #555454;
margin-bottom: 8px;
}
.subtitle {
font-size: 14px;
color: #999;
margin-bottom: 28px;
}
input[type="password"] {
width: 100%;
padding: 14px 16px;
font-size: 18px;
border: 1px solid #d0dcdc;
border-radius: 8px;
background: #fafbfc;
color: #555454;
font-family: inherit;
text-align: center;
letter-spacing: 2px;
transition: border-color 0.2s, box-shadow 0.2s;
}
input[type="password"]:focus {
outline: none;
border-color: #aac5c5;
background: #fff;
box-shadow: 0 0 0 3px rgba(170,197,197,0.2);
}
button {
margin-top: 18px;
width: 100%;
padding: 14px;
font-size: 16px;
font-weight: 700;
color: #fff;
background: #aac5c5;
border: none;
border-radius: 8px;
cursor: pointer;
font-family: inherit;
letter-spacing: 0.5px;
transition: background 0.2s;
}
button:hover { background: #8ab0b0; }
.error {
margin-top: 14px;
color: #c62828;
font-size: 14px;
display: none;
}
</style>
</head>
<body>
<div class="login-box">
<h1>Gestion de Stock</h1>
<p class="subtitle">Delvarre Creations</p>
<form id="login-form">
<input type="password" id="pwd" placeholder="Mot de passe" autofocus>
<button type="submit">Entrer</button>
</form>
<p class="error" id="err">Mot de passe incorrect</p>
</div>
<script>
document.getElementById('login-form').addEventListener('submit', async function(e) {
e.preventDefault();
const pwd = document.getElementById('pwd').value;
const res = await fetch('/auth/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ password: pwd })
});
if (res.ok) {
window.location.href = '/';
} else {
document.getElementById('err').style.display = 'block';
document.getElementById('pwd').select();
}
});
</script>
</body>
</html>