Patrons

Cette page référence les fichiers de patrons (« template »), leurs rôles ainsi que les variables disponibles dans leurs contextes. L’audience visée pour cette référence sont les designers qui souhaitent construire un thème personnalisé pour Canaille.

Base

Ces patrons sont partagés par toutes les pages de Canaille.

Fichiers de patrons

TEMPLATE base.html

Le patron principal dont hérite à peu près tous les autres patrons.

Paramètres:
  • user (User) – L’utilisateur courant, si connecté.

  • features (Features) – Les fonctionnalités disponibles, et activées dans Canaille.

  • locale (str) – La code de la langue utilisée par l’utilisateur.

  • website_name (str) – Le nom de l’instance de Canaille défini dans NAME.

  • logo_url (str) – L’URL du logo de l’instance défini dans LOGO.

  • favicon_url (str) – L’URL du favicon de l’instance de Canaille défini dans FAVICON.

  • request_is_boosted (bool) – Indique si les pages sont propulsées par HTMX.

  • menu (bool) – Indique si le menu doit être affiché ou non.

  • debug (bool) – Indique si Canaille a été lancé en mode débogage.

  • no_secret_key (bool) – Indique si le paramètre SECRET_KEY a été défini.

TEMPLATE error.html

La page d’erreur. Cette page est affichée pour tous types d’erreurs (page non trouvée, erreur interne du serveur, etc.).

Paramètres:
  • error_code (int) – Le code HTTP de l’erreur (404, 500, etc.)

  • description (str) – La description du code d’erreur.

  • icon (str) – La référence optionnelle à un icône Font Awesome.

TEMPLATE macro/flask.html

Macros pour l’affichage des messages informatifs de Flask

TEMPLATE macro/form.html

Macros pour l’affichage des formulaires et de leurs champs.

Connecte WTForms, Fomantic-UI et HTMX.

TEMPLATE macro/table.html

Macros pour l’affichage de tables paginées avec HTMX.

Formulaires

class canaille.app.forms.TableForm(*args, **kwargs)[source]

Bases : I18NFormMixin, FlaskForm

Un formulaire pour le rendu en tableau de collection d’objets.

page = <UnboundField(IntegerField, (), {'default': 1})>
query = <UnboundField(StringField, (), {'default': ''})>
validate_page(field)[source]

Cœur

Ces patrons sont affichés dans les pages d’authentification et d’édition de profiles utilisateurs.

Fichiers de patrons

TEMPLATE core/about.html
../_images/9938073ab9b2119c1be09d48bc3923df.png

La page « À propos ».

../_images/357713b9df807f6fc16e8b30130b42ed.png

La page « À propos ».

La page « À propos ».

Cette page est informationnelle, elle affiche les liens du projet.

Paramètres:
  • version (str) – La version de l’instance de Canaille.

TEMPLATE core/group.html
../_images/e773c047ecfbaedf2fa363ddd196a6ab.png

La page d’édition des groupes.

../_images/938cd00ffa4f635441d7908f98f0a481.png

La page d’édition des groupes.

Page d’édition des groupes.

Affiche le formulaire d’édition ou de création d’un groupe.

Paramètres:
  • edited_group (Group) – None dans un contexte de création. Dans un contexte d’édition, c’est le groupe édité.

  • form (CreateGroupForm or EditGroupForm) – Le formulaire de création et d’édition de groupes.

TEMPLATE core/groups.html
../_images/2e12f7eb7f3f0e230efee04fce68f59e.png

La page de liste des groupes.

../_images/5cab850e881a07906ca9a4870bfdd1ec.png

La page de liste des groupes.

La page de liste des groupes.

Paramètres:
TEMPLATE core/invite.html
../_images/f96966d46f7b4b1da6454946167efaff.png

La page de formulaire d’invitation.

../_images/5e5d867d8afac730a549ad0cf979d11a.png

La page de formulaire d’invitation.

La page de formulaire d’invitation.

Affiche le formulaire d’invitation aux utilisateurs en ayant la permission.

Paramètres:
  • form (InvitationForm) – Le formulaire d’invitation d’utilisateurs.

TEMPLATE core/invite_group_member.html

Group invitation form page.

Displays the group invitation form to users with the appropriate permissions.

Paramètres:
TEMPLATE core/join.html

La page d’acceptation d’une invitation.

Cette page est affichée aux utilisateurs qui ont cliqué sur le lien d’invitation qui leur a été envoyé par mail (ou par un autre médium). Il affiche un formulaire basique de création de compte.

Paramètres:
  • form (JoinForm) – Le formulaire de création de compte.

  • captcha_data – Optional CAPTCHA data when CAPTCHA is enabled

TEMPLATE core/login.html
../_images/d6e45f06eec286de95d814b9340255bb.png

La page de connexion.

../_images/0a45fa9679ac812edfd4255a3d02b9ca.png

La page de connexion.

La page de connexion.

Cette page affiche un formulaire qui récupère l’identifiant d’un utilisateur.

Paramètres:
  • form (LoginForm) – Le formulaire de connexion.

TEMPLATE core/users.html
../_images/49e4369698618719a26aecdbff99dc09.png
../_images/8a75c29e85d9abe97d72be15aafed331.png

La liste des utilisateurs.

Affiche une liste paginée de User.

Paramètres:
  • table_form (TableForm of User.) – Le formulaire de listes paginées.

TEMPLATE core/partials/profile_settings_fido.html

WebAuthn passkeys management partial.

Displays the passkeys section in profile settings.

Paramètres:
  • edited_user (User) – The user being edited.

TEMPLATE core/partial/captcha_field.html

CAPTCHA field partial template.

This macro renders a complete CAPTCHA field with: - Hidden token field - CAPTCHA image - Audio playback button - Refresh button - Input field for user response - Error messages

Paramètres:
  • form – The form containing captcha and captcha_token fields

  • captcha_data – Dict with “token” and “image_data_uri”

  • audio_endpoint – Flask endpoint name for audio CAPTCHA (e.g., “core.auth.password.captcha_audio”)

TEMPLATE core/account/add.html
../_images/cc07d998442303234160005a7f3b111b.png
../_images/a1f4bbb3e80ddb7df5624bcd21093f94.png

Page de création de compte utilisateur.

Ce patron affiche un formulaire de création de compte. Il est utilisé par la page d’enregistrement, et sur la page de création manuelle de compte disponibles aux utilisateurs avec les permissions de gestion des utilisateurs.

Paramètres:
  • form (FlaskForm) – Le formulaire de création d’utilisateur. Fabriqué dynamiquement à partir des permissions de READ et WRITE. Les champs disponibles sont ceux listés dans READ et WRITE. Ceux n’apparaissant que dans READ sont en lecture seule.

TEMPLATE core/account/edit.html
../_images/46b31347ef628356f58bba579924ed03.png

La page d’édition de profil utilisateur.

../_images/8aa8be0c683122a61da924c3a4a2e14a.png

La page d’édition de profil utilisateur.

Le patron d’édition de profil.

Affiche un formulaire d’édition de profil utilisateur.

Paramètres:
  • edited_user (User) – L’utilisateur édité par le formulaire.

  • profile_form (FlaskForm) – Le formulaire d’édition de profil utilisateur. Fabriqué dynamiquement à partir des permissions de READ et WRITE. Les champs disponibles sont ceux listés dans READ et WRITE. Ceux n’apparaissant que dans READ sont en lecture seule.

  • emails_form (EmailConfirmationForm) – Un formulaire d’édition d’adresse email. Utilisé lorsque la fonctionnalité de confirmation des adresses email est activée.

TEMPLATE core/account/settings.html
../_images/68e4936dd6b05e45d957bb6cf24fbeb6.png

La page de paramètres de profil utilisateur.

../_images/e4946b1bb7735e43ea6e8039d76c6610.png

La page de paramètres de profil utilisateur.

Le patron de paramètres de profil utilisateur.

Affiche le formulaire d’édition des paramètres utilisateur.

Paramètres:
  • edited_user (User) – L’utilisateur édité par le formulaire.

  • form (FlaskForm) – Le formulaire d’édition de profil utilisateur. Fabriqué dynamiquement à partir des permissions de READ et WRITE. Les champs disponibles sont ceux listés dans READ et WRITE. Ceux n’apparaissant que dans READ sont en lecture seule.

  • self_deletion (bool) – Indique si l’éditeur a la permission de supprimé le compte de l’utilisateur édité.

TEMPLATE core/account/auth/fido2.html

The FIDO2/WebAuthn authentication factor template.

Displays the passkeys management.

Paramètres:
  • edited_user (User) – The user being edited.

TEMPLATE core/account/auth/index.html

The authentication factors list template.

Displays the list of available authentication factors for a user.

Paramètres:
  • edited_user (User) – The user being edited.

TEMPLATE core/account/auth/otp.html

The OTP authentication factor template.

Displays the authenticator application management.

Paramètres:
  • edited_user (User) – The user being edited.

TEMPLATE core/account/auth/password.html

The password authentication factor template.

Displays the password management form.

Paramètres:
  • edited_user (User) – The user being edited.

  • form (FlaskForm) – The password form.

TEMPLATE core/auth/email.html

Le patron de vérification de codes d’authentification multi-facteurs.

Affiche un formulaire qui requière un code d’authentification multi-facteurs.

Paramètres:
  • form (TwoFactorForm) – Le formulaire de vérification de code.

TEMPLATE core/auth/fido-setup.html

WebAuthn credential registration template.

Displays the WebAuthn registration interface.

Paramètres:
  • options_json (str) – The WebAuthn registration options in JSON format.

TEMPLATE core/auth/fido.html

WebAuthn authentication template.

Displays the WebAuthn authentication interface.

Paramètres:
  • options_json (str) – The WebAuthn authentication options in JSON format.

TEMPLATE core/auth/firstlogin.html
../_images/8ec26b2668ae6094ab02fd46e66775f7.png

La page de première connexion.

../_images/8bcf25b2e9bcab4de49c0735a9b53528.png

La page de première connexion.

La page de première connexion.

Cette page est affichée aux utilisateurs qui n’ont pas encore paramétré un mot de passe.

TEMPLATE core/auth/forgotten-password-code.html
../_images/d1f0543e88298837342c6ee3049b574a.png

The password reinitialization code page.

../_images/8b296f95c7d30ac3461d4faf2024b9f3.png

The password reinitialization code page.

Password forgotten code page.

This page displays a form asking for the code sent to the email address of users who cannot remember their password.

TEMPLATE core/auth/forgotten-password.html
../_images/ec064a6ba2b88f01f0179c64563e79c7.png

La page de réinitialisation de mot de passe.

../_images/7373319fd9274b2ded1e0534252ba2b0.png

La page de réinitialisation de mot de passe.

Page d’oubli du mot de passe.

Cette page affiche un formulaire requérant l’adresse email d’un utilisateur ayant oublié son mot de passe.

TEMPLATE core/auth/otp.html

Le patron de vérification de codes d’authentification multi-facteurs.

Affiche un formulaire qui requière un code d’authentification multi-facteurs.

Paramètres:
  • form (TwoFactorForm) – Le formulaire de vérification de code.

TEMPLATE core/auth/reset-password.html
../_images/ec064a6ba2b88f01f0179c64563e79c7.png

La page de réinitialisation de mot de passe.

../_images/7373319fd9274b2ded1e0534252ba2b0.png

La page de réinitialisation de mot de passe.

Le patron de réinitialisation de mot de passe.

Affiche un formulaire de réinitialisation de mot de passe.

Paramètres:
  • form (PasswordResetForm) – Le formulaire de réinitialisation de mot de passe.

  • user (User) – L’utilisateur associé à l’URL.

  • token (str) – The secret link token.

TEMPLATE core/auth/setup-otp.html

Le patron d’initialisation de l’authentification multi-facteurs.

Affiche un QR-code et le secret OTP.

Paramètres:
  • secret (str) – Le secret de l’OTP.

  • qr_image (A base64 encoded str) – Une image QR-code représentant le secret OTP.

TEMPLATE core/auth/sms.html

Le patron de vérification de codes d’authentification multi-facteurs.

Affiche un formulaire qui requière un code d’authentification multi-facteurs.

Paramètres:
  • form (TwoFactorForm) – Le formulaire de vérification de code.

TEMPLATE core/auth/partials/fido_errors.html

WebAuthn error messages partial.

Displays all possible WebAuthn error messages (hidden by default).

Paramètres:
  • attached (bool) – If true, use “attached” style instead of “icon” style.

TEMPLATE core/auth/partials/fido_setup_content.html

WebAuthn registration content partial.

Displays the registration instructions, error messages, and options.

Paramètres:
  • options_json (str) – The WebAuthn registration options in JSON format.

Formulaires

class canaille.core.endpoints.forms.CaptchaField(*args, **kwargs)[source]

Bases : StringField

CAPTCHA field for security code input.

class canaille.core.endpoints.forms.CreateGroupForm(*args, **kwargs)[source]

Bases : Form

Le formulaire de création de groupes.

class canaille.core.endpoints.forms.DeleteGroupMemberForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.EditGroupForm(*args, **kwargs)[source]

Bases : Form

Le formulaire d’édition de groupes.

class canaille.core.endpoints.forms.EmailConfirmationForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.FirstLoginForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.ForgottenPasswordCodeForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.ForgottenPasswordForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.GroupInvitationForm(*args, **kwargs)[source]

Bases : Form

The group invitation form.

class canaille.core.endpoints.forms.InvitationForm(*args, **kwargs)[source]

Bases : Form

Le formulaire d’invitation d’utilisateurs.

class canaille.core.endpoints.forms.JoinForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.JoinFormWithCaptcha(*args, **kwargs)[source]

Bases : JoinForm

class canaille.core.endpoints.forms.LoginForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.PasswordForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.PasswordResetForm(*args, **kwargs)[source]

Bases : Form

class canaille.core.endpoints.forms.PasswordWithCaptchaForm(*args, **kwargs)[source]

Bases : PasswordForm

class canaille.core.endpoints.forms.TwoFactorForm(*args, **kwargs)[source]

Bases : Form

canaille.core.endpoints.forms.add_captcha_fields(form)[source]

Add CAPTCHA fields to a dynamically built form.

OIDC

Les patrons OIDC sont affichés lors des étapes de consentement OIDC.

Fichiers de patrons

TEMPLATE oidc/authorize.html
../_images/5b35417a685fb7beb13534fa6dcfea1c.png

La page de requête de consentement.

../_images/4da63f5538fe7b42791b7d5377181610.png

La page de requête de consentement.

Le patron de requête de consentement.

Ce patron est affiché aux utilisateurs accédant à une nouvelle application qui requête l’accès à des informations personnelles. Il liste les informations personnelles demandées, et propose à l’utilisateur d’accepter ou de refuser.

Paramètres:
  • user (User) – L’utilisateur dont le consentement est requis.

  • grant (An Authlib Grant) – Le flux OIDC.

TEMPLATE oidc/client_add.html
../_images/155fcb01be25ac451ea11f203941c59f.png

La page d’ajout d’application cliente.

../_images/fae09e4df5e5a55930fc67b8186a24ee.png

La page d’ajout d’application cliente.

Le patron d’ajout d’application cliente.

Affiche un formulaire de création de Client.

Paramètres:
  • form (ClientAddForm.) – Le formulaire de création de client.

TEMPLATE oidc/client_edit.html
../_images/1bb5694d160353bbb019bcc58317af57.png

La page d’ajout d’application cliente.

../_images/20792b05859311166052fcd820cca244.png

La page d’ajout d’application cliente.

Le formulaire d’édition de client.

Affiche un formulaire d’édition de Client.

Paramètres:
  • form (ClientAddForm.) – Le formulaire de création de client.

  • client (Client) – Le client édité.

TEMPLATE oidc/client_list.html
../_images/17d2d19c64a43927c39db6f079e42b5e.png
../_images/b53c3a0d079df9bbc41be8f65514a19e.png

La liste des clients OIDC.

Affiche une liste paginée de Client.

Paramètres:
../_images/0be03017941ff1410123fc6a100dc263.png

La liste d’application avec consentement explicite.

../_images/d49b5f3d921329601545cec74d31b4da.png

La liste d’application avec consentement explicite.

La liste d’application avec consentement explicite.

Affiche une liste d’applications clientes auxquelles l’utilisateur a donné ou révoqué son consentement.

Paramètres:
  • scope_details (dict) – Description des scopes OIDC.

  • ignored_scopes (list) – Les scopes à masquer.

  • nb_consents (int) – Le nombre de consentements.

  • nb_trusted (int) – Le nombre de clients de confiance.

TEMPLATE oidc/logout.html

Le patron de déconnexion OIDC.

Utilisé durant la déconnexion initiée par les applications clients OIDC, lorsque le consentement de l’utilisateur est nécessaire.

Paramètres:
  • form (LogoutForm.) – Le formulaire de déconnexion.

  • client (Client) – Le client requérant la déconnexion.

TEMPLATE oidc/token_list.html
../_images/1faca1d20789ae31e1cb32d1c7488867.png

La liste des jetons.

../_images/b309aced990f018a059123e300c3865c.png

La liste des jetons.

La liste des jetons.

Affiche une liste paginée de Token.

Paramètres:
  • table_form (TableForm of Token.) – Le formulaire de listes paginées.

TEMPLATE oidc/token_view.html
../_images/958bd8261a55306800de74a12f06949c.png

La page de visualisation de jeton.

../_images/1857eb3848df8836b1dc6e6e97308254.png

La page de visualisation de jeton.

Le patron de visualisation de jetons.

Affiche les détails d’un Token.

Paramètres:
TEMPLATE oidc/trusted_list.html
../_images/ccff3e05cdba84361d362f65970aa48f.png

La liste d’applications de confiance.

../_images/5e11ddce90aa76e1806fa113919e65e2.png

La liste d’applications de confiance.

La liste d’applications de confiance.

Affiche une liste d’applications clientes de confiance dont il est établi que les utilisateurs n’ont pas besoin de fournir un consentement explicite.

Paramètres:
  • scope_details (dict) – Description des scopes OIDC.

  • ignored_scopes (list) – Les scopes à masquer.

  • trusted (list [ Client ]) – La liste des clients avec consentements implicite.

  • nb_consents (int) – Le nombre de consentements.

  • nb_trusted (int) – Le nombre de clients de confiance.

Formulaires

class canaille.oidc.endpoints.forms.AuthorizeForm(*args, **kwargs)[source]

Bases : Form

class canaille.oidc.endpoints.forms.ClientAddForm(*args, **kwargs)[source]

Bases : Form

Simplified form for adding a new client with only essential fields.

class canaille.oidc.endpoints.forms.ClientEditForm(*args, **kwargs)[source]

Bases : ClientAddForm

Complete form for editing a client with all metadata fields.

class canaille.oidc.endpoints.forms.LogoutForm(*args, **kwargs)[source]

Bases : Form

class canaille.oidc.endpoints.forms.TokenRevokationForm(*args, **kwargs)[source]

Bases : Form