Forge

Cycle HTTP

Le traitement d'une requête dans Forge suit toujours le même chemin.

1

Navigateur

Envoie une requête HTTP : GET /welcome/cycle HTTP/1.1

2

app.py — Application

Reçoit la connexion TCP, parse les en-têtes, crée l'objet Request.

3

mvc/routes.py — Routeur

Cherche la route correspondant à GET /welcome/cycle et résout le handler.

4

WelcomeController.cycle — Vous êtes ici

Reçoit la requête, calcule le contexte, appelle BaseController.render(...).

5

View — Template Jinja2

Le contrôleur demande le rendu du template welcome/cycle.html. Jinja2 fusionne le template avec le contexte et produit le HTML final.

mvc/views/welcome/cycle.html

6

Response HTML — Navigateur

Forge envoie : HTTP/1.1 200 OK Content-Type: text/html. Le navigateur affiche la page.

Cycle HTML complet

Request → Router → Controller → View → Response HTML

La View est le template HTML/Jinja2 que le contrôleur demande de rendre. C'est elle qui produit le corps de la réponse envoyée au navigateur.

Cycle JSON (sans View)

Request → Router → Controller → Response JSON

Quand le contrôleur retourne un JSONResponse, il n'y a pas de View. Le contrôleur construit directement la réponse.

Code correspondant dans mvc/routes.py

with router.group("", public=True) as pub:
    pub.add("GET", "/welcome/cycle", WelcomeController.cycle, name="welcome_cycle")
← Accueil Requête →