Skip to content

Commit 964fd9c

Browse files
authored
Merge pull request #33 from RustyRory/staging
chore(release): 0.4.0
2 parents 651ac36 + ec1b454 commit 964fd9c

4 files changed

Lines changed: 195 additions & 117 deletions

File tree

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Changelog
22

3+
## [0.4.0] — 2026-04-27
4+
5+
### Phase 4 — Intégration Nginx + Tests de non-régression
6+
7+
#### Changed
8+
9+
- Configuration Nginx : suppression de `root /var/www/home``location /` proxifie désormais vers `http://127.0.0.1:3020` (vps-monitor)
10+
- La homepage statique (`/var/www/home/index.html`) est remplacée par l'application dynamique
11+
- Toutes les routes existantes (`/saintbarthvolley/`, `/lucky7/`, `/cinemap/`, etc.) conservées et non impactées
12+
13+
#### Tests de non-régression validés
14+
15+
- Toutes les applications accessibles via leurs routes Nginx
16+
- Homepage publique servie par vps-monitor sur `/`
17+
- Dashboard accessible après login admin
18+
- Containers `exited` affichés en rouge, containers `running` en vert
19+
- `globalStatus: OK` après nettoyage des containers anonymes (`docker container prune`)
20+
21+
---
22+
323
## [0.3.0] — 2026-04-27
424

525
### Phase 3 — Actions Docker + Authentification

vps-monitor-app/public/home.html

Lines changed: 8 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -4,112 +4,13 @@
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
66
<title>VPS — B3 Dev</title>
7-
<style>
8-
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
9-
10-
body {
11-
font-family: 'Segoe UI', Arial, sans-serif;
12-
background: #0f172a;
13-
color: #e2e8f0;
14-
min-height: 100vh;
15-
display: flex;
16-
flex-direction: column;
17-
align-items: center;
18-
justify-content: center;
19-
padding: 40px 20px;
20-
}
21-
22-
header {
23-
text-align: center;
24-
margin-bottom: 48px;
25-
}
26-
27-
header h1 {
28-
font-size: 1.75rem;
29-
font-weight: 700;
30-
letter-spacing: 0.05em;
31-
color: #f1f5f9;
32-
}
33-
34-
header p {
35-
margin-top: 8px;
36-
font-size: 0.875rem;
37-
color: #64748b;
38-
}
39-
40-
.grid {
41-
display: grid;
42-
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
43-
gap: 16px;
44-
width: 100%;
45-
max-width: 760px;
46-
}
47-
48-
a.card {
49-
display: flex;
50-
flex-direction: column;
51-
gap: 6px;
52-
padding: 20px 24px;
53-
background: #1e293b;
54-
border: 1px solid #334155;
55-
border-radius: 12px;
56-
text-decoration: none;
57-
color: #e2e8f0;
58-
transition: background 0.15s, border-color 0.15s, transform 0.15s;
59-
}
60-
61-
a.card:hover {
62-
background: #273548;
63-
border-color: #4f6a8a;
64-
transform: translateY(-2px);
65-
}
66-
67-
a.card .label {
68-
font-size: 1rem;
69-
font-weight: 600;
70-
color: #f1f5f9;
71-
}
72-
73-
a.card .url {
74-
font-size: 0.75rem;
75-
color: #64748b;
76-
font-family: monospace;
77-
}
78-
79-
footer {
80-
margin-top: 48px;
81-
display: flex;
82-
flex-direction: column;
83-
align-items: center;
84-
gap: 12px;
85-
}
86-
87-
footer span {
88-
font-size: 0.75rem;
89-
color: #334155;
90-
}
91-
92-
footer a.monitoring-link {
93-
font-size: 0.75rem;
94-
color: #475569;
95-
text-decoration: none;
96-
border: 1px solid #1e293b;
97-
border-radius: 6px;
98-
padding: 0.3rem 0.8rem;
99-
transition: color 0.15s, border-color 0.15s;
100-
}
101-
102-
footer a.monitoring-link:hover {
103-
color: #94a3b8;
104-
border-color: #334155;
105-
}
106-
</style>
7+
<link rel="stylesheet" href="style.css" />
1078
</head>
108-
<body>
9+
<body class="home-body">
10910

11011
<header>
111-
<h1>B3 Dev — Applications</h1>
112-
<p>VPS 78.138.58.95</p>
12+
<h1>Applications</h1>
13+
<p>· VPS 78.138.58.95 ·</p>
11314
</header>
11415

11516
<div class="grid">
@@ -136,8 +37,11 @@ <h1>B3 Dev — Applications</h1>
13637
</div>
13738

13839
<footer>
139-
<span>B3 Dev · 2026</span>
14040
<a class="monitoring-link" href="/login.html">Monitoring</a>
41+
<span>
42+
<a href="https://github.com/RustyRory" class="github-link" target="_blank" rel="noopener">RustyRory</a>
43+
· B3 Dev · 2026
44+
</span>
14145
</footer>
14246

14347
</body>

vps-monitor-app/public/login.html

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,28 @@
99
<body class="login-body">
1010
<div class="login-card">
1111
<h1>VPS Monitor</h1>
12-
<form id="login-form">
12+
<form id="login-form" novalidate>
1313
<div id="login-error" class="login-error hidden">Identifiants incorrects</div>
14-
<input type="text" id="username" placeholder="Utilisateur" autocomplete="username" required />
15-
<input type="password" id="password" placeholder="Mot de passe" autocomplete="current-password" required />
16-
<button type="submit">Connexion</button>
14+
<label for="username">Utilisateur</label>
15+
<input type="text" id="username" placeholder="admin" autocomplete="username" required />
16+
<label for="password">Mot de passe</label>
17+
<input type="password" id="password" placeholder="••••••••" autocomplete="current-password" required />
18+
<button type="submit" id="submit-btn">Connexion</button>
19+
<a href="/" class="back-link">← Retour</a>
1720
</form>
1821
</div>
1922

2023
<script>
2124
document.getElementById('login-form').addEventListener('submit', async (e) => {
2225
e.preventDefault();
26+
const btn = document.getElementById('submit-btn');
2327
const username = document.getElementById('username').value;
2428
const password = document.getElementById('password').value;
2529

30+
btn.disabled = true;
31+
btn.textContent = '...';
32+
document.getElementById('login-error').classList.add('hidden');
33+
2634
const res = await fetch('/auth/login', {
2735
method: 'POST',
2836
headers: { 'Content-Type': 'application/json' },
@@ -33,6 +41,8 @@ <h1>VPS Monitor</h1>
3341
window.location.href = '/';
3442
} else {
3543
document.getElementById('login-error').classList.remove('hidden');
44+
btn.disabled = false;
45+
btn.textContent = 'Connexion';
3646
}
3747
});
3848
</script>

0 commit comments

Comments
 (0)