Salut les gens,

Je préfère débuter un nouveau fil, qui servira à développer les
discussions actuellement éparpillée sur plusieurs fils et Trello
concernant HTML5 dans les thèmes distribués. (En incise, je commence
par préciser qu'on ne parlera ici que des thèmes pour les blogs. Pour
ce qui concerne l'admin, ça se fera très probablement au moment du
passage à Twig. Quant aux sites DC/DA c'est corrélé aux refontes donc
imminent.)

Quels que soient nos éventuelles différences d'appréciation sur
l'urgence qu'il y aurait ou pas à passer à HTML5, je pense qu'on est
tous d'accord pour dire qu'à terme c'est la norme que nous proposerons
pour les templates par défaut. Pour débattre en pleine connaissance du
sujet, je commence par faire quelques rappels sur l'état des lieux,
puis j'enchaîne sur la discussion et mes propositions. Je reporterai
la partie "topo" sur le wiki dès qu'on y aura fait le ménage.

== Etat des lieux ==

= Jeux de templates =
Il y a actuellement deux jeux de templates html dans la distribution :
* ceux qui sont servis par défaut pour tous les thèmes full CSS sont
rangés dans inc/public/default-template. Ils sont en xhtml. Si
l'auteur d'un thème veut traiter un contexte en particulier
différemment, le fichier html correspondant est rangé dans
themes/nom_du_theme/tpl ;
* un jeu (presque) complet dans le thème Ductile. Il est en xhtml.
"Presque" parce que pour les fichiers _flv_player.html,
_mp3_player.html, _user_head.html et ceux de syndication (atom et rss)
il va chercher dans les tpl par défaut. Important : il comporte des
types de fichiers qui n'existaient pas auparavant (billet court,
billet long afin de régler plus finement ces deux types d'affichage)
et des éléments "standard" ont été améliorés. Il faudrait faire un
diff car je ne me souviens pas de tout mais par exemple la catégorie
mère s'affiche aussi dans le post-info, les commentaires ne sont plus
dans des <dl|dt|dd> mais dans des div, il a une boîte supplémentaire
de widgets et intègre SimpleMenu. Ce thème est configurable via une
page d'admin dédiée.

= Thèmes de la distribution =
Ils sont au nombre de quatre :
* Blue Silence, qui fut le thème s'affichant par défaut avant BlowUp.
Un thème full css classique
* Custom Theme est un thème "vierge" : très utilisé sur plate-formes,
il n'offre qu'un text-area vide pour balancer toutes les css qu'on
veut. C'est par là que passent les utilisateurs de plate-forme qui
veulent contourner la limitation des thèmes disponibles, au prix de
quelques contorsions cependant pour ce qui concerne les images (qu'ils
ne peuvent mettre que dans leur dossier d'images public)
* default aka Blowup, un thème configurable via page d'admin, aux
fichiers template non personnalisables. Les personnalisations sont
stockées et servies dans le header à l'affichage. Les
personnalisations possibles sont limitées par celles offertes par le
configurateur.
* Ductile, déjà décrit plus haut, responsive.

= Historique d'étude de bascule vers un autre thème par défaut =
À la sortie de Ductile, nous avons envisagé d'en faire le thème par
défaut, templates compris. L'idée a été repoussée car les nouveautés
de ces templates risquaient de casser tous les thèmes s'appuyant sur
les anciens html.
L'idée retenue était toutefois de se diriger vers la bascule, nous
avions imaginé introduire un double jeu dans inc/ en introduisant un
versionnement. Le fichier _define.php d'un thème accepterait un
nouveau paramètre indiquant quel jeu de templates utiliser (l'ancien
si rien n'est précisé). Il restait à le coder :-D
Nous avons aussi fait en sorte que le thème s'affichant par défaut ne
soit pas Blowup mais Ductile (enfin je crois qu'on avait fini par le
faire, à vérifier)

= Mais il ne faut pas oublier Twig =
En parallèle de tout ça, il y a le chantier décidé pour passer des
balises template actuelles à Twig, d'abord dans l'admin puis dans les
thèmes. Ça devrait se situer autour de la 2.8 (modulo que ça sort
quand c'est prêt donc ça peut être 2.7 ou 34.12). Là encore, on a
parlé de versionnement des fichiers templates de la distrib et de
paramètre à indiquer dans le _define.

Les copains présents sur ces discussions lorsqu'elles ont eu lieu
pourront compléter le topo si j'ai oublié des trucs.

== Discussions ==

Mon avis que je partage.

Pour trois raisons au moins il fallait déjà prévoir un nouveau jeu de
templates par défaut :

- pour intégrer un balisage plus respectueux de la sémantique (l'ex
donné des commentaires),
- pour intégrer les nouveautés (existence des sous-catégories,
troisième bandeau de widgets, SimpleMenu…),
- pour passer à twig.

Ajoutons-en une quatrième – passer à HTML5 pour tirer profit de ce que
permet cette syntaxe – et n'en faisons qu'un seul chantier, en y
intégrant notamment les améliorations et nouveautés que nous pouvons
apporter à ces templates sur la base du travail déjà fait dans Ductile
(conserver ce qui apporterait un bénéfice à tout thème, supprimer ce
qui ne serait que propre à ce thème qui ne conserverait que les
templates alternatifs).

Dans la foulée, on peut imaginer un chouette nouveau thème full css
responsive dans la distrib et/ou intégrer un configurateur qui
fonctionnerait pour tous les nouveaux thèmes (faisabilité à étudier).

En parallèle de ce vrai beau chantier, on peut, même si l'intérêt est
très limité à mes yeux, passer la DTD des templates actuels en HTML5
et y apporter toute modification totalement "transparente" pour les
thèmes existants si vous êtes trop impatients (et si ça ne vous choque
pas que du coup certaines pages du blog seront servies en html5 et
d'autres en xhtml ; moi si).

Hop ! À vous les studios.
Essayez de penser à répondre "proprement" pour qu'on s'y retrouve bien
et que les mails ne fassent pas vingt kilomètres de long en reprenant
tous les messages dans leur intégralité à chaque fois :-)


-- 
Anne / Kozlika
-- 
Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev

Répondre à