Aller au contenu

Starters Forge

Forge · Parcours applicatifs

Vue d'ensemble des starters

Des parcours progressifs pour apprendre Forge, reconstruire vite et adapter à un vrai projet.

Principe

Un starter Forge est un exemple applicatif générable avec forge starter:build. Il fournit un point de départ fonctionnel pour comprendre les mécaniques du framework, construire une base métier ou produire rapidement une démonstration.

Un starter n'est pas un profil. Voir Différence entre profil et starter.

Tableau de synthèse

Starter Statut Profil associé Usage recommandé
1 — Contacts Officiel simple minimal / standard Découvrir Forge avec un exemple CRUD simple
2 — Utilisateurs / Auth Auth minimale moderne standard Comprendre une authentification minimale avec core.auth
3 — Carnet de contacts Officiel relationnel standard Comprendre les relations entre entités (many_to_one, JOIN SQL)
4 — Suivi pédagogique Historique / legacy Aucun profil principal Consulter un exemple métier historique, non recommandé comme base moderne
5 — Communes & Séjours Démonstrateur avancé principal standard Voir une application démonstratrice couvrant les briques modernes de Forge
6 — Auth MFA Démonstrateur MFA (Pre-Alpha) auth-mfa Ajouter un challenge TOTP au flux de connexion avec forge-mvc-mfa

Starters officiels simples

Starter 1 — Contacts

Le starter officiel simple de Forge. Une seule entité Contact, un CRUD généré, des routes câblées manuellement.

Profil recommandé : minimal ou standard.

  • idéal pour découvrir Forge ;
  • aucune relation, aucune authentification ;
  • premier parcours Forge.

Présentation · Reconstruction

Starter 3 — Carnet de contacts

Le starter officiel relationnel de Forge. Deux entités (Ville et Contact), une relation many_to_one, un LEFT JOIN SQL visible.

Profil recommandé : standard.

  • idéal pour comprendre les relations entre entités ;
  • montre relations.json, la clé étrangère et la requête JOIN.

Présentation · Reconstruction

Starter Auth minimal moderne

Starter 2 — Utilisateurs / Auth

Un exemple d'authentification minimale alignée sur le socle core.auth de Forge.

Profil recommandé : standard.

  • login / logout avec sessions CSRF ;
  • @login_required, login_user, logout_user, verify_password depuis core.auth ;
  • dashboard protégé, page profil.

Limites du starter 2

Ce starter ne démontre pas MFA, OIDC, RBAC avancé, reset password complet ou administration utilisateurs.

Présentation · Reconstruction

Démonstrateur historique

Starter 4 — Suivi pédagogique

Un exemple pédagogique historique conservé comme référence. Il montre une application métier plus riche : plusieurs entités, relations, seed et un flux d'authentification ancien.

Statut legacy

Ce starter n'est plus recommandé comme base pour un nouveau projet. Son implémentation auth est antérieure au socle core.auth. Il reste disponible comme trace pédagogique.

Présentation · Reconstruction

Démonstrateur avancé principal

Starter 5 — Communes & Séjours

Le démonstrateur avancé principal de Forge. Il couvre les briques modernes du framework dans une application cohérente.

Ce starter démontre :

  • entités et relations ;
  • pages publiques (make:public-page, make:public-list, make:public-show, make:public-form, make:public-contact) ;
  • formulaire de contact avec mail ;
  • internationalisation (i18n) ;
  • seed JSON ;
  • médias et fichiers.

Présentation · Reconstruction

Démonstrateur MFA (Pre-Alpha)

Starter 6 — Auth MFA

Un skeleton d'authentification multi-facteurs TOTP basé sur le module opt-in forge-mvc-mfa. Remplace deux contrôleurs dans un projet déjà initialisé avec le profil auth-mfa.

Profil recommandé : auth-mfa.

  • challenge TOTP intercalé entre password et session (/login/mfa) ;
  • état temporaire de challenge avec expiration 10 min ;
  • rate-limit et audit des événements MFA inclus.

Module en Pre-Alpha

Le module forge-mvc-mfa stocke le secret TOTP en clair. Non recommandé en production sensible. Voir packages/forge-mvc-mfa/README.md.

Présentation · Reconstruction

Différence entre profil et starter

Un profil définit la base technique d'un projet créé avec forge new. Il détermine les composants inclus dans l'environnement de départ.

forge new MonProjet --profile standard

Un starter fournit un exemple applicatif générable après la création du projet.

forge starter:build 5

Les profils et les starters sont indépendants :

  • un profil ne remplace pas un starter ;
  • un starter ne modifie pas le profil du projet ;
  • un starter peut illustrer un ou plusieurs profils ;
  • Communes & Séjours est une vitrine avancée, pas un profil.

Pour choisir un profil : Profils de projet.

Génération automatique

forge starter:build 1        # Contacts
forge starter:build 2        # Utilisateurs / Auth
forge starter:build 3        # Carnet de contacts
forge starter:build 4        # Suivi pédagogique
forge starter:build 5        # Communes & Séjours
forge starter:build 6        # Auth MFA (Pre-Alpha)

Les alias contacts, auth, carnet, suivi, communes-sejours et leurs variantes sont également supportés.

forge starter:list affiche la liste complète depuis la CLI.

Démarrer un starter

forge new MonProjet
cd MonProjet
source .venv/bin/activate
forge doctor
forge db:init
forge starter:build 1        # remplacer 1 par le numéro souhaité

Chaque page de starter liste les commandes exactes, le modèle de données et les étapes de reconstruction.

Fichiers de reconstruction

Starter Présentation Reconstruction
Contacts Présentation rebuild.md
Utilisateurs / Auth Présentation rebuild.md
Carnet de contacts Présentation rebuild.md
Suivi pédagogique Présentation rebuild.md
Communes & Séjours Présentation rebuild.md
Auth MFA Présentation rebuild.md

Statut officiel des starters

Starter Statut
1 — Contacts Starter officiel simple
2 — Utilisateurs / Auth Auth minimale moderne (core.auth)
3 — Carnet de contacts Starter officiel relationnel
4 — Suivi pédagogique Exemple pédagogique historique / legacy
5 — Communes & Séjours Démonstrateur avancé principal
6 — Auth MFA Démonstrateur MFA (Pre-Alpha)