Set-OPS-Public/promo/tarifs.html
Daniel Allaire 131a30075d Aurore : opacites reduites ; etat de forge-01 elucide
Palette (promo/, les 4 pages) — les teintes rose, verte et violette etaient
trop presentes une fois etalees au tour precedent. Reduction d'environ 40 % :
rose .075 -> .044, vert .058 -> .034, violet .062 -> .036, arrets
intermediaires abaisses dans la meme proportion, opacite de la nappe .aurora
.44 -> .32. Geometrie inchangee : meme largeur, meme position, seule
l'intensite baisse. 0 conflit CSS entre les quatre pages.

forge-01 — la note precedente presentait comme une contradiction a trancher
le fait que le plan dise `etat: planifie` et que le CHANGELOG du 2026-07-03
dise le branding « prouve sur forge-01 ». Ce n'en etait pas une : l'hote a ete
cree, puis supprime. Le plan decrit l'etat COURANT, le CHANGELOG un etat PASSE
— les deux disent vrai. La preuve reste valable, simplement non rejouable tant
que l'hote n'est pas recree. roles/serveur_forgejo/README.md corrige.

Valide : equilibre accolades/parentheses du CSS, 0 conflit CSS,
prouver.py --verifier -> CONFORME 16/16.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 11:57:50 -04:00

679 lines
34 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Set-OPS — Les tarifs · Chezlepro</title>
<meta name="description" content="Grille tarifaire indicative de Chezlepro inc. : diagnostic de souveraineté, socle opérateur, tenant portable clé en main, audit-ready ops, observabilité, exploitation gérée. Dollars canadiens, avant taxes, sans facturation par siège.">
<meta name="color-scheme" content="dark">
</head>
<body>
<style>
:root{
--night:#05060f; --night-2:#0a0d24; --night-3:#0e1640;
--ink:#e9ecff; --dim:#99a1c9; --dim-2:#727aa6;
--line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.06);
--panel:rgba(255,255,255,.045); --panel-2:rgba(255,255,255,.03);
--teal:#4fe3c1; --cyan:#56c2ff; --violet:#a98bff; --amber:#ffc46b;
--rose:#ff6fc4; --vert:#5cff9d; /* frange magenta + vert fluo de l'aurore */
--aurora:linear-gradient(100deg,var(--teal) 0%,var(--cyan) 46%,var(--violet) 100%);
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Noto Sans","Helvetica Neue",Arial,sans-serif;
--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace;
--wrap:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0; font-family:var(--sans); color:var(--ink); line-height:1.6;
background:
radial-gradient(1200px 760px at 82% -8%,#141c4c 0%,transparent 58%),
radial-gradient(900px 620px at 8% -2%,#0e1640 0%,transparent 55%),
radial-gradient(1500px 1020px at 76% 28%,rgba(255,111,196,.044) 0%,rgba(255,111,196,.021) 44%,transparent 82%),
radial-gradient(1620px 1120px at 20% 64%,rgba(92,255,157,.034) 0%,rgba(92,255,157,.016) 46%,transparent 84%),
radial-gradient(1400px 960px at 52% 106%,rgba(169,139,255,.036) 0%,rgba(169,139,255,.017) 44%,transparent 80%),
linear-gradient(180deg,var(--night-2) 0%,var(--night) 62%) fixed;
-webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
overflow-x:hidden;
}
#sky{position:fixed;inset:0;z-index:-2;pointer-events:none}
#sky canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.aurora{
position:fixed;left:-10%;right:-10%;top:-22%;height:74vh;z-index:-1;pointer-events:none;
filter:blur(86px) saturate(140%);opacity:.32;
background:
radial-gradient(60% 80% at 22% 50%,var(--vert) 0%,transparent 78%),
radial-gradient(40% 60% at 20% 30%,var(--teal) 0%,transparent 70%),
radial-gradient(45% 70% at 55% 20%,var(--cyan) 0%,transparent 70%),
radial-gradient(40% 65% at 82% 35%,var(--violet) 0%,transparent 70%),
radial-gradient(58% 78% at 79% 57%,var(--rose) 0%,transparent 78%);
animation:drift 24s ease-in-out infinite alternate;
}
@keyframes drift{from{transform:translate(-3%,0) scale(1)}to{transform:translate(3%,2%) scale(1.08)}}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
header.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(12px);
background:linear-gradient(180deg,rgba(5,6,15,.72),rgba(5,6,15,.28));
border-bottom:1px solid var(--line-2)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:64px}
.brand{display:flex;align-items:center;gap:11px;font-weight:650;letter-spacing:.2px;text-decoration:none;color:var(--ink)}
.brand svg{width:30px;height:30px;flex:none}
.brand b{font-weight:750}
.nav nav{margin-left:auto;display:flex;gap:24px;align-items:center}
.nav nav a{color:var(--dim);text-decoration:none;font-size:.94rem;font-weight:500}
.nav nav a:hover{color:var(--ink)}
.nav nav a[aria-current="page"]{color:var(--ink);font-weight:640}
.nav nav a[aria-current="page"]::after{content:"";display:block;height:2px;border-radius:2px;background:var(--aurora);margin-top:3px}
.nav .cta-mini{padding:8px 16px;border-radius:999px;background:var(--aurora);color:#04121a;font-weight:700;font-size:.9rem}
.nav .cta-mini:hover{color:#04121a;filter:brightness(1.08)}
@media(max-width:960px){.nav nav a:not(.cta-mini){display:none}}
.eyebrow{font-family:var(--mono);font-size:.76rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);font-weight:600}
h1,h2,h3{text-wrap:balance;line-height:1.08;margin:0}
.grad{background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent}
p{margin:0}
.lede{color:var(--dim);font-size:1.12rem;max-width:60ch}
.hero{position:relative;padding:82px 0 60px}
.hero .eyebrow{display:block;margin-bottom:22px}
.hero h1{font-size:clamp(2.3rem,6vw,4.6rem);font-weight:800;letter-spacing:-.02em;max-width:17ch}
.hero .lede{margin-top:26px;font-size:clamp(1.05rem,1.9vw,1.26rem);max-width:64ch}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem;border:1px solid transparent;transition:transform .15s ease,filter .15s ease,border-color .15s ease}
.btn-primary{background:var(--aurora);color:#04121a}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn-ghost{color:var(--ink);border-color:var(--line);background:var(--panel)}
.btn-ghost:hover{border-color:var(--cyan);transform:translateY(-2px)}
section{padding:72px 0;position:relative}
.sec-head{max-width:68ch;margin-bottom:42px}
.sec-head h2{font-size:clamp(1.75rem,3.4vw,2.6rem);font-weight:750;letter-spacing:-.015em;margin-top:14px}
.sec-head p{margin-top:16px;color:var(--dim);font-size:1.07rem}
.rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,rgba(92,255,157,.28),rgba(86,194,255,.22) 34%,rgba(255,111,196,.24) 68%,transparent)}
/* ---- 3 postes ---- */
.beats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.beat{background:var(--panel-2);border:1px solid var(--line-2);border-radius:15px;padding:22px}
.beat .n{font-family:var(--mono);font-size:.8rem;color:var(--cyan);letter-spacing:.1em}
.beat h3{font-size:1.06rem;font-weight:680;margin:12px 0 8px}
.beat p{color:var(--dim);font-size:.94rem}
/* ---- offres tarifées ---- */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:900px){.grid{grid-template-columns:1fr}}
.offre{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.offre:hover{transform:translateY(-3px);border-color:rgba(86,194,255,.42);box-shadow:0 18px 50px -24px rgba(86,194,255,.45)}
.offre::before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--aurora);opacity:.75}
.offre.phare{border-color:rgba(79,227,193,.42);background:linear-gradient(150deg,rgba(79,227,193,.07),rgba(169,139,255,.05)),var(--panel)}
.offre.phare::before{opacity:1;height:3px}
.offre h3{font-size:1.26rem;font-weight:740}
.offre .say{color:var(--cyan);font-size:.9rem;font-weight:600;margin-top:6px;font-style:italic}
.offre .sub{color:var(--dim);font-size:.95rem;margin-top:13px}
.price{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:20px 0 4px;padding-top:18px;border-top:1px solid var(--line-2)}
.price .from{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim-2)}
.price .amt{font-size:1.95rem;font-weight:800;letter-spacing:-.02em;background:var(--aurora);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.price .unit{color:var(--dim);font-size:.92rem}
.price .dur{width:100%;color:var(--dim-2);font-size:.85rem;margin-top:2px}
ul.does{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:9px}
ul.does li{position:relative;padding-left:22px;color:var(--dim);font-size:.94rem}
ul.does li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--aurora);transform:rotate(45deg)}
ul.does b{color:var(--ink);font-weight:640}
.offre .foot{margin-top:auto;padding-top:18px;color:var(--dim-2);font-size:.86rem;border-top:1px solid var(--line-2)}
.offre .foot b{color:var(--dim)}
/* ---- paliers exploitation ---- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--panel-2);border:1px solid var(--line-2);border-radius:16px;padding:24px;display:flex;flex-direction:column}
.tier.mid{border-color:rgba(86,194,255,.35);background:linear-gradient(160deg,rgba(86,194,255,.07),transparent),var(--panel-2)}
.tier .rank{font-family:var(--mono);font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;color:var(--dim-2)}
.tier .amt{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:10px 0 2px;color:var(--teal);font-variant-numeric:tabular-nums}
.tier .per{color:var(--dim-2);font-size:.86rem;margin-bottom:14px}
.tier ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.tier li{position:relative;padding-left:20px;color:var(--dim);font-size:.9rem}
.tier li::before{content:"";position:absolute;left:2px;top:.6em;width:6px;height:6px;border-radius:2px;background:var(--aurora);transform:rotate(45deg)}
/* ---- tableaux ---- */
.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel-2)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.94rem}
thead th{text-align:left;padding:15px 18px;font-family:var(--mono);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--dim-2);border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}
tbody td{padding:14px 18px;border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--dim)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:rgba(255,255,255,.022)}
tbody td:first-child{color:var(--ink);font-weight:640;white-space:nowrap}
td.num{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
td.free{font-family:var(--mono);color:var(--teal);font-weight:700;white-space:nowrap}
.note{font-size:.87rem;color:var(--dim-2);margin-top:18px;max-width:76ch}
.note b{color:var(--dim)}
.note a{color:var(--cyan)}
.honest{background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:14px;padding:24px 26px}
.honest h3{font-size:1.04rem;font-weight:700;margin-bottom:12px;color:var(--amber)}
.honest ul{margin:0;padding-left:20px;display:grid;gap:10px}
.honest li{color:var(--dim);font-size:.95rem}
.honest b{color:var(--ink);font-weight:640}
.close{text-align:center;padding:88px 0 96px}
.close h2{font-size:clamp(1.9rem,4.6vw,3.1rem);font-weight:800;letter-spacing:-.02em;max-width:20ch;margin-inline:auto}
.close p{margin:20px auto 0;color:var(--dim);max-width:56ch;font-size:1.06rem}
.close .cta-row{justify-content:center}
footer{border-top:1px solid var(--line-2);padding:40px 0;color:var(--dim-2);font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
footer a{color:var(--dim);text-decoration:none}
footer a:hover{color:var(--cyan)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
.reveal{opacity:1;transform:none;transition:none}
.aurora{animation:none}
html{scroll-behavior:auto}
}
</style>
<div id="sky" aria-hidden="true"><canvas></canvas></div>
<div class="aurora" aria-hidden="true"></div>
<header class="nav">
<div class="wrap">
<a class="brand" href="#top" aria-label="Set-OPS — Chezlepro">
<svg viewBox="0 0 32 32" role="img" aria-hidden="true"><defs>
<radialGradient id="sky1" cx="50%" cy="36%" r="75%"><stop offset="0%" stop-color="#10184a"/><stop offset="100%" stop-color="#05060f"/></radialGradient>
<linearGradient id="au1" x1="0" y1="1" x2="1" y2="0"><stop offset="0%" stop-color="#2ec18f"/><stop offset="45%" stop-color="#56c2ff"/><stop offset="100%" stop-color="#a98bff"/></linearGradient>
<radialGradient id="gl1" cx="50%" cy="50%" r="50%"><stop offset="0%" stop-color="#bfe9ff"/><stop offset="100%" stop-color="#bfe9ff" stop-opacity="0"/></radialGradient>
<radialGradient id="st1" cx="50%" cy="45%" r="60%"><stop offset="0%" stop-color="#fff"/><stop offset="100%" stop-color="#d6ecff"/></radialGradient>
</defs>
<circle cx="16" cy="16" r="16" fill="url(#sky1)"/>
<path d="M3 21 C 9 16, 13 23, 18 18 C 22 14, 26 17, 30 13" fill="none" stroke="url(#au1)" stroke-width="2.6" stroke-linecap="round" opacity=".85"/>
<circle cx="7" cy="9" r=".9" fill="#cfe6ff"/><circle cx="24" cy="8" r="1.1" fill="#fff"/><circle cx="26" cy="22" r=".8" fill="#bfe9ff"/><circle cx="9" cy="25" r=".7" fill="#cfe6ff"/>
<circle cx="16" cy="15" r="9" fill="url(#gl1)" opacity=".55"/>
<path d="M16 5 C 16.9 12.4, 17.6 13.1, 25 14 C 17.6 14.9, 16.9 15.6, 16 23 C 15.1 15.6, 14.4 14.9, 7 14 C 14.4 13.1, 15.1 12.4, 16 5 Z" fill="url(#st1)"/>
</svg>
<span>Set&#8209;OPS <b>·</b> <span style="color:var(--dim);font-weight:500">Chezlepro</span></span>
</a>
<nav>
<a href="index.html">Capacités</a>
<a href="offres.html">Offres</a>
<a href="tarifs.html" aria-current="page">Tarifs</a>
<a href="valeur.html">Valeur</a>
<a class="cta-mini" href="https://chezlepro.ca/contact">Nous parler</a>
</nav>
</div>
</header>
<main id="top">
<!-- =================== HERO =================== -->
<div class="hero">
<div class="wrap">
<span class="eyebrow">Chezlepro inc. · Saint-Bruno-de-Montarville</span>
<h1>Des prix <span class="grad">affichés</span>, parce que vous méritez de savoir.</h1>
<p class="lede">
Infrastructure numérique souveraine au Québec. Voici ce que coûtent nos offres, avant
même que vous nous appeliez. Rien n'est facturé par utilisateur, aucune licence n'est
à payer, et vous repartez avec tout si vous décidez de partir.
</p>
<div class="cta-row">
<a class="btn btn-primary" href="#forfaits">Voir la grille &rarr;</a>
<a class="btn btn-ghost" href="valeur.html#calcul">Simuler mon cas</a>
</div>
</div>
</div>
<hr class="rule">
<!-- =================== TROIS POSTES =================== -->
<section id="postes">
<div class="wrap">
<div class="sec-head reveal">
<span class="eyebrow">La structure</span>
<h2>Trois postes, et aucun siège à payer.</h2>
<p>
C'est la différence de fond avec un abonnement infonuagique : ajouter trente
personnes à votre organisation ne change pas votre facture.
</p>
</div>
<div class="beats reveal">
<div class="beat">
<p class="n">01</p>
<h3>Les forfaits</h3>
<p>Des mandats à portée définie, facturés une fois. Diagnostic, socle, tenant, mise en conformité, observabilité.</p>
</div>
<div class="beat">
<p class="n">02</p>
<h3>L'exploitation</h3>
<p>Mensuel, optionnel, résiliable. Vous pouvez aussi exploiter vous&#8209;même : tout est documenté pour ça.</p>
</div>
<div class="beat">
<p class="n">03</p>
<h3>Le matériel</h3>
<p>Serveurs et réseau, à votre nom. Vous l'achetez vous&#8209;même ou nous l'approvisionnons pour vous.</p>
</div>
</div>
</div>
</section>
<hr class="rule">
<!-- =================== FORFAITS =================== -->
<section id="forfaits">
<div class="wrap">
<div class="sec-head reveal">
<span class="eyebrow">Les forfaits</span>
<h2>Cinq mandats, du premier coup d'œil à l'écosystème entier.</h2>
<p>
Les montants indiqués sont des <b>prix de départ</b> pour une organisation de taille
courante. Le prix ferme est établi après le diagnostic, quand la portée réelle est
connue — c'est précisément à ça qu'il sert.
</p>
</div>
<div class="grid reveal">
<!-- 1 DIAGNOSTIC -->
<article class="offre phare">
<h3>Diagnostic &amp; Trajectoire de Souveraineté</h3>
<p class="say">« Faire le point avant de construire. »</p>
<p class="sub">
On clarifie votre situation réelle : architecture, accès, identité, sauvegardes,
observabilité, dépendances critiques. Vous en ressortez avec une feuille de route
priorisée — utilisable même si vous ne travaillez jamais avec nous ensuite.
</p>
<div class="price">
<span class="from">à partir de</span>
<span class="amt">4 500 $</span>
<span class="unit">forfait</span>
<span class="dur">2 à 4 semaines · déductible du mandat suivant</span>
</div>
<ul class="does">
<li><b>Note de diagnostic</b> et cartographie simplifiée</li>
<li><b>Priorités d'action</b> classées par risque</li>
<li><b>Feuille de route</b> vers l'autonomie</li>
<li><b>Recommandations</b> d'architecture cible</li>
</ul>
<p class="foot"><b>La bonne première étape.</b> Son montant est déduit du mandat qui suit, s'il y en a un.</p>
</article>
<!-- 2 SOCLE -->
<article class="offre">
<h3>Socle Opérateur Souverain</h3>
<p class="say">« Bâtir des fondations qui tiennent dans le temps. »</p>
<p class="sub">
Capacité, stockage, segmentation réseau, accès opérateur, identité, observabilité,
chaîne de livraison. Des fondations compréhensibles, maintenues, auditées et
transmissibles — pas un montage que personne n'ose toucher.
</p>
<div class="price">
<span class="from">à partir de</span>
<span class="amt">18 000 $</span>
<span class="unit">forfait</span>
<span class="dur">6 à 10 semaines selon l'existant</span>
</div>
<ul class="does">
<li><b>Architecture cible</b> du socle, documentée</li>
<li><b>Fondations déployées</b> ou remises en ordre</li>
<li><b>Base SSO</b> et rôles d'accès</li>
<li><b>Observabilité initiale</b> et conventions d'exploitation</li>
<li><b>Documentation de départ</b> complète</li>
</ul>
<p class="foot"><b>Inclut</b> la formation initiale de votre personnel technique.</p>
</article>
<!-- 3 TENANT -->
<article class="offre">
<h3>Tenant Portable Clé en Main</h3>
<p class="say">« Déployer sans vous enfermer. »</p>
<p class="sub">
Un environnement complet, décrit de façon structurée, déployé de manière
reproductible et rejouable ailleurs. La portabilité n'est pas une promesse
commerciale : c'est une propriété du livrable.
</p>
<div class="price">
<span class="from">à partir de</span>
<span class="amt">12 000 $</span>
<span class="unit">par environnement</span>
<span class="dur">4 à 8 semaines · <b style="color:var(--teal)">dès 7 500 $</b> pour les suivants</span>
</div>
<ul class="does">
<li><b>Description structurée</b> et manifeste de déploiement</li>
<li><b>Conventions</b> de secrets et d'inventaire</li>
<li><b>Plan de sauvegarde</b> et de restauration</li>
<li><b>Documentation de migration</b></li>
<li><b>Journaux et tableaux de bord</b> de départ</li>
</ul>
<p class="foot"><b>Dégressif&nbsp;:</b> notre outillage rend le deuxième environnement bien moins coûteux que le premier. Vous en profitez, pas nous.</p>
</article>
<!-- 4 AUDIT-READY -->
<article class="offre">
<h3>Audit-Ready Ops</h3>
<p class="say">« Rendre l'exploitation prouvable. »</p>
<p class="sub">
On structure les accès, les rôles, les journaux de changement et les procédures,
pour transformer une exploitation implicite en exploitation lisible. Ce qui se
démontre devant un vérificateur, un bailleur ou un conseil d'administration.
</p>
<div class="price">
<span class="from">à partir de</span>
<span class="amt">9 000 $</span>
<span class="unit">forfait</span>
<span class="dur">3 à 6 semaines</span>
</div>
<ul class="does">
<li><b>Matrice des accès</b> et des rôles</li>
<li><b>Structure de preuves</b> rejouables</li>
<li><b>Journal de changement</b> et checklist d'exploitation</li>
<li><b>Runbooks prioritaires</b></li>
<li><b>Cadre de revue</b> périodique</li>
</ul>
<p class="foot"><b>Notre spécialité.</b> Nos propres outils vérifient nos propres affirmations — nous vous donnons la même chose.</p>
</article>
<!-- 5 OBSERVABILITÉ -->
<article class="offre">
<h3>Observabilité &amp; Journalisation</h3>
<p class="say">« Voir clairement ce qui se passe. »</p>
<p class="sub">
Une base d'observabilité simple, robuste et proportionnée : un point d'entrée
unifié, des responsabilités séparées, et de quoi répondre à « depuis quand ? »
autrement qu'en devinant.
</p>
<div class="price">
<span class="from">à partir de</span>
<span class="amt">7 500 $</span>
<span class="unit">forfait</span>
<span class="dur">3 à 5 semaines</span>
</div>
<ul class="does">
<li><b>Base d'observabilité</b> déployée</li>
<li><b>Collecte et consultation</b> des journaux</li>
<li><b>Tableaux de bord</b> initiaux</li>
<li><b>Conventions</b> d'étiquettes et d'accès</li>
<li><b>Politique de rétention</b> et guide d'usage</li>
</ul>
<p class="foot"><b>Souvent combiné</b> au socle, où il revient moins cher qu'en mandat séparé.</p>
</article>
<!-- COMBINÉ -->
<article class="offre phare">
<h3>Parcours Démarrage Souverain</h3>
<p class="say">« Tout le chemin, d'un seul tenant. »</p>
<p class="sub">
Le parcours complet pour une organisation qui internalise son numérique :
diagnostic, socle opérateur, premier environnement portable et observabilité,
menés comme un seul mandat plutôt que quatre.
</p>
<div class="price">
<span class="from">à partir de</span>
<span class="amt">38 000 $</span>
<span class="unit">forfait</span>
<span class="dur">4 à 7 mois · au lieu de <b style="color:var(--teal)">42 000 $</b> en mandats séparés, et trois mois d'exploitation inclus</span>
</div>
<ul class="does">
<li>Les quatre mandats ci&#8209;dessus, <b>enchaînés sans reprise</b></li>
<li><b>Un seul interlocuteur</b> du diagnostic à la mise en service</li>
<li><b>Trois mois d'exploitation gérée</b> inclus, pour la période critique</li>
<li><b>Transfert de connaissance</b> planifié dès le départ</li>
</ul>
<p class="foot"><b>Paiement par jalons</b> — vous ne payez chaque étape qu'une fois la précédente livrée et acceptée.</p>
</article>
</div>
</div>
</section>
<hr class="rule">
<!-- =================== EXPLOITATION =================== -->
<section id="exploitation">
<div class="wrap">
<div class="sec-head reveal">
<span class="eyebrow">L'exploitation gérée</span>
<h2>Exploitation Gérée &amp; Transfert</h2>
<p>
« Maintenir, améliorer et transmettre. » Mensuel, résiliable en tout temps, et conçu
pour <b>réduire votre dépendance</b> plutôt que l'entretenir. Chaque palier inclut
l'accompagnement de votre montée en autonomie.
</p>
</div>
<div class="tiers reveal">
<div class="tier">
<p class="rank">Palier 1</p>
<p class="amt">750 $</p>
<p class="per">par mois · jusqu'à 8 machines</p>
<ul>
<li>Revue mensuelle et compte rendu d'exploitation</li>
<li>Mises à jour de sécurité appliquées</li>
<li>Sauvegardes vérifiées chaque mois</li>
<li>Intervention en heures ouvrables</li>
<li>Mise à jour documentaire</li>
</ul>
</div>
<div class="tier mid">
<p class="rank">Palier 2 · le plus courant</p>
<p class="amt">1 500 $</p>
<p class="per">par mois · jusqu'à 16 machines</p>
<ul>
<li>Tout le palier 1</li>
<li>Supervision continue avec alertes</li>
<li><b>Restauration réellement testée</b>, deux fois l'an</li>
<li>Priorités d'amélioration trimestrielles</li>
<li>Accompagnement de montée en autonomie</li>
</ul>
</div>
<div class="tier">
<p class="rank">Palier 3</p>
<p class="amt">2 800 $</p>
<p class="per">par mois · multi&#8209;environnements</p>
<ul>
<li>Tout le palier 2</li>
<li>Plusieurs environnements ou entités</li>
<li>Disponibilité étendue sur incident</li>
<li>Revue d'architecture semestrielle</li>
<li><b>Rapport de preuves annuel</b>, daté et archivable</li>
</ul>
</div>
</div>
<p class="note">
<b>Un service qu'on peut quitter.</b> Si votre équipe reprend l'exploitation, vous
descendez de palier ou vous arrêtez — sans pénalité et sans perdre l'accès à quoi que
ce soit. Notre modèle d'affaires ne repose pas sur votre dépendance, et c'est un choix
délibéré.
</p>
</div>
</section>
<hr class="rule">
<!-- =================== MATÉRIEL =================== -->
<section id="materiel">
<div class="wrap">
<div class="sec-head reveal">
<span class="eyebrow">Le matériel</span>
<h2>Ce que coûte le fer.</h2>
<p>
Ordres de grandeur pour du matériel professionnel neuf, amorti sur cinq ans. Il vous
appartient dès le premier jour. Du matériel reconditionné réduit ces montants de
moitié dans bien des cas.
</p>
</div>
<div class="tbl-scroll reveal">
<table>
<thead>
<tr><th>Portée</th><th>Configuration</th><th>Matériel</th><th>Par mois, amorti</th></tr>
</thead>
<tbody>
<tr><td>Socle</td><td>1 serveur, 4 machines virtuelles</td><td class="num">5 000 8 000 $</td><td class="num">85 135 $</td></tr>
<tr><td>Organisation</td><td>2 serveurs, 8 machines virtuelles</td><td class="num">10 000 16 000 $</td><td class="num">165 265 $</td></tr>
<tr><td>Écosystème complet</td><td>3 serveurs redondants, 12+ machines</td><td class="num">18 000 30 000 $</td><td class="num">300 500 $</td></tr>
<tr><td>Approvisionnement</td><td>Si nous l'achetons pour vous</td><td class="num">au coût + 12 %</td><td class="num"></td></tr>
</tbody>
</table>
</div>
<p class="note">
<b>Pas de local adapté ?</b> Vos machines peuvent être hébergées au Québec, chez nous ou
chez un partenaire, à partir de <b>250 $ par mois</b>. Elles restent votre propriété et
vous pouvez les reprendre.
</p>
</div>
</section>
<hr class="rule">
<!-- =================== SANS SUPPLÉMENT =================== -->
<section id="inclus">
<div class="wrap">
<div class="sec-head reveal">
<span class="eyebrow">Sans supplément</span>
<h2>Ce que d'autres facturent, et que nous ne facturons pas.</h2>
</div>
<div class="tbl-scroll reveal">
<table>
<thead>
<tr><th>Poste</th><th>Ailleurs</th><th>Chez nous</th></tr>
</thead>
<tbody>
<tr><td>Licences logicielles</td><td>Par utilisateur, chaque mois, à perpétuité</td><td class="free">0 $ — tout est libre</td></tr>
<tr><td>Utilisateurs supplémentaires</td><td>Facturés au siège</td><td class="free">0 $ — illimités</td></tr>
<tr><td>Espace de stockage</td><td>Par tranche, en supplément</td><td class="free">0 $ — limité par vos disques</td></tr>
<tr><td>Sortie de vos données</td><td>Frais d'extraction, formats fermés</td><td class="free">0 $ — formats ouverts</td></tr>
<tr><td>Documentation</td><td>Optionnelle, souvent absente</td><td class="free">Incluse, en français</td></tr>
<tr><td>Le moteur d'automatisation</td><td>Propriétaire, sous licence</td><td class="free">Libre et public</td></tr>
</tbody>
</table>
</div>
<p class="note">
<b>Le moteur que nous utilisons est libre et public.</b> Vous pouvez le télécharger,
le lire, l'installer sans nous. Ce que vous nous achetez, c'est le travail, le jugement
et la responsabilité — pas l'accès au logiciel.
<a href="index.html">Voir le moteur</a>.
</p>
</div>
</section>
<hr class="rule">
<!-- =================== RÉSERVES =================== -->
<section id="reserves">
<div class="wrap">
<div class="sec-head reveal">
<span class="eyebrow">Honnêteté</span>
<h2>Les conditions, en clair.</h2>
</div>
<div class="honest reveal">
<h3>À lire avant de nous appeler</h3>
<ul>
<li>
<b>Montants en dollars canadiens, avant taxes.</b> Ce sont des prix de départ pour
une portée courante ; le prix ferme est établi après le diagnostic et fait l'objet
d'une proposition écrite.
</li>
<li>
<b>L'autohébergement n'est pas rentable pour tout le monde.</b> Sous une quarantaine
de personnes, l'économie sur les abonnements ne compense pas toujours. À cette
échelle, la bonne raison devient la souveraineté — et nous vous le dirons plutôt que
de vous vendre un socle.
<a href="valeur.html#calcul" style="color:var(--cyan)">Faites le calcul vous-même</a>.
</li>
<li>
<b>Le module de collaboration est en construction.</b> Bureautique en ligne et
partage de fichiers façon Nextcloud : c'est notre chantier prioritaire, pas encore
un livrable. Nous pouvons le planifier avec vous, pas vous le facturer aujourd'hui.
</li>
<li>
<b>Nous sommes une très petite équipe.</b> Vous aurez un interlocuteur qui connaît
réellement votre installation. En contrepartie, nous ne pouvons pas servir tout le
monde en même temps — et nous préférons le dire que vous faire attendre.
</li>
</ul>
</div>
</div>
</section>
<!-- =================== CLOSE =================== -->
<div class="close" id="contact">
<div class="wrap reveal">
<h2>Reprenez le contrôle de votre <span class="grad">infra numérique</span>.</h2>
<p>
Besoin de clarifier votre situation actuelle ? Nous pouvons commencer par un
diagnostic — et son montant est déduit de la suite, s'il y a une suite.
</p>
<div class="cta-row">
<a class="btn btn-primary" href="https://chezlepro.ca/contact">Demander un diagnostic &rarr;</a>
<a class="btn btn-ghost" href="valeur.html#calcul">Simuler mon cas</a>
</div>
</div>
</div>
</main>
<footer>
<div class="wrap">
<div style="display:flex;align-items:center;gap:10px">
<svg viewBox="0 0 32 32" width="26" height="26" aria-hidden="true">
<circle cx="16" cy="16" r="16" fill="#0a0d24"/>
<path d="M3 21 C 9 16, 13 23, 18 18 C 22 14, 26 17, 30 13" fill="none" stroke="#56c2ff" stroke-width="2.4" stroke-linecap="round" opacity=".8"/>
<path d="M16 6 C 16.8 12.6, 17.4 13.2, 24 14 C 17.4 14.8, 16.8 15.4, 16 22 C 15.2 15.4, 14.6 14.8, 8 14 C 14.6 13.2, 15.2 12.6, 16 6 Z" fill="#e9ecff"/></svg>
<span>Chezlepro inc. · Saint-Bruno-de-Montarville, Québec</span>
</div>
<div><a href="index.html">Capacités</a> · <a href="offres.html">Offres</a> · <a href="tarifs.html">Tarifs</a> · <a href="valeur.html">Valeur</a></div>
<div>Set&#8209;OPS — moteur libre, licence AGPLv3 · <a href="https://chezlepro.ca">chezlepro.ca</a></div>
</div>
</footer>
<script>
(function(){
var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
var sky = document.querySelector('#sky canvas');
if(sky){
var ctx = sky.getContext('2d'), W, H, DPR, stars=[], raf;
function size(){
DPR = Math.min(window.devicePixelRatio||1, 2);
W = sky.clientWidth; H = sky.clientHeight;
sky.width = W*DPR; sky.height = H*DPR; ctx.setTransform(DPR,0,0,DPR,0,0);
var count = Math.min(120, Math.round(W*H/14000));
stars = [];
for(var i=0;i<count;i++){
stars.push({x:Math.random()*W, y:Math.random()*H,
r:Math.random()*1.3+0.3, vx:(Math.random()-.5)*0.12, vy:(Math.random()-.5)*0.12,
tw:Math.random()*Math.PI*2, ts:Math.random()*0.02+0.006});
}
}
function frame(){
ctx.clearRect(0,0,W,H);
for(var i=0;i<stars.length;i++){
var s=stars[i];
if(!reduce){ s.x+=s.vx; s.y+=s.vy; s.tw+=s.ts;
if(s.x<0)s.x+=W; if(s.x>W)s.x-=W; if(s.y<0)s.y+=H; if(s.y>H)s.y-=H; }
var a = 0.5 + Math.sin(s.tw)*0.4;
ctx.beginPath(); ctx.arc(s.x,s.y,s.r,0,6.2832);
ctx.fillStyle='rgba(207,230,255,'+a.toFixed(3)+')'; ctx.fill();
}
for(var i=0;i<stars.length;i++){
for(var j=i+1;j<stars.length;j++){
var dx=stars[i].x-stars[j].x, dy=stars[i].y-stars[j].y, d=dx*dx+dy*dy;
if(d<10000){
var o=(1-d/10000)*0.22;
ctx.strokeStyle='rgba(86,194,255,'+o.toFixed(3)+')'; ctx.lineWidth=0.6;
ctx.beginPath(); ctx.moveTo(stars[i].x,stars[i].y); ctx.lineTo(stars[j].x,stars[j].y); ctx.stroke();
}
}
}
if(!reduce) raf=requestAnimationFrame(frame);
}
size(); frame();
var to; window.addEventListener('resize',function(){ clearTimeout(to); to=setTimeout(function(){ cancelAnimationFrame(raf); size(); frame(); },180); });
document.addEventListener('visibilitychange',function(){
if(document.hidden){ cancelAnimationFrame(raf); } else if(!reduce){ raf=requestAnimationFrame(frame); }
});
}
var els = document.querySelectorAll('.reveal');
if(reduce || !('IntersectionObserver' in window)){
els.forEach(function(e){ e.classList.add('in'); });
} else {
var io = new IntersectionObserver(function(entries){
entries.forEach(function(en){ if(en.isIntersecting){ en.target.classList.add('in'); io.unobserve(en.target); } });
}, {rootMargin:'0px 0px -8% 0px', threshold:0.08});
els.forEach(function(e){ io.observe(e); });
}
})();
</script>
</body>
</html>