Replace site with coming soon page
Build & Deploy / deploy (push) Successful in 9s

This commit is contained in:
2026-06-20 09:28:04 +02:00
parent 4750fe5b34
commit e1b9fcdba5
4 changed files with 30 additions and 209 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
FROM nginx:alpine FROM nginx:alpine
COPY index.html style.css script.js /usr/share/nginx/html/ COPY index.html /usr/share/nginx/html/
+27 -104
View File
@@ -3,114 +3,37 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Zola Labs — Studio de développement logiciel</title> <title>Zola Labs — Bientôt disponible</title>
<meta name="description" content="Zola Labs conçoit et développe des solutions logicielles sur mesure. Applications web, APIs, infrastructure cloud et conseil technique."> <meta name="description" content="Zola Labs — notre site est en cours de refonte. Revenez bientôt.">
<link rel="stylesheet" href="style.css"> <style>
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#1a1a1a;background:#fafafa;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;-webkit-font-smoothing:antialiased}
.card{text-align:center;max-width:480px}
.logo{font-size:2rem;font-weight:700;letter-spacing:-.03em;margin-bottom:32px}
.logo span{color:#6b7280}
.message{font-size:1.1rem;color:#6b7280;line-height:1.7;margin-bottom:40px}
.divider{width:48px;height:2px;background:#e5e7eb;margin:0 auto 40px}
.contact{display:flex;flex-direction:column;gap:14px}
.contact a{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:#1a1a1a;font-size:.95rem;font-weight:500;padding:12px 24px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;transition:border-color .2s}
.contact a:hover{border-color:#111827}
.icon{width:18px;height:18px;flex-shrink:0}
</style>
</head> </head>
<body> <body>
<header class="header">
<div class="container header-inner">
<a href="#" class="logo">Zola<span>Labs</span></a>
<nav class="nav">
<a href="#services">Services</a>
<a href="#about">À propos</a>
<a href="#contact" class="btn btn-sm">Contact</a>
</nav>
<button class="menu-toggle" aria-label="Menu">
<span></span><span></span><span></span>
</button>
</div>
</header>
<section class="hero">
<div class="container">
<h1>Des solutions logicielles<br>pensées pour durer</h1>
<p class="hero-sub">Nous concevons et développons des applications web, des APIs et des infrastructures cloud robustes, adaptées aux besoins réels de votre activité.</p>
<div class="hero-actions">
<a href="#contact" class="btn">Discutons de votre projet</a>
<a href="#services" class="btn btn-outline">Nos services</a>
</div>
</div>
</section>
<section id="services" class="services">
<div class="container">
<h2>Ce que nous faisons</h2>
<p class="section-sub">Des compétences techniques solides, mises au service de projets concrets.</p>
<div class="services-grid">
<div class="card"> <div class="card">
<div class="card-icon">&#9670;</div> <div class="logo">Zola<span>Labs</span></div>
<h3>Développement web</h3> <p class="message">Notre site est en cours de refonte.<br>Nous serons de retour très bientôt.</p>
<p>Applications web performantes et interfaces utilisateur soignées. Du site vitrine à la plateforme SaaS complexe, nous construisons des produits fiables et maintenables.</p> <div class="divider"></div>
</div> <div class="contact">
<div class="card"> <a href="mailto:babbelkitio@gmail.com">
<div class="card-icon">&#9672;</div> <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/></svg>
<h3>APIs & Backend</h3> babbelkitio@gmail.com
<p>Architectures backend solides, APIs REST et GraphQL, intégrations tierces. Nous concevons des systèmes qui tiennent la charge et évoluent avec votre activité.</p> </a>
</div> <a href="https://wa.me/237691516365" target="_blank" rel="noopener">
<div class="card"> <svg class="icon" viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413z"/></svg>
<div class="card-icon">&#9674;</div> +237 691 516 365
<h3>Infrastructure & DevOps</h3> </a>
<p>Déploiement automatisé, conteneurisation, CI/CD, monitoring. Nous mettons en place des infrastructures reproductibles et sécurisées sur lesquelles vous pouvez compter.</p>
</div>
<div class="card">
<div class="card-icon">&#9678;</div>
<h3>Conseil technique</h3>
<p>Audit de code, choix d'architecture, accompagnement d'équipe. Nous vous aidons à prendre les bonnes décisions techniques pour vos projets existants ou à venir.</p>
</div> </div>
</div> </div>
</div>
</section>
<section id="about" class="about">
<div class="container about-inner">
<div class="about-text">
<h2>À propos</h2>
<p>Zola Labs est un studio de développement logiciel fondé avec une conviction simple : la technologie doit servir le projet, pas l'inverse.</p>
<p>Nous travaillons avec des startups, des PME et des équipes techniques qui ont besoin de renfort sur des projets exigeants. Notre approche est directe — nous privilégions la clarté, la qualité du code et des solutions qui fonctionnent dans la durée.</p>
<p>Pas de jargon inutile, pas de frameworks à la mode pour le plaisir. Juste du travail bien fait, livré dans les temps.</p>
</div>
<div class="about-values">
<div class="value">
<strong>Pragmatisme</strong>
<span>Les bons outils pour le bon problème, pas l'inverse.</span>
</div>
<div class="value">
<strong>Transparence</strong>
<span>Communication claire, pas de surprises en fin de projet.</span>
</div>
<div class="value">
<strong>Qualité</strong>
<span>Du code maintenable, testé, documenté quand il faut.</span>
</div>
</div>
</div>
</section>
<section id="contact" class="contact">
<div class="container contact-inner">
<h2>Un projet en tête ?</h2>
<p>Décrivez-nous votre besoin, nous reviendrons vers vous rapidement pour en discuter.</p>
<form class="contact-form" action="https://formspree.io/f/placeholder" method="POST">
<div class="form-row">
<input type="text" name="name" placeholder="Nom" required>
<input type="email" name="email" placeholder="Email" required>
</div>
<textarea name="message" rows="5" placeholder="Décrivez votre projet..." required></textarea>
<button type="submit" class="btn">Envoyer</button>
</form>
<p class="contact-alt">Ou écrivez-nous directement à <a href="mailto:contact@zola-labs.com">contact@zola-labs.com</a></p>
</div>
</section>
<footer class="footer">
<div class="container footer-inner">
<span class="logo">Zola<span>Labs</span></span>
<span>&copy; 2026 Zola Labs. Tous droits réservés.</span>
</div>
</footer>
<script src="script.js"></script>
</body> </body>
</html> </html>
-16
View File
@@ -1,16 +0,0 @@
document.addEventListener("DOMContentLoaded", function () {
var toggle = document.querySelector(".menu-toggle");
var nav = document.querySelector(".nav");
toggle.addEventListener("click", function () {
toggle.classList.toggle("open");
nav.classList.toggle("open");
});
document.querySelectorAll('.nav a').forEach(function (link) {
link.addEventListener("click", function () {
toggle.classList.remove("open");
nav.classList.remove("open");
});
});
});
-86
View File
@@ -1,86 +0,0 @@
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--bg:#fafafa;--surface:#fff;--text:#1a1a1a;--muted:#6b7280;
--accent:#111827;--accent-hover:#374151;--border:#e5e7eb;
--radius:8px;--max-w:1120px;
}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}
/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(250,250,250,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-size:1.25rem;font-weight:700;text-decoration:none;color:var(--text);letter-spacing:-.02em}
.logo span{color:var(--muted)}
.nav{display:flex;align-items:center;gap:32px}
.nav a{text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:500;transition:color .2s}
.nav a:hover{color:var(--text)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--text);transition:transform .3s,opacity .3s}
/* Buttons */
.btn{display:inline-block;padding:12px 28px;background:var(--accent);color:#fff;text-decoration:none;border-radius:var(--radius);font-size:.9rem;font-weight:500;border:2px solid var(--accent);cursor:pointer;transition:background .2s,border-color .2s}
.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-outline{background:transparent;color:var(--text);border-color:var(--border)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-sm{padding:8px 20px;font-size:.85rem}
/* Hero */
.hero{padding:160px 0 100px;text-align:center}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin-bottom:24px}
.hero-sub{font-size:1.15rem;color:var(--muted);max-width:600px;margin:0 auto 40px;line-height:1.7}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
/* Services */
.services{padding:100px 0;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.services h2,.about h2,.contact h2{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.section-sub{color:var(--muted);font-size:1.05rem;margin-bottom:48px}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px}
.card-icon{font-size:1.5rem;margin-bottom:16px;color:var(--accent)}
.card h3{font-size:1.1rem;font-weight:600;margin-bottom:10px}
.card p{color:var(--muted);font-size:.92rem;line-height:1.65}
/* About */
.about{padding:100px 0}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.about-text p{color:var(--muted);margin-bottom:16px;font-size:1.02rem}
.about-text p:first-of-type{color:var(--text);font-size:1.1rem}
.about-values{display:flex;flex-direction:column;gap:20px;padding-top:48px}
.value{padding:20px 24px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0}
.value strong{display:block;font-size:.95rem;margin-bottom:4px}
.value span{color:var(--muted);font-size:.9rem}
/* Contact */
.contact{padding:100px 0;background:var(--surface);border-top:1px solid var(--border)}
.contact-inner{max-width:640px;margin:0 auto;text-align:center}
.contact p{color:var(--muted);margin-bottom:32px;font-size:1.02rem}
.contact-form{display:flex;flex-direction:column;gap:16px;text-align:left}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form input,.contact-form textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem;font-family:inherit;background:var(--bg);transition:border-color .2s;outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}
.contact-form .btn{align-self:flex-start}
.contact-alt{font-size:.9rem;margin-top:24px}
.contact-alt a{color:var(--text);font-weight:500}
/* Footer */
.footer{padding:32px 0;border-top:1px solid var(--border)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--muted)}
/* Mobile */
@media(max-width:768px){
.nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--surface);flex-direction:column;padding:24px;gap:20px;border-bottom:1px solid var(--border);box-shadow:0 4px 12px rgba(0,0,0,.06)}
.nav.open{display:flex}
.menu-toggle{display:flex}
.menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.hero{padding:120px 0 80px}
.hero h1{font-size:2rem}
.about-inner{grid-template-columns:1fr;gap:40px}
.about-values{padding-top:0}
.form-row{grid-template-columns:1fr}
.footer-inner{flex-direction:column;gap:12px;text-align:center}
}