Skip to content

Commit 570c700

Browse files
Merge pull request #2 from SebastienDegodez/copilot/extract-design-elements
feat: add design synthesis — palette, backgrounds & CSS tokens
2 parents 9b20fe3 + 34fc20b commit 570c700

2 files changed

Lines changed: 423 additions & 0 deletions

File tree

DESIGN.md

Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
# 🎨 Design System — SebastienDegodez.github.io
2+
3+
Synthèse des éléments visuels extraits des dépôts source :
4+
- [`SebastienDegodez/slide-marp`](https://github.com/SebastienDegodez/slide-marp) — thème de base
5+
- [`SebastienDegodez/MCP.Pack`](https://github.com/SebastienDegodez/MCP.Pack) — thème étendu
6+
7+
Thème Marp utilisé : **Gaia** (mode `invert`) + surcharges `custom-default.css`.
8+
Format prêt à l'emploi : voir [`design-tokens.css`](./design-tokens.css).
9+
10+
---
11+
12+
## 🖌️ Palette de couleurs
13+
14+
| Rôle | Nom | Hex | Aperçu |
15+
|---|---|---|---|
16+
| Fond principal (invert) | `--color-dark` | `#455a64` | Bleu-gris ardoise |
17+
| Texte principal (invert) | `--color-light` | `#fff8e1` | Blanc chaud / Cream |
18+
| Accent primaire | `--color-primary` | `#0288d1` | Bleu vif |
19+
| Accent secondaire / Highlight | `--color-secondary` | `#81d4fa` | Bleu clair |
20+
| Muted / footer / code bg | `--color-dimmed` | `#dad8c8` | Cream grisé |
21+
| Fond variante gaia | `--color-gaia-bg` | `#0288d1` | Bleu primaire |
22+
| Muted variante gaia | `--color-gaia-dimmed` | `#cce2de` | Bleu-vert pâle |
23+
| Rayure tableau | `--color-stripe` | `rgba(255,248,225,0.10)` | Cream translucide |
24+
25+
### Mode principal utilisé : `invert` (sombre)
26+
27+
```
28+
Fond : #455a64 ██████ bleu-gris ardoise
29+
Texte : #fff8e1 ██████ blanc chaud
30+
Liens/strong : #81d4fa ██████ bleu clair
31+
Muted/footer : #dad8c8 ██████ cream grisé
32+
Code bg : #dad8c8 ██████ (même que muted)
33+
Code text : #455a64 ██████ (même que fond)
34+
```
35+
36+
### Mode clair (light) — slides secondaires
37+
38+
```
39+
Fond : #fff8e1 ██████ blanc chaud
40+
Texte : #455a64 ██████ bleu-gris
41+
Liens/strong : #0288d1 ██████ bleu vif
42+
Muted : #dad8c8 ██████ cream grisé
43+
```
44+
45+
### Variante Gaia (accent bleu — slides spéciaux)
46+
47+
```
48+
Fond : #0288d1 ██████ bleu vif
49+
Texte : #fff8e1 ██████ blanc chaud
50+
Highlight : #81d4fa ██████ bleu clair
51+
Muted : #cce2de ██████ bleu-vert pâle
52+
```
53+
54+
---
55+
56+
## 🖼️ Fonds de page
57+
58+
| Slide | Type de fond | Détail |
59+
|---|---|---|
60+
| Titre (première slide) | Image + overlay | `bg.jpg` à 70% d'opacité sur fond `#455a64` |
61+
| Présentation auteur | Image + overlay | `bg.jpg` à 70% d'opacité |
62+
| Slide de fin | Image + overlay | `bg.jpg` à 70% d'opacité |
63+
| Slides de contenu | Fond uni + gradient | `#455a64` + gradient 135° subtil |
64+
65+
### Image de fond
66+
67+
- **Fichier** : `bg.jpg` (photo sombre, ambiance tech/nature, 138 KB)
68+
- **URL** : `https://raw.githubusercontent.com/SebastienDegodez/slide-marp/refs/heads/main/presentation/images/bg.jpg`
69+
- **Application** : opacité `0.7` — l'image ne sature pas le contenu textuel
70+
71+
### Gradient de fond (slides de contenu)
72+
73+
```css
74+
background-image: linear-gradient(
75+
135deg,
76+
rgba(136, 136, 136, 0) 0%,
77+
rgba(136, 136, 136, 0.02) 50%,
78+
rgba(255, 255, 255, 0) 50%,
79+
rgba(255, 255, 255, 0.05) 100%
80+
);
81+
```
82+
> Effet très subtil, quasiment invisible — donne juste une légère profondeur aux slides.
83+
84+
---
85+
86+
## ✍️ Typographie
87+
88+
### Polices
89+
90+
| Rôle | Famille | Source |
91+
|---|---|---|
92+
| Corps & titres | **Lato**, 'Avenir Next', Avenir, 'Trebuchet MS', 'Segoe UI', sans-serif | [Bunny Fonts](https://fonts.bunny.net) |
93+
| Code & blocs | **Fira Code**, 'Roboto Mono', monospace | Surcharge `custom-default.css` |
94+
| Citations (guillemets) | Times New Roman, serif | Gaia natif |
95+
96+
### Hiérarchie des tailles (base 35 px)
97+
98+
| Élément | Em | ≈ px |
99+
|---|---|---|
100+
| `h1` | 1.8 em | ~63 px |
101+
| `h2` | 1.5 em | ~52 px |
102+
| `h3` | 1.3 em | ~45 px |
103+
| `h4` | 1.1 em | ~38 px |
104+
| `h5` | 1.0 em | ~35 px |
105+
| `h6` | 0.9 em | ~31 px |
106+
| Code inline | 0.8 em | ~28 px | Gaia natif |
107+
| Bloc de code (`pre`) | 0.6 em | ~21 px | Surcharge MCP.Pack |
108+
| Footer / header | 66 % | ~23 px |
109+
110+
### Espacement texte
111+
112+
```
113+
line-height : 1.35
114+
letter-spacing : 1.25 px
115+
```
116+
117+
---
118+
119+
## 📐 Dimensions & Espacement
120+
121+
### Formats de slides
122+
123+
| Format | Largeur | Hauteur |
124+
|---|---|---|
125+
| 16:9 (défaut) | 1280 px | 720 px |
126+
| 4:3 | 960 px | 720 px |
127+
128+
### Zones
129+
130+
```
131+
Padding intérieur des slides : 70 px
132+
Hauteur header/footer : 70 px
133+
Line-height header/footer : 50 px
134+
```
135+
136+
---
137+
138+
## 🔘 Composants
139+
140+
### Carte auteur (`div#presentation`)
141+
142+
```
143+
Layout : flexbox, centré horizontalement
144+
Avatar : 5rem × 5rem, border-radius 50% (cercle)
145+
Espacement : margin-right 1.1 em entre avatar et texte
146+
Nom (h1) : margin-top 0, text-align left
147+
Titre (h5) : text-align left
148+
```
149+
150+
### Grille 2 colonnes (`.columns`)
151+
152+
```
153+
display : grid
154+
grid-template-columns : repeat(2, minmax(0, 1fr))
155+
gap : 1 rem
156+
```
157+
158+
### Slide de fin (`div#end`)
159+
160+
```
161+
Layout : flexbox, centré horizontalement
162+
Usage : QR code centré
163+
```
164+
165+
### Blocs de code (`pre`, `code`)
166+
167+
```
168+
Fond (code inline) : #dad8c8 (--color-dimmed)
169+
Texte code inline : #455a64 (--color-dark)
170+
Fond pre : #fff8e1 (--color-foreground)
171+
Police : Fira Code, monospace
172+
Font-size inline : 0.8 em (Gaia natif)
173+
Font-size pre : 0.6 em (surcharge MCP.Pack)
174+
Padding pre : 0.5 em
175+
border-radius : aucun défini
176+
```
177+
178+
### Blockquote
179+
180+
```
181+
Padding : 0 1 em
182+
Guillemets décoratifs (::before / ::after) : Times New Roman, bold, #dad8c8
183+
```
184+
185+
### Tableau
186+
187+
```
188+
Bordures : 1 px solid #fff8e1
189+
En-tête : fond #fff8e1, texte #455a64
190+
Rayures : rgba(255,248,225, 0.10)
191+
```
192+
193+
### Icônes
194+
195+
```
196+
Library : Font Awesome 6.7.2
197+
CDN : https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css
198+
Usage : <i class="fa-brands fa-github"></i>
199+
```
200+
201+
---
202+
203+
## 🔲 Principes de style globaux
204+
205+
| Principe | Valeur |
206+
|---|---|
207+
| Arrondis | `50%` pour les avatars uniquement — pas d'arrondi général sur les cards |
208+
| Ombres | Aucune (design plat) |
209+
| Bordures | Uniquement dans les tableaux (`1px solid`) |
210+
| Couleur d'accentuation | Bleu clair `#81d4fa` pour les liens, `<strong>` dans les titres |
211+
| Effet de fond | Gradient subtil 135° quasi-invisible |
212+
| Superposition image | `opacity: 0.7` pour laisser lisible le texte par-dessus |
213+
| Style global | **Flat design, sombre, minimaliste** |
214+
| Thème Marp | Gaia + classe `invert` (dark mode par défaut) |
215+
216+
---
217+
218+
## 🚀 Utilisation pour le prototypage
219+
220+
### En CSS
221+
222+
Importer [`design-tokens.css`](./design-tokens.css) et utiliser les variables CSS :
223+
224+
```css
225+
@import './design-tokens.css';
226+
227+
body {
228+
background-color: var(--color-background); /* #455a64 */
229+
color: var(--color-foreground); /* #fff8e1 */
230+
font-family: var(--font-sans);
231+
font-size: var(--font-size-base);
232+
}
233+
234+
a { color: var(--color-link); } /* #81d4fa */
235+
236+
code {
237+
font-family: var(--font-mono);
238+
background: var(--color-code-bg); /* #dad8c8 */
239+
color: var(--color-code-text); /* #455a64 */
240+
}
241+
```
242+
243+
### En Figma
244+
245+
Créer les styles de couleurs suivants :
246+
247+
| Style | Hex |
248+
|---|---|
249+
| Background/Primary | `#455a64` |
250+
| Background/Accent | `#0288d1` |
251+
| Text/Primary | `#fff8e1` |
252+
| Text/Muted | `#dad8c8` |
253+
| Accent/Primary | `#0288d1` |
254+
| Accent/Highlight | `#81d4fa` |
255+
256+
Styles de texte :
257+
- **Heading 1** : Lato 900, 63 px, `#fff8e1`
258+
- **Heading 2** : Lato 900, 52 px, `#fff8e1`
259+
- **Body** : Lato 400, 35 px, `#fff8e1`, line-height 1.35
260+
- **Code** : Fira Code 400, 21 px, `#455a64` sur fond `#dad8c8`
261+
- **Footer** : Lato 400, 23 px, `#dad8c8`

0 commit comments

Comments
 (0)