← Все проекты

Конструктор рабочих программ на 2026-2027 — за вечер, а не за выходные

Каждый год каждый учитель пишет рабочую программу по своему предмету. Структура задана ФГОС, а бо́льшую часть текста положено переносить дословно из федеральных рабочих программ. Это не творчество — это работа копировальщика. Конструктор берёт её на себя: выбираете предмет и класс, нажимаете «Заполнить из ФРП» — и правите готовый документ вместо того, чтобы собирать его с нуля.

  • ФРП 2025
  • Без регистрации
  • Без сервера
  • MIT
  • React 19 · TypeScript
  • 0федеральных программ в каталоге
  • 0классов: предмет × год обучения
  • 0тем тематического планирования
  • 0уроков, вынутых из ФРП
  • 5форматов выгрузки документа
  • 0регистраций, серверов и рублей

// откуда берётся вечер

Семь разделов, из которых шесть уже написаны

Структура рабочей программы закреплена ФГОС и федеральной образовательной программой. Учительского в ней — методическое обеспечение и правки под свой класс; всё остальное положено брать из ФРП, опубликованных Институтом стратегии развития образования. Ниже — что откуда берётся.

  • 1Титульный лист

    Школа, предмет, класс, составитель, гриф согласования.

    заполняет учитель — форма из полей
  • 2Пояснительная записка

    Цели, задачи, место предмета в учебном плане.

    дословно из ФРП
  • 3Содержание обучения

    Что изучается в выбранном классе.

    дословно из ФРП
  • 4Планируемые результаты

    Личностные, метапредметные, предметные — три отдельных блока.

    дословно из ФРП
  • 5Тематическое планирование

    Разделы, темы, часы, программное содержание, виды деятельности.

    таблица из ФРП, правится
  • 6Поурочное планирование

    Уроки, часы, контрольные и практические, даты.

    из ФРП или разворачивается из тем
  • 7УМК и обеспечение

    Учебники, пособия, цифровые ресурсы, оборудование.

    заполняет учитель

А как же официальный конструктор?

Он есть и делает то же самое: workprogram.edsoo.ru. Никакой войны здесь нет — просто у него другие условия работы, и кому-то они неудобны.

Официальный конструкторЭтот конструктор
Входрегистрация и аккаунтоткрыл ссылку и работаешь
Сетьтолько онлайнпосле загрузки — можно офлайн
Где документна сервере сервисав вашем браузере и на вашем диске
Выгрузкасвой набор форматовDOCX, ODT, PDF, TXT, Markdown
Готовое КТП из Excelимпорт с сопоставлением колонок
Несколько программ рядомв личном кабинетебиблиотека в браузере + файл-бэкап
Исходникизакрытыоткрыты, лицензия MIT

Тексты программ в обоих случаях одни и те же — официальные ФРП 2025 года. Разница только в том, где и как вы с ними работаете.

// попробовать прямо здесь

Выберите предмет — и посмотрите, что подставится

Это уменьшенная копия главного экрана: шесть настоящих программ из каталога, настоящие разделы, темы, часы и формулировки из ФРП. В самом конструкторе таких программ 81, а тексты идут целиком.

тематическое планирование
Наименование разделов и темЧасовПрограммное содержаниеОсновные виды деятельности

Таблица пуста. Нажмите «Заполнить из ФРП» — так это и выглядит у учителя: пустой план до нажатия и готовый после.

Показаны первые три раздела каждой программы — на странице иначе не помещается. «В плане» считается по полному плану класса, поэтому и сходится с нормой.

// как этим пользоваться

Семь шагов от пустого экрана до DOCX

Кликните по шагу — справа появится соответствующий экран. Ничего устанавливать не нужно: конструктор целиком живёт во вкладке браузера.

Открыть и начать — Стартовый экран: вкладка «Титульный лист» уже ждёт данные.
Стартовый экран: вкладка «Титульный лист» уже ждёт данные.
Заполнить титульный лист — В списке классов сразу видна норма часов: «7 класс — 68 ч».
В списке классов сразу видна норма часов: «7 класс — 68 ч».
Нажать «Заполнить из ФРП» — Тематическое планирование, заполненное из ФРП: 10 тем, 68 часов из 68.
Тематическое планирование, заполненное из ФРП: 10 тем, 68 часов из 68.
Поправить план под себя — Импорт из Excel: колонки файла распознаны по заголовкам, остаётся проверить.
Импорт из Excel: колонки файла распознаны по заголовкам, остаётся проверить.
Развернуть поурочное — Поурочное планирование: 68 уроков, темы взяты из ФРП.
Поурочное планирование: 68 уроков, темы взяты из ФРП.
Подобрать учебники — Учебники приезжают из каталога ФПУ — набирать список руками не нужно.
Учебники приезжают из каталога ФПУ — набирать список руками не нужно.
Посмотреть и выгрузить — Меню выгрузки: пять форматов из одной и той же модели документа.
Меню выгрузки: пять форматов из одной и той же модели документа.

// экраны

Как это выглядит целиком

Девять экранов конструктора — снято с работающего приложения, не нарисовано.

Тематическое планирование — Разделы, темы, часы, программное содержание и виды деятельности — всё из ФРП. Слева видно, сходится ли план с нормой.
Тематическое планирование. Разделы, темы, часы, программное содержание и виды деятельности — всё из ФРП. Слева видно, сходится ли план с нормой.
Титульный лист — Школа, уровень, предмет, класс, гриф согласования. Норма часов подставляется в список классов.
Титульный лист. Школа, уровень, предмет, класс, гриф согласования. Норма часов подставляется в список классов.
Поурочное планирование — Номер урока, тема, часы, контрольные и практические, дата. У 14 программ темы берутся из ФРП дословно.
Поурочное планирование. Номер урока, тема, часы, контрольные и практические, дата. У 14 программ темы берутся из ФРП дословно.
Предпросмотр документа — Лист A4, Times New Roman, чёрным по белому — то же, что уйдёт в печать и в DOCX.
Предпросмотр документа. Лист A4, Times New Roman, чёрным по белому — то же, что уйдёт в печать и в DOCX.
Выгрузка — DOCX — формат сдачи, ODT — для Р7-Офиса и МойОфиса, PDF — для печати, TXT и Markdown — для своих нужд.
Выгрузка. DOCX — формат сдачи, ODT — для Р7-Офиса и МойОфиса, PDF — для печати, TXT и Markdown — для своих нужд.
Мои программы — Несколько программ рядом: переключение, переименование, копия, выгрузка одной или резервная копия всей библиотеки.
Мои программы. Несколько программ рядом: переключение, переименование, копия, выгрузка одной или резервная копия всей библиотеки.
Импорт из Excel — Готовое КТП подтягивается из .xlsx, .xls или .csv; колонки сопоставляются по заголовкам, спорные — вручную.
Импорт из Excel. Готовое КТП подтягивается из .xlsx, .xls или .csv; колонки сопоставляются по заголовкам, спорные — вручную.
Тёмная тема — Тот же экран ночью. Контраст палитры проверяется по WCAG отдельным тестом в CI.
Тёмная тема. Тот же экран ночью. Контраст палитры проверяется по WCAG отдельным тестом в CI.
На телефоне — Таблицы прокручиваются, вёрстка не разъезжается до 375 px — проверяется в браузерном тесте.
На телефоне. Таблицы прокручиваются, вёрстка не разъезжается до 375 px — проверяется в браузерном тесте.

// что получается на выходе

Анатомия готового документа

Кликните по блоку листа — расскажу, что в него попадает и откуда берётся. Порядок блоков в выгрузке ровно такой: он один на все пять форматов.

ТИТУЛЬНЫЙ ЛИСТ школа · предмет · класс · гриф ПОЯСНИТЕЛЬНАЯ ЗАПИСКА из ФРП СОДЕРЖАНИЕ ОБУЧЕНИЯ из ФРП, для выбранного класса ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ личностные · метапредметные предметные ТЕМАТИЧЕСКОЕ ПЛАНИРОВАНИЕ ПОУРОЧНОЕ ПЛАНИРОВАНИЕ УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ

← Выберите блок на листе

// что уже внутри

81 программа, разобранная до последней темы

Каталог собран из 72 официальных PDF, опубликованных ИСРО. Из сборников («Математика 5–9») отдельными курсами вынуты алгебра, геометрия и вероятность со статистикой — так их и ведут в школе. Базовый и углублённый уровни — разные записи каталога.

НОО14 программ · 1–4 классы
ООО33 программы · 5–9 классы
СОО34 программы · 10–11 классы
  • Русский язык
  • Литературное чтение
  • Математика
  • Окружающий мир
  • Изобразительное искусство
  • Музыка
  • Труд (технология)
  • Физическая культура
  • ОРКСЭ
  • Английский
  • Немецкий
  • Французский
  • Испанский
  • Китайский
  • Русский язык
  • Литература
  • История
  • Обществознание
  • География
  • Биология
  • Физика
  • Химия
  • Информатика
  • Математика
  • Алгебра
  • Геометрия
  • Вероятность и статистика
  • ОБЗР
  • Труд (технология)
  • Изобразительное искусство
  • Музыка
  • Физическая культура
  • Английский
  • Немецкий
  • Французский
  • Второй иностранный (англ.)
  • Второй иностранный (нем.)
  • Второй иностранный (фр.)
  • Второй иностранный (исп.)
  • Второй иностранный (кит.)
  • Русский язык
  • Литература
  • История
  • Обществознание
  • География
  • Биология
  • Физика
  • Химия
  • Информатика
  • Алгебра и начала анализа
  • Геометрия
  • Вероятность и статистика
  • ОБЗР
  • Физическая культура
  • Английский
  • Немецкий
  • Второй иностранный (нем.)
  • Второй иностранный (фр.)
  • Второй иностранный (исп.)
  • Второй иностранный (кит.)
  • Второй иностранный (англ.)

Показаны все уровни: 34 уникальных предмета, 81 запись каталога.

  • 243сочетаний «предмет × класс» — у каждого своя норма часов
  • 3 905тем тематического планирования с содержанием и видами деятельности
  • 6 301уроков, вынутых из ФРП дословно
  • 15 из 72программ содержат готовое поурочное планирование
  • 81 из 81программ прошли сверку часов при сборке данных
  • 24 МБразобранных данных — в приложении, а не на сервере

// неудобная правда

В восьми программах не сходится сама ФРП

При сборке данных сумма часов по темам сверяется с итогом, объявленным в самом документе. В восьми случаях из 81 они не совпали — и это не ошибка разбора, а расхождение в официальном PDF. Прятать такое нельзя: учитель сдаёт документ, где числа должны сходиться.

  • Иностранный (английский) язык · НОО4 кл., раздел «Мир вокруг меня»: итого 23 ≠ сумма тем 214 кл.: общее количество 68 ≠ сумма 66
  • Музыка · НОО4 кл.: общее количество 34 ≠ сумма 33
  • Труд (технология) · НОО4 кл.: общее количество 34 ≠ сумма 35
  • История · ООО5 кл., раздел «Древний мир»: итого 33 ≠ сумма тем 22
  • Литература · ООО7 кл., раздел «Литература конца XIX — начала XX века»: итого 5 ≠ сумма тем 47 кл.: общее количество 68 ≠ сумма 67
  • История · СОО11 кл., раздел «СССР в 1945–1991 гг.»: итого 27 ≠ сумма тем 26
  • Иностранный (немецкий) язык · СОО10 кл.: общее количество 105 ≠ сумма 10211 кл.: общее количество 105 ≠ сумма 102
  • Обществознание · СОО, базовый10 кл., раздел «Экономическая жизнь общества»: итого 6 ≠ сумма тем 2811 кл.: общее количество 68 ≠ сумма 70

Предупреждение показывается только для выбранного класса и формулируется как дефект исходного документа. Решение — за учителем: свести часы или оставить как в ФРП.

// выгрузка

Одна модель документа — пять форматов

Все пять файлов собираются из одного и того же описания документа. Это не педантизм: как только форматы начинают собираться каждый по-своему, они расходятся, и в PDF оказывается не то, что в DOCX.

  • DOCXФормат сдачи. Обычный Word-файл без макросов и защиты: открывается везде, правится как любой другой.библиотека docx, 103 КБ отдельным чанком
  • ODTДля LibreOffice, Р7-Офиса и МойОфиса — если в школе не Microsoft. Собирается вручную из XML и упаковывается в zip.fflate, zip прямо в браузере
  • PDFДля печати и отправки без правок. Шрифт зашит в файл, поэтому кириллица не разъезжается на чужой машине.jsPDF + Liberation Serif, 204 КБ
  • TXTПростой текст: перенести в другую систему, вставить в письмо, сравнить две версии программы.без библиотек
  • MarkdownДля вики и репозиториев — например, если школьное методобъединение держит программы в Git.без библиотек

Плюс печать средствами браузера: A4, Times New Roman, чёрным по белому, шапка таблицы повторяется на каждой странице.

// куда уходят данные

Никуда. Сервера просто нет

У конструктора нет бэкенда, базы и аналитики — это статические файлы, которые браузер скачивает один раз и дальше работает сам. Ниже — честная схема: что происходит внутри вкладки, а что вообще выходит наружу.

В вашем браузере

  • каталог ФРП и тексты программ
  • сборка тематического и поурочного плана
  • генерация DOCX, ODT, PDF, TXT, Markdown
  • разбор загруженного Excel-файла
  • библиотека программ в localStorage (≈20 программ)
  • резервная копия — файлом на ваш диск

Наружу

Подсказка названия школы по базе OpenStreetMap — когда вы печатаете название в поле «Образовательная организация».

Запрос помечен прямо в интерфейсе и необязателен: название можно просто набрать руками, и тогда наружу не уходит ничего.

Ни аккаунтов · ни аналитики · ни телеметрии · ни рекламы

  • 🏫Школа без интернета

    Собранное приложение — папка со статикой. Кладётся на школьный сервер (или на флешку с локальным веб-сервером) и открывается по локальной сети.

  • 💾Работа не пропадает

    Автосохранение идёт постоянно, в шапке видно время. Когда хранилище браузера подходит к концу, появляется полоса «Сохранить в файл» — вместо тихой потери данных.

  • 📦Перенос на другой компьютер

    Резервная копия всей библиотеки выгружается одним JSON и импортируется обратно. Отдельную программу можно выгрузить и передать коллеге.

// под капотом

Как 72 PDF превратились в каталог

Федеральные программы опубликованы в виде PDF с многостраничными таблицами — их нельзя просто «подключить». Данные готовит отдельный конвейер на Python: он разбирает документы, сверяет часы и собирает JSON, которые уезжают в приложение.

  1. 72 PDF ФРПофициальные документы с edsoo.ru: пояснительные записки, содержание, результаты, таблицы планирования
  2. pdfplumberвытаскивает таблицы и текст; отдельные скрипты — на планирование, на содержание, на поурочные планы
  3. Сверка часовсумма тем сравнивается с итогом раздела и с «ОБЩЕЕ КОЛИЧЕСТВО» самой ФРП; расхождения записываются как дефекты источника
  4. 81 JSON · 24 МБкаталог + программа на каждый предмет; приложение грузит только выбранный предмет отдельным чанком
tools/check_frp_data.py — упрощённо
# Сумма тем должна сойтись с итогом раздела и с объявленным итогом ФРП.
for cls in plan["classes"]:
    total = sum(s["hours"] for s in cls["sections"])
    for sec in cls["sections"]:
        topics = sum(t["hours"] for t in sec["topics"])
        if topics and topics != sec["hours"]:
            issue(cls, f"раздел «{sec['name']}»: итого {sec['hours']} ≠ сумма тем {topics}")
    declared = cls["declaredHours"]
    if declared and declared != total:
        issue(cls, f"ОБЩЕЕ КОЛИЧЕСТВО {declared} ≠ сумма {total}")
src/data/lessonPlan.ts — упрощённо
// Нет поурочного в ФРП — разворачиваем из тематического:
// тема на N часов даёт N уроков.
export function expandLessons(sections: FrpSection[]): Lesson[] {
  const out: Lesson[] = [];
  for (const s of sections)
    for (const t of s.topics) {
      const names = splitContent(t.content, t.hours);
      for (let i = 0; i < t.hours; i++)
        out.push({ number: out.length + 1, topic: names[i] ?? t.name, practice: 0 });
    }
  return out;
}

Шесть проверок на каждый коммит

  • tsc --noEmitтипы всего приложения
  • frp:checkсходимость часов и целостность каталога
  • verify:exportданные → планы → все пять форматов
  • verify:importчужие таблицы: семь сочетаний формата и кодировки, включая CSV в cp1251
  • ui:checkполный сценарий учителя в настоящем Chrome: обе темы, пять скачиваний, импорт файла, ошибки консоли, 375 px, печать
  • ui:contrastконтраст палитры по WCAG в светлой и тёмной теме

Юнит-тестов в привычном виде здесь нет: ломается такой проект не на функциях, а на стыке «данные → интерфейс → файл», поэтому проверки идут сквозные — вплоть до настоящего скачанного DOCX.

// вес

Данных 22 мегабайта — учитель качает 290 килобайт

Всё лежит в одном приложении, но грузится по частям: каталог сразу, программа предмета — когда его выбрали, генератор PDF — когда нажали «PDF». Учительский ноутбук и школьный интернет это переживают.

Старт приложения90 КБ gzip · 74 КБ brotli
Данные предметамедиана 36 КБ · максимум 168 КБ
Выгрузка DOCX103 КБ — только при первом нажатии
Разбор Excel125 КБ — только если импортируете
Выгрузка PDF204 КБ вместе со шрифтом

Типичная сессия — около 290 КБ. Это меньше одной фотографии из школьного чата. Десять тысяч учителей в день — примерно 2,9 ГБ трафика и ноль процессорного времени: считать серверу нечего, он просто отдаёт файлы.

// себе на компьютер

Поднять локально или у школы

Код открыт по MIT: можно запустить у себя, поправить под свою методичку, поставить на школьный сервер. Данные ФРП лежат в репозитории — ничего дополнительно скачивать не нужно.

разработка
# нужен Node 20.19+ или 22.12+
git clone https://github.com/Bormotoon/program-constructor.git
cd program-constructor
npm install
npm run dev     # http://localhost:3000
своя копия для школы
npm run build   # получится папка dist/

# дальше — любой статический сервер:
# nginx, Caddy, GitHub Pages, S3, или совсем просто —
cd dist && python3 -m http.server 8080

Открывать нужно именно по HTTP: модули из file:// браузер не загрузит. Серверу при этом считать нечего — он только отдаёт файлы.

// вопросы

Что обычно спрашивают

  • Это официальный конструктор с edsoo.ru?

    Нет. Это независимый открытый проект, никак не связанный с ИСРО и порталом «Единое содержание общего образования». Тексты федеральных рабочих программ берутся оттуда же — они опубликованы в открытом доступе, — но сам инструмент, интерфейс и выгрузка здесь свои. Официальный конструктор находится по адресу workprogram.edsoo.ru. Разница в том, что здесь не нужны ни регистрация, ни личный кабинет, и программа никуда не уходит с вашего компьютера.

  • Нужны ли регистрация и личный кабинет?

    Нет. Конструктор открывается по ссылке и сразу готов к работе: ни аккаунта, ни личного кабинета, ни почты, ни оплаты. Исходный код открыт по лицензии MIT.

  • Программа не совпадает с учебником — что делать?

    Конструктор работает от федеральной рабочей программы, а не от учебника: ФРП задаёт содержание и количество часов, а учебник — лишь материал, на котором это содержание проходят. Расхождение в порядке тем между ФРП и конкретным УМК — обычное дело, и программу под учебник подгонять не требуется. Если нужно проверить, какие учебники входят в федеральный перечень по вашему предмету и закрывает ли линия УМК все классы, на этом же сайте есть читаемый федеральный перечень учебников: выбранную линию оттуда можно передать прямо в раздел «УМК и обеспечение».

  • Примут ли такую программу в школе?

    Документ собирается по структуре ФГОС и ФОП: титульный лист, пояснительная записка, содержание обучения, три группы планируемых результатов, тематическое и поурочное планирование. Тексты берутся дословно из федеральных рабочих программ 2025 года, опубликованных ИСРО на edsoo.ru. Выгрузка идёт в DOCX — том самом формате, в котором программы обычно и сдают.

  • Можно ли править документ после выгрузки?

    Да, это обычный DOCX или ODT без защиты и макросов. Открывается в Word, LibreOffice, Р7-Офисе и МойОфисе, правится как любой другой файл.

  • Куда уходят мои данные?

    Никуда. Программа хранится в памяти вашего браузера (localStorage), файлы собираются прямо на вашем компьютере. Сервера у проекта нет вообще. Единственный запрос наружу — подсказка названия школы по базе OpenStreetMap, и она необязательна: название можно просто напечатать.

  • Работает ли без интернета?

    После первой загрузки страницы — да, кроме подсказки названия школы. А если школа хочет полностью автономный вариант, собранное приложение — это статические файлы: их кладут на школьный сервер и открывают по локальной сети.

  • Что делать, если часы в плане не сходятся?

    Сравнение с нормой ФРП идёт постоянно: в боковой панели видно «Норма ФРП» и «В плане», расхождение подсвечивается. Отдельная история — семь программ, где не сходится сама официальная ФРП: там конструктор честно показывает предупреждение с указанием раздела и класса, а решение остаётся за учителем.

Программа сама себя не напишет. Но почти

Открывается по ссылке, работает бесплатно, ничего о вас не знает. Если пригодилось — расскажите коллегам: у них та же папка с программами и тот же август.

Конструктор работает прямо здесь, на xn--80abidn3bem.xn--p1ai. Запасное зеркало на случай, если портал недоступен, — GitHub Pages.

Поддержать проектКонструктор бесплатный и останется таким. Если он сэкономил вам выходные — купите автору кофе.donationalerts.com/r/bormotoon