API du cœur¶
L'API publique du cœur, regroupée par usage.
Chaque module a sa page de référence dédiée (rôle, schémas, signatures exactes, exemples) ; les liens ci-dessous y mènent.
Par où commencer
Une action de contrôleur type lit la requête avec Request, produit la réponse via BaseController, et la renvoie sous forme de Response.
Requête et réponse HTTP¶
La couche HTTP : recevoir une requête, router, produire une réponse.
- Request : l'objet requête entrant (query, form, json, fichiers).
- Response : l'objet réponse (texte, HTML, JSON, fichier).
- Helpers de réponse : raccourcis de réponse.
- Router : déclaration et résolution des routes.
Contrôleurs et vues¶
Construire la réponse et rendre les gabarits.
- BaseController : la classe mère de tous les contrôleurs.
- Templating : le rendu Jinja2 (contrats).
- Pagination : listes paginées prêtes pour le gabarit.
- Validator : validation simple côté contrôleur.
Formulaires et validation¶
Lire et valider les données entrantes.
- Form : formulaires applicatifs (
cleaned_data, erreurs). - Champs : types de champs disponibles.
- Validation d'upload : extension, MIME, taille.
- Décorateurs de validation et exceptions.
Base de données¶
Accès SQL explicite, sans ORM.
- db :
fetch_one,fetch_all,execute,insert. - Transaction : transactions explicites.
- Chargeur SQL : charger les requêtes
.py. - Connexion : obtention de la connexion (backend).
Sécurité¶
Les briques de sécurité par défaut.
- Hachage de mots de passe (Argon2id) et Auth API par jeton.
- CSRF, CSP, En-têtes de sécurité, Cookies.
- Décorateurs et middleware.
Sessions¶
Gestion des sessions et du store.
- Gestionnaire de session : API de session.
- Contrat de store : protocole
SessionStore. - Clés de session : conventions de clés.
Authentification et utilisateurs¶
L'API officielle d'authentification (core.auth).
- Utilisateur : création, lecture, mot de passe.
- Session d'authentification : connexion et identité.
- Mots de passe : hachage et vérification.
Configuration, application et modules¶
Le démarrage et l'assemblage du projet.
- Registre de configuration
forge.py:configure()/get(). - Application et fabrique d'application.
- Système de modules : cycle de vie des modules.
Erreurs runtime¶
- Erreurs runtime : capture et format des erreurs.
Voir aussi¶
- CRUD explicite : les fonctionnalités du CRUD généré (filtres, tri, export, HTMX).
- Authentification et Relations entre entités.
- Référence des commandes Forge : le catalogue de la CLI.
- Packages opt-in : l'API au-delà du cœur.