SPB Git forge

spb/api-ka

Public

API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com

48commits 1branches 0releases
5.9 MBsize
maindefault branch
19 days agolast push
Python 60.9% HTML 21% TypeScript 7.3% JavaScript 5.2% CSS 4.8% Shell 0.8%
13.3 KB · 214 lines html
Raw Blame History
1<!DOCTYPE html>2<!--3============================================4Projet   : API-KA5Fichier  : src/api/web/contact.html6Node     : m3u96b7Author   : Simon-Pierre Boucher8Contact  : contact@spboucher.ai9Date     : 2026-08-1710============================================11Page /contact — courriels officiels Groupe KA (ecosystem.json) + compte KA ID.12-->13<html lang="fr">14<head>15<meta charset="utf-8">16<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">17<title>Contact — API-Ka — Un service Groupe KA</title>18<meta name="description" content="Joindre le Groupe KA : contact@groupe-ka.com (projets, partenariats et données), info@groupe-ka.com (médias) et admin@groupe-ka.com (légal, vie privée et Loi 25).">19<meta name="theme-color" content="#f5f3ee">20<link rel="icon" type="image/svg+xml" href="/favicon.svg">21<link rel="apple-touch-icon" href="/apple-touch-icon.png">22<meta property="og:title" content="Contact — API-Ka — Un service Groupe KA">23<meta property="og:description" content="Joindre le Groupe KA : contact@groupe-ka.com (projets, partenariats et données), info@groupe-ka.com (médias) et admin@groupe-ka.com (légal, vie privée et Loi 25).">24<meta property="og:url" content="https://www.api-ka.com/contact">25<meta property="og:type" content="website">26<meta property="og:image" content="https://www.api-ka.com/og.png">27<meta property="og:image:width" content="1200">28<meta property="og:image:height" content="630">29<meta name="twitter:card" content="summary_large_image">30<meta name="twitter:image" content="https://www.api-ka.com/og.png">31<link rel="preconnect" href="https://fonts.googleapis.com">32<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>33<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">34<link rel="stylesheet" href="/ka/tokens.css">35<style>36/* ---- Accent API-Ka : INDIGO ---- */37:root{38  --accent:#3b5bdb; --accent-soft:#e4eafb; --accent-deep:#2b44a8; --on-accent:#ffffff;39}4041/* ---- topbar (identique à l'accueil) ---- */42.topbar{position:sticky;top:0;z-index:60;background:rgba(245,243,238,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1.5px solid var(--ink)}43.topbar-in{display:flex;align-items:center;gap:14px;min-height:68px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}44.brand{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.03em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--touch);white-space:nowrap}45.brand .ka{display:inline-block;background:var(--ink);color:var(--accent);border-radius:6px;padding:0 7px 2px;margin-left:5px;transform:rotate(-2deg);transition:transform .15s}46.brand:hover .ka{transform:rotate(0)}47.topnav{display:flex;gap:2px;list-style:none;margin:0 0 0 auto;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}48.topnav a{display:inline-flex;align-items:center;min-height:var(--touch);text-decoration:none;font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:0 12px;border-radius:var(--r-ctl);white-space:nowrap;transition:background .13s,color .13s}49.topnav a:hover{background:var(--accent-soft);color:var(--accent-deep)}50#ka-auth{display:flex;align-items:center;gap:8px}51#ka-auth .btn{font-size:12.5px;padding:8px 14px}52.ka-user{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}53.ka-user b{font-family:var(--font-display);font-size:13px;text-transform:none;letter-spacing:-.01em;color:var(--ink)}54.ka-avatar{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ink);object-fit:cover}55@media(max-width:1023px){.topnav{display:none}.ka-mnav-btn{display:flex}}5657/* ---- page contact ---- */58.hero-c{padding:64px 0 56px;border-bottom:1.5px solid var(--ink);background:linear-gradient(rgba(59,91,219,.05),transparent 60%),var(--paper)}59.hero-c h1{max-width:640px;margin-top:16px}60.lede{margin-top:14px;max-width:60ch;color:var(--ink-2);font-size:16px}61section{padding:64px 0}62.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}63.contact-card{padding:24px 22px;display:flex;flex-direction:column;gap:12px}64.contact-mail{display:inline-flex;align-items:center;min-height:var(--touch);font-family:var(--font-mono);font-size:14.5px;font-weight:700;color:var(--accent-deep);text-decoration:none;word-break:break-all}65.contact-mail:hover{text-decoration:underline;text-underline-offset:4px}66.account{margin-top:56px;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-card);box-shadow:var(--shadow-off-soft);padding:28px;display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between}67.account p{margin:0;max-width:56ch;color:var(--ink-2);font-size:14.5px}68.account b{color:var(--ink)}6970/* ===== KA Nav v2 - menu mobile plein ecran (standard 2026-08-25) ===== */71.ka-mnav-btn{display:none;width:44px;height:44px;margin-left:auto;flex:none;72  flex-direction:column;align-items:center;justify-content:center;gap:5px;73  background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;74  cursor:pointer;padding:0}75.ka-mnav-btn span{display:block;width:18px;height:2px;background:var(--ink);76  border-radius:2px;transition:transform .18s ease,opacity .14s ease}77.ka-mnav-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}78.ka-mnav-btn[aria-expanded="true"] span:nth-child(2){opacity:0}79.ka-mnav-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}80.ka-mnav{position:fixed;inset:0;z-index:var(--z-modal,900);background:var(--paper);81  display:none;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}82.ka-mnav.open{display:flex;animation:ka-mnav-in .16s ease}83@keyframes ka-mnav-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}84.ka-mnav-top{display:flex;align-items:center;justify-content:space-between;flex:none;85  min-height:64px;padding:0 18px;border-bottom:2px solid var(--ink);background:var(--paper)}86.ka-mnav-close{width:44px;height:44px;flex:none;display:flex;align-items:center;87  justify-content:center;border:1.5px solid var(--ink);border-radius:999px;88  background:var(--ink);color:var(--paper);font-size:17px;font-weight:700;89  cursor:pointer;padding:0;line-height:1}90.ka-mnav-links{display:flex;flex-direction:column;justify-content:center;flex:1;91  padding:28px 24px;counter-reset:mnav}92.ka-mnav-links a{display:flex;align-items:baseline;gap:14px;padding:16px 0;93  border-bottom:1.5px dashed rgba(20,24,20,.18);color:var(--ink);text-decoration:none}94.ka-mnav-links a:last-child{border-bottom:0}95.ka-mnav-links a::before{counter-increment:mnav;content:"0" counter(mnav);96  font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;font-weight:700;97  color:var(--accent-deep,var(--ink-3))}98.ka-mnav-links a b{font-family:var(--font-display,system-ui);font-weight:700;99  font-size:25px;line-height:1;letter-spacing:-.03em;text-transform:uppercase}100.ka-mnav-links a[aria-current] b{background:var(--ink);color:var(--paper);101  border-radius:6px;padding:4px 10px 6px}102.ka-mnav-foot{flex:none;border-top:2px solid var(--ink);padding:16px 24px;103  padding-bottom:max(20px,env(safe-area-inset-bottom))}104html.ka-menu-locked,html.ka-menu-locked body{overflow:hidden}105106/* ============================================================================107   KA ÉDITORIAL v2 (2026-08-25) — aligné sur la refonte lou-ka / vrai-prix :108   typo géante, soulignés « brush » SVG, colonnes à filet au lieu des boîtes.109   Bloc en FIN de style : surcharge la v1 sans toucher au markup.110   ========================================================================= */111:root{--hairline:rgba(20,24,20,.14);--hairline-strong:rgba(20,24,20,.6)}112113.hl{background:transparent;color:inherit;border-radius:0;transform:none;position:relative;display:inline-block;padding:0 .06em;z-index:0}114.hl::after{content:"";position:absolute;left:-3%;right:-3%;bottom:.05em;height:.34em;z-index:-1;transform:rotate(-.6deg);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 26' preserveAspectRatio='none'%3E%3Cpath d='M5 17 C 60 8, 118 21, 168 13 S 258 10, 295 15' fill='none' stroke='%233b5bdb' stroke-width='11' stroke-linecap='round' opacity='.4'/%3E%3C/svg%3E") no-repeat center/100% 100%}115116.hero-c{background:var(--paper);border-bottom:1px solid var(--hairline-strong)}117.hero-c h1{max-width:820px;font-size:clamp(38px,5.4vw,68px);line-height:1.03;letter-spacing:-.045em}118119.contact-grid{gap:30px 34px}120.contact-card,.contact-card.card{background:transparent;border:0;border-radius:0;box-shadow:none;border-top:2px solid var(--ink);padding:18px 0 0}121.account{background:transparent;border:0;border-radius:0;box-shadow:none;border-top:1px solid var(--hairline-strong);padding:28px 0 0}122</style>123<link rel="canonical" href="https://www.api-ka.com/contact">124<link rel="alternate" hreflang="fr-ca" href="https://www.api-ka.com/contact">125<link rel="alternate" hreflang="x-default" href="https://www.api-ka.com/contact">126<meta property="og:site_name" content="API-Ka">127<meta property="og:locale" content="fr_CA">128<script type="application/ld+json">{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Accueil", "item": "https://www.api-ka.com/"}, {"@type": "ListItem", "position": 2, "name": "Contact", "item": "https://www.api-ka.com/contact"}]}</script>129</head>130<body>131132<div class="topbar"><div class="container topbar-in">133  <a class="brand" href="/" aria-label="API-Ka — accueil">API<span class="ka">·Ka</span></a>134  <a class="gk-badge" href="https://www.groupe-ka.com" target="_blank" rel="noopener noreferrer"135     aria-label="Un service Groupe KA — visiter le portail de l'écosystème">Un service <b>Groupe<span class="ka">KA</span></b></a>136  <ul class="topnav">137    <li><a href="/#services">Services</a></li>138    <li><a href="/#endpoints">Endpoints</a></li>139    <li><a href="/#playground">Playground</a></li>140    <li><a href="/stats">Stats</a></li>141    <li><a href="/docs">Swagger</a></li>142    <li><a href="/contact">Contact</a></li>143  </ul>144  <button id="ka-mnav-btn" class="ka-mnav-btn" aria-label="Ouvrir le menu"145          aria-expanded="false" aria-controls="ka-mnav">146    <span></span><span></span><span></span>147  </button>148  <div id="ka-auth"></div>149</div></div>150151<!-- KA Nav v2 : panneau mobile plein ecran (fixed inset:0) -->152<div id="ka-mnav" class="ka-mnav" role="dialog" aria-modal="true" aria-label="Menu">153  <div class="ka-mnav-top">154    <a class="brand" href="/" aria-label="API-Ka — accueil">API<span class="ka">·Ka</span></a>155    <button class="ka-mnav-close" data-ka-mnav-close aria-label="Fermer le menu">✕</button>156  </div>157  <nav class="ka-mnav-links">158    <a href="/#services"><b>Services</b></a>159    <a href="/#endpoints"><b>Endpoints</b></a>160    <a href="/#playground"><b>Playground</b></a>161    <a href="/stats"><b>Stats</b></a>162    <a href="/docs"><b>Swagger</b></a>163    <a href="/contact"><b>Contact</b></a>164  </nav>165  <div class="ka-mnav-foot">166    <a class="gk-badge" href="https://www.groupe-ka.com" target="_blank" rel="noopener noreferrer"167       aria-label="Un service Groupe KA — visiter le portail de l'écosystème">168      Un service <b>Groupe<span class="ka">KA</span></b></a>169  </div>170</div>171172<header class="hero-c"><div class="container">173  <span class="kicker">Contact · Groupe KA</span>174  <h1>Nous <span class="hl">joindre</span></h1>175  <p class="lede">API-Ka est un service du Groupe KA. Toutes les demandes — projets, données,176  médias, légal — passent par les courriels officiels du groupe.</p>177</div></header>178179<section><div class="container">180  <span class="kicker">Courriels officiels</span>181  <h2>Trois <span class="hl">adresses</span></h2>182  <div class="contact-grid" id="ka-contacts"></div>183184  <div class="account">185    <p><b>Compte KA ID.</b> La connexion « Se connecter avec KA » est déléguée au hub186    groupe-ka.com : un seul compte pour toutes les plateformes de l'écosystème.187    La création de compte se fait sur le hub.</p>188    <a class="btn btn-accent" id="ka-hub-link" href="https://www.groupe-ka.com/connexion"189       target="_blank" rel="noopener noreferrer">Créer un compte KA ID</a>190  </div>191</div></section>192193<footer class="ka-footer"><div class="container" id="ka-footer-root"></div></footer>194195<script src="/ka/ka-shell.js" defer></script>196<script>window.KA_AGENT={site:"api-ka"}</script>197<script src="/ka-agent.js" defer></script>198<script>199/* KA Nav v2 : ouverture/fermeture du panneau mobile plein ecran (2026-08-25) */200(function(){201  var btn=document.getElementById("ka-mnav-btn"),panel=document.getElementById("ka-mnav");202  if(!btn||!panel)return;203  function set(o){panel.classList.toggle("open",o);204    btn.setAttribute("aria-expanded",o?"true":"false");205    document.documentElement.classList.toggle("ka-menu-locked",o);}206  btn.addEventListener("click",function(){set(!panel.classList.contains("open"))});207  panel.addEventListener("click",function(e){208    if(e.target.closest("a")||e.target.closest("[data-ka-mnav-close]"))set(false)});209  document.addEventListener("keydown",function(e){if(e.key==="Escape")set(false)});210})();211</script>212</body>213</html>214