SPB Git forge

spb/hilmacorp-ca

Public
0commits 0branches 0releases
0 Bsize
maindefault branch
—last push

adopt: état déployé sur m4mn adopté comme source de vérité (remote-first, 2026-10-11)

mld committed 3 h ago (Oct 11, 2026)

4 changed files +82 −0

added .gitignore +2 −0
@@ -0,0 +1,2 @@
1 +.DS_Store
2 +node_modules/
added package.json +7 −0
@@ -0,0 +1,7 @@
1 +{
2 + "name": "hilmacorp-ca",
3 + "version": "0.1.0",
4 + "private": true,
5 + "type": "module",
6 + "scripts": { "start": "node server.mjs 8070" }
7 +}
added public/index.html +45 −0
@@ -0,0 +1,45 @@
1 +<!doctype html>
2 +<!-- Hilmacorp — page en construction. Auteur : Simon-Pierre Boucher / contact@spboucher.ai -->
3 +<html lang="fr">
4 +<head>
5 +<meta charset="utf-8">
6 +<meta name="viewport" content="width=device-width, initial-scale=1">
7 +<title>Hilmacorp — Site en construction</title>
8 +<meta name="description" content="Le site de Hilmacorp est en construction. / The Hilmacorp website is under construction.">
9 +<meta name="robots" content="noindex">
10 +<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='14' fill='%230b6b4a'/%3E%3Ctext x='32' y='43' font-family='Georgia,serif' font-size='34' text-anchor='middle' fill='%23faf9f6'%3EH%3C/text%3E%3C/svg%3E">
11 +<style>
12 + :root{--paper:#faf9f6;--ink:#1a1a1a;--muted:#5f6763;--accent:#0b6b4a;--line:#e6e2da}
13 + *{box-sizing:border-box}
14 + html,body{height:100%;margin:0}
15 + body{background:var(--paper);color:var(--ink);font:16px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;display:flex;flex-direction:column;min-height:100vh}
16 + main{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
17 + .card{max-width:560px;width:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:48px 40px;box-shadow:0 10px 40px rgba(26,26,26,.05);text-align:center}
18 + .mark{width:64px;height:64px;border-radius:16px;background:var(--accent);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font:600 34px/1 Georgia,"Times New Roman",serif;margin-bottom:24px}
19 + h1{font:600 2rem/1.15 Georgia,"Times New Roman",serif;margin:0 0 6px;letter-spacing:-.01em}
20 + .tag{color:var(--accent);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 28px}
21 + p{margin:0 0 10px;color:var(--muted)}
22 + .en{font-size:.95rem}
23 + hr{border:0;border-top:1px solid var(--line);margin:28px 0}
24 + a{color:var(--accent);text-decoration:none;font-weight:600}
25 + a:hover{text-decoration:underline}
26 + footer{text-align:center;color:var(--muted);font-size:.8rem;padding:16px 24px 28px}
27 + @media (max-width:480px){.card{padding:36px 24px}h1{font-size:1.6rem}}
28 +</style>
29 +</head>
30 +<body>
31 +<main>
32 + <div class="card">
33 + <div class="mark" aria-hidden="true">H</div>
34 + <h1>Hilmacorp</h1>
35 + <p class="tag">Site en construction · Under construction</p>
36 + <p>Notre nouveau site est en préparation. Revenez bientôt pour en savoir plus sur nos services.</p>
37 + <p class="en" lang="en">Our new website is on its way. Please check back soon to learn more about our services.</p>
38 + <hr>
39 + <p>Pour nous joindre / To reach us : <a href="mailto:contact@hilmacorp.ca">contact@hilmacorp.ca</a></p>
40 + </div>
41 +</main>
42 +<footer>© <span id="y"></span> Hilmacorp · Québec, Canada</footer>
43 +<script>document.getElementById("y").textContent=new Date().getFullYear()</script>
44 +</body>
45 +</html>
added server.mjs +28 −0
@@ -0,0 +1,28 @@
1 +// Hilmacorp — page « en construction » (www.hilmacorp.ca)
2 +// Auteur : Simon-Pierre Boucher / contact@spboucher.ai
3 +import http from "node:http";
4 +import { readFileSync } from "node:fs";
5 +import { join, dirname } from "node:path";
6 +import { fileURLToPath } from "node:url";
7 +
8 +const __dirname = dirname(fileURLToPath(import.meta.url));
9 +const PORT = Number(process.argv[2] || process.env.PORT || 8070);
10 +const html = readFileSync(join(__dirname, "public", "index.html"));
11 +const started = new Date().toISOString();
12 +
13 +http.createServer((req, res) => {
14 + const url = (req.url || "/").split("?")[0];
15 + if (url === "/healthz") {
16 + res.writeHead(200, { "content-type": "application/json" });
17 + return res.end(JSON.stringify({ ok: true, app: "hilmacorp-ca", started }));
18 + }
19 + if (url === "/robots.txt") {
20 + res.writeHead(200, { "content-type": "text/plain" });
21 + return res.end("User-agent: *\nDisallow:\n");
22 + }
23 + res.writeHead(url === "/" || url === "/index.html" ? 200 : 404, {
24 + "content-type": "text/html; charset=utf-8",
25 + "cache-control": "no-cache",
26 + });
27 + res.end(html);
28 +}).listen(PORT, "0.0.0.0", () => console.log(`hilmacorp-ca listening on :${PORT}`));
29