2225 lines
203 KiB
HTML
2225 lines
203 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Руководство для учителей — LearnSpace</title>
|
||
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
|
||
<link href="https://fonts.googleapis.com/css2?family=Unbounded:wght@400;700;800&family=Manrope:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||
<link rel="stylesheet" href="/css/ls.css" />
|
||
<script src="https://cdn.jsdelivr.net/npm/lucide@0.469.0/dist/umd/lucide.min.js"></script>
|
||
<style>
|
||
.sb-content { background: #f4f5f8; overflow-y: auto; }
|
||
|
||
/* ── Two-column doc layout ── */
|
||
.tg-layout {
|
||
display: flex; align-items: flex-start;
|
||
max-width: 1320px; margin: 0 auto;
|
||
padding: 0 24px 80px; gap: 28px;
|
||
min-height: 100%;
|
||
}
|
||
|
||
/* ══════════════════════════════
|
||
NAV SIDEBAR
|
||
══════════════════════════════ */
|
||
.tg-nav {
|
||
width: 264px; flex-shrink: 0;
|
||
position: sticky; top: 0;
|
||
max-height: 100vh; overflow-y: auto;
|
||
padding: 24px 0 40px;
|
||
scrollbar-width: thin;
|
||
}
|
||
.tg-nav::-webkit-scrollbar { width: 3px; }
|
||
.tg-nav::-webkit-scrollbar-thumb { background: rgba(155,93,229,0.25); border-radius: 99px; }
|
||
|
||
.tg-nav-header { padding: 0 16px 16px; border-bottom: 1px solid rgba(15,23,42,0.08); margin-bottom: 12px; }
|
||
.tg-nav-title {
|
||
font-family: 'Unbounded', sans-serif; font-size: 0.72rem; font-weight: 800;
|
||
color: var(--text-3); text-transform: uppercase; letter-spacing: 0.1em;
|
||
margin-bottom: 10px;
|
||
}
|
||
.tg-progress-wrap { margin-bottom: 6px; }
|
||
.tg-progress-bar-outer {
|
||
height: 4px; background: rgba(15,23,42,0.08); border-radius: 99px; overflow: hidden;
|
||
}
|
||
.tg-progress-bar-inner {
|
||
height: 100%; background: linear-gradient(90deg, #9B5DE5, #06D6E0);
|
||
border-radius: 99px; width: 0%; transition: width 0.3s;
|
||
}
|
||
.tg-progress-text { font-size: 0.68rem; color: var(--text-3); margin-top: 5px; }
|
||
|
||
/* Search in nav */
|
||
.tg-nav-search {
|
||
padding: 0 12px 10px;
|
||
}
|
||
.tg-nav-search input {
|
||
width: 100%; padding: 7px 12px 7px 32px;
|
||
background: #fff; border: 1.5px solid rgba(15,23,42,0.09);
|
||
border-radius: 10px; font-family: 'Manrope', sans-serif;
|
||
font-size: 0.78rem; color: #0F172A; outline: none;
|
||
transition: border-color 0.18s;
|
||
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238898AA' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
|
||
background-repeat: no-repeat; background-position: 10px center;
|
||
}
|
||
.tg-nav-search input:focus { border-color: rgba(155,93,229,0.4); }
|
||
|
||
/* Chapter items */
|
||
.tg-nav-chapter { margin-bottom: 2px; }
|
||
.tg-nav-ch-btn {
|
||
display: flex; align-items: center; gap: 9px;
|
||
width: 100%; padding: 8px 16px;
|
||
background: none; border: none; cursor: pointer;
|
||
border-radius: 10px; transition: background 0.15s;
|
||
font-family: 'Manrope', sans-serif; text-align: left;
|
||
}
|
||
.tg-nav-ch-btn:hover { background: rgba(155,93,229,0.07); }
|
||
.tg-nav-ch-btn.active { background: rgba(155,93,229,0.1); }
|
||
.tg-nav-ch-icon {
|
||
width: 26px; height: 26px; border-radius: 8px; flex-shrink: 0;
|
||
background: rgba(15,23,42,0.06); display: flex; align-items: center; justify-content: center;
|
||
}
|
||
.tg-nav-ch-icon svg { width: 13px; height: 13px; color: var(--text-3); stroke: var(--text-3); }
|
||
.tg-nav-ch-btn.active .tg-nav-ch-icon { background: rgba(155,93,229,0.12); }
|
||
.tg-nav-ch-btn.active .tg-nav-ch-icon svg { color: #9B5DE5; stroke: #9B5DE5; }
|
||
.tg-nav-ch-label {
|
||
flex: 1; font-size: 0.8rem; font-weight: 600; color: #3D4F6B; line-height: 1.3;
|
||
}
|
||
.tg-nav-ch-btn.active .tg-nav-ch-label { color: #0F172A; font-weight: 700; }
|
||
.tg-nav-ch-status { flex-shrink: 0; }
|
||
.tg-nav-ch-status svg { width: 14px; height: 14px; color: #06D664; stroke: #06D664; display: none; }
|
||
.tg-nav-ch-btn.read .tg-nav-ch-status svg { display: block; }
|
||
.tg-nav-ch-chevron { flex-shrink: 0; transition: transform 0.2s; }
|
||
.tg-nav-ch-chevron svg { width: 12px; height: 12px; color: var(--text-3); stroke: var(--text-3); }
|
||
.tg-nav-chapter.open .tg-nav-ch-chevron { transform: rotate(90deg); }
|
||
|
||
/* Sub-sections */
|
||
.tg-nav-sections { overflow: hidden; max-height: 0; transition: max-height 0.25s ease; }
|
||
.tg-nav-chapter.open .tg-nav-sections { max-height: 800px; }
|
||
.tg-nav-sec-link {
|
||
display: flex; align-items: center; gap: 8px;
|
||
padding: 5px 16px 5px 51px;
|
||
font-size: 0.74rem; color: var(--text-3); text-decoration: none;
|
||
border-radius: 8px; transition: all 0.15s; cursor: pointer;
|
||
}
|
||
.tg-nav-sec-link:hover { color: #0F172A; background: rgba(15,23,42,0.04); }
|
||
.tg-nav-sec-link.active {
|
||
color: #9B5DE5; font-weight: 600;
|
||
background: rgba(155,93,229,0.06);
|
||
}
|
||
.tg-nav-sec-link.active::before {
|
||
content: ''; width: 4px; height: 4px; border-radius: 50%;
|
||
background: #9B5DE5; flex-shrink: 0;
|
||
}
|
||
|
||
/* ══════════════════════════════
|
||
CONTENT AREA
|
||
══════════════════════════════ */
|
||
.tg-content { flex: 1; min-width: 0; padding: 24px 0; }
|
||
|
||
/* Hero */
|
||
.tg-hero {
|
||
background: linear-gradient(135deg, #f8f6ff 0%, #eef2ff 100%);
|
||
border: 1.5px solid rgba(155,93,229,0.15);
|
||
border-radius: 24px; padding: 40px 40px 36px;
|
||
margin-bottom: 36px; position: relative; overflow: hidden;
|
||
}
|
||
.tg-hero::before {
|
||
content: '';
|
||
position: absolute; inset: 0;
|
||
background-image: radial-gradient(circle, rgba(15,23,42,0.035) 1px, transparent 1px);
|
||
background-size: 20px 20px; pointer-events: none;
|
||
}
|
||
.tg-hero-badge {
|
||
display: inline-flex; align-items: center; gap: 6px;
|
||
background: rgba(155,93,229,0.1); border: 1px solid rgba(155,93,229,0.25);
|
||
color: #7c3aed; font-size: 0.7rem; font-weight: 700;
|
||
letter-spacing: 0.1em; text-transform: uppercase;
|
||
padding: 4px 12px; border-radius: 99px; margin-bottom: 16px;
|
||
}
|
||
.tg-hero-title {
|
||
font-family: 'Unbounded', sans-serif;
|
||
font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800;
|
||
line-height: 1.25; color: #0F172A; margin-bottom: 12px;
|
||
}
|
||
.tg-hero-title span {
|
||
background: linear-gradient(135deg, #9B5DE5, #06D6E0);
|
||
-webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
|
||
}
|
||
.tg-hero-sub { font-size: 0.9rem; color: #5a6a8a; line-height: 1.65; margin-bottom: 24px; max-width: 560px; }
|
||
.tg-hero-chips { display: flex; flex-wrap: wrap; gap: 8px; }
|
||
.tg-hero-chip {
|
||
display: flex; align-items: center; gap: 6px;
|
||
background: #fff; border: 1.5px solid rgba(15,23,42,0.08);
|
||
color: #3D4F6B; font-size: 0.76rem; font-weight: 600;
|
||
padding: 5px 12px; border-radius: 99px;
|
||
box-shadow: 0 1px 4px rgba(15,23,42,0.05);
|
||
}
|
||
.tg-hero-chip svg { width: 13px; height: 13px; }
|
||
|
||
/* Chapter */
|
||
.tg-chapter { margin-bottom: 0; display: none; }
|
||
.tg-chapter.tg-active { display: block; animation: tgFadeIn 0.28s ease; }
|
||
@keyframes tgFadeIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
|
||
/* Search mode: reveal all chapters so matches are visible */
|
||
.tg-content.tg-search-mode .tg-chapter { display: block; margin-bottom: 32px; }
|
||
.tg-content.tg-search-mode .tg-chapter.search-hidden { display: none; }
|
||
.tg-chapter-header {
|
||
display: flex; align-items: center; gap: 16px;
|
||
padding: 28px 0 18px;
|
||
border-bottom: 2px solid rgba(155,93,229,0.12);
|
||
margin-bottom: 28px;
|
||
}
|
||
.tg-chapter-icon {
|
||
width: 52px; height: 52px; border-radius: 16px; flex-shrink: 0;
|
||
background: rgba(155,93,229,0.1); border: 1.5px solid rgba(155,93,229,0.2);
|
||
display: flex; align-items: center; justify-content: center;
|
||
}
|
||
.tg-chapter-icon svg { width: 24px; height: 24px; color: #9B5DE5; stroke: #9B5DE5; }
|
||
.tg-chapter-meta { flex: 1; }
|
||
.tg-chapter-num {
|
||
font-size: 0.66rem; font-weight: 700; color: var(--text-3);
|
||
text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 4px;
|
||
}
|
||
.tg-chapter-title {
|
||
font-family: 'Unbounded', sans-serif;
|
||
font-size: 1.25rem; font-weight: 800; color: #0F172A; line-height: 1.25;
|
||
}
|
||
.tg-chapter-try {
|
||
display: inline-flex; align-items: center; gap: 7px;
|
||
padding: 8px 16px; border-radius: 99px;
|
||
background: rgba(155,93,229,0.1); border: 1.5px solid rgba(155,93,229,0.25);
|
||
color: #7c3aed; font-size: 0.78rem; font-weight: 700;
|
||
text-decoration: none; transition: all 0.18s; flex-shrink: 0;
|
||
}
|
||
.tg-chapter-try:hover { background: #9B5DE5; color: #fff; }
|
||
.tg-chapter-try svg { width: 14px; height: 14px; }
|
||
|
||
/* Section */
|
||
.tg-section { margin-bottom: 36px; scroll-margin-top: 24px; }
|
||
.tg-section-title {
|
||
font-family: 'Unbounded', sans-serif; font-size: 0.9rem; font-weight: 800;
|
||
color: #0F172A; margin-bottom: 16px;
|
||
display: flex; align-items: center; gap: 10px;
|
||
}
|
||
.tg-section-title::before {
|
||
content: ''; display: block; width: 3px; height: 18px;
|
||
background: linear-gradient(180deg, #9B5DE5, #06D6E0);
|
||
border-radius: 99px; flex-shrink: 0;
|
||
}
|
||
.tg-section p { font-size: 0.88rem; color: #3D4F6B; line-height: 1.7; margin-bottom: 14px; }
|
||
|
||
/* Steps */
|
||
.tg-steps { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
|
||
.tg-step {
|
||
display: flex; align-items: flex-start; gap: 14px;
|
||
padding: 14px 18px; background: #fff;
|
||
border: 1.5px solid rgba(15,23,42,0.07); border-radius: 14px;
|
||
box-shadow: 0 1px 4px rgba(15,23,42,0.04);
|
||
}
|
||
.tg-step-num {
|
||
width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
|
||
background: rgba(155,93,229,0.1); border: 1.5px solid rgba(155,93,229,0.25);
|
||
color: #9B5DE5; font-family: 'Unbounded', sans-serif;
|
||
font-size: 0.68rem; font-weight: 800;
|
||
display: flex; align-items: center; justify-content: center;
|
||
}
|
||
.tg-step-body { flex: 1; font-size: 0.86rem; line-height: 1.6; color: #0F172A; }
|
||
.tg-step-body b { font-weight: 700; }
|
||
.tg-step-body code {
|
||
font-family: monospace; background: rgba(155,93,229,0.09);
|
||
padding: 1px 7px; border-radius: 6px; font-size: 0.83rem; color: #7c3aed;
|
||
}
|
||
|
||
/* Note boxes */
|
||
.tg-tip, .tg-warning, .tg-success, .tg-note {
|
||
display: flex; align-items: flex-start; gap: 12px;
|
||
padding: 14px 18px; border-radius: 14px; margin: 12px 0;
|
||
}
|
||
.tg-tip { background: rgba(6,214,224,0.06); border: 1.5px solid rgba(6,214,224,0.2); border-left: 4px solid #06D6E0; }
|
||
.tg-warning{ background: rgba(241,91,181,0.05); border: 1.5px solid rgba(241,91,181,0.2); border-left: 4px solid #F15BB5; }
|
||
.tg-success{ background: rgba(6,214,100,0.06); border: 1.5px solid rgba(6,214,100,0.2); border-left: 4px solid #06D664; }
|
||
.tg-note { background: rgba(155,93,229,0.05); border: 1.5px solid rgba(155,93,229,0.18); border-left: 4px solid #9B5DE5; }
|
||
.tg-box-icon { flex-shrink: 0; margin-top: 1px; }
|
||
.tg-box-icon svg { width: 18px; height: 18px; }
|
||
.tg-tip .tg-box-icon svg { color: #0891b2; stroke: #0891b2; }
|
||
.tg-warning .tg-box-icon svg { color: #db2777; stroke: #db2777; }
|
||
.tg-success .tg-box-icon svg { color: #059669; stroke: #059669; }
|
||
.tg-note .tg-box-icon svg { color: #9B5DE5; stroke: #9B5DE5; }
|
||
.tg-box-body { flex: 1; font-size: 0.84rem; line-height: 1.6; color: #0F172A; }
|
||
.tg-box-label { font-weight: 700; margin-bottom: 3px; font-size: 0.8rem; }
|
||
.tg-tip .tg-box-label { color: #0891b2; }
|
||
.tg-warning .tg-box-label { color: #db2777; }
|
||
.tg-success .tg-box-label { color: #059669; }
|
||
.tg-note .tg-box-label { color: #9B5DE5; }
|
||
|
||
/* Accordion (type cards, block types) */
|
||
.tg-accordion { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
|
||
.tg-acc-item { background: #fff; border: 1.5px solid rgba(15,23,42,0.07); border-radius: 14px; overflow: hidden; box-shadow: 0 1px 4px rgba(15,23,42,0.04); }
|
||
.tg-acc-head {
|
||
display: flex; align-items: center; gap: 12px;
|
||
padding: 13px 18px; cursor: pointer; user-select: none;
|
||
transition: background 0.15s;
|
||
}
|
||
.tg-acc-head:hover { background: rgba(155,93,229,0.04); }
|
||
.tg-acc-badge {
|
||
font-family: 'Unbounded', sans-serif; font-size: 0.65rem; font-weight: 800;
|
||
padding: 3px 9px; border-radius: 99px; flex-shrink: 0;
|
||
}
|
||
.tg-acc-name { font-size: 0.86rem; font-weight: 700; color: #0F172A; flex: 1; }
|
||
.tg-acc-desc-short { font-size: 0.78rem; color: var(--text-3); }
|
||
.tg-acc-chevron { transition: transform 0.2s; }
|
||
.tg-acc-chevron svg { width: 14px; height: 14px; color: var(--text-3); stroke: var(--text-3); }
|
||
.tg-acc-item.open .tg-acc-chevron { transform: rotate(180deg); }
|
||
.tg-acc-body {
|
||
max-height: 0; overflow: hidden;
|
||
transition: max-height 0.25s ease, padding 0.25s;
|
||
padding: 0 18px;
|
||
}
|
||
.tg-acc-item.open .tg-acc-body { max-height: 400px; padding: 0 18px 16px; }
|
||
.tg-acc-body p { font-size: 0.83rem; color: #3D4F6B; line-height: 1.65; margin-top: 6px; }
|
||
.tg-acc-body ul { font-size: 0.83rem; color: #3D4F6B; line-height: 1.8; padding-left: 18px; margin-top: 6px; }
|
||
|
||
/* Checklist */
|
||
.tg-checklist { background: #fff; border: 1.5px solid rgba(15,23,42,0.07); border-radius: 18px; overflow: hidden; box-shadow: 0 2px 8px rgba(15,23,42,0.04); }
|
||
.tg-checklist-header { padding: 18px 22px 14px; border-bottom: 1px solid rgba(15,23,42,0.07); display: flex; align-items: center; justify-content: space-between; }
|
||
.tg-checklist-title { font-family: 'Unbounded', sans-serif; font-size: 0.82rem; font-weight: 800; color: #0F172A; }
|
||
.tg-checklist-prog { font-size: 0.72rem; color: var(--text-3); }
|
||
.tg-checklist-bar { height: 4px; background: rgba(15,23,42,0.07); }
|
||
.tg-checklist-bar-inner { height: 100%; background: linear-gradient(90deg, #9B5DE5, #06D6E0); width: 0%; transition: width 0.4s; }
|
||
.tg-checklist-items { padding: 10px 12px 12px; }
|
||
.tg-cl-item {
|
||
display: flex; align-items: center; gap: 12px;
|
||
padding: 9px 10px; border-radius: 10px; transition: background 0.15s; cursor: pointer;
|
||
}
|
||
.tg-cl-item:hover { background: rgba(155,93,229,0.05); }
|
||
.tg-cl-item input[type="checkbox"] { width: 17px; height: 17px; accent-color: #9B5DE5; cursor: pointer; flex-shrink: 0; }
|
||
.tg-cl-label { flex: 1; font-size: 0.84rem; color: #0F172A; font-weight: 500; }
|
||
.tg-cl-item.checked .tg-cl-label { text-decoration: line-through; color: var(--text-3); }
|
||
.tg-cl-link { font-size: 0.72rem; color: #9B5DE5; text-decoration: none; white-space: nowrap; }
|
||
.tg-cl-link:hover { text-decoration: underline; }
|
||
|
||
/* Keyboard shortcuts table */
|
||
.tg-shortcuts { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin-bottom: 14px; }
|
||
.tg-kbd {
|
||
font-family: monospace; font-size: 0.78rem; font-weight: 700;
|
||
background: #fff; border: 1.5px solid rgba(15,23,42,0.12);
|
||
border-bottom-width: 3px; border-radius: 7px;
|
||
padding: 3px 9px; color: #0F172A; white-space: nowrap;
|
||
align-self: center;
|
||
}
|
||
.tg-kbd-desc { font-size: 0.82rem; color: #3D4F6B; align-self: center; line-height: 1.4; }
|
||
|
||
/* UI mock */
|
||
.tg-mock {
|
||
background: #fff; border: 1.5px solid rgba(15,23,42,0.08);
|
||
border-radius: 16px; overflow: hidden; margin: 16px 0;
|
||
box-shadow: 0 4px 16px rgba(15,23,42,0.07);
|
||
}
|
||
.tg-mock-bar {
|
||
height: 36px; background: rgba(15,23,42,0.04);
|
||
border-bottom: 1px solid rgba(15,23,42,0.07);
|
||
display: flex; align-items: center; gap: 7px; padding: 0 14px;
|
||
}
|
||
.tg-mock-dot { width: 8px; height: 8px; border-radius: 50%; }
|
||
.tg-mock-body { padding: 16px 20px; }
|
||
.tg-mock-row { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
|
||
.tg-mock-skel { background: rgba(15,23,42,0.07); border-radius: 6px; }
|
||
|
||
/* Tools grid */
|
||
.tg-tools-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; margin-bottom: 14px; }
|
||
.tg-tool-card {
|
||
display: flex; align-items: center; gap: 10px;
|
||
padding: 11px 14px; background: #fff;
|
||
border: 1.5px solid rgba(15,23,42,0.07); border-radius: 12px;
|
||
box-shadow: 0 1px 4px rgba(15,23,42,0.04);
|
||
}
|
||
.tg-tool-icon {
|
||
width: 34px; height: 34px; border-radius: 9px; flex-shrink: 0;
|
||
background: rgba(155,93,229,0.09); display: flex; align-items: center; justify-content: center;
|
||
}
|
||
.tg-tool-icon svg { width: 16px; height: 16px; color: #9B5DE5; stroke: #9B5DE5; }
|
||
.tg-tool-name { font-size: 0.8rem; font-weight: 700; color: #0F172A; }
|
||
.tg-tool-desc { font-size: 0.7rem; color: var(--text-3); margin-top: 1px; }
|
||
|
||
/* Chapter nav */
|
||
.tg-chapter-nav { display: flex; gap: 12px; margin-top: 40px; padding-top: 24px; border-top: 1.5px solid rgba(15,23,42,0.08); }
|
||
.tg-ch-nav-btn {
|
||
flex: 1; display: flex; align-items: center; gap: 12px;
|
||
padding: 16px 20px; background: #fff;
|
||
border: 1.5px solid rgba(15,23,42,0.08); border-radius: 16px;
|
||
text-decoration: none; color: inherit; cursor: pointer;
|
||
transition: all 0.18s; box-shadow: 0 1px 6px rgba(15,23,42,0.04);
|
||
}
|
||
.tg-ch-nav-btn:hover { border-color: rgba(155,93,229,0.3); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(15,23,42,0.08); }
|
||
.tg-ch-nav-btn.next { flex-direction: row-reverse; text-align: right; }
|
||
.tg-ch-nav-icon { width: 36px; height: 36px; border-radius: 10px; background: rgba(155,93,229,0.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
|
||
.tg-ch-nav-icon svg { width: 16px; height: 16px; color: #9B5DE5; stroke: #9B5DE5; }
|
||
.tg-ch-nav-label { font-size: 0.68rem; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 700; }
|
||
.tg-ch-nav-title { font-size: 0.84rem; font-weight: 700; color: #0F172A; margin-top: 2px; }
|
||
|
||
/* Divider */
|
||
.tg-divider { height: 1px; background: rgba(15,23,42,0.08); margin: 20px 0; }
|
||
|
||
/* Badge colors per question type */
|
||
.badge-single { background: rgba(155,93,229,0.12); color: #7c3aed; }
|
||
.badge-multiple { background: rgba(6,214,224,0.12); color: #0891b2; }
|
||
.badge-text { background: rgba(241,91,181,0.12); color: #db2777; }
|
||
.badge-number { background: rgba(6,214,100,0.12); color: #059669; }
|
||
.badge-order { background: rgba(255,179,71,0.12); color: #d97706; }
|
||
.badge-match { background: rgba(15,23,42,0.08); color: #3D4F6B; }
|
||
|
||
/* Highlight search matches */
|
||
mark { background: rgba(155,93,229,0.18); color: #7c3aed; border-radius: 3px; padding: 0 2px; }
|
||
|
||
/* Hidden by search filter */
|
||
.tg-section.search-hidden { display: none; }
|
||
.tg-chapter.search-hidden { display: none; }
|
||
|
||
/* Admin guide */
|
||
.tg-admin-divider { display:flex; align-items:center; gap:8px; margin:20px 0 8px; font-family:'Unbounded',sans-serif; font-size:0.58rem; font-weight:800; letter-spacing:0.09em; text-transform:uppercase; color:#c0306a; }
|
||
.tg-admin-divider::before,.tg-admin-divider::after { content:''; flex:1; height:1px; background:rgba(241,91,181,0.2); }
|
||
.tg-nav-chapter.admin .tg-nav-ch-btn { color:#c0306a; }
|
||
.tg-nav-chapter.admin .tg-nav-ch-btn .tg-nav-ch-icon svg { stroke:#c0306a; }
|
||
.tg-nav-chapter.admin .tg-nav-ch-btn:hover,.tg-nav-chapter.admin .tg-nav-ch-btn.active { background:rgba(241,91,181,0.07); }
|
||
.tg-chapter.admin-chapter .tg-chapter-header { background:linear-gradient(135deg,rgba(241,91,181,0.04),rgba(155,93,229,0.04)); border-radius:16px; margin-bottom:4px; }
|
||
.tg-chapter.admin-chapter .tg-chapter-icon svg { stroke:#c0306a; }
|
||
.tg-chapter.admin-chapter .tg-chapter-num { color:#c0306a; }
|
||
.tg-chapter.admin-chapter .tg-chapter-try { background:rgba(241,91,181,0.1); color:#c0306a; border:1.5px solid rgba(241,91,181,0.25); }
|
||
.tg-chapter.admin-chapter .tg-chapter-try:hover { background:#c0306a; color:#fff; }
|
||
.tg-chapter-admin-header { display:inline-flex; align-items:center; gap:7px; padding:5px 13px; border-radius:99px; background:rgba(241,91,181,0.1); color:#c0306a; font-size:0.74rem; font-weight:700; margin-bottom:18px; }
|
||
.tg-chapter-admin-header svg { width:13px; height:13px; stroke:currentColor; }
|
||
|
||
/* Mobile */
|
||
@media (max-width: 1024px) {
|
||
.tg-layout { padding: 0 16px 60px; gap: 0; }
|
||
.tg-nav { display: none; }
|
||
.tg-content { padding: 20px 0; }
|
||
}
|
||
@media (max-width: 768px) {
|
||
.tg-hero { padding: 28px 22px; }
|
||
.tg-tools-grid { grid-template-columns: 1fr 1fr; }
|
||
.tg-chapter-nav { flex-direction: column; }
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="app-layout">
|
||
<aside class="sidebar" id="app-sidebar"></aside>
|
||
<div class="notif-drop" id="notif-drop"></div>
|
||
<div class="sb-content" id="tg-scroll">
|
||
|
||
<div class="tg-layout">
|
||
|
||
<!-- ══ LEFT NAV ══ -->
|
||
<nav class="tg-nav" id="tg-nav">
|
||
<div class="tg-nav-header">
|
||
<div class="tg-nav-title">Содержание</div>
|
||
<div class="tg-progress-wrap">
|
||
<div class="tg-progress-bar-outer"><div class="tg-progress-bar-inner" id="tg-prog-bar"></div></div>
|
||
<div class="tg-progress-text" id="tg-prog-text">0 из 21 глав прочитано</div>
|
||
</div>
|
||
</div>
|
||
<div class="tg-nav-search">
|
||
<input type="text" id="tg-search" placeholder="Поиск по руководству..." />
|
||
</div>
|
||
<div id="tg-nav-chapters"></div>
|
||
<div id="tg-nav-admin" style="display:none">
|
||
<div class="tg-admin-divider"><i data-lucide="shield" style="width:12px;height:12px;stroke:#c0306a;vertical-align:-2px"></i> Администратор</div>
|
||
<div id="tg-nav-admin-chapters"></div>
|
||
</div>
|
||
</nav>
|
||
|
||
<!-- ══ CONTENT ══ -->
|
||
<main class="tg-content">
|
||
|
||
<!-- Hero -->
|
||
<div class="tg-hero">
|
||
<div class="tg-hero-badge"><i data-lucide="book-marked" style="width:12px;height:12px"></i> Руководство для учителей</div>
|
||
<h1 class="tg-hero-title">Полное руководство по<br><span>LearnSpace</span></h1>
|
||
<p class="tg-hero-sub">Пошаговые инструкции по всем возможностям платформы — от создания первого класса до проведения онлайн-уроков в реальном времени.</p>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 1 ═══ -->
|
||
<div class="tg-chapter" id="ch-1">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="rocket"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 1</div>
|
||
<div class="tg-chapter-title">Быстрый старт</div>
|
||
</div>
|
||
<a href="/dashboard" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Открыть</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-1-1">
|
||
<div class="tg-section-title">1.1 Первый вход и настройка профиля</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте LearnSpace и войдите, используя email и пароль, выданные администратором.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">После входа вы попадёте на <b>Дашборд</b>. Перейдите в раздел <b>«Профиль»</b> через боковое меню.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Укажите полное имя — ученики будут видеть его в классах и на уроках.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="lightbulb"></i></div><div class="tg-box-body"><div class="tg-box-label">Подсказка</div>Аватар генерируется автоматически из инициалов. Загрузить своё фото можно в настройках профиля.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-1-2">
|
||
<div class="tg-section-title">1.2 Знакомство с интерфейсом</div>
|
||
<p><b>Боковое меню (sidebar)</b> — доступ ко всем модулям. Учительские разделы (Аналитика, Банк вопросов, Live-квиз, Журнал) видны только при роли «Учитель».</p>
|
||
<div class="tg-shortcuts">
|
||
<span class="tg-kbd">Ctrl + K</span><span class="tg-kbd-desc">Быстрый поиск по урокам, вопросам, файлам</span>
|
||
<span class="tg-kbd">←</span><span class="tg-kbd-desc">Свернуть боковое меню (кнопка-шеврон вверху sidebar)</span>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="smartphone"></i></div><div class="tg-box-body"><div class="tg-box-label">Мобильная версия</div>На мобильных sidebar открывается кнопкой в нижней панели навигации.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-1-3">
|
||
<div class="tg-section-title">1.3 Ваш первый класс за 5 минут</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Перейдите в раздел <b>«Классы»</b> через боковое меню.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Нажмите кнопку <b>«+»</b> в верхнем правом углу списка классов.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Заполните название, выберите предмет, добавьте описание (необязательно). Нажмите <b>«Создать»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Скопируйте код приглашения и отправьте ученикам.</div></div>
|
||
</div>
|
||
<div class="tg-success"><div class="tg-box-icon"><i data-lucide="check-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Готово!</div>Ученики смогут вступить в класс, введя код на своём дашборде в кнопке «Вступить в класс».</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-1-4">
|
||
<div class="tg-section-title">1.4 Контрольный список готовности</div>
|
||
<p>Отметьте выполненные шаги — прогресс сохраняется автоматически.</p>
|
||
<div class="tg-checklist">
|
||
<div class="tg-checklist-header">
|
||
<div class="tg-checklist-title">Чеклист нового учителя</div>
|
||
<div class="tg-checklist-prog" id="cl-prog">0 / 6</div>
|
||
</div>
|
||
<div class="tg-checklist-bar"><div class="tg-checklist-bar-inner" id="cl-bar"></div></div>
|
||
<div class="tg-checklist-items">
|
||
<label class="tg-cl-item" data-id="profile"><input type="checkbox" /><span class="tg-cl-label">Профиль настроен (имя, фото)</span><a href="/profile" class="tg-cl-link">Профиль →</a></label>
|
||
<label class="tg-cl-item" data-id="class"><input type="checkbox" /><span class="tg-cl-label">Первый класс создан</span><a href="/classes" class="tg-cl-link">Классы →</a></label>
|
||
<label class="tg-cl-item" data-id="students"><input type="checkbox" /><span class="tg-cl-label">Ученики приглашены</span><a href="/classes" class="tg-cl-link">Классы →</a></label>
|
||
<label class="tg-cl-item" data-id="question"><input type="checkbox" /><span class="tg-cl-label">Первый вопрос добавлен в банк</span><a href="/question-bank" class="tg-cl-link">Банк →</a></label>
|
||
<label class="tg-cl-item" data-id="assignment"><input type="checkbox" /><span class="tg-cl-label">Первое задание назначено</span><a href="/classes" class="tg-cl-link">Классы →</a></label>
|
||
<label class="tg-cl-item" data-id="library"><input type="checkbox" /><span class="tg-cl-label">Первый файл загружен в библиотеку</span><a href="/library" class="tg-cl-link">Библиотека →</a></label>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-2')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Управление классами</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 2 ═══ -->
|
||
<div class="tg-chapter" id="ch-2">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="graduation-cap"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 2</div>
|
||
<div class="tg-chapter-title">Управление классами</div>
|
||
</div>
|
||
<a href="/classes" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Классы</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-2-1">
|
||
<div class="tg-section-title">2.1 Создание класса</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте раздел <b>«Классы»</b> → нажмите <b>«+»</b> в левой панели.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Введите <b>название</b>, выберите <b>предмет</b> из выпадающего списка, добавьте описание.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Нажмите <b>«Создать»</b>. Класс появится в списке слева.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="lightbulb"></i></div><div class="tg-box-body"><div class="tg-box-label">Подсказка</div>Название видят ученики — используйте понятные: <code>8-Б Биология</code> или <code>Физика 10 класс</code>.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-2-2">
|
||
<div class="tg-section-title">2.2 Приглашение учеников</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Выберите класс из списка слева → в детальной панели найдите <b>блок с кодом</b> приглашения.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Нажмите на код — он автоматически скопируется в буфер обмена.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Отправьте код ученикам (мессенджер, на доске). Ученики вводят его через <b>«Вступить в класс»</b> на своём дашборде.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="link"></i></div><div class="tg-box-body"><div class="tg-box-label">Ссылка-приглашение</div>Кнопка «Копировать ссылку» рядом с кодом — ученик перейдёт по ней и автоматически вступит в класс.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-2-3">
|
||
<div class="tg-section-title">2.3 Просмотр состава и удаление ученика</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте класс → вкладка <b>«Ученики»</b>. Таблица: имя, email, средний балл, дата вступления.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Для удаления — нажмите кнопку <b>«X»</b> справа от имени ученика и подтвердите.</div></div>
|
||
</div>
|
||
<div class="tg-warning"><div class="tg-box-icon"><i data-lucide="alert-triangle"></i></div><div class="tg-box-body"><div class="tg-box-label">Внимание</div>Удалённый ученик потеряет доступ к заданиям и материалам класса. Его результаты сохранятся в аналитике.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-2-4">
|
||
<div class="tg-section-title">2.4 Обновление кода приглашения</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">В детальной панели класса нажмите <b>«Обновить код»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Старый код станет недействительным, новый будет сгенерирован и скопирован.</div></div>
|
||
</div>
|
||
<div class="tg-warning"><div class="tg-box-icon"><i data-lucide="alert-triangle"></i></div><div class="tg-box-body"><div class="tg-box-label">Внимание</div>Все ранее отправленные ссылки и коды перестанут работать. Убедитесь, что нужные ученики уже вступили.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-1')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Быстрый старт</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-3')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Банк вопросов</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 3 ═══ -->
|
||
<div class="tg-chapter" id="ch-3">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="database"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 3</div>
|
||
<div class="tg-chapter-title">Банк вопросов</div>
|
||
</div>
|
||
<a href="/question-bank" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Банк вопросов</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-3-1">
|
||
<div class="tg-section-title">3.1 Создание вопроса</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Нажмите <b>«Создать вопрос»</b> в правом верхнем углу страницы.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Выберите <b>тип вопроса</b> (см. раздел 3.2 ниже).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Введите текст вопроса. LaTeX-формулы — оборачивайте в <code>$...$</code> или <code>$$...$$</code>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Добавьте варианты ответов и отметьте правильные.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">5</div><div class="tg-step-body">Укажите <b>предмет</b> и <b>тему</b>. Нажмите <b>«Сохранить»</b>.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-3-2">
|
||
<div class="tg-section-title">3.2 Типы вопросов</div>
|
||
<div class="tg-accordion">
|
||
<div class="tg-acc-item open">
|
||
<div class="tg-acc-head" onclick="toggleAcc(this)">
|
||
<span class="tg-acc-badge badge-single">single</span>
|
||
<span class="tg-acc-name">Один правильный ответ</span>
|
||
<span class="tg-acc-desc-short">Радиокнопки</span>
|
||
<span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span>
|
||
</div>
|
||
<div class="tg-acc-body"><p>Ученик выбирает один вариант из нескольких предложенных. Используйте для вопросов с однозначным ответом.</p><ul><li>Минимум 2 варианта, один правильный</li><li>Можно добавить изображение к вопросу</li></ul></div>
|
||
</div>
|
||
<div class="tg-acc-item">
|
||
<div class="tg-acc-head" onclick="toggleAcc(this)">
|
||
<span class="tg-acc-badge badge-multiple">multiple</span>
|
||
<span class="tg-acc-name">Несколько правильных ответов</span>
|
||
<span class="tg-acc-desc-short">Чекбоксы</span>
|
||
<span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span>
|
||
</div>
|
||
<div class="tg-acc-body"><p>Ученик отмечает все правильные варианты. Частичное попадание засчитывается пропорционально.</p><ul><li>Минимум 2 правильных варианта</li><li>Балл = доля правильно отмеченных</li></ul></div>
|
||
</div>
|
||
<div class="tg-acc-item">
|
||
<div class="tg-acc-head" onclick="toggleAcc(this)">
|
||
<span class="tg-acc-badge badge-text">text</span>
|
||
<span class="tg-acc-name">Свободный текстовый ответ</span>
|
||
<span class="tg-acc-desc-short">Поле ввода</span>
|
||
<span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span>
|
||
</div>
|
||
<div class="tg-acc-body"><p>Ученик вводит текст. Проверяется точное совпадение (регистр не учитывается).</p><ul><li>Укажите эталонный ответ и допустимые синонимы через запятую</li></ul></div>
|
||
</div>
|
||
<div class="tg-acc-item">
|
||
<div class="tg-acc-head" onclick="toggleAcc(this)">
|
||
<span class="tg-acc-badge badge-number">number</span>
|
||
<span class="tg-acc-name">Числовой ответ</span>
|
||
<span class="tg-acc-desc-short">С погрешностью</span>
|
||
<span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span>
|
||
</div>
|
||
<div class="tg-acc-body"><p>Ученик вводит число. Вы задаёте правильный ответ и допустимую погрешность.</p><ul><li>Пример: ответ 9.8, погрешность ±0.1 — принимает 9.7–9.9</li></ul></div>
|
||
</div>
|
||
<div class="tg-acc-item">
|
||
<div class="tg-acc-head" onclick="toggleAcc(this)">
|
||
<span class="tg-acc-badge badge-order">order</span>
|
||
<span class="tg-acc-name">Расположи в порядке</span>
|
||
<span class="tg-acc-desc-short">Drag & Drop</span>
|
||
<span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span>
|
||
</div>
|
||
<div class="tg-acc-body"><p>Ученик перетаскивает элементы в правильном порядке (хронология, последовательность реакций и т.д.).</p></div>
|
||
</div>
|
||
<div class="tg-acc-item">
|
||
<div class="tg-acc-head" onclick="toggleAcc(this)">
|
||
<span class="tg-acc-badge badge-match">match</span>
|
||
<span class="tg-acc-name">Сопоставление</span>
|
||
<span class="tg-acc-desc-short">Два столбца</span>
|
||
<span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span>
|
||
</div>
|
||
<div class="tg-acc-body"><p>Ученик соединяет элементы левого столбца с правым. Идеально для терминов и определений, органов и функций.</p></div>
|
||
</div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="lightbulb"></i></div><div class="tg-box-body"><div class="tg-box-label">Совет</div>Комбинируйте разные типы в одном тесте — это даёт более объективную оценку знаний.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-3-3">
|
||
<div class="tg-section-title">3.3 Дублирование и импорт CSV</div>
|
||
<p><b>Дублировать</b> — нажмите кнопку копирования рядом с вопросом. Откроется редактор с копией — измените текст или варианты и сохраните.</p>
|
||
<div class="tg-divider"></div>
|
||
<p><b>Импорт из CSV:</b></p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Подготовьте CSV в кодировке <code>UTF-8</code>, разделитель — точка с запятой <code>;</code>. Формат: <code>тип;вопрос;варианты;ответ;предмет;тема</code></div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Нажмите <b>«Импорт CSV»</b> в шапке страницы, выберите файл.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Система покажет превью. Подтвердите импорт.</div></div>
|
||
</div>
|
||
<div class="tg-warning"><div class="tg-box-icon"><i data-lucide="alert-triangle"></i></div><div class="tg-box-body"><div class="tg-box-label">Внимание</div>Обязательно UTF-8, иначе кириллица отобразится некорректно. При ошибке используйте Excel «Сохранить как → CSV UTF-8».</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-2')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Управление классами</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-4')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Задания и тесты</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 4 ═══ -->
|
||
<div class="tg-chapter" id="ch-4">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="clipboard-check"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 4</div>
|
||
<div class="tg-chapter-title">Задания и тесты</div>
|
||
</div>
|
||
<a href="/classes" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Классы</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-4-1">
|
||
<div class="tg-section-title">4.1 Создание задания</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Перейдите в <b>«Классы»</b> → выберите класс → вкладка <b>«Задания»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Нажмите <b>«Создать задание»</b>, введите название.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Добавьте вопросы из банка — используйте поиск и фильтры по предмету/теме.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Настройте параметры (дедлайн, время, попытки) → нажмите <b>«Опубликовать»</b>.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-4-2">
|
||
<div class="tg-section-title">4.2 Параметры задания</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Дедлайн</b> — дата и время, после которых задание нельзя начать. Оставьте пустым для бессрочного задания.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Время на прохождение</b> — лимит в минутах. Таймер начинается при открытии теста учеником.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Количество попыток</b> — сколько раз ученик может пройти тест. По умолчанию — 1.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="lightbulb"></i></div><div class="tg-box-body"><div class="tg-box-label">Рекомендация</div>Для домашних работ — 2–3 попытки без ограничения времени. Для контрольных — 1 попытка с таймером.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-4-3">
|
||
<div class="tg-section-title">4.3 Результаты и статистика</div>
|
||
<p>Откройте задание из вкладки «Задания» → таблица: ученик, балл (%), дата сдачи, номер попытки.</p>
|
||
<p>Нажмите на ученика для детализации — ответы по каждому вопросу, время выполнения.</p>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="bar-chart-2"></i></div><div class="tg-box-body"><div class="tg-box-label">Статистика по вопросам</div>Процент правильных ответов по каждому вопросу. Вопросы с низким процентом подсвечены красным — они требуют дополнительного объяснения на уроке.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-4-4">
|
||
<div class="tg-section-title">4.4 Кому: класс, ученик, личный список</div>
|
||
<p>При создании задания в выпадашке <b>«Кому»</b> доступны четыре режима:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body"><b>Всему классу</b> — каждый ученик в составе класса получает задание, прогресс — общий «X / N сдано».</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body"><b>Нескольким классам…</b> — открывает список ваших классов с чекбоксами. Удобно для параллелей одного потока.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body"><b>Имя ученика (лично)</b> — пункты с пометкой «(лично)» в конце выпадашки. Список собран из участников <em>текущего класса</em>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body"><b>Ученику из «Мои ученики»</b> — для тех, кого нет в ваших классах (репетиторство, индивидуальные занятия). Сначала добавьте их в Главе 12, затем используйте раздел <b>«Учебники»</b> или назначайте напрямую.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="lightbulb"></i></div><div class="tg-box-body"><div class="tg-box-label">Личное задание</div>В дашборде ученика такое задание помечается «Личное задание» (вместо имени класса). Ученик получает обычное уведомление-колокольчик.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-3')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Банк вопросов</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-5')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Онлайн-урок</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 5 ═══ -->
|
||
<div class="tg-chapter" id="ch-5">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="presentation"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 5</div>
|
||
<div class="tg-chapter-title">Онлайн-урок</div>
|
||
</div>
|
||
<a href="/classroom" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Онлайн-урок</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-5-1">
|
||
<div class="tg-section-title">5.1 Запуск и завершение урока</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Перейдите в <b>«Онлайн-урок»</b> → нажмите <b>«Начать урок»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Выберите класс. Урок запущен — ученики из класса получат уведомление и смогут присоединиться.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Для завершения — красная кнопка <b>«Завершить урок»</b> в шапке. Урок сохранится в архиве.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="archive"></i></div><div class="tg-box-body"><div class="tg-box-label">Архив уроков</div>Все прошедшие уроки с доской, чатом и посещаемостью доступны в разделе «Архив уроков».</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-5-2">
|
||
<div class="tg-section-title">5.2 Инструменты доски</div>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="pencil"></i></div><div><div class="tg-tool-name">Карандаш</div><div class="tg-tool-desc">Свободное рисование</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="highlighter"></i></div><div><div class="tg-tool-name">Маркер</div><div class="tg-tool-desc">Полупрозрачное выделение</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="zap"></i></div><div><div class="tg-tool-name">Лазер</div><div class="tg-tool-desc">Указка, не сохраняется</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="eraser"></i></div><div><div class="tg-tool-name">Ластик</div><div class="tg-tool-desc">Стирает штрихи</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="shapes"></i></div><div><div class="tg-tool-name">Фигуры (11)</div><div class="tg-tool-desc">Прямоугольник, круг, стрелка и др.</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="git-merge"></i></div><div><div class="tg-tool-name">Коннектор</div><div class="tg-tool-desc">Линия между объектами</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="sticky-note"></i></div><div><div class="tg-tool-name">Стикер</div><div class="tg-tool-desc">Цветная заметка</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="type"></i></div><div><div class="tg-tool-name">Текст</div><div class="tg-tool-desc">Текстовый блок</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="image"></i></div><div><div class="tg-tool-name">Изображение</div><div class="tg-tool-desc">Загрузка картинки</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="sigma"></i></div><div><div class="tg-tool-name">Формула LaTeX</div><div class="tg-tool-desc">Математические формулы</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="table"></i></div><div><div class="tg-tool-name">Таблица</div><div class="tg-tool-desc">Интерактивная таблица</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="axis-3d"></i></div><div><div class="tg-tool-name">Координатная ось</div><div class="tg-tool-desc">Система с графиками</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="minus"></i></div><div><div class="tg-tool-name">Числовая прямая</div><div class="tg-tool-desc">Прямая с делениями</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="circle"></i></div><div><div class="tg-tool-name">Циркуль</div><div class="tg-tool-desc">Дуги и окружности</div></div></div>
|
||
</div>
|
||
<div class="tg-shortcuts">
|
||
<span class="tg-kbd">Ctrl+Z</span><span class="tg-kbd-desc">Отменить</span>
|
||
<span class="tg-kbd">Ctrl+Y</span><span class="tg-kbd-desc">Повторить</span>
|
||
<span class="tg-kbd">Ctrl+C / Ctrl+V</span><span class="tg-kbd-desc">Копировать / Вставить объект</span>
|
||
<span class="tg-kbd">Del</span><span class="tg-kbd-desc">Удалить выделенный объект</span>
|
||
<span class="tg-kbd">Ctrl+A</span><span class="tg-kbd-desc">Выделить всё на странице</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-5-3">
|
||
<div class="tg-section-title">5.3 Страницы, шаблоны и экспорт</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Нажмите <b>«+»</b> в панели миниатюр слева → выберите шаблон: <b>Пустая, Клетка, Линейка, Точки, Координатная плоскость</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Переключайтесь между страницами кликом по миниатюре. Ученики видят текущую страницу учителя в реальном времени.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body"><b>Экспорт в PNG</b> — кнопка с иконкой загрузки в шапке. Текущая страница сохраняется как изображение.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="layout-template"></i></div><div class="tg-box-body"><div class="tg-box-label">Подготовка заранее</div>Создайте несколько страниц с нужными шаблонами до начала урока — это сэкономит время во время объяснения.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-5-4">
|
||
<div class="tg-section-title">5.4 Zoom, Pan и темы доски</div>
|
||
<div class="tg-shortcuts">
|
||
<span class="tg-kbd">Колесо мыши</span><span class="tg-kbd-desc">Zoom in / out к курсору</span>
|
||
<span class="tg-kbd">Ctrl+0</span><span class="tg-kbd-desc">Сбросить масштаб</span>
|
||
<span class="tg-kbd">Space + drag</span><span class="tg-kbd-desc">Прокрутка (pan) доски</span>
|
||
</div>
|
||
<p>При zoom > 1 в правом нижнем углу появляется <b>минимап</b> — кликните или перетащите для навигации по доске.</p>
|
||
<p><b>Темы доски</b> (переключение через меню настроек): <b>Chalkboard</b> (зелёная меловая), <b>Blackboard</b> (чёрная), <b>Corkboard</b> (пробковая), <b>Whiteboard</b> (белая маркерная).</p>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-5-5">
|
||
<div class="tg-section-title">5.5 Чат, видеосвязь и управление учениками</div>
|
||
<p><b>Чат</b> — правая панель, сообщения в реальном времени. Ученики видят сообщения учителя и других учеников.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Видеосвязь (WebRTC)</b> — нажмите кнопку камеры/микрофона в шапке. Браузер запросит разрешение при первом включении.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Поднятая рука</b> — уведомление в шапке при поднятии руки учеником. Нажмите для ответа.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Разрешить рисование</b> — в списке участников переключите тогл рядом с именем ученика.</div></div>
|
||
</div>
|
||
<div class="tg-warning"><div class="tg-box-icon"><i data-lucide="alert-triangle"></i></div><div class="tg-box-body"><div class="tg-box-label">Видеосвязь</div>Требует разрешения браузера на камеру и микрофон. Для стабильной связи за NAT рекомендуется использование TURN-сервера.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-5-6">
|
||
<div class="tg-section-title">5.6 Гостевая ссылка и Live-квиз</div>
|
||
<p><b>Гостевая ссылка</b> — нажмите «Гостевая ссылка» в шапке урока. Любой человек по ссылке увидит доску в режиме просмотра без регистрации. Удобно для открытых вебинаров.</p>
|
||
<div class="tg-divider"></div>
|
||
<p><b>Live-квиз во время урока:</b></p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Нажмите кнопку <b>«Live-квиз»</b> в шапке урока.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Выберите вопросы из банка, настройте время на вопрос.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Запустите — ученики увидят вопросы на своих экранах. Результаты отображаются в реальном времени.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-4')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Задания и тесты</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-6')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Библиотека материалов</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 6 ═══ -->
|
||
<div class="tg-chapter" id="ch-6">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="book-open"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 6</div>
|
||
<div class="tg-chapter-title">Библиотека материалов</div>
|
||
</div>
|
||
<a href="/library" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Библиотека</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-6-1">
|
||
<div class="tg-section-title">6.1 Загрузка файлов</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Нажмите <b>«Загрузить»</b> в шапке страницы.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Выберите файл(ы). Поддерживаются: PDF, DOCX, PPTX, изображения, видео.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Опционально выберите класс(ы) для предоставления доступа прямо при загрузке.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-6-2">
|
||
<div class="tg-section-title">6.2 Папки и управление доступом</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body"><b>Новая папка</b> — нажмите «Новая папка», введите название. Перетаскивайте файлы в папки.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body"><b>Доступ по классу</b> — нажмите на файл/папку → «Доступ» → выберите классы.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="eye-off"></i></div><div class="tg-box-body"><div class="tg-box-label">Приватность</div>Файлы без назначенного класса видны только вам. Ученики видят только те материалы, к которым им выдан доступ.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-5')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Онлайн-урок</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-7')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Редактор уроков</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 7 ═══ -->
|
||
<div class="tg-chapter" id="ch-7">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="file-edit"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 7</div>
|
||
<div class="tg-chapter-title">Редактор уроков</div>
|
||
</div>
|
||
<a href="/my-lessons" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Мои уроки</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-7-1">
|
||
<div class="tg-section-title">7.1 Создание урока</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Перейдите в <b>«Мои уроки»</b> → нажмите <b>«Создать урок»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Введите название, выберите предмет и тему.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Добавляйте блоки контента кнопкой <b>«+»</b> между блоками.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Нажмите <b>«Опубликовать»</b> → выберите класс(ы). Урок появится в «Теории» у учеников.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-7-2">
|
||
<div class="tg-section-title">7.2 Типы блоков</div>
|
||
<div class="tg-accordion">
|
||
<div class="tg-acc-item open"><div class="tg-acc-head" onclick="toggleAcc(this)"><span class="tg-acc-badge badge-single">Текст</span><span class="tg-acc-name">Параграф</span><span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span></div><div class="tg-acc-body"><p>Форматированный текст с поддержкой жирного, курсива, подчёркивания. Оптимально для основного содержания урока.</p></div></div>
|
||
<div class="tg-acc-item"><div class="tg-acc-head" onclick="toggleAcc(this)"><span class="tg-acc-badge badge-multiple">H2/H3</span><span class="tg-acc-name">Заголовок</span><span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span></div><div class="tg-acc-body"><p>Структурные заголовки второго и третьего уровня. Используйте для разделения темы на подтемы.</p></div></div>
|
||
<div class="tg-acc-item"><div class="tg-acc-head" onclick="toggleAcc(this)"><span class="tg-acc-badge badge-text">Изображение</span><span class="tg-acc-name">Картинка</span><span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span></div><div class="tg-acc-body"><p>Загрузка файла или вставка URL. Поддерживаются JPG, PNG, GIF, SVG. Подпись необязательна.</p></div></div>
|
||
<div class="tg-acc-item"><div class="tg-acc-head" onclick="toggleAcc(this)"><span class="tg-acc-badge badge-number">Видео</span><span class="tg-acc-name">Видео</span><span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span></div><div class="tg-acc-body"><p>Вставка YouTube/Vimeo по URL или загрузка видеофайла. Поддерживает embed с плеером.</p></div></div>
|
||
<div class="tg-acc-item"><div class="tg-acc-head" onclick="toggleAcc(this)"><span class="tg-acc-badge badge-order">LaTeX</span><span class="tg-acc-name">Формула</span><span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span></div><div class="tg-acc-body"><p>Блок формулы с live-превью через KaTeX. Введите LaTeX-код — формула отобразится в реальном времени.</p></div></div>
|
||
<div class="tg-acc-item"><div class="tg-acc-head" onclick="toggleAcc(this)"><span class="tg-acc-badge badge-match">Тест</span><span class="tg-acc-name">Встроенный тест</span><span class="tg-acc-chevron"><i data-lucide="chevron-down"></i></span></div><div class="tg-acc-body"><p>Встроенный мини-тест из банка вопросов прямо в теле урока. Ученик проходит его не выходя из урока.</p></div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-6')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Библиотека материалов</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-8')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Аналитика</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 8 ═══ -->
|
||
<div class="tg-chapter" id="ch-8">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="bar-chart-2"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 8</div>
|
||
<div class="tg-chapter-title">Аналитика</div>
|
||
</div>
|
||
<a href="/analytics" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Аналитика</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-8-1">
|
||
<div class="tg-section-title">8.1 Дашборд аналитики</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Перейдите в <b>«Аналитика»</b> → выберите класс из выпадающего списка в шапке.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Сводные карточки: средний балл, количество учеников, выполненных заданий, активность за неделю.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Графики успеваемости по времени и распределение оценок по диапазонам.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-8-2">
|
||
<div class="tg-section-title">8.2 Профиль ученика и слабые темы</div>
|
||
<p>Нажмите на имя ученика в таблице — откроется детализация: результаты по каждому заданию, динамика прогресса, слабые темы.</p>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="trending-down"></i></div><div class="tg-box-body"><div class="tg-box-label">Слабые темы</div>Система автоматически выделяет темы с наименьшим процентом правильных ответов. Создайте дополнительное задание по ним или уделите время на объяснение.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-7')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Редактор уроков</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-9')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Журнал оценок</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 9 ═══ -->
|
||
<div class="tg-chapter" id="ch-9">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="table"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 9</div>
|
||
<div class="tg-chapter-title">Журнал оценок</div>
|
||
</div>
|
||
<a href="/gradebook" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Журнал</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-9-1">
|
||
<div class="tg-section-title">9.1 Чтение таблицы и экспорт</div>
|
||
<p>Перейдите в <b>«Журнал»</b> → выберите класс. Строки — ученики, столбцы — задания.</p>
|
||
<p><b>Цветовая кодировка ячеек:</b></p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num" style="background:rgba(6,214,100,0.15);border-color:rgba(6,214,100,0.3);color:#059669">✓</div><div class="tg-step-body"><b>Зелёный</b> — выше 70%. Отличный результат.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num" style="background:rgba(255,179,71,0.15);border-color:rgba(255,179,71,0.3);color:#d97706">~</div><div class="tg-step-body"><b>Жёлтый</b> — 40–70%. Удовлетворительно, требует внимания.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num" style="background:rgba(241,91,181,0.15);border-color:rgba(241,91,181,0.3);color:#db2777">!</div><div class="tg-step-body"><b>Розовый</b> — ниже 40%. Тема не усвоена.</div></div>
|
||
</div>
|
||
<div class="tg-steps" style="margin-top:14px">
|
||
<div class="tg-step"><div class="tg-step-num">→</div><div class="tg-step-body"><b>Экспорт CSV</b> — нажмите кнопку в шапке журнала. Откройте в Excel или Google Sheets для дальнейшей обработки.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-8')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Аналитика</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-10')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Live-квиз</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 10 ═══ -->
|
||
<div class="tg-chapter" id="ch-10">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="radio"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 10</div>
|
||
<div class="tg-chapter-title">Live-квиз</div>
|
||
</div>
|
||
<a href="/live-quiz" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Live-квиз</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-10-1">
|
||
<div class="tg-section-title">10.1 Создание и запуск сессии</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Перейдите в <b>«Live-квиз»</b> → нажмите <b>«Создать сессию»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Выберите вопросы из банка, настройте время на вопрос (по умолчанию 30 сек.).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Нажмите <b>«Запустить»</b>. Ученики, находящиеся в классе, автоматически подключатся.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-10-2">
|
||
<div class="tg-section-title">10.2 Управление в реальном времени</div>
|
||
<p>На экране — текущий вопрос и таймер. Счётчик ответивших учеников обновляется в реальном времени.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">→</div><div class="tg-step-body">Переходите к следующему вопросу <b>вручную</b> (кнопка «Далее») или автоматически по истечении времени.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">→</div><div class="tg-step-body">После каждого вопроса — <b>мгновенная статистика</b>: сколько % ответили правильно, распределение ответов.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">→</div><div class="tg-step-body">После завершения — <b>таблица лидеров</b> и полная статистика по всем вопросам.</div></div>
|
||
</div>
|
||
<div class="tg-success"><div class="tg-box-icon"><i data-lucide="check-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Поздравляем!</div>Вы прошли всё руководство. Теперь вы знаете все возможности LearnSpace. Удачных уроков!</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-9')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Журнал оценок</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-11')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Учебники</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 11 — TEXTBOOKS ═══ -->
|
||
<div class="tg-chapter" id="ch-11">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="book-open-text"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 11</div>
|
||
<div class="tg-chapter-title">Учебники</div>
|
||
</div>
|
||
<a href="/textbooks" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Учебники</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-11-1">
|
||
<div class="tg-section-title">11.1 Каталог учебников</div>
|
||
<p>Раздел <b>«Учебники»</b> в боковом меню — полные интерактивные курсы по предметам со встроенными формулами (KaTeX), диаграммами и анимациями. Каталог постоянно расширяется; сейчас доступны курсы по четырём предметам:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">Σ</div><div class="tg-step-body"><b>Математика</b> — Математика 5–6, Алгебра 7–11, Геометрия 7–11.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">Φ</div><div class="tg-step-body"><b>Физика</b> — Физика 7, 8, 9, 10, 11 (с лабораторными практикумами).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">Х</div><div class="tg-step-body"><b>Химия</b> — Химия 7, 8, 9.</div></div>
|
||
</div>
|
||
<p>Большие курсы разбиты на карточки по главам (например, «Алгебра 7 · Степень» или «Геометрия 8 · Площади»). На карточке учебника видна шкала прогресса «X из Y параграфов прочитано» и кнопка <b>«Продолжить»</b> — открывает учебник на последнем посещённом параграфе.</p>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="info"></i></div><div class="tg-box-body"><div class="tg-box-label">Что видят ученики</div>По умолчанию учебники ученикам <b>не</b> показываются, пока администратор не откроет доступ (Глава 17). Учителя и админы видят весь каталог всегда.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-11-2">
|
||
<div class="tg-section-title">11.2 Чтение и отметки</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте учебник кнопкой «Открыть» на карточке — он раскроется в режиме полного экрана.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Навигация по параграфам — pills в верхней части (§1, §2, …). Активный параграф подсвечивается.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Рядом с заголовком каждого § есть кнопка <b>«Прочитано»</b> — отмечайте по мере изучения. Параграфы получают зелёный индикатор на pill.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Выделите любой текст (8–400 символов) → появится плавающая кнопка <b>«+ Закладка»</b>. Сохраните с заметкой — закладки списком в overlay слева вверху.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">5</div><div class="tg-step-body">Кнопка <b>«← Учебники»</b> в левом верхнем углу — возврат к каталогу.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="info"></i></div><div class="tg-box-body"><div class="tg-box-label">Сохранение</div>Прогресс и закладки сохраняются как в браузере, так и на сервере (если вы залогинены). Открывайте учебник на телефоне — увидите всё то же, что отметили на компьютере.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-11-3">
|
||
<div class="tg-section-title">11.3 Назначить чтение как ДЗ</div>
|
||
<p>Учитель и админ могут назначить чтение глав ученику или классу.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">На карточке учебника нажмите фиолетовую кнопку <b>«+»</b> (Назначить).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">В модалке выберите вкладку <b>«Классу»</b> или <b>«Ученику»</b>.<br>• <b>Классу</b> — чекбоксы для нескольких классов сразу.<br>• <b>Ученику</b> — поиск по имени/email (включая «Моих учеников» из Главы 13).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Укажите диапазон параграфов: <code>1-5</code> или список <code>1,3,7</code>. Пусто = весь учебник.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Опционально — срок сдачи. Нажмите <b>«Назначить»</b>.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="check-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Авто-проверка</div>Как только ученик отметит все требуемые § как «Прочитано» — задание автоматически становится «Сдано», вам приходит уведомление-колокольчик.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-11-4">
|
||
<div class="tg-section-title">11.4 Прогресс класса по учебнику</div>
|
||
<p>В правом верхнем углу каталога — кнопка <b>«Прогресс класса»</b> (только для учителей). Откроет страницу с таблицей: каждый ученик класса, шкала прогресса, последний прочитанный параграф и дата последнего чтения.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Сортировка автоматическая: сначала те, кто прочитал больше.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Селекторы вверху позволяют переключать учебник × класс — удобно сравнивать.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-10')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Live-квиз</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-12')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Экзамен 9 класс</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 12 — EXAM 9 ═══ -->
|
||
<div class="tg-chapter" id="ch-12">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="clipboard-check"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 12</div>
|
||
<div class="tg-chapter-title">Экзамен 9 класс — Математика</div>
|
||
</div>
|
||
<a href="/exam-prep/math9" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Подготовка 9</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-12-1">
|
||
<div class="tg-section-title">12.1 Что внутри</div>
|
||
<p>Раздел <b>«Экзамен 9 класс»</b> — банк из <b>80 экзаменационных вариантов</b> по математике за 9 класс. Каждый вариант — 10 задач: 3 с выбором ответа, 7 открытых. У каждой задачи есть полное пошаговое решение с формулами (KaTeX) и иллюстрациями.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Кнопка <b>«Выбрать вариант»</b> в шапке открывает сетку 80 номеров.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Прогресс отмечается прямо на сетке: зелёный — все решения посмотрены, жёлтый — часть.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Возвращаясь на страницу, автоматически открывается последний просмотренный вариант.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-12-2">
|
||
<div class="tg-section-title">12.2 Назначить вариант как ДЗ</div>
|
||
<p>Каждый <b>нечётный</b> вариант (1, 3, 5, …, 79) импортирован в банк вопросов как готовый тест из 10 задач. Их можно назначать как обычные тесты:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте нужный вариант на странице <b>«Экзамен 9»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Над заголовком — кнопка <b>«Назначить как ДЗ»</b> (видна учителям/админам).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Выберите классы и срок — задание создаётся как обычный тест, ученики проходят через стандартный test-runner.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="info"></i></div><div class="tg-box-body"><div class="tg-box-label">Чётные варианты</div>Для чётных (2, 4, … 80) кнопка «Назначить» неактивна — варианты доступны только для самостоятельного просмотра. Это сделано чтобы у вас оставались «свежие» варианты для самостоятельной подготовки учеников.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-12-3">
|
||
<div class="tg-section-title">12.3 Режим подготовки (хаб)</div>
|
||
<p>Пункт меню <b>«Подготовка к экзамену 9»</b> (<a href="/exam-prep/math9">/exam-prep/math9</a>) — современный хаб подготовки с несколькими режимами:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Темы</b> — тренировка по конкретным темам экзамена.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Варианты</b> — те самые 80 полных вариантов с разбором.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Практика</b> — тренажёр отдельных задач.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Пробник</b> — экзамен на время с итоговым баллом.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="sparkles"></i></div><div class="tg-box-body"><div class="tg-box-label">Квантик на задачах</div>Если администратор включил кнопки помощника (Глава A7), на карточках задач появляются «Подсказка» и «Спросить Квантика» — наводящий шаг или полный разбор. Задачи также связаны с параграфами учебников (deep-link).</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-11')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Учебники</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-13')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Мои ученики</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 13 — MY STUDENTS ═══ -->
|
||
<div class="tg-chapter" id="ch-13">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="user-plus"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 13</div>
|
||
<div class="tg-chapter-title">Мои ученики (без класса)</div>
|
||
</div>
|
||
<a href="/my-students" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Мои ученики</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-13-1">
|
||
<div class="tg-section-title">13.1 Когда это нужно</div>
|
||
<p>Раздел <b>«Мои ученики»</b> — личный список учеников, которых вы хотите учить вне школьного класса:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Репетиторство</b> — частные ученики, которым вы даёте задания индивидуально.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Подготовка к ЦТ/экзаменам</b> — несколько учеников из разных школ.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Доп-занятия</b> — для тех, кому нужна индивидуальная программа в дополнение к классу.</div></div>
|
||
</div>
|
||
<p>Это альтернатива классу из одного человека: меньше бюрократии, никаких приглашений по коду — только email.</p>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-13-2">
|
||
<div class="tg-section-title">13.2 Добавить ученика</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте <b>«Мои ученики»</b> в боковом меню.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">В форме <b>«Добавить ученика»</b> введите email — он должен совпадать с email регистрации ученика на платформе.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Опционально — заметка (например, «9Б, физика, СБ 16:00»). Видна только вам.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Нажмите <b>«Добавить»</b>. Ученик получит уведомление «Вас добавил учитель».</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="user-check"></i></div><div class="tg-box-body"><div class="tg-box-label">Если ученика нет на платформе</div>Сначала отправьте ему ссылку на регистрацию (/login → создать аккаунт), пусть зарегистрируется с тем email, который вы хотите добавить.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-13-3">
|
||
<div class="tg-section-title">13.3 Назначение заданий</div>
|
||
<p>После добавления ученик появляется в поисках в модалках назначений:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">→</div><div class="tg-step-body"><b>Чтение учебника</b> — на <a href="/textbooks">/textbooks</a> → кнопка «+» → вкладка «Ученику» → начинайте набирать имя/email — ученик появится в результатах.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">→</div><div class="tg-step-body"><b>Тесты и файлы</b> — в той же модалке создания задания в классе. Учеников из «Моих учеников» можно найти в общем поиске.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="shield-check"></i></div><div class="tg-box-body"><div class="tg-box-label">Безопасность</div>Учитель может назначать задания только тем ученикам, которые либо в его классе, либо в его списке «Мои ученики». Списки видят только сами учителя — никто другой.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-13-4">
|
||
<div class="tg-section-title">13.4 Удаление и заметки</div>
|
||
<p>Каждая строка списка — отдельный ученик. Доступные действия:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Иконка корзины</b> — убрать ученика из списка. Уже созданные задания НЕ удаляются — ученик продолжит их видеть.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Счётчик «Заданий» показывает, сколько вы лично выдали этому ученику.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="arrow-right-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Продолжайте изучение</div>Следующие главы: Лаборатория (14), Биохимия (15), Геймификация (16), Доступ к контенту (17).</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-12')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Экзамен 9 класс</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-14')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Лаборатория</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 14 — LAB ═══ -->
|
||
<div class="tg-chapter" id="ch-14">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="flask-conical"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 14</div>
|
||
<div class="tg-chapter-title">Виртуальная лаборатория</div>
|
||
</div>
|
||
<a href="/lab" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Лаборатория</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-14-1">
|
||
<div class="tg-section-title">14.1 Что это и зачем</div>
|
||
<p>Виртуальная лаборатория — 40 интерактивных симуляций по физике, химии, математике и биологии. Всё работает прямо в браузере, никаких установок не нужно.</p>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="atom"></i></div><div><div class="tg-tool-name">Физика (14)</div><div class="tg-tool-desc">Маятник, волны, оптика, электричество, газы…</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="flask-conical"></i></div><div><div class="tg-tool-name">Химия (14)</div><div class="tg-tool-desc">Орбитали, кристаллы, реакции, периодическая таблица…</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="calculator"></i></div><div><div class="tg-tool-name">Математика (9)</div><div class="tg-tool-desc">Графики, планиметрия, стереометрия 3D, вероятность…</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="leaf"></i></div><div><div class="tg-tool-name">Биология (2)</div><div class="tg-tool-desc">Деление клетки, фотосинтез</div></div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="link"></i></div><div class="tg-box-body"><div class="tg-box-label">Deep-link на конкретную симуляцию</div>Откройте нужную симуляцию и скопируйте адрес — в нём уже будет параметр <b>?sim=название</b>. Вставьте ссылку в задание или чат урока, и ученик попадёт прямо в неё.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-14-2">
|
||
<div class="tg-section-title">14.2 Связь с учебниками</div>
|
||
<p>В учебниках рядом с нужными параграфами появляется кнопка <b>«В лабораторию»</b> с числом связанных симуляций. Нажмите — откроется лаборатория с уже выбранной симуляцией по теме.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте учебник → нужный параграф.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Нажмите кнопку с иконкой колбы в правом углу параграфа.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Браузер откроет лабораторию и автоматически запустит нужную симуляцию.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-14-3">
|
||
<div class="tg-section-title">14.3 Стереометрия 3D</div>
|
||
<p>Симуляция <b>«Стереометрия»</b> — интерактивные объёмные тела: куб, пирамида, призма, конус, цилиндр, сфера, правильные многогранники и усечённые фигуры.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Вращение</b> — зажмите кнопку мыши и тяните. Фигура крутится в 3D.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Производные точки</b> — середины рёбер, центры граней, засечки.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Deep-link на фигуру</b> — например, <code>/lab?sim=stereo:cube</code> откроет сразу куб.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="monitor"></i></div><div class="tg-box-body"><div class="tg-box-label">На онлайн-уроке</div>Откройте симуляцию в соседней вкладке и включите демонстрацию экрана — ученики увидят 3D-вращение в реальном времени. Или используйте режим аннотации прямо поверх симуляции на доске.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-13')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Мои ученики</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-15')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Биохимия</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 15 — BIOCHEM ═══ -->
|
||
<div class="tg-chapter" id="ch-15">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="atom"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 15</div>
|
||
<div class="tg-chapter-title">Биохимия</div>
|
||
</div>
|
||
<a href="/biochem" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Биохимия</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-15-1">
|
||
<div class="tg-section-title">15.1 Молекулярный редактор</div>
|
||
<p>Страница <b>/biochem</b> — интерактивный редактор молекул. Собирайте молекулы из атомов и связей, платформа мгновенно вычисляет свойства.</p>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="circle"></i></div><div><div class="tg-tool-name">Атомы</div><div class="tg-tool-desc">C, H, O, N, S, P, галогены, металлы</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="git-merge"></i></div><div><div class="tg-tool-name">Связи</div><div class="tg-tool-desc">Одинарные, двойные, тройные</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="box"></i></div><div><div class="tg-tool-name">3D VSEPR</div><div class="tg-tool-desc">Настоящая 3D-геометрия по теории ОЭПВО</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="zap"></i></div><div><div class="tg-tool-name">Заряды δ±</div><div class="tg-tool-desc">Тепловая карта, стрелка диполя</div></div></div>
|
||
</div>
|
||
<p>В панели свойств автоматически отображаются: <b>молярная масса</b>, <b>DBE</b> (степень ненасыщенности), <b>гибридизация</b>, <b>форма молекулы</b>, <b>дипольный момент</b>, <b>полярность</b>, <b>функциональные группы</b>.</p>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="alert-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Валентность в реальном времени</div>Если превысить валентность атома — появится подсказка: «Углерод (C): занято 5 связей, максимум 4 — убери 1». Сохранение заблокируется до исправления.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-15-2">
|
||
<div class="tg-section-title">15.2 Библиотека и свойства</div>
|
||
<p><b>/biochem-library</b> — 105+ молекул с карточками и 2D/3D-превью. Можно сравнивать несколько молекул и экспортировать таблицу в CSV.</p>
|
||
<p><b>/biochem-properties</b> — сравнение молекул: столбчатый график молярных масс, массовые доли элементов.</p>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="download"></i></div><div class="tg-box-body"><div class="tg-box-label">SMILES и экспорт</div>В редакторе можно ввести SMILES-строку (например, <code>CC(=O)O</code> — уксусная кислота), молекула построится автоматически. Готовую молекулу можно экспортировать как PNG или JSON.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-15-3">
|
||
<div class="tg-section-title">15.3 Реакции и метаболические пути</div>
|
||
<p><b>/biochem-reactions</b> — 27 реакций с автоматической балансировкой (показывает коэффициенты) и энергодиаграммой (экзо-/эндотермические с ΔH).</p>
|
||
<p><b>/biochem-pathways</b> — метаболические пути (гликолиз, цикл Кребса и др.) с пошаговым Learn-режимом. За прохождение начисляется XP.</p>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-14')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Лаборатория</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-16')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Геймификация</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 16 — GAMIFICATION ═══ -->
|
||
<div class="tg-chapter" id="ch-16">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="zap"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 16</div>
|
||
<div class="tg-chapter-title">Геймификация и питомец</div>
|
||
</div>
|
||
<a href="/pet" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Питомец</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-16-1">
|
||
<div class="tg-section-title">16.1 XP, уровни и достижения</div>
|
||
<p>Каждое действие ученика приносит <b>опыт (XP)</b>: тесты, лаборатория, чтение учебников, ежедневная активность, ответы на уроке.</p>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="trending-up"></i></div><div><div class="tg-tool-name">8 уровней</div><div class="tg-tool-desc">Новичок → Легенда, у каждого своя модель питомца</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="trophy"></i></div><div><div class="tg-tool-name">38+ достижений</div><div class="tg-tool-desc">Стрики, лаборатория, тесты, биохимия, топ-10</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="flame"></i></div><div><div class="tg-tool-name">Стрики</div><div class="tg-tool-desc">Серия дней подряд — бонусный XP</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="target"></i></div><div><div class="tg-tool-name">Ежедневная цель</div><div class="tg-tool-desc">Лёгкая / Средняя / Тяжёлая</div></div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-16-2">
|
||
<div class="tg-section-title">16.2 Виртуальный питомец</div>
|
||
<p>У каждого ученика есть личный питомец — существо, которое растёт вместе с прогрессом. Ухаживайте за ним: кормите, гладьте.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Имя</b> — ученик выбирает сам при первом посещении /pet.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Цвет</b> — 6 вариантов (фиолетовый, голубой, золотой, красный, зелёный, синий).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Эволюция</b> — с ростом XP появляются уши (ур. 2), антенны (3), крылья (4), корона (5+).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Настроение</b> — зависит от стрика и частоты визитов: бодр, в духе, скучает, голоден.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="star"></i></div><div class="tg-box-body"><div class="tg-box-label">Радужный ошейник</div>При стрике 7+ дней подряд питомец получает анимированный радужный ошейник. Отличный мотиватор для регулярной работы!</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-15')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Биохимия</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-17')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Доступ к контенту</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 17 — ACCESS ═══ -->
|
||
<div class="tg-chapter" id="ch-17">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="shield-check"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 17</div>
|
||
<div class="tg-chapter-title">Доступ к контенту</div>
|
||
</div>
|
||
<a href="/admin" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Админ-панель</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-17-1">
|
||
<div class="tg-section-title">17.1 Открытие учебников и экзаменов классу</div>
|
||
<p>По умолчанию ученики видят только те учебники и экзамены, к которым им открыт доступ. Это настраивается через <b>allowlist</b> — белый список.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте <b>Админ-панель → вкладка «Доступ к контенту»</b>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Выберите учебник или экзамен из списка.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Добавьте класс — все ученики класса получат доступ. Или выберите конкретного ученика — доступ только у него.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="users"></i></div><div class="tg-box-body"><div class="tg-box-label">Приоритеты</div>Доступ ученика выше доступа класса: если классу учебник закрыт, но конкретному ученику открыт — он его увидит.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-17-2">
|
||
<div class="tg-section-title">17.2 Feature Flags — включение модулей</div>
|
||
<p>В <b>Админ-панели → «Настройки»</b> можно включать и отключать целые модули платформы:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Биохимия</b> — полностью скрыть модуль для учеников.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Учебники</b> — отключить раздел учебников.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Флэшкарты, Live-квиз</b> — включить/выключить по необходимости.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Экзаменационные тесты</b> — модуль с 80 вариантами по математике 9 класса.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>И другие</b> — Доска, Классы, Питомец и геймификация, Карта знаний, Красная книга, Кроссворд, Виселица, Коллекция, Квантик-ассистент: каждый модуль скрывается своим флагом.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="shield"></i></div><div class="tg-box-body"><div class="tg-box-label">Только для администратора</div>Изменение feature flags и доступа к контенту доступно только пользователям с ролью <b>admin</b>. Учителя видят только то, к чему у их класса есть доступ.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-17-3">
|
||
<div class="tg-section-title">17.3 System Health</div>
|
||
<p>Администраторам доступна вкладка <b>«System Health»</b> в панели с метриками сервера в реальном времени:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>CPU и RAM</b> — текущая нагрузка процессора и память.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Event loop lag</b> — задержка обработки запросов.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>HTTP-статистика</b> — количество запросов, самые медленные и частые роуты.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Тренды</b> — canvas-графики нагрузки за последние минуты.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Журнал ошибок</b> — последние ошибки сервера с трейсом.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="arrow-right-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Дальше</div>Ещё три раздела: Квантик-ассистент (18), Флэшкарты (19) и обзор остальных модулей (20).</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-16')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Геймификация</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-18')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Квантик-ассистент</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 18 — КВАНТИК-АССИСТЕНТ ═══ -->
|
||
<div class="tg-chapter" id="ch-18">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="sparkles"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 18</div>
|
||
<div class="tg-chapter-title">Квантик-ассистент</div>
|
||
</div>
|
||
<a href="/dashboard" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Открыть</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-18-1">
|
||
<div class="tg-section-title">18.1 Что умеет Квантик</div>
|
||
<p><b>Квантик</b> — встроенный ИИ-помощник. Плавающая кнопка-питомец в левом нижнем углу есть на дашборде, в учебниках и на других страницах. Помогает и ученикам, и учителям.</p>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="message-circle"></i></div><div><div class="tg-tool-name">Отвечает на вопросы</div><div class="tg-tool-desc">По платформе и школьной программе</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="book-open-text"></i></div><div><div class="tg-tool-name">Ищет в учебниках</div><div class="tg-tool-desc">RAG: отвечает по тексту учебников и ссылается на §</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="history"></i></div><div><div class="tg-tool-name">Помнит диалог</div><div class="tg-tool-desc">Учитывает предыдущие реплики беседы</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="copy"></i></div><div><div class="tg-tool-name">Делает флэшкарты</div><div class="tg-tool-desc">Сгенерирует карточки из текста (Глава 19)</div></div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="quote"></i></div><div class="tg-box-body"><div class="tg-box-label">Источники под ответом</div>Если ответ опирался на учебник, под ним появляются ссылки на параграфы. Ответ можно оценить лайком/дизлайком — это помогает улучшать помощника.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-18-2">
|
||
<div class="tg-section-title">18.2 Спроси Квантика</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Нажмите кнопку-питомца → откроется окно с полем ввода.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Задайте вопрос: «объясни теорему Виета», «как создать класс», «реши …». Можно продолжать беседу — Квантик помнит контекст.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">В учебнике выделите фрагмент текста — появится кнопка <b>«Объяснить выделенное»</b>.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="graduation-cap"></i></div><div class="tg-box-body"><div class="tg-box-label">Для учителей</div>Квантик понимает учительские задачи: попросите составить вопросы по теме, план урока или объяснить, как работает инструмент платформы.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-18-3">
|
||
<div class="tg-section-title">18.3 Подсказки на экзамене</div>
|
||
<p>На карточках задач в «Подготовке к экзамену» Квантик умеет работать в двух особых режимах:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Подсказка</b> — даёт наводящий шаг, <i>не</i> выдавая готовый ответ. Ученик додумывает сам.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Спросить Квантика</b> — полное объяснение задачи с формулами.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="toggle-left"></i></div><div class="tg-box-body"><div class="tg-box-label">Включается администратором</div>Сам помощник и кнопки на карточках экзамена включаются/отключаются в админ-панели (раздел «Помощник», Глава A7). На вопросы «какая ты модель» Квантик намеренно не отвечает.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-17')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Доступ к контенту</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-19')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Флэшкарты</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 19 — ФЛЭШКАРТЫ ═══ -->
|
||
<div class="tg-chapter" id="ch-19">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="copy"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 19</div>
|
||
<div class="tg-chapter-title">Флэшкарты</div>
|
||
</div>
|
||
<a href="/flashcards" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Флэшкарты</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-19-1">
|
||
<div class="tg-section-title">19.1 Колоды и карточки</div>
|
||
<p>Раздел <b>«Флэшкарты»</b> — карточки «вопрос → ответ» для заучивания с интервальным повторением.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Создайте <b>колоду</b> (тема): название и цвет.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Добавляйте карточки: лицевая сторона (вопрос/термин) и оборот (ответ/определение).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Запустите повторение — карточки показываются по алгоритму интервального повторения; отмечайте «знаю / не знаю».</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="bell"></i></div><div class="tg-box-body"><div class="tg-box-label">Виджет на дашборде</div>На дашборде есть блок «Повтори карточку» — напоминает про карточки, которые пора повторить.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-19-2">
|
||
<div class="tg-section-title">19.2 Картинки и формулы</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Картинки</b> — на лицевую и оборотную сторону можно загрузить изображение (схема, график, рисунок).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Формулы KaTeX</b> — в редакторе есть палитра символов и живое превью; формулы оборачивайте в <code>$...$</code> или <code>$$...$$</code>.</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-19-3">
|
||
<div class="tg-section-title">19.3 Массовый импорт и генерация ИИ</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body"><b>Добавить список</b> — вставьте сразу много пар «вопрос — ответ» (можно с картинками) и создайте десятки карточек за раз.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body"><b>Генерация Квантиком</b> — дайте помощнику текст (например, параграф), и он предложит готовый набор карточек.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="toggle-left"></i></div><div class="tg-box-body"><div class="tg-box-label">Feature flag</div>Модуль флэшкартов целиком включается/выключается в админ-панели (Глава 17).</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-18')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Квантик-ассистент</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-20')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Ещё модули</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 20 — ЕЩЁ МОДУЛИ ═══ -->
|
||
<div class="tg-chapter" id="ch-20">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="grid-3x3"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 20</div>
|
||
<div class="tg-chapter-title">Ещё модули платформы</div>
|
||
</div>
|
||
<a href="/sitemap" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Путеводитель</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-20-1">
|
||
<div class="tg-section-title">20.1 Карта знаний и Теория</div>
|
||
<p><b>Карта знаний</b> (<a href="/knowledge-map">/knowledge-map</a>) — визуальная карта тем и связей между ними. <b>Теория</b> (<a href="/theory">/theory</a>) — лента опубликованных уроков-конспектов, которые ученики получают из «Редактора уроков» (Глава 7).</p>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-20-2">
|
||
<div class="tg-section-title">20.2 Игры: Кроссворд и Виселица</div>
|
||
<p>Учебные игры для закрепления терминов: <b>Кроссворд</b> (<a href="/crossword">/crossword</a>) и <b>Виселица</b> (<a href="/hangman">/hangman</a>). За прохождение начисляется XP (Глава 16). Включаются/отключаются feature-флагами.</p>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-20-3">
|
||
<div class="tg-section-title">20.3 Красная книга и Коллекция</div>
|
||
<p><b>Красная книга</b> (<a href="/red-book">/red-book</a>) — модуль по экологии и биоразнообразию: виды, биомы, экосистемы и игры-квесты. <b>Коллекция</b> (<a href="/collection">/collection</a>) — собранные учеником материалы и награды.</p>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-20-4">
|
||
<div class="tg-section-title">20.4 Мои материалы, Магазин и Родители</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Мои материалы</b> (<a href="/my-materials">/my-materials</a>) — ученик сохраняет к себе доску (PNG) и заметки из онлайн-урока; копия остаётся даже после удаления сессии.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Магазин наград</b> — за монеты (начисляются вместе с XP) ученик покупает предметы и награды.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Родительские аккаунты</b> (<a href="/parent">/parent</a>) — родитель привязывается к ученику и видит его прогресс и уведомления.</div></div>
|
||
</div>
|
||
<div class="tg-success"><div class="tg-box-icon"><i data-lucide="check-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Почти всё</div>Дальше — мощный «Конструктор симуляций» (создание своих интерактивных сцен), а за ним — главы для администраторов (видны только под ролью admin).</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-19')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Флэшкарты</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-21')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Конструктор симуляций</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ CHAPTER 21 — КОНСТРУКТОР СИМУЛЯЦИЙ ═══ -->
|
||
<div class="tg-chapter" id="ch-21">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="pencil-ruler"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава 21</div>
|
||
<div class="tg-chapter-title">Конструктор симуляций</div>
|
||
</div>
|
||
<a href="/sim-builder" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Открыть конструктор</a>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-1">
|
||
<div class="tg-section-title">21.1 Что это и где</div>
|
||
<p><b>Конструктор симуляций</b> — инструмент, в котором вы сами, без программирования, собираете интерактивную 2D-сцену: параметры-ползунки, объекты (точки, отрезки, векторы, фигуры, подписи), привязанные <b>формулами</b> к параметрам и времени, настоящую физику и графики. Готовую симуляцию можно сохранить, опубликовать в лабораторию, раздать классу и открыть на доске онлайн-урока.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Открыть: в боковом меню пункт <b>«Конструктор симуляций»</b> или адрес <a href="/sim-builder">/sim-builder</a>. Доступно учителю и администратору.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Симуляция — это <b>данные</b>, а не код. Формулы вычисляются безопасным движком (доступны только математические функции), поэтому готовыми сценами безопасно делиться.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="lightbulb"></i></div><div class="tg-box-body"><div class="tg-box-label">Что реально собрать</div>Кинематику (брошенное тело, равноускоренное движение), колебания и волны, графики функций, геометрические чертежи, а с включённой физикой — маятники, пружины и упругие столкновения.</div></div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="shield"></i></div><div class="tg-box-body"><div class="tg-box-label">Если пункта меню нет</div>Администратор мог отключить конструктор: <b>Админка → Функции → «Конструктор симуляций»</b>. При выключенном тумблере страница недоступна, но ранее опубликованные симуляции в лаборатории продолжают работать.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-2">
|
||
<div class="tg-section-title">21.2 Рабочее поле</div>
|
||
<p>В центре — <b>живое превью</b>: всё, что вы добавляете и меняете, сразу видно. Слева — панели настроек, сверху — панель инструментов (Тест, Сброс, Сохранить, Опубликовать, Шаблон, Раздать, отмена/повтор).</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Масштаб</b> — колесо мыши (приближает к курсору).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Перемещение вида (панорама)</b> — перетаскивание мышью по пустому месту сцены.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Кнопки в углу сцены</b> — «Вписать» (показать всю область) и «Сбросить вид».</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Сетка и оси</b> с числовыми делениями и точкой (0,0) рисуются автоматически; границы области задаются в настройках сцены (xmin/xmax/ymin/ymax).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Контролы запущенной симуляции (ползунки, плей/пауза) — плавающая панель в углу, не закрывает сцену; её можно свернуть.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="play"></i></div><div class="tg-box-body"><div class="tg-box-label">Кнопка «Тест»</div>Запускает анимацию (время <code>t</code> идёт), «Сброс» — возвращает в начало. Пока симуляция на паузе, перетаскивание объектов и ползунки служат для настройки сцены.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-3">
|
||
<div class="tg-section-title">21.3 Параметры (ползунки)</div>
|
||
<p>Параметр — это переменная со ползунком, которой можно управлять прямо в симуляции. На параметры потом ссылаются формулы объектов.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Откройте панель <b>«Параметры»</b> → «Добавить параметр».</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Задайте: <b>имя</b> (латиницей, например <code>v</code>, <code>theta</code>), минимум, максимум, шаг, начальное значение и (необязательно) единицу.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">В превью появится ползунок — двигайте его, чтобы видеть, как меняется сцена.</div></div>
|
||
</div>
|
||
<div class="tg-note"><div class="tg-box-icon"><i data-lucide="alert-triangle"></i></div><div class="tg-box-body"><div class="tg-box-label">Зарезервированные имена</div>Нельзя называть параметр <code>t</code> (время), <code>e</code>, <code>pi</code>, <code>w</code>, <code>h</code> — это служебные имена в формулах. Конструктор предупредит и не даст сохранить.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-4">
|
||
<div class="tg-section-title">21.4 Объекты и формулы</div>
|
||
<p>Объекты — это то, что рисуется на сцене. Любое числовое поле объекта (координата, радиус, размер) можно задать <b>числом или формулой</b> от параметров и времени <code>t</code>.</p>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="dot"></i></div><div><div class="tg-tool-name">Точка / Отрезок / Вектор</div><div class="tg-tool-desc">Базовая геометрия со стрелками</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="circle"></i></div><div><div class="tg-tool-name">Круг / Прямоугольник</div><div class="tg-tool-desc">Фигуры с заливкой</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="spline"></i></div><div><div class="tg-tool-name">Ломаная / Кривая</div><div class="tg-tool-desc">Набор точек</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="type"></i></div><div><div class="tg-tool-name">Подпись (LaTeX)</div><div class="tg-tool-desc">Текст и формулы KaTeX</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="line-chart"></i></div><div><div class="tg-tool-name">График</div><div class="tg-tool-desc">Кривая y=f(x), см. 21.7</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="gauge"></i></div><div><div class="tg-tool-name">Индикатор (readout)</div><div class="tg-tool-desc">Живое числовое значение</div></div></div>
|
||
</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Панель <b>«Объекты»</b> → выберите тип → «Добавить».</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">В полях координат пишите формулы: например для броска тела <code>x = v*cos(theta)*t</code>, <code>y = v*sin(theta)*t - 5*t^2</code>.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Кнопка <b>fx</b> у поля открывает палитру: параметры, время <code>t</code>, функции (sin, cos, sqrt, abs, exp, ln…), константы (pi, e). Клик вставляет имя в формулу.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">4</div><div class="tg-step-body">Объект можно поставить мышью: нажмите значок <b>«прицел»</b> у объекта и кликните по сцене — координаты подставятся (см. 21.5).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">5</div><div class="tg-step-body">У объекта можно задать <b>id</b> и затем ссылаться на его координаты в других формулах: <code>id.x</code>, <code>id.y</code>.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="function-square"></i></div><div class="tg-box-body"><div class="tg-box-label">Ошибки в формуле</div>Если выражение записано неверно, поле подсветится и покажет ошибку — симуляция при этом не ломается. Деление на ноль и неопределённости дают 0.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-5">
|
||
<div class="tg-section-title">21.5 Стиль, порядок и прямое редактирование</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Стиль объекта</b>: выбор цвета (палитра), прозрачность, толщина и тип линии (сплошная / штрих / пунктир), стиль точки, свечение, градиентная заливка.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Порядок и операции</b>: кнопки «вверх/вниз» меняют порядок отрисовки (что поверх чего), есть дублирование и тумблер видимости (глаз), удаление.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Перетаскивание на сцене</b>: значок «прицел» включает ручки — тяните точку, концы отрезка/вектора, вершины ломаной прямо на превью (на паузе). Поля с формулами при этом не затираются.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Привязка к сетке</b> (тумблер в панели инструментов) — координаты при перетаскивании округляются к узлам сетки.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Отмена/повтор</b>: кнопки в панели инструментов и горячие клавиши <code>Ctrl+Z</code> / <code>Ctrl+Y</code> (или <code>Ctrl+Shift+Z</code>).</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-6">
|
||
<div class="tg-section-title">21.6 Физика</div>
|
||
<p>Включите тумблер <b>«Физика»</b> — и часть объектов будет двигаться по законам механики, а не по формуле. Движок сам интегрирует движение.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Общие силы</b>: гравитация (g по X и Y), трение, упругость столкновений (0…1).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Тело</b>: у точки/круга включите «тело» и задайте массу и начальную скорость (vx, vy). Тело падает, сталкивается, отскакивает.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Пружины</b> — между двумя телами или телом и точкой-якорем (жёсткость, длина покоя, демпфирование).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Стены</b> — границы области (низ/верх/лево/право) или произвольный отрезок: от них тела отражаются.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Тело можно <b>тянуть мышью</b> на паузе; при отпускании в запущенной сцене оно полетит.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="info"></i></div><div class="tg-box-body"><div class="tg-box-label">Формулы и физика вместе</div>Физические тела и формульные объекты сосуществуют на одной сцене: например, подпись или вектор скорости можно привязать к координатам тела через <code>id.x</code>, <code>id.y</code>.</div></div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-7">
|
||
<div class="tg-section-title">21.7 Графики и диаграммы</div>
|
||
<p>Объект <b>«График»</b> рисует кривую функции прямо на сцене в мировых координатах.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Задайте выражение (например <code>sin(x)</code>), переменную (по умолчанию <code>x</code>), диапазон и число точек.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Несколько кривых</b> на одном графике — у каждой свои цвет, подпись, толщина и стиль линии.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Заливка под кривой</b>, <b>маркеры точек</b> и <b>легенда</b> (по подписям кривых) включаются переключателями.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Режим <b>«след» (trace)</b> — кривая накапливается по времени <code>t</code> (удобно строить график величины в ходе анимации).</div></div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="tg-section" id="s-21-8">
|
||
<div class="tg-section-title">21.8 Сохранение, публикация и раздача</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Сохранить</b> — симуляция сохраняется как черновик (видна только вам).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Опубликовать</b> — симуляция появляется в лаборатории для всех; «Снять с публикации» возвращает в черновик.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Шаблон</b> — начать не с нуля, а с заготовки (пустая, маятник, график, бросок).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Раздать классу</b> — ученики класса получают уведомление со ссылкой на симуляцию (она автоматически публикуется).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Клонировать</b> — сделать свою копию чужой опубликованной симуляции и доработать её.</div></div>
|
||
</div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="flask-conical"></i></div><div class="tg-box-body"><div class="tg-box-label">Где появляются ваши симуляции</div>В <a href="/lab">лаборатории</a> есть раздел <b>«Мои симуляции»</b> — там ваши черновики и опубликованные, с кнопками «Редактировать» и «Удалить». Прямая ссылка вида <code>/lab?sim=custom:НОМЕР</code> открывает конкретную симуляцию.</div></div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="presentation"></i></div><div class="tg-box-body"><div class="tg-box-label">На онлайн-уроке</div>Свою симуляцию можно открыть на доске урока — значения ползунков синхронизируются у учеников, а поверх можно рисовать аннотации.</div></div>
|
||
<div class="tg-success"><div class="tg-box-icon"><i data-lucide="check-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Готово</div>Это вся учительская часть руководства. Дальше — главы для администраторов (видны только под ролью admin).</div></div>
|
||
</div>
|
||
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-20')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Ещё модули платформы</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-1')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="rotate-ccw"></i></div>
|
||
<div><div class="tg-ch-nav-label">Вернуться к началу</div><div class="tg-ch-nav-title">Быстрый старт</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ ADMIN GUIDE (только для роли admin, скрыт по умолчанию) ═══ -->
|
||
<div id="tg-admin-content" style="display:none">
|
||
|
||
<!-- A1 -->
|
||
<div class="tg-chapter admin-chapter" id="ch-a1">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="layout-dashboard"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава A1</div>
|
||
<div class="tg-chapter-title">Командный центр</div>
|
||
</div>
|
||
<a href="/dashboard" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Дашборд</a>
|
||
</div>
|
||
<div class="tg-chapter-admin-header"><i data-lucide="shield"></i> Только для администратора</div>
|
||
<div class="tg-section" id="s-a1-1">
|
||
<div class="tg-section-title">A1.1 Дашборд администратора</div>
|
||
<p>Администратор попадает на <b>командный центр</b> — специальный дашборд вместо ученического. Показывает состояние платформы за последние 24 часа.</p>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="play-circle"></i></div><div><div class="tg-tool-name">Сессий запущено</div><div class="tg-tool-desc">Со спарклайном за 7 дней</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="activity"></i></div><div><div class="tg-tool-name">Активных пользователей</div><div class="tg-tool-desc">За 24 часа</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="user-plus"></i></div><div><div class="tg-tool-name">Новые регистрации</div><div class="tg-tool-desc">За 24 часа</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="check-circle"></i></div><div><div class="tg-tool-name">Завершаемость</div><div class="tg-tool-desc">Доля незаброшенных сессий</div></div></div>
|
||
</div>
|
||
</div>
|
||
<div class="tg-section" id="s-a1-2">
|
||
<div class="tg-section-title">A1.2 Очередь триажа «Требует внимания»</div>
|
||
<p>Центральный блок дашборда — события, требующие действия. Три вкладки:</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Блокировки</b> — заблокированные за неделю. Кнопка «Открыть» → карточка пользователя.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Зависшие</b> — сессии, не завершившиеся более 1 часа. Кнопка «Сессия» → к ней.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Брошенные</b> — всплеск прерванных сессий за 24ч (сигнал проблемы).</div></div>
|
||
</div>
|
||
</div>
|
||
<div class="tg-section" id="s-a1-3">
|
||
<div class="tg-section-title">A1.3 Лента завершений и статистика</div>
|
||
<p><b>Лента завершений</b> — поток последних завершённых сессий с % и распределением по предметам.</p>
|
||
<p><b>Результаты дня</b>: Топ-5 (лучшие) и «Нужна помощь» (<50%) — быстрый способ выявить учеников, которым сложно.</p>
|
||
</div>
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-a2')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Управление пользователями</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- A2 -->
|
||
<div class="tg-chapter admin-chapter" id="ch-a2">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="users"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава A2</div>
|
||
<div class="tg-chapter-title">Управление пользователями</div>
|
||
</div>
|
||
<a href="/admin#users" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Пользователи</a>
|
||
</div>
|
||
<div class="tg-chapter-admin-header"><i data-lucide="shield"></i> Только для администратора</div>
|
||
<div class="tg-section" id="s-a2-1">
|
||
<div class="tg-section-title">A2.1 Список и фильтры</div>
|
||
<p>Вкладка <b>«Пользователи»</b> — все зарегистрированные: имя, email, роль, регистрация, последний вход, количество тестов, средний балл. Фильтры: по роли, поиск по имени/email.</p>
|
||
</div>
|
||
<div class="tg-section" id="s-a2-2">
|
||
<div class="tg-section-title">A2.2 Карточка пользователя</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Смена роли</b> — student / teacher / admin / free_student. Инвалидирует токен.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Блокировка / разблокировка</b> — заблокированный не может войти.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>История сессий</b> — все тестовые сессии с результатами.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Удаление</b> — полное удаление пользователя и всех его данных.</div></div>
|
||
</div>
|
||
<div class="tg-warning"><div class="tg-box-icon"><i data-lucide="alert-triangle"></i></div><div class="tg-box-body"><div class="tg-box-label">Нельзя изменить свою роль</div>Защита от случайного лишения прав.</div></div>
|
||
</div>
|
||
<div class="tg-section" id="s-a2-3">
|
||
<div class="tg-section-title">A2.3 Глобальный поиск (Ctrl+K)</div>
|
||
<p>В любом разделе нажмите <b>Ctrl+K</b> — command palette: поиск пользователей, тестов, классов. Результаты кликабельны.</p>
|
||
</div>
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-a1')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Командный центр</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-a3')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Контент и доступ</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- A3 -->
|
||
<div class="tg-chapter admin-chapter" id="ch-a3">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="book-lock"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава A3</div>
|
||
<div class="tg-chapter-title">Контент и доступ к учебникам</div>
|
||
</div>
|
||
<a href="/admin#access" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Доступ</a>
|
||
</div>
|
||
<div class="tg-chapter-admin-header"><i data-lucide="shield"></i> Только для администратора</div>
|
||
<div class="tg-section" id="s-a3-1">
|
||
<div class="tg-section-title">A3.1 Allowlist — открытие учебников</div>
|
||
<p>Вкладка <b>«Доступ к контенту»</b>. Ученики видят только учебники/экзамены, которые администратор явно открыл. Выберите учебник → добавьте класс или конкретного ученика.</p>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="shield-check"></i></div><div class="tg-box-body"><div class="tg-box-label">Приоритеты</div>Доступ ученика выше доступа класса. Администраторы и учителя видят весь контент всегда.</div></div>
|
||
</div>
|
||
<div class="tg-section" id="s-a3-2">
|
||
<div class="tg-section-title">A3.2 Управление симуляциями</div>
|
||
<p>Вкладка <b>«Симуляции»</b> — каталог 40 симуляций: включить/выключить, пометить как рекомендованную (featured), привязать к параграфам учебников (кнопка «В лабораторию»).</p>
|
||
</div>
|
||
<div class="tg-section" id="s-a3-3">
|
||
<div class="tg-section-title">A3.3 Feature Flags</div>
|
||
<p>Включение/отключение модулей платформы без перезапуска сервера: биохимия, учебники, флэшкарты, доска, live-квиз, экзамен, симуляции, игры (кроссворд, виселица), красная книга, карта знаний, коллекция, питомец и геймификация, Квантик-ассистент.</p>
|
||
</div>
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-a2')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Пользователи</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-a4')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Геймификация (admin)</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- A4 -->
|
||
<div class="tg-chapter admin-chapter" id="ch-a4">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="zap"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава A4</div>
|
||
<div class="tg-chapter-title">Геймификация — панель администратора</div>
|
||
</div>
|
||
<a href="/admin#gam" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Геймификация</a>
|
||
</div>
|
||
<div class="tg-chapter-admin-header"><i data-lucide="shield"></i> Только для администратора</div>
|
||
<div class="tg-section" id="s-a4-1">
|
||
<div class="tg-section-title">A4.1 Статистика</div>
|
||
<p>Суммарный XP и монеты, средний уровень, достижений выдано, Топ-10 по XP, последние начисления XP с читаемыми подписями.</p>
|
||
</div>
|
||
<div class="tg-section" id="s-a4-2">
|
||
<div class="tg-section-title">A4.2 Начисление XP и монет</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">1</div><div class="tg-step-body">Выберите пользователя из списка. Фильтр по имени для быстрого поиска.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">2</div><div class="tg-step-body">Задайте XP через пресеты (0/+10/+25/+50/+100/+250). <b>0 = не начисляется.</b></div></div>
|
||
<div class="tg-step"><div class="tg-step-num">3</div><div class="tg-step-body">Задайте монеты (0/+10/+25/+50), укажите причину, нажмите «Начислить».</div></div>
|
||
</div>
|
||
</div>
|
||
<div class="tg-section" id="s-a4-3">
|
||
<div class="tg-section-title">A4.3 Сброс прогресса</div>
|
||
<p>Удаляет весь XP, монеты, достижения и историю начислений выбранного пользователя.</p>
|
||
<div class="tg-warning"><div class="tg-box-icon"><i data-lucide="alert-triangle"></i></div><div class="tg-box-body"><div class="tg-box-label">Необратимо</div>Данные удаляются безвозвратно. Требуется подтверждение.</div></div>
|
||
</div>
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-a3')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Контент и доступ</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-a5')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Аудит и безопасность</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- A5 -->
|
||
<div class="tg-chapter admin-chapter" id="ch-a5">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="file-text"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава A5</div>
|
||
<div class="tg-chapter-title">Аудит и безопасность</div>
|
||
</div>
|
||
<a href="/admin#sublog" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Аудит-лог</a>
|
||
</div>
|
||
<div class="tg-chapter-admin-header"><i data-lucide="shield"></i> Только для администратора</div>
|
||
<div class="tg-section" id="s-a5-1">
|
||
<div class="tg-section-title">A5.1 Аудит-лог</div>
|
||
<p>Хронология всех административных действий: смены ролей, блокировки, начисления XP, сброс прогресса, изменения разрешений.</p>
|
||
</div>
|
||
<div class="tg-section" id="s-a5-2">
|
||
<div class="tg-section-title">A5.2 Разрешения (RBAC)</div>
|
||
<p>Вкладка <b>«Разрешения»</b> — гранулярный контроль: per-role (для роли целиком) и per-user (для конкретного пользователя, приоритет выше).</p>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="info"></i></div><div class="tg-box-body"><div class="tg-box-label">free_student</div>Роль с минимальными правами — гибко расширяется разрешениями. Используйте для демо-аккаунтов.</div></div>
|
||
</div>
|
||
<div class="tg-section" id="s-a5-3">
|
||
<div class="tg-section-title">A5.3 Модерация аватаров</div>
|
||
<p>Ученики загружают фото — оно не показывается до подтверждения. Карточка ученика → вкладка «Аватар» → Принять / Отклонить.</p>
|
||
</div>
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-a4')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Геймификация (admin)</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-a6')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">System Health</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- A6 -->
|
||
<div class="tg-chapter admin-chapter" id="ch-a6">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="activity"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава A6</div>
|
||
<div class="tg-chapter-title">System Health</div>
|
||
</div>
|
||
<a href="/admin#health" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Health</a>
|
||
</div>
|
||
<div class="tg-chapter-admin-header"><i data-lucide="shield"></i> Только для администратора</div>
|
||
<div class="tg-section" id="s-a6-1">
|
||
<div class="tg-section-title">A6.1 Метрики сервера</div>
|
||
<div class="tg-tools-grid">
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="cpu"></i></div><div><div class="tg-tool-name">CPU / RAM</div><div class="tg-tool-desc">Текущая нагрузка и память</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="clock"></i></div><div><div class="tg-tool-name">Event Loop Lag</div><div class="tg-tool-desc">Задержка обработки запросов</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="bar-chart-3"></i></div><div><div class="tg-tool-name">Тренды</div><div class="tg-tool-desc">Canvas-графики нагрузки</div></div></div>
|
||
<div class="tg-tool-card"><div class="tg-tool-icon"><i data-lucide="alert-circle"></i></div><div><div class="tg-tool-name">Журнал ошибок</div><div class="tg-tool-desc">Последние ошибки с трейсом</div></div></div>
|
||
</div>
|
||
</div>
|
||
<div class="tg-section" id="s-a6-2">
|
||
<div class="tg-section-title">A6.2 HTTP-статистика</div>
|
||
<p>Самые медленные роуты (avgMs), самые частые, соотношение статус-кодов 2xx/4xx/5xx.</p>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="alert-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Event Loop Lag > 200ms</div>Сигнал перегрузки. Проверьте журнал ошибок и медленные роуты.</div></div>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="sparkles"></i></div><div class="tg-box-body"><div class="tg-box-label">Почти всё</div>Остался последний раздел — настройка ИИ-помощника Квантика (Глава A7).</div></div>
|
||
</div>
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-a5')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">Аудит и безопасность</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-a7')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-right"></i></div>
|
||
<div><div class="tg-ch-nav-label">Следующая глава</div><div class="tg-ch-nav-title">Помощник Квантик (ИИ)</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- A7 -->
|
||
<div class="tg-chapter admin-chapter" id="ch-a7">
|
||
<div class="tg-chapter-header">
|
||
<div class="tg-chapter-icon"><i data-lucide="sparkles"></i></div>
|
||
<div class="tg-chapter-meta">
|
||
<div class="tg-chapter-num">Глава A7</div>
|
||
<div class="tg-chapter-title">Помощник Квантик — провайдеры ИИ</div>
|
||
</div>
|
||
<a href="/admin" class="tg-chapter-try" target="_blank"><i data-lucide="external-link"></i> Помощник</a>
|
||
</div>
|
||
<div class="tg-chapter-admin-header"><i data-lucide="shield"></i> Только для администратора</div>
|
||
<div class="tg-section" id="s-a7-1">
|
||
<div class="tg-section-title">A7.1 Провайдеры и авто-перехват</div>
|
||
<p>Вкладка <b>«Помощник»</b> в админ-панели. Вверху — общий выключатель Квантика для всей системы. Ниже — карточки провайдеров ИИ.</p>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Активный</b> провайдер (фиолетовая рамка) используется первым.</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">При лимите/ошибке Квантик <b>автоматически переключается</b> на следующего провайдера с ключом; в админке появляется баннер «работаю на …» (его можно снять кнопкой).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body">Кнопки на карточке: <b>Сделать активным · Тест · Изменить · Удалить</b>. Форма добавления свёрнута, открывается кнопкой «+ Добавить провайдера».</div></div>
|
||
</div>
|
||
</div>
|
||
<div class="tg-section" id="s-a7-2">
|
||
<div class="tg-section-title">A7.2 Модели и лимиты</div>
|
||
<p>Для провайдера Kilo доступен список бесплатных моделей прямо на карточке (переключатель). Кнопка <b>«Загрузить модели провайдера»</b> в форме подтягивает живой список моделей с их лимитами.</p>
|
||
<div class="tg-tip"><div class="tg-box-icon"><i data-lucide="gauge"></i></div><div class="tg-box-body"><div class="tg-box-label">Лимиты моделей</div>Под моделью показывается «контекст · ответ до N токенов · бесплатно/платно» — данные тянутся автоматически из API провайдера (работает и для Gemini, и для новых моделей).</div></div>
|
||
</div>
|
||
<div class="tg-section" id="s-a7-3">
|
||
<div class="tg-section-title">A7.3 RAG, экзамен и статистика</div>
|
||
<div class="tg-steps">
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>RAG по учебникам</b> — тумблер «Искать ответы по учебникам» + кнопка «Переиндексировать учебники».</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Кнопки на экзамене</b> — тумблер показа «Подсказка / Спросить Квантика» на карточках задач (Глава 18).</div></div>
|
||
<div class="tg-step"><div class="tg-step-num">—</div><div class="tg-step-body"><b>Статистика</b> — запросы к ИИ / из кэша / FAQ за день и за 30 дней, лайки и дизлайки.</div></div>
|
||
</div>
|
||
<div class="tg-success"><div class="tg-box-icon"><i data-lucide="check-circle"></i></div><div class="tg-box-body"><div class="tg-box-label">Готово!</div>Вы изучили полное руководство — все разделы для учителей и администраторов.</div></div>
|
||
</div>
|
||
<div class="tg-chapter-nav">
|
||
<div class="tg-ch-nav-btn prev" onclick="scrollToChapter('ch-a6')">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="arrow-left"></i></div>
|
||
<div><div class="tg-ch-nav-label">Предыдущая глава</div><div class="tg-ch-nav-title">System Health</div></div>
|
||
</div>
|
||
<div class="tg-ch-nav-btn next" onclick="scrollToChapter('ch-1')" style="text-align:right">
|
||
<div class="tg-ch-nav-icon"><i data-lucide="rotate-ccw"></i></div>
|
||
<div><div class="tg-ch-nav-label">Вернуться к началу</div><div class="tg-ch-nav-title">Быстрый старт</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div><!-- #tg-admin-content -->
|
||
|
||
</main>
|
||
</div>
|
||
</div><!-- .sb-content -->
|
||
</div><!-- .app-layout -->
|
||
|
||
<script src="/js/api.js"></script>
|
||
<script src="/js/sidebar.js"></script>
|
||
<script src="/js/notifications.js"></script>
|
||
<script src="/js/search.js"></script>
|
||
<script src="/js/mobile.js"></script>
|
||
<script>
|
||
const { isAdmin } = LS.initPage();
|
||
lucide.createIcons();
|
||
|
||
if (isAdmin) {
|
||
document.getElementById('tg-admin-content').style.display = '';
|
||
document.getElementById('tg-nav-admin').style.display = '';
|
||
}
|
||
|
||
/* ── Chapter metadata ── */
|
||
const CHAPTERS = [
|
||
{ id:'ch-1', label:'Быстрый старт', icon:'rocket', sections:['s-1-1','s-1-2','s-1-3','s-1-4'], sLabels:['Первый вход','Интерфейс','Первый класс','Чеклист'] },
|
||
{ id:'ch-2', label:'Управление классами', icon:'graduation-cap', sections:['s-2-1','s-2-2','s-2-3','s-2-4'], sLabels:['Создание класса','Приглашение','Состав и удаление','Обновление кода'] },
|
||
{ id:'ch-3', label:'Банк вопросов', icon:'database', sections:['s-3-1','s-3-2','s-3-3'], sLabels:['Создание вопроса','Типы вопросов','Дублирование и импорт'] },
|
||
{ id:'ch-4', label:'Задания и тесты', icon:'clipboard-check', sections:['s-4-1','s-4-2','s-4-3','s-4-4'], sLabels:['Создание задания','Параметры','Результаты и статистика','Кому: класс / ученик / личный список'] },
|
||
{ id:'ch-5', label:'Онлайн-урок', icon:'presentation', sections:['s-5-1','s-5-2','s-5-3','s-5-4','s-5-5','s-5-6'], sLabels:['Запуск и завершение','Инструменты доски','Страницы и шаблоны','Zoom и темы','Чат и видеосвязь','Гостевая ссылка'] },
|
||
{ id:'ch-6', label:'Библиотека материалов', icon:'book-open', sections:['s-6-1','s-6-2'], sLabels:['Загрузка файлов','Папки и доступ'] },
|
||
{ id:'ch-7', label:'Редактор уроков', icon:'file-edit', sections:['s-7-1','s-7-2'], sLabels:['Создание урока','Типы блоков'] },
|
||
{ id:'ch-8', label:'Аналитика', icon:'bar-chart-2', sections:['s-8-1','s-8-2'], sLabels:['Дашборд аналитики','Профиль ученика'] },
|
||
{ id:'ch-9', label:'Журнал оценок', icon:'table', sections:['s-9-1'], sLabels:['Таблица и экспорт'] },
|
||
{ id:'ch-10', label:'Live-квиз', icon:'radio', sections:['s-10-1','s-10-2'], sLabels:['Создание сессии','Управление'] },
|
||
{ id:'ch-11', label:'Учебники', icon:'book-open-text', sections:['s-11-1','s-11-2','s-11-3','s-11-4'], sLabels:['Каталог','Чтение и отметки','Назначить как ДЗ','Прогресс класса'] },
|
||
{ id:'ch-12', label:'Экзамен 9 класс', icon:'clipboard-check', sections:['s-12-1','s-12-2','s-12-3'], sLabels:['Что внутри','Назначить вариант','Режим подготовки'] },
|
||
{ id:'ch-13', label:'Мои ученики', icon:'user-plus', sections:['s-13-1','s-13-2','s-13-3','s-13-4'], sLabels:['Когда нужно','Добавить ученика','Назначение','Удаление и заметки'] },
|
||
{ id:'ch-14', label:'Виртуальная лаборатория', icon:'flask-conical', sections:['s-14-1','s-14-2','s-14-3'], sLabels:['40 симуляций','Связь с учебниками','Стереометрия 3D'] },
|
||
{ id:'ch-15', label:'Биохимия', icon:'atom', sections:['s-15-1','s-15-2','s-15-3'], sLabels:['Молекулярный редактор','Библиотека и свойства','Реакции и пути'] },
|
||
{ id:'ch-16', label:'Геймификация и питомец', icon:'zap', sections:['s-16-1','s-16-2'], sLabels:['XP и достижения','Виртуальный питомец'] },
|
||
{ id:'ch-17', label:'Доступ к контенту', icon:'shield-check', sections:['s-17-1','s-17-2','s-17-3'], sLabels:['Открытие учебников классу','Feature Flags','System Health'] },
|
||
{ id:'ch-18', label:'Квантик-ассистент', icon:'sparkles', sections:['s-18-1','s-18-2','s-18-3'], sLabels:['Что умеет','Спроси Квантика','Подсказки на экзамене'] },
|
||
{ id:'ch-19', label:'Флэшкарты', icon:'copy', sections:['s-19-1','s-19-2','s-19-3'], sLabels:['Колоды и карточки','Картинки и формулы','Импорт и генерация ИИ'] },
|
||
{ id:'ch-20', label:'Ещё модули платформы', icon:'grid-3x3', sections:['s-20-1','s-20-2','s-20-3','s-20-4'], sLabels:['Карта знаний и Теория','Игры: Кроссворд, Виселица','Красная книга и Коллекция','Материалы, Магазин, Родители'] },
|
||
{ id:'ch-21', label:'Конструктор симуляций', icon:'pencil-ruler', sections:['s-21-1','s-21-2','s-21-3','s-21-4','s-21-5','s-21-6','s-21-7','s-21-8'], sLabels:['Что это и где','Рабочее поле','Параметры','Объекты и формулы','Стиль и порядок','Физика','Графики','Сохранение и раздача'] },
|
||
];
|
||
|
||
const ADMIN_CHAPTERS = [
|
||
{ id:'ch-a1', label:'Командный центр', icon:'layout-dashboard', sections:['s-a1-1','s-a1-2','s-a1-3'], sLabels:['Дашборд администратора','Очередь триажа','Лента и статистика'] },
|
||
{ id:'ch-a2', label:'Управление пользователями', icon:'users', sections:['s-a2-1','s-a2-2','s-a2-3'], sLabels:['Список и фильтры','Карточка пользователя','Глобальный поиск'] },
|
||
{ id:'ch-a3', label:'Контент и доступ', icon:'book-lock', sections:['s-a3-1','s-a3-2','s-a3-3'], sLabels:['Allowlist учебников','Симуляции','Feature Flags'] },
|
||
{ id:'ch-a4', label:'Геймификация (admin)', icon:'zap', sections:['s-a4-1','s-a4-2','s-a4-3'], sLabels:['Статистика','Начисление XP/монет','Сброс прогресса'] },
|
||
{ id:'ch-a5', label:'Аудит и безопасность', icon:'file-text', sections:['s-a5-1','s-a5-2','s-a5-3'], sLabels:['Аудит-лог','Разрешения RBAC','Модерация аватаров'] },
|
||
{ id:'ch-a6', label:'System Health', icon:'activity', sections:['s-a6-1','s-a6-2'], sLabels:['Метрики сервера','HTTP-статистика'] },
|
||
{ id:'ch-a7', label:'Помощник Квантик (ИИ)', icon:'sparkles', sections:['s-a7-1','s-a7-2','s-a7-3'], sLabels:['Провайдеры и failover','Модели и лимиты','RAG и статистика'] },
|
||
];
|
||
|
||
const ALL_CHAPTERS = () => isAdmin ? [...CHAPTERS, ...ADMIN_CHAPTERS] : CHAPTERS;
|
||
|
||
/* ── Render nav ── */
|
||
function buildNavItem(ch, label, container, extraClass) {
|
||
const div = document.createElement('div');
|
||
div.className = 'tg-nav-chapter' + (extraClass ? ' ' + extraClass : '');
|
||
div.dataset.ch = ch.id;
|
||
div.innerHTML = `
|
||
<button class="tg-nav-ch-btn" onclick="navChapterClick('${ch.id}',this)">
|
||
<span class="tg-nav-ch-icon"><i data-lucide="${ch.icon}"></i></span>
|
||
<span class="tg-nav-ch-label">${label}</span>
|
||
<span class="tg-nav-ch-status"><i data-lucide="check"></i></span>
|
||
<span class="tg-nav-ch-chevron"><i data-lucide="chevron-right"></i></span>
|
||
</button>
|
||
<div class="tg-nav-sections">
|
||
${ch.sections.map((sid, si) => `<a class="tg-nav-sec-link" data-sec="${sid}" onclick="scrollToSection('${sid}')">${ch.sLabels[si]}</a>`).join('')}
|
||
</div>`;
|
||
container.appendChild(div);
|
||
}
|
||
|
||
const navContainer = document.getElementById('tg-nav-chapters');
|
||
CHAPTERS.forEach((ch, ci) => buildNavItem(ch, (ci+1) + '. ' + ch.label, navContainer, ''));
|
||
|
||
if (isAdmin) {
|
||
const adminNavContainer = document.getElementById('tg-nav-admin-chapters');
|
||
ADMIN_CHAPTERS.forEach((ch, ci) => buildNavItem(ch, 'A' + (ci+1) + '. ' + ch.label, adminNavContainer, 'admin'));
|
||
}
|
||
|
||
lucide.createIcons();
|
||
|
||
/* ── Chapter switching ── */
|
||
const scrollEl = document.getElementById('tg-scroll');
|
||
const progBar = document.getElementById('tg-prog-bar');
|
||
const tgContent = document.querySelector('.tg-content');
|
||
let _activeChId = null;
|
||
|
||
function showChapter(chId, sectionId) {
|
||
const newEl = document.getElementById(chId);
|
||
if (!newEl) return;
|
||
if (_activeChId) {
|
||
const prev = document.getElementById(_activeChId);
|
||
if (prev) prev.classList.remove('tg-active');
|
||
}
|
||
newEl.classList.add('tg-active');
|
||
_activeChId = chId;
|
||
history.replaceState(null, '', '#' + chId);
|
||
scrollEl.scrollTop = 0;
|
||
if (sectionId) {
|
||
requestAnimationFrame(() => {
|
||
const sec = document.getElementById(sectionId);
|
||
if (sec) {
|
||
const top = sec.offsetTop - 80;
|
||
scrollEl.scrollTo({ top, behavior: 'smooth' });
|
||
}
|
||
});
|
||
}
|
||
// Nav: highlight active chapter, open its sub-list
|
||
document.querySelectorAll('.tg-nav-chapter').forEach(div => {
|
||
const isThis = div.dataset.ch === chId;
|
||
div.querySelector('.tg-nav-ch-btn').classList.toggle('active', isThis);
|
||
if (isThis && !div.classList.contains('open')) div.classList.add('open');
|
||
});
|
||
document.querySelectorAll('.tg-nav-sec-link').forEach(a => a.classList.remove('active'));
|
||
markRead(chId);
|
||
}
|
||
|
||
function scrollToChapter(chId) { showChapter(chId); }
|
||
function scrollToSection(secId) {
|
||
const ch = ALL_CHAPTERS().find(c => c.sections.includes(secId));
|
||
if (ch) showChapter(ch.id, secId);
|
||
}
|
||
|
||
function navChapterClick(chId, btn) {
|
||
btn.closest('.tg-nav-chapter').classList.toggle('open');
|
||
showChapter(chId);
|
||
}
|
||
|
||
/* ── Read tracking ── */
|
||
const READ_KEY = 'ls_tg_read';
|
||
let readChapters = JSON.parse(localStorage.getItem(READ_KEY) || '[]');
|
||
|
||
function markRead(chId) {
|
||
if (!readChapters.includes(chId)) {
|
||
readChapters.push(chId);
|
||
localStorage.setItem(READ_KEY, JSON.stringify(readChapters));
|
||
}
|
||
updateReadUI();
|
||
}
|
||
|
||
function updateReadUI() {
|
||
document.querySelectorAll('.tg-nav-chapter').forEach(div => {
|
||
div.querySelector('.tg-nav-ch-btn').classList.toggle('read', readChapters.includes(div.dataset.ch));
|
||
});
|
||
const n = readChapters.length;
|
||
const total = ALL_CHAPTERS().length;
|
||
document.getElementById('tg-prog-text').textContent = `${n} из ${total} глав прочитано`;
|
||
progBar.style.width = Math.round(n / total * 100) + '%';
|
||
}
|
||
updateReadUI();
|
||
|
||
/* ── Checklist ── */
|
||
const CL_KEY = 'ls_tg_checklist';
|
||
const clState = JSON.parse(localStorage.getItem(CL_KEY) || '{}');
|
||
|
||
document.querySelectorAll('.tg-cl-item').forEach(item => {
|
||
const id = item.dataset.id;
|
||
const cb = item.querySelector('input');
|
||
if (clState[id]) { cb.checked = true; item.classList.add('checked'); }
|
||
cb.addEventListener('change', () => {
|
||
clState[id] = cb.checked;
|
||
item.classList.toggle('checked', cb.checked);
|
||
localStorage.setItem(CL_KEY, JSON.stringify(clState));
|
||
updateChecklist();
|
||
});
|
||
item.querySelector('.tg-cl-link')?.addEventListener('click', e => e.stopPropagation());
|
||
});
|
||
|
||
function updateChecklist() {
|
||
const total = document.querySelectorAll('.tg-cl-item').length;
|
||
const done = document.querySelectorAll('.tg-cl-item input:checked').length;
|
||
document.getElementById('cl-prog').textContent = `${done} / ${total}`;
|
||
document.getElementById('cl-bar').style.width = Math.round(done / total * 100) + '%';
|
||
}
|
||
updateChecklist();
|
||
|
||
/* ── Accordion ── */
|
||
function toggleAcc(head) {
|
||
head.closest('.tg-acc-item').classList.toggle('open');
|
||
}
|
||
|
||
/* ── Search: show all chapters matching query ── */
|
||
document.getElementById('tg-search').addEventListener('input', function() {
|
||
const q = this.value.trim().toLowerCase();
|
||
if (!q) {
|
||
tgContent.classList.remove('tg-search-mode');
|
||
document.querySelectorAll('.tg-chapter, .tg-section').forEach(el => el.classList.remove('search-hidden'));
|
||
return;
|
||
}
|
||
tgContent.classList.add('tg-search-mode');
|
||
document.querySelectorAll('.tg-section').forEach(sec => {
|
||
sec.classList.toggle('search-hidden', !sec.textContent.toLowerCase().includes(q));
|
||
});
|
||
document.querySelectorAll('.tg-chapter').forEach(ch => {
|
||
ch.classList.toggle('search-hidden', ch.querySelectorAll('.tg-section:not(.search-hidden)').length === 0);
|
||
});
|
||
});
|
||
|
||
/* ── Init from hash or default ch-1 ── */
|
||
const initHash = location.hash.replace('#', '');
|
||
showChapter(ALL_CHAPTERS().find(c => c.id === initHash) ? initHash : 'ch-1');
|
||
</script>
|
||
</body>
|
||
</html>
|