# Charte graphique Kluk Charte extraite du site kluk.fr (`assets/css/style.scss`, `_layouts/`, `_includes/`). Tout ce qu'il faut pour la réutiliser ailleurs se trouve dans le dossier [`charte/`](charte/) : ``` charte/ ├── css/kluk.css Feuille de style complète, en CSS pur (sans Sass) ├── fonts/ Young Serif, Atkinson Hyperlegible Next (woff2) + licence OFL ├── img/ │ ├── favicon.svg Icône du site (tasse verte) │ ├── illustration-tasses.svg Illustration « table et tasses », autonome (styles intégrés) │ ├── tasse-{gris,orange,vert,rouge}.svg Une tasse seule, dans chaque couleur d'humeur │ └── photo-attente.svg Pictogramme de l'emplacement de photo └── exemple.html Page de démonstration de tous les composants ``` Pour démarrer : copier `charte/` dans le projet, puis dans le `` : ```html ``` Les chemins des polices dans `kluk.css` sont relatifs (`../fonts/`) : garder la structure `css/` + `fonts/` côte à côte. --- ## 1. Esprit Un univers de petit-déjeuner, calme et chaleureux : **la porcelaine du matin** (fond), **l'encre du thé** (texte), **le chêne de la table** (pied de page, illustration), et **les quatre couleurs des tasses** (gris, orange, vert, rouge) comme accents, qui sont aussi les quatre « humeurs ». Principes : - une seule colonne de lecture étroite (36 rem), beaucoup d'air ; - des titres en serif ronde et amicale, un texte courant très lisible ; - des formes arrondies (boutons en pilule, cartes arrondies), des traits d'encre épais façon dessin ; - l'accessibilité d'abord : contrastes élevés, focus très visible, lien d'évitement, animations coupées si l'utilisateur le demande. --- ## 2. Couleurs Toutes les couleurs sont des variables CSS déclarées sur `:root`. ### Fonds et texte | Variable | Valeur | Rôle | |---|---|---| | `--porcelaine` | `#F5F6F0` | Fond de page, texte sur fond encre, `theme-color` | | `--porcelaine-fonce` | `#E9ECE2` | Fond de `code`, emplacement de photo, liseré des cartes | | `--encre` | `#2E2A26` | Texte, bordures, fond des boutons | | `--encre-douce` | `#5A534C` | Texte secondaire : chapeau, notes, légendes, précisions | | `--chene` | `#D9BC94` | Pied de page, plateau de la table (illustration) | | `--chene-fonce` | `#B48D5F` | Socle de la Kluk, pointillés et picto de l'emplacement photo | ### Humeurs (accents) | Variable | Valeur | Rôle | |---|---|---| | `--gris` | `#8D97A8` | Humeur grise | | `--orange` | `#EDA33D` | Humeur orange, trait de l'exergue | | `--vert` | `#5F9B59` | Humeur verte, soulignement des liens, focus des champs, favicon | | `--rouge` | `#D8573F` | Humeur rouge, trait des messages d'erreur | | `--vert-lien` | `#3F7A3B` | Vert foncé pour les cases à cocher (`accent-color`) | ### Teintes utilitaires Écrites en dur dans le site d'origine ; `kluk.css` les expose en variables, avec les mêmes valeurs. | Variable | Valeur | Rôle | |---|---|---| | `--encre-survol` | `#45403A` | Fond des boutons au survol | | `--surface` | `#FBFCF8` | Fond des cartes (formulaire, calendrier) | | `--bordure-champ` | `#8A8279` | Bordure des champs de saisie | | `--erreur-fond` | `#FBE9E5` | Fond des messages d'erreur | | `--blanc` | `#fff` | Fond des champs, reflet des tasses, fond à l'impression | ### Contrastes (WCAG) | Couple | Ratio | Usage autorisé | |---|---|---| | encre / porcelaine | 13,1 : 1 | tout texte | | encre-douce / porcelaine | 7,0 : 1 | tout texte | | encre / chêne | 7,8 : 1 | tout texte (pied de page) | | porcelaine / encre-survol | 9,4 : 1 | texte des boutons au survol | | vert-lien / porcelaine | 4,8 : 1 | texte possible | | vert / porcelaine | 3,1 : 1 | éléments graphiques seulement (soulignés, contours) | | rouge / porcelaine | 3,6 : 1 | éléments graphiques seulement | | gris / porcelaine | 2,7 : 1 | décoratif seulement | | orange / porcelaine | 2,0 : 1 | décoratif seulement | Règle : **le texte est toujours en encre ou encre douce**. Les couleurs d'humeur ne servent qu'aux traits, soulignés, pastilles et illustrations, jamais au texte. --- ## 3. Typographies | Variable | Pile | Usage | |---|---|---| | `--serif` | `"Young Serif", Georgia, serif` | Titres `h1`–`h3`, exergue, phrase du pied de page | | `--sans` | `"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, sans-serif` | Tout le reste, y compris le logo | Fichiers fournis (`charte/fonts/`, licence SIL OFL 1.1 dans `OFL.txt`) : - `young-serif-400.woff2` : Young Serif, une seule graisse (400) ; - `atkinson-hyperlegible-next-400.woff2` : Atkinson Hyperlegible Next **variable**, graisses 200 à 800 ; - `atkinson-hyperlegible-next-400-italic.woff2` : italique 400. Graisses utilisées : 400 (texte), 700 (boutons, libellés, `strong`), 800 (logo). Les titres restent en 400 : c'est la serif qui porte le caractère. ### Échelle | Élément | Taille | Interlignage | Remarques | |---|---|---|---| | Corps (`body`) | `1.1875rem` (19 px) | 1.65 | `font-kerning: normal` | | `h1` | `clamp(2.35rem, 1.6rem + 3.6vw, 3.75rem)` | 1.15 | serif, `text-wrap: balance` | | `h2` | `clamp(1.6rem, 1.35rem + 1vw, 2rem)` | 1.15 | serif | | Chapeau | `1.3rem` | 1.55 | italique, encre douce | | Exergue | `1.45rem` | 1.4 | serif | | Logo | `1.35rem` | 1.2 | sans 800, `letter-spacing: 0.01em` | | Phrase du pied | `1.15rem` | — | serif | | Note | `1.0625rem` | — | encre douce | | Navigation, petit bouton, pied, formulaire (erreur, secours), emplacement photo | `1rem` | — | | | Légende de photo | `0.95rem` | — | encre douce | | `code` | `0.9em` | — | | Titres : `letter-spacing: -0.005em`. ### Typographie française Le site applique automatiquement (plugin Jekyll `_plugins/typographie.rb`) une espace fine insécable avant `; ! ?` et une espace insécable avant `:` et `»` et après `«`. Dans un autre projet, taper ces espaces directement (` ` fine, ` ` insécable) ou reprendre ce plugin. Apostrophe typographique `’` et guillemets `« »`. --- ## 4. Espacements et mise en page | Variable | Valeur | Rôle | |---|---|---| | `--colonne` | `36rem` | Largeur de la colonne de texte (~ 65 caractères) | | `--gouttiere` | `1.25rem` | Marge latérale sur mobile, padding horizontal des conteneurs | | `--largeur-entete` | `64rem` | Largeur maximale de l'en-tête | | `--arrondi-petit` | `0.5rem` | Logo, champs de saisie | | `--arrondi` | `0.75rem` | Photos, cartes (formulaire, calendrier, emplacement photo) | | `--arrondi-pilule` | `999px` | Boutons | Rythme vertical (marges) : | Élément | Marge | |---|---| | Paragraphe | `0 0 1.15rem` | | `h1` | `1.5rem 0` | | `h2` | `4.5rem 0 1.25rem` (grande respiration avant chaque section) | | Paragraphe contenant seulement un bouton | `2rem 0` | | Photo | `2rem 0` | | Exergue, calendrier | `2.25rem 0` (calendrier : `2.25rem 0 1rem`) | | Formulaire | `2.5rem 0 1rem` | | Note | `margin-top: 2.5rem` | | Colonne `.texte` | padding `2rem` en haut, `5rem` en bas | Points de rupture : `30rem` (calendrier resserré), `40rem` (formulaire plus aéré), `48rem` (l'illustration déborde de 4 rem de chaque côté de la colonne). Structure de page : `body` en flex colonne avec `min-height: 100vh`, `main` en `flex: 1`, pour que le pied de page reste en bas. Traits : encre, 2 à 3 px (boutons actifs 2 px, logo 2,5 px, pied de page 3 px, illustration 3 px, anses 6 px). Trait latéral de 4 px pour l'exergue (orange) et les erreurs (rouge). --- ## 5. Composants La page [`charte/exemple.html`](charte/exemple.html) les montre tous. ### Squelette de page ```html Aller au contenu
…
…contenu…
``` `.evitement` est caché au-dessus de l'écran et n'apparaît qu'au focus clavier. ### En-tête, logo et navigation ```html
``` - Le logo est un mot-symbole en minuscules, en Atkinson Hyperlegible Next graisse 800, encadré d'un trait d'encre arrondi. - Les liens de navigation ne sont pas soulignés ; le soulignement vert apparaît au survol et sur la page courante (`aria-current="page"`). - Une seule entrée de navigation est mise en valeur en bouton. Quand c'est la page courante, le bouton s'inverse (fond porcelaine, contour encre). ### Liens Texte en encre, soulignement vert épais (`0.12em`, décalé de `0.2em`) qui passe à l'encre au survol. Dans le pied de page, soulignement encre fin (1 px, 2 px au survol). ### Focus Contour encre de 3 px, décalé de 3 px, coins arrondis à 4 px, sur tous les éléments (`:focus-visible`). Les champs de formulaire utilisent un contour vert. ### Bouton ```html

Je veux ma Kluk

Petit bouton ``` Pilule encre, texte porcelaine en 700. Un bouton seul dans son paragraphe prend une marge de 2 rem. Dans un `.formulaire`, un ` ``` - Libellés en 700 au-dessus des champs, précisions en 400 encre douce entre parenthèses. - Champs : fond blanc, bordure 2 px `--bordure-champ`, arrondi 0,5 rem ; au focus, contour vert 3 px et bordure encre. - Les styles ne visent que `input[type="email"]` et `textarea` : ajouter les autres types au sélecteur si besoin. - Cases à cocher agrandies (1,35 rem), teintées `--vert-lien`. - Message d'erreur : trait rouge à gauche sur fond rosé. ### Pied de page ```html ``` C'est « la table en bois » : fond chêne, trait d'encre de 3 px en haut, comme le plateau de l'illustration. --- ## 6. Impression La navigation, le pied de page, l'illustration et le calendrier sont masqués ; le fond devient blanc. ## 7. Icône `img/favicon.svg` : une tasse verte (`--vert`) cernée d'encre. `theme-color` : `#F5F6F0`.