// charte-tabs.jsx
// PREVIEW-ONLY — design-system documentation tab content. Not a production template.
// Glyphs (⚠, ✓, ★, ✕, etc.) used here are for in-app docs only and will NEVER ship to PDF/KDP.
// Production templates live in stress-pages.jsx + charte-pages.jsx and use exclusively.
// Tab content panels for the Allo Education design-system mini-site.
/* ---------- Tab: Vue d'ensemble ---------- */
function TabOverview() {
return (
<>
Charte graphique · v1.2 · LOCK FINAL
Une collection. Une seule identité.
Cette charte définit les règles visuelles, structurelles et éditoriales pour générer
50+ templates cohérents, du CP à la Terminale,
multi-matières, imprimables KDP et pilotés par theme.json.
Chaque page du livre se compose d'un shell commun (header + footer + grille) et d'un
centre de page qui change selon le template. Tout est piloté par tokens.
Règle d'or : on ne redessine pas le header / footer à chaque template.
Pour créer un nouveau cahier, on configure son theme.json, on choisit
les composants à insérer dans le centre, et on génère.
>
);
}
/* ---------- Tab: Couleurs ---------- */
function Swatch({ name, hex, varName, dark = false, ratio }) {
return (
{ratio && {ratio}}
{name}
{hex}
{varName}
);
}
function TabColors() {
return (
<>
Palette principale
L'identité Allo Education s'appuie sur trois couleurs primaires : un bleu profond rassurant,
un orange énergie, et un jaune accent. Le blanc et un cream très clair structurent les fonds.
Couleurs sémantiques
À utiliser uniquement pour les états indiqués. Ne jamais détourner pour de la décoration.
Neutres & fonds
Règles d'usage
{[
["Ratio dominant 60 / 30 / 10", "60% blanc + bleu Allo en aplats forts (header, titres). 30% neutres et accents bleu soft. 10% orange + jaune pour accentuer.", "var(--ae-primary)"],
["Pas plus de 3 couleurs par bloc", "Sur un encadré, on ne mélange jamais plus de 3 couleurs en aplat (hors texte noir).", "var(--ae-orange)"],
["Un encadré = une intention", "Bleu = exercice. Orange = QCM / défi. Jaune = leçon / je retiens. Vert = méthode. Rouge = piège.", "var(--ae-success)"],
["Pink uniquement en couverture", "Le rose vif (#E91E78) est réservé aux titres de couvertures. Jamais à l'intérieur du livre.", "var(--ae-pink)"],
].map(([t, d, c]) => (
Ronde, scolaire, chaleureuse. Utilisée pour les titres, sous-titres, badges,
numéros d'exercice, formules encadrées et tout élément joyeux.
Poids utilisés : 500 / 600 / 700.
Corps · lecture
Nunito Sans
Très lisible en print, douce et moderne. Corps de texte, consignes,
questions, corrections, légendes et métadonnées.
Poids utilisés : 400 / 600 / 700 / 800.
Échelle (mesures print)
Toutes les tailles sont définies en pouces pour rester stables en impression. Le minimum
absolu pour le corps de texte est 0.12in (≈ 9pt). En-dessous : illisible imprimé.
{[
["Interligne (line-height)", "1.45 – 1.6 sur le corps. 1.05 – 1.15 sur les titres."],
["Mesure de ligne", "55–80 caractères. Au-delà, fatigue de lecture."],
["Contraste", "Min 4.5:1 corps. AAA visé sur fond blanc."],
["Justification", "Texte aligné à gauche. Jamais justifié dur (rivières)."],
["Italique", "Réservé aux citations / mots étrangers. Jamais sur paragraphes entiers."],
["Majuscules", "Uniquement eyebrow / labels < 0.12in. Pas de titres tout caps."],
["Mathématiques", "Nunito Sans en exposant via . Fallback Arial pour symboles rares."],
["Veuves / orphelines", "Jamais une ligne seule en bas / haut de page."],
].map(([l, d]) => (
Format officiel : portrait, 8.5 × 11 pouces (215.9 × 279.4 mm), exporté en PDF 300 dpi
pour Amazon KDP. Grille à 6 colonnes, gouttière 0.18in, marges latérales 0.55in.
{/* Diagram */}
{/* Specs */}
Page
8.5 × 11 in
Portrait · 215.9 × 279.4 mm · KDP
Marges latérales
0.55 in
Côté reliure : prévoir +0.125in
Marges haut · bas
0.5 in
Header
0.95 in
Bord à bord (full-bleed bleu)
Footer
0.85 in
Zone utile
7.4 × 8.7 in
Colonnes
6
Permet 1 / 2 / 3 / 6 colonnes
Gouttière
0.18 in
Baseline grid
0.21 in
Lignes de réponse manuscrites
Bleed
0.125 in
Sur le full-bleed bleu uniquement
Visualisation
Grille verticale (orange) + zone de marge (bleu pointillé) projetées sur une page-test.
Titre de leçon
📖 Bloc leçon
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut metus vitae enim consequat tincidunt.
Exercice 1
Exercice 2
Zones interdites
Pour que rien ne soit rogné en impression / massicotage.
{[
["⚠ Reliure", "0.125 in supplémentaires côté reliure : ne jamais y placer texte critique, QR, ni numéro de page."],
["⚠ Bord de page", "Aucun contenu utile dans les 0.25 in extérieurs. Seul le full-bleed du header peut s'y prolonger."],
["⚠ Sous le header", "0.32 in de respiration sous la courbe du header avant tout contenu."],
["⚠ Au-dessus du footer", "0.16 in de respiration au-dessus du footer."],
["⚠ QR central", "0.6 × 0.6 in minimum, jamais collé à une autre forme. Toujours sur fond blanc."],
["⚠ Pied de bloc", "Une zone de réponse ne peut pas se terminer à moins de 0.2 in du footer."],
].map(([t, d]) => (
Hauteur fixe 0.95 in, full-bleed bleu Allo, courbe douce sur le bord inférieur.
Structure logo / matière-niveau / page. Identique sur 100% des pages intérieures.
{/* Live header preview */}
Logo (gauche)
Toque + texte "Allo / Education / Éditions". Toujours blanc + orange sur bleu. Hauteur logo = 0.42in.
Hauteur 0.85 in. Trois zones : score à gauche, QR centré, numéro de page à droite.
Score
Capsule pointillée bleue. Format : Score : ___ / N. Fredoka 0.18in.
QR + texte
Disque bleu 0.55in + label "Corriger avec Ketty / sur alloeducation.fr". URL en orange.
Page
Cercle bleu 0.55in, chiffre Fredoka 0.22in en blanc.
Règles de visibilité
{[
["qrVisible = false", "Ex. mode d'emploi, ouverture de chapitre, bilan trimestriel.", "Le bloc QR + texte est masqué. Le numéro de page reste à droite. Le score peut rester."],
["scoreVisible = false", "Ex. page théorique sans exercice, lexique, tableau récapitulatif.", "La capsule score est masquée. Le QR et le numéro de page restent."],
["Les deux à false", "Pages éditoriales : préface, sommaire, ouverture de partie.", "Footer minimal : numéro de page seul, centré."],
["Page double / annexes", "Glossaires, corrigés, planches d'autocollants.", "Footer remplacé par un footer minimaliste : page + URL alloeducation.fr."],
].map(([t, ex, r]) => (