Très cher Franck,
Je sens que tu vas te moquer de moi, mais tu avais vu juste : je commence à m’éloigner quelque peu des premières maquettes au fur et à mesure que je mets en place les règles CSS « pour de vrai ». Aujourd’hui, tu pourras découvrir l’entête et le pied de page « définitifs » (sous réserve d’ajustements mineurs). J’ai aussi un tout petit peu modifié le comportement en fonction des mediaqueries.
Ce jour est aussi le premier où j’apporte des modifications aux fichiers HTML. Aujourd’hui top.html
et footer.html
Rituellement, insérons ici pour mémoire une capture du thème dans son état avant aujourd’hui :
Et maintenant, si tu me lis depuis ton agrégateur, viens jeter un œil sur le blog… Tu as vu ? Un haut de page, ça change pas mal l’allure d’une page, non ? Il serait trop long de détailler toutes les modifications, n’hésite pas à me poser des questions si tu en as sur la façon de réaliser ceci ou cela. Je choisis aujourd’hui de m’attarder sur quelques points.
La boîte de recherche
Je me suis pas mal creusé la tête sur la façon dont j’allais pouvoir gérer ça uniquement avec les CSS. En effet, il s’agit là d’un thème distribué et non d’un thème sur mesure. Or je ne peux pas savoir si l’utilisateur voudra ou non insérer le widget de recherche et s’il l’insère je ne sais pas s’il le placera en premier ou non dans la zone bandeau de navigation. Telle que tu la vois, c’est la première boîte, mais tu penses bien que si l’utilisateur du thème devait la placer ailleurs, ça ferait bien moche !
Il fallait donc cibler cette boîte si et seulement si elle se trouvait tout en haut du « sidebar » et lui laisser la présentation normale au cas où elle soit placée ailleurs. Je n’ai donc pas modifié les règles du « jour 3 » mais j’en ai ajouté. Par ailleurs, comme cette présentation ne conviendrait pas pour le cas où les boîtes se trouvent en bas de la page, je n ‘ai pas placé ces nouvelles règles dans le fichier général style.css
mais dans le fichier comportant les règles spécifiques, mediaqueries.css
, sur le sélecteur englobant les règles concernant les fenêtres de plus de 1024px de large.
Et voici comment cibler la boîte de recherche si et seulement si elle est placée en premier de tous les widgets :
#sidebar #blognav div:first-child { } #sidebar div#search:first-child { } #sidebar div#search:first-child h2 { } #sidebar div#search:first-child p { }
Je ne les mets pas toutes, je pense que tu as compris le principe ! Comme tu es très observateur, j’anticipe ta question : « Mais, me diras-tu, la première ligne ne mentionne pas la boîte de recherche ! » et après t’avoir complimenté sur ta fine remarque je te répondrai que cette première règle me permet d’indiquer que faire de la première boîte (en l’occurrence, lui ajouter une marge haute pour qu’elle s’aligne avec la partie gauche).
J’espère que je suis assez claire et que ces explications ainsi que le zip qui accompagne ce billet te permettront de comprendre la manip. Si tu joues avec le thème, place la boîte de recherche ailleurs qu’en premier widget pour voir la différence.
Les stickers
Il s’agit des trois éléments tout en haut à droite. Il fallait trouver un moyen pour qu’ils s’affichent en haut sur les largeurs supérieures à 480px et en larges boutons en bas de la page pour les dimensions inférieures.
Première étape : la source
Je t’invite à regarder le nouveau fichier footer.html
pour constater les modifications faites. Quand tu les ajouteras à la configuration n’oublie pas de leur affecter un identifiant correspondant à leur numéro d’ordre et d’affecter au dernier d’entre eux la classe last
.
L’utilisateur choisira donc quels liens parmi les trois possibles il veut ajouter à cet endroit, dans quel ordre et vers quelle URL cela doit diriger.
Tu noteras que j’ai mis les images « en dur » et placé le texte assorti dans un span
. Ces deux choses me permettent de cacher le texte quand les stickers sont en haut (et que l’image soit cliquable et accessible) et de limiter la zone de l’image quand les stickers sont en bas.
Deuxième étape : les CSS
Si j’ai choisi de placer ces liens dans le pied de page par défaut c’est qu’il s’agit là à mon sens de leur place « naturelle » ; je les « remonte » sur les grandes largeurs, grâce à un positionnement en absolute. La difficulté que j’ai rencontrée était de réussir à réduire la zone affichée des images pour garder à ces liens des hauteurs normales sur les petites largeurs.
Pour cela j’ai utilisé les règles suivantes dans les règles concernant les largeurs inférieures à 480px :
#stickers { margin: 0; padding: 0; border-bottom: 8px solid #fff; } #stickers li { position: relative; line-height: 2.5em; margin-left: 0; padding-left: 0; border: 2px solid #fff; border-left: 8px solid #fff; border-right: 8px solid #fff; } #stickers img { display: block; position: absolute; clip: rect(0px,32px,32px,0px); } #stickers span { margin-left: 40px; }
Note la position: relative
attribué aux li
, c’est afin de pouvoir donner une position:absolute
à l’image, indispensable à l’utilisation de la propriété clip
. Ne me demande pas pourquoi mais c’est une condition impérative pour que le clip fonctionne. Je l’ai lu mais n’ai pas trouvé d’explications à ce sujet.
Le haut de page
J’ai apporté un gros lot de nouveautés dans cette zone, gérée dans le fichier top.html
.
Déplacement des liens d’évitement
C’est une décision provisoire – et qui ne bouleversera pas les choses si je le redéplace – mais l’accessibilité recommande de placer les liens d’évitement le plus haut possible dans la page. Leur placement dans les versions actuelles du thème par défaut de Dotclear n’est pas incorrect (juste après le titre du blog) mais comme j’aimerais que le titre et le sous-titre du blog soient dans un bloc cohérent et que je ne voulais pas rejeter les liens d’évitement après, je les ai carrément mis en tout premier lieu.
Ajout de la description du blog
Demande souvent faite par les utilisateurs sur le forum : que la description du blog, actuellement utilisée seulement dans le flux RSS, puisse s’afficher sur le blog. Je l’ai donc insérée. Si tu le peux, je crois que ça serait bien que le configurateur du thème permette de préciser si on veut ou pas qu’elle soit visible sur le blog.
Ajout d’un menu de premier niveau
Là aussi c’est une demande de plus en plus fréquente. Nous avons d’ailleurs un « ticket » qui propose la livraison par défaut d’un plugin de gestion de menu dans la distribution de base Dotclear. Je ne sais pas quelle sera la décision de l’équipe, aussi pourrions-nous passer pour le moment par le configurateur, d’autant que mon menu à moi prévoit la présence d’un sous-titre à chaque item et ne prévoit pas de sous-menus.
Je n’aime pas les sous-menus, ça m’agace de devoir survoler un lien pour voir d’autres bidules, de veiller à descendre soigneusement verticalement pour atteindre celui qui m’intéresse en veillant scrupuleusement à ne pas relâcher ma souris avant d’avoir atteint le Graal.
Comme par ailleurs ce type de menu pose des difficultés ergonomiques et d’accessibilité, zou, pas de niveaux inférieurs !
Quant à la présentation, je te laisse découvrir les CSS non sans t’avoir montré auparavant que quelques lignes suffisent à modifier l’ambiance générale du blog rien qu’en retouchant deux-trois règles. Regarde :
Dans le second fichier .zip joint à ce billet tu trouveras pour chaque variation sa capture d’écran, l’image de fond utilisée et les règles CSS assorties. Amuse-toi bien et si les lecteurs et toi voulez nous montrer vos variations, welcome !
Oh la la, tu as vu l’heure ? Ma maman va me gronder si je ne vais pas me coucher car demain j’ai école. Que la nuit te soit douce, très cher Franck, et à bientôt !
18 réactions
1 De Jean-Michel - 15/06/2011, 22:35
Attention, dans ce billet l’écriture du code pour afficher le code de ton image var2.jpg a sauté (sans doute deux parenthèses fermantes qui se sont fait la malle).
J’ai vraiment du mal avec un élément de ce thème (juste un), je trouve que le corps des titres de billet sont trop grand. Là, ça va car les titres sont courts mais sur un titre moyen même sans aller jusqu’à long, ça risque de coincer.
Est-ce encore trop tôt pour le tester totalement ? Sinon, tu me siffles ;-)
2 De annso - 15/06/2011, 22:53
C’est cool ! Ça commence vraiment à en jetter :)
3 De Kozlika - 15/06/2011, 22:56
Houlala beaucoup trop tôt pour tester genre tests ultimes, mais ça ne t’empêche pas de signaler ce que tu vois, surtout s’il s’agit du top, du footer enfin bref des zones censées être vaguement terminées. Je n’ai pas encore eu le courage non plus d’aller y voir sur les navigateurs capricieux qui portent un nom en deux mots dont le premier commence par un I et le second par un E…
Pour ta remarque : j’aime bien beaucoup les gros titres de billets ou en tout cas de différence très marquée avec le reste de la page et je suis encouragée dans cette décision par les réactions de mon entourage parmi ceux qui ne lisent jamais de blogs : ils ne savent pas où porter leurs yeux, confondent le titre de la page/billet avec celui du blog dans le contexte du billet seul, ne comprennent pas bien le passage d’un billet à l’autre dans les modes en liste (et les prennent souvent comme les intertitres d’une même page), etc.
4 De lipki - 15/06/2011, 23:43
Les tailles de titre sont embêtant surtout sur les deux plus petit format.
Sinon ça me dérange pas.
5 De Kozlika - 16/06/2011, 00:25
Si je vous le fais à 2.6 sur grand format et 2.2 sur les petits (au lieu de 2.8 et 2.5), vous topez-là ? (il y a intérêt parce que je n’irai pas plus bas ;-))
6 De notafish - 16/06/2011, 14:57
J’irai presque même jusqu’à 2em sur les petits formats (mais 2.8 pour le grand format, ça me gène pas) :P
Question : les titres sur la home, ils sont framboise ou pas ? (ils sont framboise sur mon tel, mais pas sur mon pc, mais je sais pas si c’est pas le cache).
Par ailleurs, je viens de faire un essai sur mon bêtephone et j’aurais tendance à dire qu’un truc en haut qui permet d’arriver direct en bas de la page (donc à la navigation générale, aux “stickers” et potentiellement à la possibilité de laisser un commentaire) serait pas mal. Par exemple, sur cette page, pour arriver en bas, je dois “poucer” grave avant d’arriver à la fin. Situvoiscequejeveuxdire.
7 De Kozlika - 16/06/2011, 15:25
Pour les liens monter/descendre tu as raison notafish, d’ailleurs c’était sur la maquette mais il ne faut pas que j’oublie.
Pour la couleur c’est théoriquement ce que ma maman appelait framboise écrasée (framboise mais sombre quoi).
Sur les titres pour les téléfons j’avoue me tâter encore un peu à carrément passer en 1.5 romain gras…
(Dans le menu il y a un lien vers la page “La tout doux liste du designer” n’hésitez pas à y faire des suggestions, rapport de bug.)
8 De lipki - 16/06/2011, 15:46
Je viens de présenter ce site a mon responsable de projet (Pour lui faire comprendre le potentiel de cette approche).
Et je plussoie notafish, le scroll sur portable, c’est long
9 De lipki - 16/06/2011, 15:48
On peut pas laisser de commentaire sur la toute douce.
10 De Kozlika - 16/06/2011, 16:08
Ah mais c’est nul ! Qui a fait ça ? Ah euh… je sors (et j’ouvre les commentaires)
11 De Jean-Michel - 16/06/2011, 18:57
Kozlika > Ces arguments sont plein de bons sens et je les approuve. C’est pour cela que la hiérarchie dans un document print comme web a son importance pour le lecteur ;-)
S’il y avait une idée à penser, c’est une déclinaison optionnelle aux teintes sombres (souvent oubliée).
12 De Kozlika - 17/06/2011, 23:43
J’ai fait des modifs ici en direct (pas reportées sur le dépôt officiel pour l’affichage des titres de billets sur portable. Z’en dites quoi ?
Jean-Michel, pour les déclinaisons, je ne sais pas trop, je n’en avais pas prévu du tout en fait. Celles d’ici ne servent que d’illustration du jour et ne sont pas destinées à faire partie de la livraison.
13 De brol - 18/06/2011, 18:06
Un peu bizarre que le footer ne soit pas calé en bas. Par exemple quand j’affiche la page “A propos de ce blog”, j’ai plein de blanc après la barre du footer, ce que je trouve, pour ma part (mais Moka est d’accord avec moi et comme chacun sait elle a un goût très sûr) assez pas beau. Ça serait-y pas possible de l’avoir fixe comme ce qu’on peut avoir dans l’admin de dc ?
14 De Jean-Michel - 18/06/2011, 19:01
Kozlika > Avis totalement personnel, seules les variations 1 et 3 sont réussies et mériteraient d’être distribués (surtout la 1)
J’avais pas vu “les tout doux” (excellent). Sinon je partage l’avis de notafish suite à ma recherche sur la taille des titres.
15 De Kozlika - 18/06/2011, 22:52
Jean-Michel, je ne comprends pas ta seconde remarque : comme je le dis juste au-dessus au commentaire 12 les titres sur tout petit écran sont modifiés depuis hier soir. Pour ce qui concerne les « variations » je ne peux que me répéter : elles illustrent la possibilité d’apporter des changements d’atmosphère via quelques lignes seulement dans la CSS et ne visent pas à être distribuées.
brol, je n’y tiens pas plus que ça : dans l’admin c’est au prix d’un js (ou jquery je ne sais plus) qu’annso a dû reprendre plusieurs fois pour que ça fonctionne bien. Vu que sur un blog les cas où le footer “remonte” sont très rares (la plupart du temps rien que le sidebar couvre toute la hauteur de page) je crois que je ne vais pas m’en inquiéter plus que ça.
16 De brol - 18/06/2011, 23:53
Ah ué, si c’est au prix d’un js, suis aussi de ton avis.
17 De Jean-Michel - 19/06/2011, 11:20
(…)
18 De lipki - 21/06/2011, 13:55
Y’a moyen de faire sans js, mais ça impose bcp de contrainte au reste des blocs.
Sinon les titres sont bien.