Maquettes Claude Design avec visio de classe

This commit is contained in:
Adam Belkacemi 2026-10-06 23:28:18 +02:00
parent 238070ae54
commit 236d2d3567
243 changed files with 27992 additions and 0 deletions

24
design/_build/sy.js Normal file
View file

@ -0,0 +1,24 @@
// Générateur des pages vitrine épurées (utilisé uniquement à la construction)
var SY = (function () {
var INK = '#0b1220', TXT = '#3c4043', MUT = '#5f6368', BLUE = '#0b57d0', HAIR = '#e3e5e8', SOFT = '#f8f9fa';
var P = { accueil: 'Apercu%20accueil%20Blade.html', register: 'apercu-inscription.html', login: 'apercu-connexion.html', tarifs: 'apercu-tarifs.html', etablissements: 'apercu-etablissements.html', fonctionnalites: 'apercu-fonctionnalites.html', 'cours.index': 'apercu-cours.html', 'labs.essai': 'apercu-lab-essai.html', 'td.imprimable': 'apercu-td-imprimable.html', 'cours.fiche': 'apercu-cours-fiche.html', legal: 'apercu-legal.html', pourquoi: 'apercu-pourquoi.html', 'espace.etablissement': 'apercu-espace-etablissement.html', integration: 'apercu-integration.html', aide: 'apercu-aide.html', ressource: 'apercu-ressource.html' };
var mk = function (blade) {
var u = function (r, q) { return blade ? "{{ route('" + r + "') }}" + (q || '') : P[r] + (q || ''); };
var S = {
u: u,
wrap: function (w, inner, pad, bg) { return '<section style="padding:' + (pad || '112px 20px') + ';background:' + (bg || '#fff') + '"><div style="max-width:' + w + 'px;margin:0 auto">' + inner + '</div></section>'; },
kicker: function (t, center) { return '<p style="margin:0;font-size:15px;font-weight:700;color:' + BLUE + (center ? ';text-align:center' : '') + '">' + t + '</p>'; },
h1: function (t) { return '<h1 style="margin:20px 0 0;font-size:clamp(40px,6vw,72px);line-height:1.04;font-weight:800;letter-spacing:-0.03em;color:' + INK + ';text-align:center;text-wrap:balance">' + t + '</h1>'; },
h2: function (t, center) { return '<h2 style="margin:12px 0 0;font-size:clamp(30px,4vw,44px);line-height:1.1;font-weight:800;letter-spacing:-0.02em;color:' + INK + (center ? ';text-align:center' : '') + ';text-wrap:balance">' + t + '</h2>'; },
lead: function (t, center) { return '<p style="margin:24px ' + (center ? 'auto' : '0') + ' 0;max-width:660px;font-size:20px;line-height:1.6;font-weight:500;color:' + TXT + (center ? ';text-align:center' : '') + ';text-wrap:pretty">' + t + '</p>'; },
cta: function (t, href, note) { return '<div style="margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:14px"><a href="' + href + '" style="display:inline-flex;align-items:center;height:56px;padding:0 32px;border-radius:999px;background:' + BLUE + ';color:#fff;font-size:17px;font-weight:700;text-decoration:none">' + t + '</a>' + (note ? '<p style="margin:0;font-size:14px;font-weight:600;color:' + MUT + '">' + note + '</p>' : '') + '</div>'; },
link: function (t, href) { return '<a href="' + href + '" style="font-size:16px;font-weight:700;color:' + BLUE + ';text-decoration:none">' + t + '</a>'; },
cols: function (items, min) { return '<ul style="margin:56px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(' + (min || 240) + 'px,1fr));gap:56px 48px">' + items.map(function (it) { return '<li>' + (it.k ? '<p style="margin:0;font-size:' + (it.big ? '40px' : '14px') + ';font-weight:800;color:' + BLUE + ';letter-spacing:-0.01em">' + it.k + '</p>' : '') + '<h3 style="margin:' + (it.k ? '12px' : '0') + ' 0 0;font-size:20px;font-weight:800;letter-spacing:-0.01em;color:' + INK + '">' + it.t + '</h3>' + (it.d ? '<p style="margin:10px 0 0;font-size:16px;line-height:1.65;font-weight:500;color:' + TXT + '">' + it.d + '</p>' : '') + (it.a ? '<p style="margin:16px 0 0">' + S.link(it.a[0], it.a[1]) + '</p>' : '') + '</li>'; }).join('') + '</ul>'; },
steps: function (items) { return '<ol style="margin:48px 0 0;padding:0;list-style:none;display:grid;gap:28px">' + items.map(function (s, i) { return '<li style="display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:baseline"><span style="font-size:28px;font-weight:800;color:' + BLUE + ';font-variant-numeric:tabular-nums">' + String(i + 1).padStart(2, '0') + '</span><div><p style="margin:0;font-size:20px;font-weight:700;color:' + INK + '">' + s[0] + '</p>' + (s[1] ? '<p style="margin:6px 0 0;font-size:16px;line-height:1.6;font-weight:500;color:' + TXT + '">' + s[1] + '</p>' : '') + '</div></li>'; }).join('') + '</ol>'; },
frame: function (inner) { return '<div style="margin-top:72px;border-radius:24px;overflow:hidden;background:#fff;border:1px solid ' + HAIR + ';box-shadow:0 1px 2px rgba(15,23,42,.06),0 24px 48px -24px rgba(15,23,42,.18)">' + inner + '</div>'; },
INK: INK, TXT: TXT, MUT: MUT, BLUE: BLUE, HAIR: HAIR, SOFT: SOFT
};
return S;
};
return { mk: mk };
})();