[SPIP Zone] JungleLand et conventions/Extension de Zpip

Hello,
regardant hier soir les thèmes, j'ai vu quelques problèmes dans le thème JungleLand :

Tu insère du contenu dans le squelette body-layout :

http://zone.spip.org/trac/spip-zone/browser/themes/JungleLand1-0/body-layout.html#L17
http://zone.spip.org/trac/spip-zone/browser/themes/JungleLand1-0/body-layout.html#L85

C'est mal !
Les raisons pour lesquelles c'est mal :

- tu insère un id hors nomenclature, qui peut entrer en conflit avec un élément du squelette.
- tu proposes des éléments qui ont pu être mis dans le squelette, et qui vont faire doublon. Ce serait un peu ridicule de se retrouver avec 2 groupes de liens consécutifs 'remonter en haut' en pas de page
- du coup, tu insère des éléments en anglais, en préjugeant que cela conviendra au webmestre (ce qui nous vaudrait dans l'exemple précédent le plaisir d'un 'remonter en haut', suivi d'un 'back to top').

Tous ces points rendent ton thème non générique. Il marche bien aujourd'hui avec Zpip, mais risque de casser demain.

Alors comment faire ?
Quand on est confronté à des besoins de ce type je vois 2 solutions :
- *prévoir* dans les css l'existence d'éléments de ce type, les styler, et l'ajouter à la documentation du thème :
'en plus des conventions, le squelette peut fournir les éléments X et Y qui seront affichés comme suit ...'.

- *généraliser* le cas, en faisant évoluer la nomenclature commune Zpip pour que ces élément soient intégrés aux conventions et puissent être pris en charge par tous les thèmes.

En l'occurrence, les liens d'accès rapide (en haut de page), et de retour au début (en bas de page) sont des éléments génériques qu'il serait effectivement judicieux d'intégrer à la spec. Ils sont souvent prévus dans les thèmes, et constituent une bonne pratique à promouvoir.

Je ne sais pas si tetue a posé une convention de nommage dans sont plugin skiplink ?
Sinon si vous avez des propositions de nommage en français, ne vous privez pas.

Pour l'élément RSS, je ne sais pas si on peut mettre ça dans les éléments génériques à styler dans les thèmes.

Et tant qu'on y est, je pense qu'un autre élément générique à prévoir serait des boites ou cadre, utilisables par les squelettes.

Cédric

Le 27 novembre 2009 09:19, cedric.morin@yterium.com
<cedric.morin@yterium.com> a écrit :

Hello,
regardant hier soir les thèmes, j'ai vu quelques problèmes dans le thème JungleLand :

Tu insère du contenu dans le squelette body-layout :

Connexion · GitLab
Connexion · GitLab

C'est mal !
Les raisons pour lesquelles c'est mal :

- tu insère un id hors nomenclature, qui peut entrer en conflit avec un élément du squelette.
- tu proposes des éléments qui ont pu être mis dans le squelette, et qui vont faire doublon. Ce serait un peu ridicule de se retrouver avec 2 groupes de liens consécutifs 'remonter en haut' en pas de page
- du coup, tu insère des éléments en anglais, en préjugeant que cela conviendra au webmestre (ce qui nous vaudrait dans l'exemple précédent le plaisir d'un 'remonter en haut', suivi d'un 'back to top').

Tous ces points rendent ton thème non générique. Il marche bien aujourd'hui avec Zpip, mais risque de casser demain.

Alors comment faire ?
Quand on est confronté à des besoins de ce type je vois 2 solutions :
- *prévoir* dans les css l'existence d'éléments de ce type, les styler, et l'ajouter à la documentation du thème :
'en plus des conventions, le squelette peut fournir les éléments X et Y qui seront affichés comme suit ...'.

- *généraliser* le cas, en faisant évoluer la nomenclature commune Zpip pour que ces élément soient intégrés aux conventions et puissent être pris en charge par tous les thèmes.

En l'occurrence, les liens d'accès rapide (en haut de page), et de retour au début (en bas de page) sont des éléments génériques qu'il serait effectivement judicieux d'intégrer à la spec. Ils sont souvent prévus dans les thèmes, et constituent une bonne pratique à promouvoir.

Je ne sais pas si tetue a posé une convention de nommage dans sont plugin skiplink ?
Sinon si vous avez des propositions de nommage en français, ne vous privez pas.

Pour l'élément RSS, je ne sais pas si on peut mettre ça dans les éléments génériques à styler dans les thèmes.

Et tant qu'on y est, je pense qu'un autre élément générique à prévoir serait des boites ou cadre, utilisables par les squelettes.

Sur la nomenclature, je pense qu'il est important d'avoir un contenu
dans les extra et navigation. C'est le grand manque de zpip. Un
<div class="special $type"><h2>titre</h2><div class="texte">contenu
avec typo ou non</div></div>
Serait à mon avis suffisant. Dailleurs, est ce que les formulaire dans
extra ne devrait pas avoir un titre <h2> ?

Pour les skiplink, un simple <p class="raccourcis">#contenu #recherche
#menu</p> bien placé est à mon avis suffisant. Pour le placement des
skiplink , on peut ajouter un id="skiplink" (au pire pour un
position:absolute), les raccourcis de type remonte etc ... passant par
la classe raccourcis (voire une classe supplémentaire).

Ce que je fais de mon coté : les formats des liens sur les postes
précédents/suivants sont utilisé pour la hierarchie, les liens top
utilisé pour les pagination.

Je travaille sur snowblind et j'essaye de proposer un squelette
nécessitant zpip avec les skiplink dans l'entête et des blocs de
contenu dans extra et navigation. Un bloc tags spécifique au articles
et brèves à la suite de la cartouche.

Doit on continuer sur >
SPIP-Contrib ?

Ce qui permettrais d'être plus accessible par les devs de thèmes et zquelettes ?

Merci !

Le 27/11/2009 09:19, cedric.morin@yterium.com a écrit :

Et tant qu'on y est, je pense qu'un autre élément générique à prévoir serait des boites ou cadre, utilisables par les squelettes.

J'ai pensé aussi à un autre besoin générique et qui rejoint tes lectures de CSS orientés objet.

Ça serait bien qu'il y ait un ensemble de classes permettant à coup sûr pour les squelettes de générer des colonnes. En effet, ça arrive régulièrement que *dans le contenu* (et non pas dans le layout général), on veuille séparer des blocs ou des listes en deux ou trois colonnes par exemple. C'est souvent le cas pour les pages présentant plusieurs choses (et non pas un objet précis), comme les pages d'accueil ou de rubriques.

--
RastaPopoulos

Le 27 nov. 2009 à 11:31, RastaPopoulos a écrit :

Le 27/11/2009 09:19, cedric.morin@yterium.com a écrit :

Et tant qu'on y est, je pense qu'un autre élément générique à prévoir serait des boites ou cadre, utilisables par les squelettes.

J'ai pensé aussi à un autre besoin générique et qui rejoint tes lectures de CSS orientés objet.

Ça serait bien qu'il y ait un ensemble de classes permettant à coup sûr pour les squelettes de générer des colonnes. En effet, ça arrive régulièrement que *dans le contenu* (et non pas dans le layout général), on veuille séparer des blocs ou des listes en deux ou trois colonnes par exemple. C'est souvent le cas pour les pages présentant plusieurs choses (et non pas un objet précis), comme les pages d'accueil ou de rubriques.

Je me suis posé la question, et pour le moment la réponse a été plutot non, de peur d'embrouiller les débutants.

Mais sur ce point, j'aime beaucoup ce qu'a fait Nicole Sullivan dans ooCSS.
Il y a des pages de demo dans le theme qui reprend son framework.
Son système de colonnage est élégant et portable.

Cédric

Le 27/11/2009 11:46, cedric.morin@yterium.com a écrit :

Mais sur ce point, j'aime beaucoup ce qu'a fait Nicole Sullivan dans ooCSS.
Il y a des pages de demo dans le theme qui reprend son framework.
Son système de colonnage est élégant et portable.

Oui c'est justement à partir de ça que je m'étais fait la remarque le mois dernier lorsque j'ai lu en détail le thème ooCSS. En me disant que si on doit utiliser ça, ça ne doit pas être un seul thème qui le propose, car c'est dans les squelettes qu'on utilise les classes.

Ou sinon, pour ne pas embrouiller les débutants (tu parles des thémeurs potentiels ?) on peut imaginer un socle commun, qui serait intégré dans le squelette Zpip. En effet, pour le découpage de contenu en colonnes, il ne s'agit quasiment pas de style, on ne dit pas comment seront joliment présenté les colonnes mais on ajoute seulement la *fonctionnalité* de faire des colonnes.

Ainsi on aurait :
- dans zpip, des classes génériques à utiliser par les squelettes pour faire des colonnes *à coup sûr*
- si les thèmes le désirent (mais donc pas obligatoire puisque la fonction elle-même est commune), la possibilité de rendre plus jolies les colonnes en ajoutant des propriétés CSS sur les mêmes classes. Par exemple pour faire séparations verticales en image, ou mettre des background, etc.

--
RastaPopoulos

Le 27 novembre 2009 09:19, cedric.morin@yterium.com <cedric.morin@yterium.com> a écrit :

Je ne sais pas si tetue a posé une convention de nommage dans sont plugin skiplink ?
Sinon si vous avez des propositions de nommage en français, ne vous privez pas.

Si si, bien sûr, et en français.
Voir : http://www.spip-contrib.net/SkipLink

– Romy

Si si, bien sûr, et en français.
Voir : Skip Links - SPIP-Contrib

SKIP est une marque de lessive bien connue, et LINK le nom d'un héros
de jeu vidéo. C'est donc bien du français.

-- Fil