Skip to main content

Framework web applicatif Python minimaliste, pédagogique et extensible.

Project description

Forge

PyPI version Python License

Une forge pour les créer toutes.

Forge est un framework web applicatif Python, MVC, explicite et pédagogique. HTTPS natif, Jinja2 intégré, SQL visible, générateurs prudents.


Statut

Forge 1.0.0-beta.12 — bêta publique.

  • Paquet PyPI : forge-mvc
  • Préversion PEP 440 : installation avec --pre
  • Python 3.12+
  • API publique en stabilisation

Liens utiles

Ressource Lien
Site officiel forgemvc.com
Documentation forgemvc.com/docs/forge/
Installation forgemvc.com/docs/forge/install/
Windows + WSL forgemvc.com/docs/forge/install/windows-wsl/
Bonjour Forge forgemvc.com/docs/forge/bonjour-forge/
Référence CLI forgemvc.com/docs/forge/reference/cli-commands/
PyPI pypi.org/project/forge-mvc/
Retours terrain forgemvc.com/docs/forge/testing/

Installation rapide

pipx install --pip-args="--pre" forge-mvc
forge --version

Créer un projet à partir du starter welcome :

forge new forge-demo --starter welcome
cd forge-demo

python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt

cp env/example env/dev
forge db:init
forge run

La documentation complète d'installation est sur forgemvc.com/docs/forge/install/.


Exemple minimal

# mvc/routes.py
from mvc.controllers.home_controller import HomeController

routes = [
    ("GET", "/", HomeController.index, {"public": True}),
]
# mvc/controllers/home_controller.py
from core.http.response import Response


class HomeController:
    @staticmethod
    def index(request):
        return Response.text("Bonjour Forge")

Pourquoi Forge ?

  • MVC serveur explicite, sans magie cachée
  • SQL visible, pas d'ORM imposé
  • Générateurs prudents : Forge ne réécrit pas votre code
  • Documentation officielle complète
  • Sécurité web par défaut (CSRF, Argon2id, headers, autoescape)
  • Noyau minimal, modules opt-in
  • Python 3.12+, dépendances explicites

Modules officiels opt-in

Module Rôle
forge-mvc-rbac Rôles et permissions déclaratives
forge-mvc-workflow Cycles de vie applicatifs (statuts, transitions)
forge-mvc-stats Agrégats et compteurs d'événements
forge-mvc-mfa Authentification multi-facteurs (TOTP)
forge-mvc-media Gestion applicative des médias

Chaque module reste optionnel : le core Forge ne dépend d'aucun d'eux.


Documentation

Toute la documentation est publiée sur forgemvc.com/docs/forge/ :

  • Installation, démarrage rapide, tutoriels
  • Référence de la CLI forge
  • Entités, modèles, SQL et migrations
  • Formulaires, validation, CSRF, sessions
  • Modules opt-in (RBAC, workflow, stats, MFA, media)
  • ADR et charte philosophique

Développement du framework

Pour contribuer à Forge directement :

git clone https://github.com/caucrogeGit/Forge.git
cd Forge

python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
python -m pip install -r requirements-dev.txt

Validations courantes avant un commit :

python -m pytest -x -q
python -m compileall -q .
ruff check .
mkdocs build --strict

Voir CHARTE_DOC.md et docs/adr/ pour les principes et décisions architecturales.


Licence

Forge est distribué sous licence propriétaire / source disponible.

L'usage professionnel, commercial ou institutionnel nécessite un accord écrit préalable de Roger Lequette. La lecture, l'étude, l'évaluation personnelle et l'usage éducatif non commercial sont autorisés sans accord.

Voir LICENSE pour les conditions complètes.


Auteur

Roger Lequette — forgemvc.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forge_mvc-1.0.0b12.tar.gz (898.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forge_mvc-1.0.0b12-py3-none-any.whl (435.0 kB view details)

Uploaded Python 3

File details

Details for the file forge_mvc-1.0.0b12.tar.gz.

File metadata

  • Download URL: forge_mvc-1.0.0b12.tar.gz
  • Upload date:
  • Size: 898.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for forge_mvc-1.0.0b12.tar.gz
Algorithm Hash digest
SHA256 5214a23f0d2bec6f93559afc1cac149729c1f1b335697bada91e0777cce85cf4
MD5 ea4d5362dae1cd7fe6a8cb4f3d21cb5e
BLAKE2b-256 3e30ea9a088feb1d2147fa817e0791f022f86428dde5f1773afc04f073175469

See more details on using hashes here.

File details

Details for the file forge_mvc-1.0.0b12-py3-none-any.whl.

File metadata

  • Download URL: forge_mvc-1.0.0b12-py3-none-any.whl
  • Upload date:
  • Size: 435.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for forge_mvc-1.0.0b12-py3-none-any.whl
Algorithm Hash digest
SHA256 e2b21d97559c7f652e23b81e2b7e1a766f9320a5c2ee4e105b382c025b1889b3
MD5 785546c53339980f7a010d2aa862433e
BLAKE2b-256 bdda4c648343d61abc8f6d3ffe15e5472158517cef046766bc6a9bafe1d088fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page