Forge
v1.5.0· Python 3.11+· MariaDB· MVC serveur

Une forge pour les créer toutes.

Framework web applicatif Python.

Forge permet de créer rapidement des applications web MVC structurées, lisibles et maintenables, avec du SQL visible, des générateurs contrôlés, un front léger et un core pédagogique sans magie cachée.

Découvrir le core Lire la documentation Voir GitHub
workflow Forge 1.5.0
$ forge doctor
$ forge make:entity Contact --no-input
# Décrire les champs dans mvc/entities/contact/contact.json
$ forge build:model --dry-run
$ forge build:model
$ forge db:apply
$ forge make:crud Contact

Construire des applications MVC sans perdre la main.

Forge vise les applications de gestion, les back-offices, les sites publics avec administration, les démonstrateurs pédagogiques et les projets où le code généré doit rester compréhensible.

Ce que Forge fait bien

  • Applications MVC serveur en Python
  • Back-offices simples à intermédiaires
  • CRUD généré, lisible et modifiable
  • Projets pédagogiques et prototypes propres
  • Applications avec SQL visible et schéma auditable
  • Sites publics reliés à une administration interne

Ce que Forge ne cherche pas à être

  • Pas un clone de Django, Symfony, Laravel ou FastAPI
  • Pas un ORM complet imposé au développeur
  • Pas une SPA React/Vue/Svelte intégrée au core
  • Pas une application métier prête à vendre
  • Pas une boîte noire qui cache routes, SQL ou fichiers générés
  • Pas une plateforme SaaS multi-tenant prématurée

Le core Forge.

Le cœur du framework fournit les briques génériques. Les starters ne sont que des démonstrateurs : le moteur reste dans le core.

HTTP & routing

Requêtes, réponses, routes nommées et contrôleurs explicites.

MVC

Structure claire : contrôleurs, modèles, vues, routes et formulaires.

Templates Jinja

Rendu serveur lisible, layouts publics/admin et composants simples.

SQL visible

Fichiers SQL auditable, sans ORM opaque imposé par défaut.

Entités JSON

Une source canonique pour générer SQL, modèles et CRUD.

Migrations

Migrations SQL versionnées, contrôlables et lisibles.

CRUD généré

Back-office explicite, modifiable et non destructif.

Formulaires

Champs typés, validation serveur et messages clairs.

Sécurité

CSRF, sessions, garde-fous HTTP et chemins durcis.

RBAC

Permissions fines sans imposer une table utilisateur au core.

Médias

Uploads, images, variantes, galeries et suppression propre.

Mail

Transports interchangeables, templates, rendu et logs.

Front léger

Tailwind officiel, HTMX recommandé, Alpine.js optionnel.

i18n

Traductions simples côté Python et côté Jinja.

CLI Forge

Commandes pour générer, vérifier, initialiser et diagnostiquer.

Déploiement

Nginx, systemd, environnement prod et contrôles de déploiement.

Générer sans masquer.

Forge automatise les répétitions, mais les fichiers restent visibles, auditable et modifiables.

Chaîne de génération

1. JSON d’entité canonique

2. SQL visible et migrations

3. modèle *_base.py régénérable

4. modèle manuel préservé

5. contrôleur, formulaire et vues CRUD

6. application MVC maintenable

$ forge doctor
$ forge make:entity Contact --no-input
$ forge build:model --dry-run
$ forge build:model
$ forge db:apply
$ forge make:crud Contact

Installer Forge selon votre usage.

Deux parcours séparés : utiliser Forge pour créer une application, ou travailler sur le framework lui-même.

Créer une application avec Forge

Parcours utilisateur du framework

Pour installer la commande Forge, créer un projet et lancer le serveur de développement.

$ pipx install forge-mvc
$ forge new MonApplication
$ cd MonApplication
$ forge doctor
$ python app.py
Contribuer au framework Forge

Parcours développement du core

Pour cloner le dépôt, installer l’environnement de développement et lancer les validations.

$ git clone https://github.com/caucrogeGit/Forge.git
$ cd Forge
$ python -m venv .venv
$ source .venv/bin/activate
$ pip install -e .
$ pytest
$ mkdocs build --strict
Pour la production, le déploiement est traité séparément : Nginx, systemd, variables d’environnement, HTTPS et contrôles avec forge deploy:check. Voir le guide de déploiement.

Starters et démonstrateurs.

Les starters prouvent les capacités du framework. Ils ne remplacent pas le core et ne dictent pas l’architecture métier.

État actuel

Forge 1.5.0

Le socle initial est validé jusqu’à la Phase 4 RBAC : MVC, CLI, entités, SQL, migrations, CRUD, formulaires, média, mail, front léger, i18n et permissions fines.

Lire la roadmap →
Prochaine priorité

Auth/User avancée

Forge possède déjà le RBAC générique. La prochaine brique doit fournir une identité utilisateur optionnelle, moderne et raccordable au RBAC, sans imposer un modèle métier.

Voir le RBAC →

Documentation, FAQ et code source.

La landing reste courte. Les détails, les questions fréquentes, les commandes et les limites sont dans la documentation.