|
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<style>
|
|
:root{
|
|
--background:#f8fafc; --surface:#ffffff; --surface-muted:#f1f5f9;
|
|
--border:#e2e8f0; --border-strong:#cbd5e1;
|
|
--text-primary:#0f172a; --text-secondary:#334155; --text-muted:#475569;
|
|
--primary:#047857; --primary-hover:#059669; --on-primary:#fff;
|
|
--brand-50:#ecfdf5; --brand-700:#047857;
|
|
--status-spec-fg:#6d28d9; --status-spec-bg:#f3eefe;
|
|
--status-quality-fg:#0e7490; --status-quality-bg:#e0f2f5;
|
|
--success-fg:#15803d; --success-bg:#e7f6ec;
|
|
--warning-fg:#b45309; --warning-bg:#fef3e2;
|
|
--danger-fg:#b91c1c; --danger-bg:#fcebeb;
|
|
/* tier accents (reuse §MC.5) */
|
|
--t1:#475569; --t1-bg:#f1f5f9;
|
|
--t2:#0e7490; --t2-bg:#e0f2f5;
|
|
--t3:#6d28d9; --t3-bg:#f3eefe;
|
|
--t4:#047857; --t4-bg:#ecfdf5;
|
|
}
|
|
*{box-sizing:border-box;margin:0;padding:0}
|
|
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
|
|
background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;}
|
|
.topbar{height:56px;background:var(--surface);border-bottom:1px solid var(--border);
|
|
display:flex;align-items:center;padding:0 40px;gap:10px;}
|
|
.logo{font-weight:700;color:var(--brand-700);font-size:15px;letter-spacing:-.02em}
|
|
.topbar .spacer{flex:1}
|
|
.topbar .avatar{width:30px;height:30px;border-radius:9999px;background:var(--surface-muted);
|
|
border:1px solid var(--border);display:grid;place-items:center;font-size:12px;color:var(--text-muted)}
|
|
.band{height:48px;background:var(--surface);border-bottom:1px solid var(--border);
|
|
display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 40px;position:sticky;top:0}
|
|
.band .bc{font-size:13px;color:var(--text-muted)}
|
|
.band h1{font-size:17px;font-weight:600;letter-spacing:-.01em;text-align:center}
|
|
.wrap{max-width:1180px;margin:0 auto;padding:28px 32px 48px}
|
|
.hero{margin-bottom:8px}
|
|
.hero .kicker{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700)}
|
|
.hero h2{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:6px}
|
|
.hero p{font-size:14px;color:var(--text-muted);margin-top:6px}
|
|
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;align-items:start}
|
|
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;
|
|
box-shadow:0 1px 2px rgba(15,23,42,.04);display:flex;flex-direction:column;position:relative}
|
|
.card.current{border:1.5px solid var(--accent);box-shadow:0 6px 22px -8px color-mix(in srgb,var(--accent) 40%,transparent)}
|
|
.card .top{border-top:4px solid var(--accent);padding:18px 18px 14px}
|
|
.card .name{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--accent)}
|
|
.badge-cur{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;
|
|
padding:3px 8px;border-radius:9999px;background:var(--accent-bg);color:var(--accent);margin-bottom:8px}
|
|
.price{font-size:27px;font-weight:700;letter-spacing:-.02em;margin-top:8px}
|
|
.price span{font-size:13px;font-weight:500;color:var(--text-muted)}
|
|
.tagline{font-size:12.5px;color:var(--text-secondary);margin-top:8px;line-height:1.4;min-height:54px}
|
|
.metrics{padding:0 18px 4px;display:flex;flex-direction:column;gap:0}
|
|
.m{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-top:1px solid var(--border);font-size:12.5px}
|
|
.m .k{color:var(--text-muted)}
|
|
.m .v{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
|
|
.v .unl{color:var(--accent)}
|
|
.sla{padding:8px 0;border-top:1px solid var(--border);font-size:12px}
|
|
.sla .k{color:var(--text-muted);margin-bottom:4px}
|
|
.sla .row{display:flex;justify-content:space-between;padding:1px 0}
|
|
.sla .p{font-weight:600;color:var(--text-secondary)}
|
|
.pdot{display:inline-block;width:7px;height:7px;border-radius:9999px;margin-right:5px;vertical-align:middle}
|
|
.human{padding:10px 0;border-top:1px solid var(--border);font-size:12px;color:var(--text-secondary);font-style:italic}
|
|
.banner{margin:0 18px;padding:7px 10px;border-radius:8px;background:var(--surface-muted);
|
|
font-size:11.5px;color:var(--text-muted);text-align:center}
|
|
.bullets{padding:12px 18px 6px;border-top:1px solid var(--border)}
|
|
.cat{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--text-muted);margin:8px 0 3px}
|
|
.bullets ul{list-style:none}
|
|
.bullets li{font-size:11.5px;color:var(--text-secondary);line-height:1.45;padding-left:16px;position:relative;margin:2px 0}
|
|
.bullets li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
|
|
.cta{padding:14px 18px 18px;margin-top:auto}
|
|
.btn{display:block;width:100%;text-align:center;padding:9px;border-radius:8px;font-size:13px;font-weight:600;
|
|
border:1px solid var(--accent);color:var(--accent);background:var(--surface);cursor:pointer}
|
|
.btn.solid{background:var(--accent);color:#fff;border-color:var(--accent)}
|
|
.progress{display:flex;gap:3px;padding:0 18px 12px}
|
|
.seg{height:4px;flex:1;border-radius:9999px;background:var(--border)}
|
|
.seg.on{background:var(--accent)}
|
|
/* legend */
|
|
.legend{margin-top:28px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}
|
|
.legend h3{font-size:14px;font-weight:600;margin-bottom:8px}
|
|
.legend .cols{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
|
|
.legend p{font-size:12px;color:var(--text-secondary);line-height:1.5}
|
|
.legend b{color:var(--text-primary)}
|
|
.sevkey{display:flex;gap:14px;margin-top:10px;flex-wrap:wrap}
|
|
.sevkey span{font-size:11.5px;color:var(--text-muted)}
|
|
.foot{font-size:11.5px;color:var(--text-muted);margin-top:14px;text-align:center}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="topbar"><span class="logo">OmDev</span><span class="spacer"></span><span class="avatar">SW</span></div>
|
|
<div class="band"><span class="bc">← Mon compte</span><h1>Nos offres</h1><span></span></div>
|
|
<div class="wrap">
|
|
<div class="hero">
|
|
<div class="kicker">OmDev — Nos offres · prix mensuel fixe</div>
|
|
<h2>Choisissez la formule qui pilote votre logiciel</h2>
|
|
<p>Prix fixe sans TJM. 100 % du code reste au client. Sans engagement, résiliable. Chaque formule inclut tout ce que contient la formule en dessous.</p>
|
|
</div>
|
|
|
|
<div class="grid">
|
|
<!-- DEMARRAGE (current) -->
|
|
<div class="card current" style="--accent:var(--t1);--accent-bg:var(--t1-bg)">
|
|
<div class="top">
|
|
<span class="badge-cur">● Formule actuelle</span>
|
|
<div class="name">Démarrage</div>
|
|
<div class="price">2 500 €<span> /mois</span></div>
|
|
<div class="tagline">Le socle qui fait tourner votre dispositif médical logiciel, en abonnement agile.</div>
|
|
</div>
|
|
<div class="metrics">
|
|
<div class="m"><span class="k">Maintenance</span><span class="v">100 crédits</span></div>
|
|
<div class="m"><span class="k">Évolutions</span><span class="v">10 crédits</span></div>
|
|
<div class="m"><span class="k">Flux simultanés</span><span class="v">1</span></div>
|
|
<div class="m"><span class="k">1ʳᵉ livraison</span><span class="v">—</span></div>
|
|
<div class="sla"><div class="k">Incident</div>
|
|
<div class="row"><span class="p">Sans SLA contractuel</span><span style="color:var(--text-muted)">heures ouvrées</span></div>
|
|
</div>
|
|
<div class="human">1 dev senior dédié</div>
|
|
</div>
|
|
<div class="banner">Le socle de toutes les formules</div>
|
|
<div class="bullets">
|
|
<div class="cat">RUN</div><ul><li>Supervision & incidents</li><li>Observabilité & tableau de bord</li><li>Maintenance & dépendances</li><li>Infra gérée</li></ul>
|
|
<div class="cat">BUILD</div><ul><li>Évolutions (~2/mois)</li></ul>
|
|
<div class="cat">PROTECT</div><ul><li>Sécurité socle : scan dépendances+vulnérabilités, correctifs, RGPD, registre SOUP</li></ul>
|
|
</div>
|
|
<div class="progress"><span class="seg on"></span><span class="seg"></span><span class="seg"></span><span class="seg"></span></div>
|
|
<div class="cta"><button class="btn solid">Prendre rendez-vous</button></div>
|
|
</div>
|
|
|
|
<!-- MAINTENANCE -->
|
|
<div class="card" style="--accent:var(--t2);--accent-bg:var(--t2-bg)">
|
|
<div class="top">
|
|
<div class="name">Maintenance</div>
|
|
<div class="price">4 200 €<span> /mois</span></div>
|
|
<div class="tagline">Garder en vie le logiciel qui fait tourner votre activité.</div>
|
|
</div>
|
|
<div class="metrics">
|
|
<div class="m"><span class="k">Maintenance</span><span class="v"><span class="unl">illimité</span></span></div>
|
|
<div class="m"><span class="k">Évolutions</span><span class="v">20 crédits</span></div>
|
|
<div class="m"><span class="k">Flux simultanés</span><span class="v">1</span></div>
|
|
<div class="m"><span class="k">1ʳᵉ livraison</span><span class="v">48 h</span></div>
|
|
<div class="sla"><div class="k">Incident</div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--danger-fg)"></span>P1</span><span>4 h ouvrées</span></div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--warning-fg)"></span>P2</span><span>J+1</span></div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--text-muted)"></span>P3</span><span>semaine</span></div>
|
|
</div>
|
|
<div class="human">1 dev senior dédié</div>
|
|
</div>
|
|
<div class="banner">+ tout ce que contient Démarrage</div>
|
|
<div class="bullets">
|
|
<div class="cat">RUN</div><ul><li>Bug & incident (le cœur du métier)</li><li>Observabilité</li><li>Maintenance & dépendances</li></ul>
|
|
<div class="cat">BUILD</div><ul><li>Qualité & tests</li></ul>
|
|
<div class="cat">PROTECT</div><ul><li>Sécurité socle</li></ul>
|
|
</div>
|
|
<div class="progress"><span class="seg on"></span><span class="seg on"></span><span class="seg"></span><span class="seg"></span></div>
|
|
<div class="cta"><button class="btn">Prendre rendez-vous</button></div>
|
|
</div>
|
|
|
|
<!-- EVOLUTIONS -->
|
|
<div class="card" style="--accent:var(--t3);--accent-bg:var(--t3-bg)">
|
|
<div class="top">
|
|
<div class="name">Évolutions</div>
|
|
<div class="price">9 700 €<span> /mois</span></div>
|
|
<div class="tagline">Un senior qui construit et livre à vos côtés.</div>
|
|
</div>
|
|
<div class="metrics">
|
|
<div class="m"><span class="k">Maintenance</span><span class="v"><span class="unl">illimité</span></span></div>
|
|
<div class="m"><span class="k">Évolutions</span><span class="v"><span class="unl">illimité</span></span></div>
|
|
<div class="m"><span class="k">Flux simultanés</span><span class="v">2</span></div>
|
|
<div class="m"><span class="k">1ʳᵉ livraison</span><span class="v">24 h</span></div>
|
|
<div class="sla"><div class="k">Incident</div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--danger-fg)"></span>P1</span><span>2 h</span></div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--warning-fg)"></span>P2</span><span>8 h</span></div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--text-muted)"></span>P3</span><span>2 j</span></div>
|
|
</div>
|
|
<div class="human">Contact dédié + équipe senior</div>
|
|
</div>
|
|
<div class="banner">+ tout ce que contient Maintenance</div>
|
|
<div class="bullets">
|
|
<div class="cat">BUILD</div><ul><li>Produit & cadrage · UX/UI</li><li>Développement applicatif · Données</li></ul>
|
|
<div class="cat">RUN</div><ul><li>Ingénierie de release (flags, canary, blue-green, rollback)</li><li>DevOps & infra (CI/CD, IaC, conteneurs, cloud)</li></ul>
|
|
<div class="cat">PROTECT</div><ul><li>Sécurité+ (auth, traçabilité exigences→code→test, RGPD+HDS)</li></ul>
|
|
</div>
|
|
<div class="progress"><span class="seg on"></span><span class="seg on"></span><span class="seg on"></span><span class="seg"></span></div>
|
|
<div class="cta"><button class="btn">Prendre rendez-vous</button></div>
|
|
</div>
|
|
|
|
<!-- PILOTAGE -->
|
|
<div class="card" style="--accent:var(--t4);--accent-bg:var(--t4-bg)">
|
|
<div class="top">
|
|
<div class="name">Pilotage</div>
|
|
<div class="price">16 000 €<span> /mois</span></div>
|
|
<div class="tagline">Le jugement senior qui pilote toute la techno, avec un CTO joignable.</div>
|
|
</div>
|
|
<div class="metrics">
|
|
<div class="m"><span class="k">Maintenance</span><span class="v"><span class="unl">illimité</span></span></div>
|
|
<div class="m"><span class="k">Évolutions</span><span class="v"><span class="unl">illimité</span></span></div>
|
|
<div class="m"><span class="k">Flux simultanés</span><span class="v">4</span></div>
|
|
<div class="m"><span class="k">1ʳᵉ livraison</span><span class="v">12 h</span></div>
|
|
<div class="sla"><div class="k">Incident</div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--danger-fg)"></span>P1</span><span>1 h (lun-ven 9-19h)</span></div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--warning-fg)"></span>P2</span><span>4 h</span></div>
|
|
<div class="row"><span class="p"><span class="pdot" style="background:var(--text-muted)"></span>P3</span><span>1 j</span></div>
|
|
</div>
|
|
<div class="human">CTO nommé + équipe senior</div>
|
|
</div>
|
|
<div class="banner">+ tout ce que contient Évolutions</div>
|
|
<div class="bullets">
|
|
<div class="cat">PROTECT</div><ul><li>Sécurité++ (SAST/DAST, IEC 62304, ISO 14971)</li><li>Performance & scalabilité · Coût/FinOps</li></ul>
|
|
<div class="cat">ADVISE</div><ul><li>Architecture & roadmap (niveau CTO)</li></ul>
|
|
</div>
|
|
<div class="progress"><span class="seg on"></span><span class="seg on"></span><span class="seg on"></span><span class="seg on"></span></div>
|
|
<div class="cta"><button class="btn">Prendre rendez-vous</button>
|
|
<div style="font-size:10.5px;color:var(--text-muted);margin-top:7px;text-align:center">Option déploiement souverain (HDS) dès 3 000 € une fois</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="legend">
|
|
<h3>Comment lire les SLA</h3>
|
|
<div class="cols">
|
|
<p><b>Réponse</b> = quelqu'un travaille dessus pour de vrai (pas un accusé de réception).</p>
|
|
<p><b>Correctif livré</b> = PR ouverte, relue et validée par un senior, prête à fusionner.</p>
|
|
<p><b>Première livraison</b> = premier livrable utilisable (hors incident).</p>
|
|
<p><b>Flux</b> = chantier en cours (fonctionnalité / epic / incident) ; le nombre = combien en parallèle.</p>
|
|
</div>
|
|
<div class="sevkey">
|
|
<span><span class="pdot" style="background:var(--danger-fg)"></span><b>P1</b> prod à l'arrêt / perte de données / faille</span>
|
|
<span><span class="pdot" style="background:var(--warning-fg)"></span><b>P2</b> dégradation majeure</span>
|
|
<span><span class="pdot" style="background:var(--text-muted)"></span><b>P3</b> mineur / cosmétique</span>
|
|
</div>
|
|
<p style="margin-top:8px;color:var(--text-muted)">Couverture lun-ven heures ouvrées sauf on-call précisé. Délais de réponse fermes ; délais de correctif au mieux avec effort senior continu. Points non cumulables d'un mois sur l'autre.</p>
|
|
</div>
|
|
<div class="foot">Prix fixe sans TJM · 100 % du code reste au client · Sans engagement, résiliable</div>
|
|
</div>
|
|
</body>
|
|
</html>
|