Composants du système de design de l’État
Documentation
Le système de design propose un certain nombre de composants, et Django-DSFR vise à les implémenter sous forme de balises utilisables dans les templates Django, soit en passant directement les paramètres, soit en les passant depuis la vue via un dictionnaire.
Par exemple, il est possible de créer un bouton soit en passant directement les paramètres :
{% dsfr_button label="Bouton principal" onclick="alert('Vous avez cliqué sur le bouton principal')" %}
Soit en définissant un dictionnaire dans la vue :
context["data_dict"] = {
"label": "Bouton principal",
"onclick": "alert('Vous avez cliqué sur le bouton principal')",
}
et en l’appelant depuis le template :
{% dsfr_button data_dict %}
L’implémentation de ces balises est un travail en cours, mais il est tout à fait possible d’utiliser directement l’ensemble du système de design de l’État en utilisant directement le code HTML tel que défini dans la documentation officielle :
<button class="fr-btn" onclick="alert('Vous avez cliqué sur le bouton principal')" type="submit">
Bouton principal
</button>
Toutes ces options produisent le même résultat :
Composants implémentés
- Accordéon (accordion)
- Alertes (alert)
- Badge (badge)
- Bandeau d’information importante (notice)
- Bouton FranceConnect (france_connect)
- Boutons (button)
- Boutons – Groupe (button_group)
- Carte (card)
- Champs de saisie (input)
- Citation (quote)
- Contenu média (content)
- En-tête (header)
- Fil d’Ariane (breadcrumb)
- Gestionnaire de consentement (consent)
- Icône de favoris (favicon)
- Indicateur d’étapes (stepper)
- Infobulle (tooltip)
- Interrupteur (toggle)
- Lettre d’information et réseaux sociaux (follow)
- Lien (link)
- Liens d’évitement (skiplinks)
- Listes déroulantes (select)
- Menu latéral (sidemenu)
- Mise en avant (callout)
- Mise en exergue (highlight)
- Pagination (pagination)
- Paramètres d’affichage (theme_modale)
- Pied de page (footer)
- Sommaire (summary)
- Tableau (table)
- Tag (tag)
- Transcription (transcription)
- Tuile (tile)
Composants pas encore implémentés
-
Bouton radio riche (radio_rich)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Note : À implémenter au sein des formulaires et non comme une balise. cf. #126
-
Contrôle segmenté (segmented_control)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Note : À implémenter au sein des formulaires et non comme une balise. cf. #128
-
Curseur (range)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Note : À implémenter au sein des formulaires et non comme une balise. cf. #129
Composants qui ne seront pas implémentés
-
Ajout de fichier (file_upload)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Champ de formulaire.
-
Barre de recherche (search_bar)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Champ de formulaire.
-
Bouton radio (radio)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Champ de formulaire.
-
Case à cocher (checkbox)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Champ de formulaire.
-
Modale (modal)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Une balise rendrait l’utilisation plus complexe au lieu de la simplifier.
-
Mot de passe (password)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Dépendant de l’implémentation des comptes utilisateurs dans le projet Django
-
Navigation principale (navigation)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Partie de l’en-tête, voir la documentation de ce composant.
-
Onglet (tab)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Une balise rendrait l’utilisation plus complexe au lieu de la simplifier.
-
Partage (share)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Une balise rendrait l’utilisation plus complexe au lieu de la simplifier.
-
Retour en haut de page (back_to_top)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
-
Raison : Utilisez une balise Lien (
dsfr_link
)
-
Raison : Utilisez une balise Lien (
-
Sélecteur de langue (translate)
(Documentation Ouvre une nouvelle fenêtre
—
Exemple Ouvre une nouvelle fenêtre)
- Raison : Partie de l’en-tête, voir la documentation de ce composant.
- Téléchargement de fichier (download) (Documentation Ouvre une nouvelle fenêtre — Exemple Ouvre une nouvelle fenêtre)