Installer Forge¶
Forge s'installe différemment selon votre intention. Choisissez d'abord votre parcours, puis enchaînez avec le guide de démarrage.
Utilisateur du framework ou développeur du core ?¶
Deux parcours distincts, qui ne se mélangent pas :
| Utilisateur du framework | Développeur du core | |
|---|---|---|
| But | Créer une application avec Forge | Modifier Forge lui-même |
| Installation | pipx install --pip-args="--pre" forge-mvc |
git clone du dépôt + pip install -e . |
| Point d'entrée | forge new mon-app |
cd Forge (le dépôt cloné) |
| Lancement | forge run dans le projet généré |
python -m pytest + outils de dev |
| Référence | Installation avec pipx | Développement du core |
Choisir son parcours¶
| Usage | Parcours |
|---|---|
| Windows 11 (poste de travail) | Windows + WSL — parcours complet |
| Utilisateur du framework — Linux / macOS | Installation avec pipx |
| Préparer une machine Debian vierge | Installation sur une VM Debian vierge |
| Créer un projet depuis une version stable | Installation depuis GitHub |
| Windows (résumé court historique) | Installation Windows |
| Contribuer au framework Forge | Développement du core |
| Préparer la base locale | Préparer MariaDB |
| Déploiement encadré | Production |
Modèle de packages¶
Depuis 1.0.0-beta.9, Forge distribue le core et tous les opt-ins officiels
sur PyPI (bêta publique — --pre requis).
Les opt-ins restent optionnels : le core Forge ne dépend pas d'eux.
Voir Politique de release.
| Package (monorepo) | Contenu | Statut |
|---|---|---|
forge-mvc |
Noyau complet — core, CLI, intégrations | Bêta — publié PyPI |
forge-mvc-rbac |
Brique RBAC — contrôle d'accès par rôles | Bêta — publié PyPI |
forge-mvc-workflow |
Brique workflow — statuts et transitions | Bêta — publié PyPI |
forge-mvc-stats |
Brique statistiques — agrégations | Bêta — publié PyPI |
forge-mvc-mfa |
Brique MFA — TOTP, codes de récupération | Alpha — publié PyPI depuis 1.0.0-beta.9 |
forge-mvc-files |
Brique upload générique (écriture sécurisée, storage, service HTTP Range) | Alpha : publié PyPI depuis 1.0.0-beta.13 |
forge-mvc-images |
Brique images : traitement d'image (Pillow) + couche médias applicative ; dépend de forge-mvc-files |
Alpha : publié PyPI depuis 1.0.0-beta.13 (API encore bêta, voir Limites) |
forge-mvc-audio |
Brique audio (upload, sondage, transcodage MP3, lecture HTTP Range) | Beta : publié PyPI depuis 1.0.0-beta.13 |
forge-mvc-iot |
Brique IoT (subscriber MQTT, stockage iot_events, API HTTP) |
Alpha : publié PyPI depuis 1.0.0-beta.12 |
forge-mvc-video |
Brique vidéo (upload, transcodage MP4, lecture HTTP Range) | Beta : publié PyPI depuis 1.0.0-beta.13 |
forge-mvc-pivot |
Brique pivot : associations many_to_many enrichies + make:pivot-crud |
Beta : publié PyPI depuis 1.0.0-beta.13 |
forge-mvc-mail |
Brique mail (composition, transports, templates Jinja, CLI mail:*) |
Beta : publié PyPI depuis 1.0.0-beta.13 |
Pour installer Forge avec toutes les briques opt-in :
git clone --branch v1.0.0-beta.13 https://github.com/caucrogeGit/Forge.git
cd Forge
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .
python -m pip install -r requirements-dev.txt
pip install -e . installe le core en mode éditable.
requirements-dev.txt installe ensuite les 11 modules opt-in
(également en éditable) et les outils de développement. Voir
Installation depuis GitHub pour les détails.
Contrat d'installation des opt-ins¶
Le core forge-mvc et les onze opt-ins officiels
(forge-mvc-rbac, forge-mvc-workflow, forge-mvc-stats, forge-mvc-mfa,
forge-mvc-files, forge-mvc-images, forge-mvc-audio, forge-mvc-iot,
forge-mvc-video, forge-mvc-pivot, forge-mvc-mail) sont publiés sur PyPI
(rbac/workflow/stats/mfa depuis 1.0.0-beta.9, forge-mvc-iot depuis
1.0.0-beta.12, et les six derniers depuis 1.0.0-beta.13).
Installation directe d'un opt-in (méthode recommandée, disponible pour tous) :
pip install --pre forge-mvc-rbac
pip install --pre forge-mvc-workflow
pip install --pre forge-mvc-stats
pip install --pre forge-mvc-mfa
pip install --pre forge-mvc-files
pip install --pre forge-mvc-images
pip install --pre forge-mvc-audio
pip install --pre forge-mvc-iot
pip install --pre forge-mvc-video
pip install --pre forge-mvc-pivot
pip install --pre forge-mvc-mail
Le core fournit également les extras forge-mvc[rbac], forge-mvc[workflow],
forge-mvc[stats] et forge-mvc[all] (raccourcis vers les opt-ins
correspondants) :
pip install --pre "forge-mvc[rbac]"
pip install --pre "forge-mvc[workflow]"
pip install --pre "forge-mvc[stats]"
pip install --pre "forge-mvc[all]"
forge-mvc[mfa] et forge-mvc[images] ne sont pas définis comme extras du core :
installer forge-mvc-mfa ou forge-mvc-images directement comme ci-dessus
(tous deux publiés sur PyPI). MFA est publié au statut Alpha
(secret TOTP chiffré au repos via Fernet) ; l'API de forge-mvc-images reste
bêta, voir Limites.
Pour installer en mode éditable depuis les sources (contribution Forge) :
git clone --branch v1.0.0-beta.13 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
requirements-dev.txt installe les onze opt-ins en mode éditable.
Version stable¶
Forge 1.0.0b13 utilise la référence stable v1.0.0-beta.13 par défaut.
Pour travailler explicitement depuis la branche de développement :
Après installation¶
Une fois Forge disponible :
Le guide suivant couvre la création d'une première entité et d'un CRUD complet.