
Browser Policy Manager: распаковка
Goudron 9 минут назад Browser Policy Manager: распаковка Средний 19 мин 132 Информационная безопасность * Системное администрирование * Open source * Python * Веб-разработка * Обзор В предыдущих публикациях я уже...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. Goudron 9 минут назад Browser Policy Manager: распаковка Средний 19 мин 132 Информационная безопасность * Системное администрирование * Open source * Python * Веб-разработка * Обзор В предыдущих публикациях я уже рассказывал, зачем вообще появился Browser Policy Manager, почему я начал с Firefox Enterprise Policies и почему не стал делать «просто генератор policies. Эта статья — более техническая. Здесь я хочу разобрать, как Browser Policy Manager устроен внутри на версии 0.
8 для проекта важна тем, что в ней фактически сложилась основная архитектура продукта:есть библиотека профилей;есть пошаговый редактор для типовых сценариев;есть All settings как полноценная рабочая поверхность для всех настроек;есть отдельный JSON-редактор;есть импорт и экспорт настоящего Firefox Enterprise policies. json;есть сравнение сохранённых профилей;есть поддержка Firefox ESR 140. 12 и Firefox Release 152;есть шесть локалей интерфейса;есть слой проверок, миграций, контрактных тестов и браузерных проверок.
Технические детали
Следующий большой блок — версия 0. 0: документация на основе DITA-OT, контекстная справка, более цельное описание сценариев администратора и специалиста по информационной безопасности. После этого уже можно будет доводить продукт до 1.
Но прежде чем писать документацию, полезно «распаковать» сам продукт: какие сущности в нём есть, где проходит граница между внутренней моделью и policies. json, почему интерфейс разделён на несколько маршрутов и как проверяется, что всё это не разваливается при очередном обновлении схем Firefox. Что такое Browser Policy Manager техническиBrowser Policy Manager — это веб-приложение на FastAPI для создания, проверки, редактирования и выгрузки профилей корпоративных политик Firefox.
Текущий стек:Python 3. 14+;FastAPI;Pydantic v2;SQLAlchemy 2. x;Alembic;SQLite по умолчанию;опциональная поддержка PostgreSQL;Jinja2 для серверных шаблонов;локально поставляемые статические ресурсы;Monaco Editor для JSON-поверхности;jsonschema для проверки политик;pytest, Ruff, mypy, Selenium/Chromium-проверки и отдельные live-проверки Firefox.
Отраслевые последствия
Архитектурно BPM — не одностраничное приложение с одной большой скрытой панелью, а набор связанных рабочих поверхностей:ПоверхностьМаршрутНазначениеБиблиотека профилей/profilesУправление сохранёнными профилямиСравнение/profiles/compareСравнение двух сохранённых профилейПошаговый редактор/profiles/new, /profiles/{id}/editТиповые сценарии настройкиВсе настройки/profiles/{id}/settingsПолный каталог и проверка всех настроекJSON-редактор/profiles/{id}/jsonПрямая работа с итоговым документомТакое разделение появилось не сразу. На ранних этапах было соблазнительно держать всё в одном большом интерфейсе. Но при росте функциональности это быстро превращается в мешанину: библиотека начинает отвечать за редактирование, редактор — за сравнение, сравнение — за навигацию, а пользователь теряет понимание, где он сейчас находится.
8 я окончательно развёл рабочие поверхности по маршрутам.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.




