Contrat d’installation des opt-ins Forge¶
Cette page explique le contrat d’installation des opt-ins Forge.
Un opt-in Forge est une brique officielle optionnelle.
Il ajoute une capacité au framework sans alourdir le core.
Exemples :
forge-mvc-iotpour les fonctions IoT ;forge-mvc-rbacpour les rôles et permissions ;forge-mvc-filespour les fichiers ;forge-mvc-imagespour les images ;forge-mvc-videopour la vidéo ;forge-mvc-mailpour le mail.
Le principe est simple :
Forge Core reste minimal.
Chaque opt-in s'installe explicitement.
Chaque opt-in se branche explicitement quand le projet en a besoin.
Objectif¶
À la fin de cette page, vous devez savoir :
- ce qu’est un opt-in Forge ;
- comment lister les opt-ins disponibles ;
- comment installer le package d’un opt-in ;
- comment le brancher dans un projet quand c’est nécessaire ;
- quelle différence existe entre installation et activation ;
- quelles pages consulter pour approfondir chaque brique.
Core Forge et opt-ins¶
Forge est séparé en deux niveaux.
| Élément | Rôle | Installation |
|---|---|---|
forge-mvc |
Core du framework | Obligatoire |
forge-mvc-* |
Briques optionnelles | Selon les besoins du projet |
Le core fournit la structure principale :
- CLI Forge ;
- routing ;
- contrôleurs ;
- vues ;
- sécurité ;
- base de données ;
- migrations ;
- génération ;
- conventions projet.
Les opt-ins ajoutent des capacités spécialisées :
- IoT ;
- fichiers ;
- images ;
- audio ;
- vidéo ;
- mail ;
- RBAC ;
- MFA ;
- workflow ;
- statistiques ;
- pivot enrichi ;
- internationalisation.
Le core ne doit pas dépendre automatiquement de tous les opt-ins.
Cette séparation garde Forge plus léger, plus lisible et plus maîtrisable.
Les deux étapes d’un opt-in¶
L’utilisation d’un opt-in peut demander deux gestes distincts.
Ces deux étapes ne font pas la même chose.
| Étape | Ce qu’elle fait | Exemple |
|---|---|---|
| Installation | Rend le package Python disponible | forge-mvc-iot est installé |
| Branchement | Ajoute la couche locale dans le projet | optins/iot/ est créé |
Certains opt-ins sont de simples bibliothèques : ils s’installent, puis s’utilisent par import ou par commande.
D’autres opt-ins ajoutent des routes, des vues ou une intégration projet.
Dans ce cas, ils doivent aussi être branchés explicitement.
Lister les opt-ins disponibles¶
Depuis un projet Forge :
Cette commande affiche les opt-ins officiels et leur état local.
Elle est en lecture seule.
Elle ne crée aucun fichier, n’installe aucun package et ne modifie pas le projet.
Obtenir la commande d’installation d’un opt-in¶
Forge fournit une commande d’aide :
Cette commande n’installe rien directement.
Elle affiche la commande adaptée à votre environnement :
- installation dans l’environnement Python courant ;
- ou injection dans l’environnement
pipxde Forge si Forge est installé viapipx.
Exemple de sortie possible avec pipx :
Exemple de sortie possible dans un environnement virtuel actif :
Le choix d’afficher la commande plutôt que de l’exécuter automatiquement est volontaire : l’installation d’un opt-in reste un geste explicite du développeur.
Installer un opt-in dans un projet Forge¶
Depuis le dossier du projet :
Demander la commande d’installation :
Copier puis lancer la commande proposée.
Vérifier ensuite que l’opt-in est visible :
Brancher un opt-in dans le projet¶
Pour les opt-ins qui nécessitent une intégration locale, Forge utilise la commande :
Par défaut, cette commande travaille en simulation.
Exemple avec l’opt-in IoT :
Cette commande affiche ce qui serait créé ou modifié, sans écrire dans le projet.
Pour appliquer réellement le branchement :
Le branchement peut créer une couche locale du type :
Il peut aussi ajouter le point de branchement nécessaire dans les routes du projet.
Vérifier l’état après branchement¶
Après installation et branchement :
Puis vérifier le projet :
Si l’opt-in ajoute des migrations, des routes ou une configuration spécifique, consulter la page dédiée de l’opt-in.
Liste des opt-ins officiels¶
| Identifiant | Package | Rôle principal |
|---|---|---|
audio |
forge-mvc-audio |
Upload, sondage, transcodage MP3 et lecture audio |
files |
forge-mvc-files |
Upload générique, stockage et service de fichiers |
i18n |
forge-mvc-i18n |
Internationalisation, catalogues et traduction |
images |
forge-mvc-images |
Traitement d’images et médias applicatifs |
iot |
forge-mvc-iot |
Réception MQTT, stockage et API HTTP IoT |
mail |
forge-mvc-mail |
Composition et envoi d’e-mails |
mfa |
forge-mvc-mfa |
Authentification multi-facteurs |
pivot |
forge-mvc-pivot |
Tables pivot enrichies et CRUD pivot |
rbac |
forge-mvc-rbac |
Rôles, permissions et contrôle d’accès |
stats |
forge-mvc-stats |
Agrégats et compteurs |
video |
forge-mvc-video |
Upload, transcodage MP4 et lecture vidéo |
workflow |
forge-mvc-workflow |
Statuts et transitions applicatives |
Installer directement un package¶
Il est aussi possible d’installer directement un opt-in par son nom de package.
Exemple :
Ou avec pipx si Forge est installé globalement par pipx :
La commande forge opt-in:install <nom> reste recommandée, car elle affiche la commande adaptée à l’environnement courant.
Installer plusieurs opt-ins¶
Installer plusieurs opt-ins est possible, mais il faut éviter de tout installer par réflexe.
La règle recommandée est :
Exemple :
Cette commande peut être pertinente pour un projet qui gère des images.
Pour un projet IoT :
Pour un projet avec rôles et permissions :
Cas particulier des extras¶
Le package forge-mvc peut exposer certains extras comme raccourcis d’installation.
Exemple :
Les extras sont pratiques, mais ils ne sont pas le contrat principal.
Le contrat principal reste :
Exemple :
Cette forme est plus explicite et reste la plus lisible dans la documentation.
Ce que l’installation ne fait pas automatiquement¶
Installer un package opt-in ne veut pas dire que tout est configuré dans le projet.
Selon la brique, il peut rester à faire :
- brancher l’opt-in avec
forge opt-in:enable <nom> --apply; - ajouter des variables dans
env/dev; - initialiser des migrations ;
- appliquer des migrations SQL ;
- lancer une commande de diagnostic propre à l’opt-in ;
- consulter la documentation dédiée.
Exemple pour IoT :
Les commandes exactes dépendent de l’opt-in utilisé.
Règle de sécurité¶
Un opt-in ne doit pas modifier le projet en silence.
Les commandes de branchement doivent rester explicites.
Quand une commande peut écrire dans le projet, elle doit annoncer ce qu’elle va faire et demander une application volontaire, par exemple avec :
Cette règle protège les fichiers du projet et évite les modifications cachées.
Résultat attendu¶
Après installation et branchement d’un opt-in, les commandes suivantes doivent permettre de vérifier l’état du projet :
Si l’opt-in possède une commande de diagnostic dédiée, l’utiliser également.
Exemple :
Poursuivre selon l’opt-in¶
Pour continuer, consulter la documentation dédiée à la brique installée :