Première étape
Description courte de la première étape, deux à trois lignes max.
Source de vérité
Tous les composants, variables et animations partagés dans l'écosystème VNCT. Showroom interactif — toggle dark / light, rejoue les animations, change l'accent (rose, cyan, etc.) pour voir le système réagir en direct.
v1.3.0Démarrage
Charge le CSS et le JS depuis l'URL publique dans le <head> de chaque service VNCT. Le paramètre ?v= correspond à la version du design system (ce repo), pas du service consommateur.
<link rel="stylesheet" href="https://design.vena.city/vnct-design-system.css?v=1.5.1">
<script src="https://design.vena.city/vnct-common.js?v=1.5.1"></script>
Statut de migration des services consommateurs sur MIGRATION.md.
Section 1
Les tokens visuels qui composent le système : couleurs, typographie, espacements, radius, ombres et easings. Tout dérive de variables CSS résolues à l'exécution selon le thème actif (data-theme) et l'accent (data-accent).
Durées : --duration-fast (150ms) · --duration-normal (250ms) · --duration-slow (400ms)
Section 2
Composants déjà déployés dans l'écosystème VNCT.
Conteneur classique
Avec hover effect
Ce champ est requis.
Animation déclenchée par le bouton Rejouer.
Stagger automatique avec .vnct-stagger sur le parent (jusqu'à 12 enfants).
API : VNCT.Modal.open({ title, body, isHtml?, footer? }) et VNCT.Modal.close(). Esc et clic overlay ferment automatiquement.
Le FAB (Floating Action Button) est monté automatiquement par vnct-common.js sur chaque page. Il propose un menu à trois entrées :
Késako (présentation du service), Signaler un bug et Suggestion.
Les deux derniers ouvrent un formulaire qui pousse vers DevPortal (Sema) avec fallback webhook Discord.
Pour personnaliser le contenu de Késako, déclare un <template data-kesako-content> n'importe où dans la page. Son innerHTML sera injecté dans la modal Késako quand l'utilisateur clique. Sans template, un fallback générique s'affiche.
<template data-kesako-content>
<p>Bienvenue sur <strong>MonService</strong> !</p>
<p>Description courte de ce que fait l'outil et comment l'utiliser.</p>
<hr style="margin-top: var(--space-5); border: none; border-top: 1px solid var(--border-default);">
<p style="margin-top: var(--space-4); color: var(--text-secondary); font-weight: var(--font-medium);">🔍 Pour les curieux</p>
<p style="margin-top: var(--space-3); color: var(--text-muted); font-size: var(--text-sm);">
Détails techniques, mentions de l'écosystème, lien vers Atlas, etc.
</p>
<div style="margin-top: var(--space-5); display: flex; justify-content: center;">
<button class="vnct-btn vnct-btn--primary" onclick="VNCT.Modal.close()">Compris !</button>
</div>
</template>
À configurer côté service : VNCT.config.serviceName, VNCT.config.serviceVersion, VNCT.config.devReportUrl.
Tagline du service en une phrase courte et claire.
Logo en clamp(2.5rem, 6vw, 3.75rem), suffixe accent dans <span>. Pattern extrait des services en v1.3.0 — remplace .atlas-hero__logo, .lyra .logo, etc.
D'où vient le nom ?
Lyra est la constellation de la lyre d'Orphée, le musicien légendaire dont la musique transcendait toutes les barrières. Un lien musical sur une plateforme ne devrait pas y rester prisonnier. Lyra prend un lien depuis n'importe quel service de streaming et le rend accessible sur tous les autres. Une musique, un lien, toutes les plateformes. Partage musical universel.
Convention : <em> pour les mots d'inspiration (couleur accent), <strong> pour le nom du service. Pattern unifié — remplace .atlas-lore, .lyra-lore, etc.
Description courte de la première étape, deux à trois lignes max.
Le service prend le relais et fait l'opération principale qui le caractérise.
Résultat final livré à l'utilisateur, avec mention de ce qu'il peut en faire.
Cards numérotées en grille 3 colonnes (1 colonne sur mobile). Container .vnct-steps + items .vnct-step avec __number / __icon / __title / __desc. Pattern extrait de Lyra / Kayros / Calyx en v1.5.0.
Pills horizontales pour énumérer des cas d'usage / publics-cibles. Container .vnct-tags (flex wrap centré) + items .vnct-tag. Pattern extrait de Lyra / Kayros / Calyx / Strata en v1.5.0.
Encart de réassurance — privacy, no-tracking, RGPD, etc. Centré, max 640px de large.
Encart de confiance avec icône SVG centrée + titre + description. .vnct-trust + __icon / __title / __desc. Pattern extrait de Lyra / Myco en v1.5.0.
Section 3
Composants migrés depuis le playground v0.x — disponibles à partir de la v1.0.3 du design system.
Pattern à utiliser quand une liste, une recherche ou une vue est vide. Personnalise le titre, la description et l'action principale selon le contexte.
Composé de vnct-empty__icon, __title et __desc. Ajoute un bouton VNCT en bas si une action est pertinente.
| Service | Status | Version | Domaine |
|---|---|---|---|
| Atlas | Online | v2.1.0 | atlas.vena.city |
| Axis | Online | v1.2.0 | axis.vena.city |
| Sema | Idle | v0.9.3 | sema.vena.city |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.
Texte avec code inline à l'intérieur d'un paragraphe.
// Exemple de bloc de code
const hello = (name) => {
return `Bonjour ${name}`;
};
spin
bounce
glow
float
Section 4
Combinatoire des composants × variantes pour vérifier rapidement la cohérence visuelle.
| Composant | Default | Hover/Active | Disabled | Danger |
|---|---|---|---|---|
| Bouton | ||||
| Pill | Default | Accent | Disabled | Danger |
| Input | ||||
| Status | Neutral | Online | Idle | Offline |
Le Venacity Design System est la source de vérité unique pour tout le styling et le comportement partagé de l'écosystème VNCT (Atlas, Lyra, Kayros, Myco, Calyx, Ostra, Strata, Glyphe, Quasar…).
Cette page est un showroom interactif : explore le sommaire à gauche, joue avec les composants en direct, bascule dark/light pour voir le système réagir.
🔍 Pour les curieux
Tout ce que tu vois ici est servi depuis design.vena.city et chargé par chaque service via ?v=X.Y.Z en cache-busting. Le statut de migration des services consommateurs est dans MIGRATION.md.
Pour proposer un changement, ouvre une PR sur venaciteam/vnct-design-system.