Django в продакшене на 500 000 пользователей в месяц — не стартап, а французское правительство.
La Suite — экосистема цифровых инструментов для госслужащих Франции. 15 министерств, 500 000 активных пользователей ежемесячно.
Что внутри:
🔘 Tchap — мессенджер на Matrix, 375 000 активных пользователей ежемесячно
🔘 Visio — видеозвонки с ИИ-транскрипцией на LiveKit
🔘 Docs — совместное редактирование
🔘 Grist — таблицы как база данных
🔘 France Transfert — передача больших файлов
Бэкенд на Django. Весь код в открытом доступе.
Данные хранятся на SecNumCloud во Франции с полной портабельностью — экспорт в .ppt, .xls, .odt без vendor lock-in.
Это хороший пример того, как выглядит Django в govtech-продакшене уровня страны. Можно изучить архитектуру, посмотреть как они решают масштабирование, безопасность и интеграцию с legacy-системами.
📎 La Suite, GitHub
@zen_of_python
La Suite — экосистема цифровых инструментов для госслужащих Франции. 15 министерств, 500 000 активных пользователей ежемесячно.
Что внутри:
Бэкенд на Django. Весь код в открытом доступе.
Данные хранятся на SecNumCloud во Франции с полной портабельностью — экспорт в .ppt, .xls, .odt без vendor lock-in.
Это хороший пример того, как выглядит Django в govtech-продакшене уровня страны. Можно изучить архитектуру, посмотреть как они решают масштабирование, безопасность и интеграцию с legacy-системами.
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2🔥2
Forwarded from Типичный программист
От кого только не прилетает самокатчикам. Иногда за дело, иногда нет. Не нам судить, но мы обсудим, что делать, например, с явными нарушителями? Как их контролировать, если операторы кикшеринга не пускают в свои данные? Закрывать глаза на хаос на тротуарах или тотально запрещать?
Мы получили кейс, где за 4 месяца команда из 7 человек создала платформу мониторинга, которая фиксирует самокатовские нарушения. Их задачей было сделать инструмент для структурирования данных, чтобы чиновники и операторы нашли общий язык.
Планируем поделиться с вами целой пачкой интересных артефактов. Ставьте 👀, если любопытно узнать их все.
Please open Telegram to view this post
VIEW IN TELEGRAM
👀11👍4☃1
Bandit — SAST-сканер для Python от PyCQA (те же люди, что делают pylint и flake8). Парсит AST, ищет типичные дыры: eval(), хардкод паролей, слабая криптография, небезопасные temp-файлы.
➡️ Как работает
Каждый файл → AST → прогон плагинов по нодам → отчёт. У каждой находки два атрибута: severity (критичность) и confidence (уверенность, что это реальная проблема). Это помогает расставить приоритеты — сначала High/High, потом остальное.
Интеграция:
Есть официальный GitHub Action (
Для легаси-проектов: сохраняешь текущие находки в baseline, дальше CI показывает только новые. Старые никуда не деваются, но не блокируют билд.
➡️ Bandit vs Semgrep
🔘 Правила из коробки — Bandit 68, Semgrep 166 для Python
🔘 Скорость — Bandit быстрее на мелких репо, у Semgrep overhead на старте
🔘 Кастомные правила — у Semgrep проще (YAML), у Bandit нужно писать плагин
🔘 Точность — Bandit точнее на типовых паттернах, Semgrep гибче, но больше false positives
📎 Код на GitHub
@zen_of_python
Каждый файл → AST → прогон плагинов по нодам → отчёт. У каждой находки два атрибута: severity (критичность) и confidence (уверенность, что это реальная проблема). Это помогает расставить приоритеты — сначала High/High, потом остальное.
Интеграция:
# .pre-commit-config.yaml
repos:
- repo: https://github.com/PyCQA/bandit
rev: 1.7.5
hooks:
- id: bandit
args: ['-ll', '-ii']
Есть официальный GitHub Action (
PyCQA/bandit-action@v1) и расширение для VS Code.Для легаси-проектов: сохраняешь текущие находки в baseline, дальше CI показывает только новые. Старые никуда не деваются, но не блокируют билд.
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2