root/docs/trunk/admin_css.txt

Revision 152, 7.4 kB (checked in by anhj, 3 years ago)

qq corrections supplementaires

Line 
1 ===================================================
2 Personnaliser l'interface d'administration de Dango
3 ===================================================
4
5 L'interface d'administration automatique de Django vous offre un espace
6 d'administration complÚtement fonctionnel sans effort ni code supplémentaire
7 de votre part. L'administration dynamique a été conçue pour être parée à
8 la mise en production, pas seulement comme un point de départ, ce qui vous
9 permet de l'utiliser telle quelle sur un site en condition réelle. Etant donné
10 que les pages d'administration sont fondées et construites autour de Django,
11 vous pouvez en personnaliser l'apparence en modifiant les feuilles de style
12 et les images de la partie administration.
13
14 Voici une vue d'ensemble rapide et non exhaustive de quelques classes et
15 styles principaux exploités dans les CSS de l'administration de Django.
16
17 Modules
18 =======
19
20 La classe ``.module`` est une brique de base regroupant du contenu dans
21 l'interface d'administration. Elle est généralement appliquée sur un ``div``
22 ou un ``fieldset``. Elle encapsule le groupe de contenu dans une boîte et
23 applique certain styles aux éléments qu'elle contient. Un ``h2`` à l'intérieur
24 d'un ``div.module`` s'alignera en partie supérieure du ``div`` en tant qu'en-tête
25 pour tout le groupe.
26
27 .. image:: http://media.djangoproject.com/img/doc/admincss/module.gif
28    :alt: Exemple d'utilisation d'une classe de module sur la page d'accueil
29          de l'administration
30
31 Types de colonnes
32 =================
33
34 .. admonition:: Note
35
36     Toutes les pages d'aministration (sauf le tableau de bord) sont en largeur
37     fluide. Toutes les classes en largeurs fixes provenant des version précédentes
38     de Django ont été supprimées.
39    
40 Le template de base pour chaque page d'administration contient un bloc définissant
41 la structure en colonne de la page. Il définit une classe pour la partie contenu
42 de la page (``div#content``) ce qui permet à chaque élément de la page de
43 connaître sa largeur relative. Il y a trois types de colonnes disponibles.
44
45 colM
46         C'est la disposition en colonne utilisée par défaut sur les pages. Le "M"
47         signifie "principal" (main).  Présuppose que tout le contenu de la page
48         est regroupé dans une colonne principale (``div#content-main``).
49 colMS
50     Celle-ci est pour les pages avec une colonne principale et une barre latérale
51     à droite. Le "S" signifie "barre latérale" (sidebar). Présuppose que le contenu
52     principal est dans ``div#content-main`` et celui de la barre latérale dans
53     ``div#content-related``. Utilisé sur la page principale de l'administration.
54 colSM
55     Pareil que ci-dessus, mais avec la barre latérale à gauche. L'ordre des
56     colonnes dans le code source n'a pas d'importance.
57
58 Par exemple, vous pouvez utiliser ceci dans un template pour avoir une page sur
59 deux colonnes avec une barre latérale à droite::
60
61     {% block coltype %}colMS{% endblock %}
62
63 Styles du Texte
64 ===============
65
66 Taille des polices de caractÚres
67 --------------------------------
68
69 La plupart des éléments HTML (en-tête, listes, etc.) possÚdent une taille de police
70 de caractÚres de base adaptée au contexte dans la feuille de style. Il y a
71 trois classes disponibles pour forcer le texte à une certaine taille dans chaque
72 contexte.
73
74 small
75     11px
76 tiny
77     10px
78 mini
79     9px (à utiliser avec modération)
80
81 Styles et alignement des polices de caractÚres
82 ----------------------------------------------
83
84 Il y a aussi quelques styles pour personnaliser le texte.
85
86 .quiet
87     Définit la couleur de la police de caractÚres au gris clair. Utile pour les
88     notes latérales dans les directives. Associez-la avec ``.small`` ou ``.tiny``
89     pour donner de l'effet.
90 .help
91     C'est une classe sur mesure pour les blocs de texte en ligne détaillant
92     le rÃŽle des éléments de formulaire. Elle rend le texte plus petit et gris,
93     et quand elle est appliquée sur les éléments ``p`` contenant des éléments
94     ``.form-row`` (voir Styles de formulaires ci-dessous), elle décalera le texte
95     pour l'aligner avec le champ de formulaire. Utilisez-la pour du texte d'aide,
96     à la place de ``small quiet``. Elle fonctionne sur d'autres éléments, mais
97     essayez dans la mesure du possible d'utiliser cette classe sur un ``p``.
98 .align-left
99     Aligne le texte à gauche. Fonctionne seulement sur les éléments de type bloc
100     contenant des éléments en ligne.
101 .align-right
102     Etes vous attentif ?
103 .nowrap
104     Préserve le texte et les objets en ligne du retour automatique à la ligne.
105     Pratique pour les en-têtes de tableau que vous désirez garder sur une seule ligne.
106
107 Flottants et abandon des flottants
108 ----------------------------------
109
110 float-left
111     flottant à gauche
112 float-right
113     flottant à droite
114 clear
115     abandon de tous les flottants
116
117 Utilitaires
118 ===========
119
120 Certaines actions s'appliquant directement à un objet sont utilisées dans les
121 formulaires et les pages de sélection pour modification. Celles-ci apparaissent
122 dans une colonne "barre d'outils" au dessus du formulaire ou de la sélection
123 à modifier, à droite de la page. Les outils sont encapsulés dans un ``ul``
124 avec la classe ``object-tools``. Il y a deux types particuliers d'outils pouvant
125 être définis avec une classe additionnelle sur le ``a`` de l'outil. Ce sont
126 les ``.addlink`` et les ``.viewsitelink``.
127
128 Exemple pour une page de sélection pour modification::
129
130     <ul class="object-tools">
131       <li><a href="/stories/add/" class="addlink">Add redirect</a></li>
132     </ul>
133
134 .. image:: http://media.djangoproject.com/img/doc/admincss/objecttools_01.gif
135    :alt: Utilitaires sur une page de sélection modifiables
136
137 et sur une page de formulaire::
138
139     <ul class="object-tools">
140      <li><a href="/history/303/152383/">History</a></li>
141      <li><a href="/r/303/152383/" class="viewsitelink">View on site</a></li>
142     </ul>
143
144 .. image:: http://media.djangoproject.com/img/doc/admincss/objecttools_02.gif
145    :alt: Utilitaires sur un formulaire
146
147 Styles de formulaire
148 ====================
149
150 Fieldsets
151 ---------
152
153 Les formulaires d'administration sont découpés en groupes d'éléments appelés
154 ``fieldset``. Chaque ``fieldset`` doit avoir une classe``.module``.
155 Chaque ``fieldset`` doit contenir un en-tête ``h2`` en position supérieure (exception
156 faite pour le premier d'entre eux, et dans certains cas où le
157 groupe ne possÚde pas d'étiquette logique).
158
159 Chaque groupe peut aussi avoir des classes supplémentaires en plus de la classe
160 ``.module`` pour appliquer un formatage approprié au groupe de champs.
161
162 .aligned
163     Permet d'aligner les étiquettes et les champs de saisie cÃŽte à cÃŽte et
164     sur la même ligne.
165 .wide
166     Utilisé en combinaison avec ``.aligned`` pour élargir l'espace disponibe
167     pour les étiquettes.
168
169 Lignes de formulaire
170 --------------------
171
172 Chaque ligne du formulaire (dans un ``fieldset``) doit être incluse dans un
173 ``div`` avec la classe ``form-row``. Si le champ de la ligne est requis, une
174 classe ``required`` doit aussi être ajouté à ``div.form-row``.
175
176 .. image:: http://media.djangoproject.com/img/doc/admincss/formrow.gif
177    :alt: Exemple  d'utilisation d'une classe de ligne de formulaire
178
179 Etiquettes
180 ----------
181
182 Les étiquettes de formulaires doivent toujours précéder le champ de formulaire,
183 excepté dans le cas des cases à cocher et des boutons radio, pour lesquels
184 le ``input`` doit venir en premier. Toute explication ou texte d'aide doit
185 suivre le ``label`` dans un ``p`` avec la classe ``.help``.
Note: See TracBrowser for help on using the browser.