Annonce

#1 2010-03-16 21:06:06

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

nouvelle architecture des thèmes, discussion en français

plutôt que de répondre en privé à P@t et à plg sur un échange que l'on a commencé par émail, je poste ici çà profitera à tout le monde.
une âme charitable se chargera j'espère, d'en extraire ce qui est important pour éventuellement le résumer sur le topic dédié du forum public anglais.

============================================================================================================>
j'ai fini de migrer mes thèmes sous la nouvelle structure.
çà c'est avéré un chouilla plus compliqué que je ne le pensais, mais j'y suis arrivé.


par contre, faut avoir en tête que je suis tétu et que comme la fonctionnalité de "parent" est mise à disposition, j'ai décidé de l'utiliser et donc créé mon propre thème "parent" => 'gally-default'
tous mes thèmes (gally-grum-dark-II, gally-graphite, gally-lapis-lazuli) sont donc dérivés de ce thème 'gally-default'

'gally-default' fournit tous les templates, les css et autres trucs communs à tous les thèmes
* ce thème pointe en dur sur le JS de 'default' pour obtenir jQuery. Sur ce point, je ne suis pas satisfait et je prévois le bordel si quelqu'un décide d'inclure dans son propre thème un autre framework, mais bon je ne me battrais pas sur ce sujet...
* chaque thème à ses propres fichiers .css, icones et fichiers de configuration .conf
* le thème 'gally-default' apparait dans la liste des thèmes, le résultat est est vraiment moche et je ne souhaite pas développer un thème pour le thème par défaut, selon la même logique que celle en place pour le thème 'default'
* pour profiter d'un thème 'gally-quelque-chose' il faudra disposer obligatoirement du thème parent 'gally-default'


Je pourrais faire le choix de faire des thèmes complètements autonomes : inclure systématiquement dans chacun des thèmes tous les fichiers .css, .tpl et autres. mais çà ne me convient pas non plus : en terme de maintenance, çà va être c****t à gérer :
- faire un thème
- copier/coller partout voir si fonctionne comme il faut avec tous les autres thèmes
- voir que çà ne fonctionne pas
- corriger
- refaire des copier/coller si fonctionne comme il faut avec tous les autres thèmes
- ....
De plus, je ne vois pas l'intérêt d'avoir 3 fois les mêmes fichiers .tpl sur le serveur alors que le système me permet de ne les avoir qu'une seule fois.



Donc en résumé :
- pas de problème pour la nouvelle architecture qui permet effectivement de réduire un thème à quelques fichiers tout simples à gérer
- prévoir que le thème 'default' ne sera pas forcément le seul à être un thème parent et que dans cette situation, les thèmes de ce type ne doivent pas être visibles ni pour l'admin, ni pour l'utilisateur (une propriété genre 'isParent = true' permettrait de les filtrer)
- prévoir dans le thème manager que lorsque l'on installe un thème, le thème parent soit installé automatiquement s'il n'est pas installé

Attention, une petite sécurité à prévoir peut-être : j'ai mis pour voir sur mon thème 'gally-default' le thème 'gally-default' (donc lui même) en tant que parent => provoque une erreur 500 sur le serveur


Sinon, j'ai quand même un bug dont je ne comprends pas l'origine :
- je suis sur le thème sylvia
- je vais dans 'personnaliser' mettre le thème "gally-quelque-chose"
- je valide, le thème est bien appliqué
- je retourne dans 'personnaliser' mettre n'importe quoi d'autre comme thème ('clear', 'dark, 'gally-autre-chose')
- je valide, le thème 'Sylvia' est systématiquement appliqué

une idée ?



question complémentaire : comment submiter dans les extensions, les thèmes mis à jour avec la 2.1 avec la nouvelle architecture ?
ne serait-il pas temps d'avoir dans le dépôt :
- extensions/plugins
- extensions/thèmes

échanges de mails a écrit:

P@t a écrit :
>
>
> Le 15 mars 2010 22:09, Gwendal <gwendalb@free.fr> a écrit :
>
>     bon, j'ai commencé à regarder.
>
>     pour l'instant je n'ai pas réussi à migrer le premier thème de gally : je pense que c'est plus lié à des évolutions sur les templates de la 2.1 qu'au changement de l'architecture (tout un tas de variables utilisées dans les templates n'existent plus...)
>
>
> Oui, il y a eut quelques évolutions, notamment la gestion de l'affichage des catégories qui ne se fait plus en php, mais directement en tpl (menubar_categories.tpl).
> Il doit y en avoir d'autres, je n'ai pas tout en tete.
>
>
>     pour les modifs sur le header.tpl, y a en un certain nombre, c'est pas la mort, mais n'ayant pas pu valider mon premier themes, je ne suis pas en mesure de m'exprimer vraiment.
>
>
> Pour le header.tpl, c'est pas bien méchant, en effet... C'est surtout la boucle qui affiche les local_head et les theme.css
>
>
>     quelques remarques en vrac :
>
>     * le theme_conf.inc.php
>     j'aimerais avoir çà :
>     $themeconf = array(
>       'theme_name' => 'Gally/Grum Dark II',
>       'theme' => 'grum-dark-II',
>       'parent' => 'default',
>       'icon_dir' => 'themes/grum-dark-II/icon',
>       'mime_icon_dir' => 'themes/grum-dark-II/icon/mimetypes/',
>     );
>
>     avec la donnée "theme_name" exploitée dans la liste déroulante du choix du thème ==> çà permettrait un peu plus de liberté dans le nom du thème (espaces et autres caractères aujourd'hui non autorisés), et çà permettrait aux personnes créant des thèmes de les regrouper (je pense à mes thèmes qui tournent autour de 'gally', ou tous les thèmes 'flo' pour ne pas penser qu'à moi...)
>
>
>  On en discute avec Pierrick, et à priori, on se tourne vers la meme gestion que le main.inc.php des plugins (Nom du thème, URL, etc... en commentaire au début du fichier themeconf).
> Il y aura également une table "themes" avec toutes ses données enregistrées.
>

>
>     * le répertoire 'JS'
>     je ne suis pas certain que c'est une bonne idée que de mettre le JS dans le theme.
>     c'est la porte ouverte à tout et n'importe quoi...
>     je fais un thème, je met autre chose que jQuery, ou une version autre de jQuery ==> résultat difficile à maîtriser pour les plugins par exemple (P@t, on en a éjà fait l'expérience...)
>     pour ma part, j'ai déjà mis des trucs du genre :
>       {known_script id="jquery" src=$ROOT_URL|cat:"themes/"|cat:$themeconf.parent|cat:"/js/jquery.packed.js"}
>       {known_script id="jquery.ui" src=$ROOT_URL|cat:"themes/"|cat:$themeconf.parent|cat:"/js/ui/ui.core.packed.js"}
>       {known_script id="jquery.ui.tabs" src=$ROOT_URL|cat:"themes/"|cat:$themeconf.parent|cat:"/js/ui/ui.tabs.packed.js"}
>       {known_script id="jquery.ui.dialog" src=$ROOT_URL|cat:"themes/"|cat:$themeconf.parent|cat:"/js/ui/ui.dialog.packed.js"}
>     çà ne me plait pas trop : je suis dépendant du parent... donc forcément, tous mes thèmes auront comme parent 'default' car il est hors de question pour moi de livrer jQuery avec mes thèmes : je pars du principe que c'est à Piwigo de fournir et maintenir à jour ce framework (et çà fait quand même 1Mo !)
>
>
> Tu n'es pas obligé d'avoir le thème default comme parent pour utiliser les js de default.
> Le theme default n'est pas censé etre supprimé, il sera toujours la... donc tu peux coder sans problème directement themes/default/js/jquery.packed.js
> Et rien ne t'empeche de rajouter un repertoire js à ton theme pour avoir tes propres fichiers js.
>
>
>
>     à moins d'avoir dans le theme_conf, un répertoire 'js_dir' que j'exploiterais tout seul comme un grand :
>       {known_script id="jquery" src=$ROOT_URL|cat:$themeconf.js_dir|cat:"/jquery.packed.js"}
>     c'est une solution de contournement, mais bon. je préfererais quand même garder un répertoire dédié à ce genre de chose.
>     "template-extension/jQuery' ?
>
>
> js_dir, c'est ce que j'avais prévu au départ... mais franchement, en y réfléchissant bien, ca n'a aucun intéret.
> Et si tu veux parler de template-common, on en veut plus! Le theme default fait office un peu de template-common.
>

>
>     * thème 'defaut'
>     le thème default n'apparait pas dans la liste de thèmes disponible.
>     par quelle magie ?
>
>
> Le thème default est filtré dans la fonction get_pwg_themes.
> Pierrick voulait fusionner clear et default, mais ce n'est pas très logique sur certains points (vu que le theme par défaut est Sylvia, ca risque de porter à confusion)
>

>
>     - si je fais un thème "X" dont le parent est le thème "Y", mais que je ne veux pas que le thème "Y" soit disponible ?
>     (pour ma part aujourd'hui je supprime tous les thèmes et ne laisse pas le choix aux visiteurs)
>
>
> Pierrick est en train de coder le thème manager (identique au plugin manager) qui permettra d'activer et désactiver les thèmes dans le panneau d'admin.
>
>
>     ps: vous comprendrez au travers de cette réponse par mail, que j'ai une grande flemme pour tout traduire en anglais et poster sur le forum (pas le temps et pas le courage)
>
>
> Je te comprend très bien!
> Pierrick fera un petit résumé sur le forum EN...


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#2 2010-03-16 22:23:11

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: nouvelle architecture des thèmes, discussion en français

Ouff, enfin quelque chose de Francophone pour mes petits yeux.

J'avoue ma faiblesse pour l'Anglais mais c'est dommage de ne pas avoir des échanges tout aussi intéressant dans sa langue d'origine :o)

Bon...
Je n'apprends pas grand chose mis à part que que ca va être un joyeux b*** ce passage à la v2.1 et que je crains ne pas y passer aussi vite que la 1.7.3 => 2.0.0
En effet, j'ai commencé à triturer beaucoup de choses dans mon template, suffisement pour redouter le passage à la v2.1
Entre les modifications autorisée (template-extension), le CSS et du javascript que je suis en train de toucher, ajoutez à ça les manipulation que je reproduis sans comprendre un traite mot... ça va donner une migration dans la douleur :-(
Et je ne parle même pas du wiki qu'il va falloir réviser. C'est HS, donc je laisse le wiki pour une autre fois.

Pour comprendre j'ai pris l'habitude d'expliquer (c'est paradoxal, c'est comme si un prof demandait à un élève de faire le prof !) mais c'est comme ça j'ai l'habitude de faire.
Sauf que là, j'aimerai bien que les personnes qui sont à l'initiative du changement viennent ici nous livrer les enjeux et les principe de ce futur changement.

Pour le mode d'emploi de la migration réussi sans effort on verra plus tard ;-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#3 2010-03-17 01:28:25

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: nouvelle architecture des thèmes, discussion en français

grum a écrit:

* ce thème pointe en dur sur le JS de 'default' pour obtenir jQuery. Sur ce point, je ne suis pas satisfait et je prévois le bordel si quelqu'un décide d'inclure dans son propre thème un autre framework, mais bon je ne me battrais pas sur ce sujet...

Je ne vois pas ou cela poserait problème... Si quelqu'un veut inclure un autre framework dans son thème, ca n'affectera de toute facon pas le thème default.

grum a écrit:

- prévoir que le thème 'default' ne sera pas forcément le seul à être un thème parent et que dans cette situation, les thèmes de ce type ne doivent pas être visibles ni pour l'admin, ni pour l'utilisateur (une propriété genre 'isParent = true' permettrait de les filtrer)

Ca c'est une bonne idée... Mais est-ce que tu n'aurais pas meilleur temps de définir par exemple "gally-dark" comme ton theme default, tes thèmes gally-clear ou gally-white surchargeant le theme gally-dark?
Le thème gally-dark serait alors obligatoire pour faire fonctionner les autres thèmes gally, et il serait également désactivable si un utilisateur ne veut que gally-white par exemple.

grum a écrit:

- prévoir dans le thème manager que lorsque l'on installe un thème, le thème parent soit installé automatiquement s'il n'est pas installé

Je crois que Pierrick a ca dans l'idée... mais peut-etre pas pour la version 2.1.

grum a écrit:

Attention, une petite sécurité à prévoir peut-être : j'ai mis pour voir sur mon thème 'gally-default' le thème 'gally-default' (donc lui même) en tant que parent => provoque une erreur 500 sur le serveur

C'est corrigé ([Subversion] r5154)

grum a écrit:

Sinon, j'ai quand même un bug dont je ne comprends pas l'origine :
- je suis sur le thème sylvia
- je vais dans 'personnaliser' mettre le thème "gally-quelque-chose"
- je valide, le thème est bien appliqué
- je retourne dans 'personnaliser' mettre n'importe quoi d'autre comme thème ('clear', 'dark, 'gally-autre-chose')
- je valide, le thème 'Sylvia' est systématiquement appliqué

Peux-tu m'envoyer par mail ton thème gally 2.1 que je jette un oeil?

grum a écrit:

question complémentaire : comment submiter dans les extensions, les thèmes mis à jour avec la 2.1 avec la nouvelle architecture ?
ne serait-il pas temps d'avoir dans le dépôt :
- extensions/plugins
- extensions/thèmes

C'est ce qui sera fait...


P@t

Hors ligne

#4 2010-03-17 01:32:49

P@t
Ex Equipe Piwigo
Nice
2007-06-13
5695

Re: nouvelle architecture des thèmes, discussion en français

Gotcha a écrit:

Je n'apprends pas grand chose mis à part que que ca va être un joyeux b*** ce passage à la v2.1 et que je crains ne pas y passer aussi vite que la 1.7.3 => 2.0.0
En effet, j'ai commencé à triturer beaucoup de choses dans mon template, suffisement pour redouter le passage à la v2.1

Les modifications de template étaient bien plus importes entre la 1.7 et la 2.0 puisqu'on a changé le moteur de template!
Avec le nouveau système de template/thèmes, l'architecture des fichiers change, mais les fichiers en eux-meme changent très peu.

Gotcha a écrit:

Entre les modifications autorisée (template-extension), le CSS et du javascript que je suis en train de toucher, ajoutez à ça les manipulation que je reproduis sans comprendre un traite mot... ça va donner une migration dans la douleur :-(

Les template-extensions seront toujours dispo en 2.1, aucun changement.
Le CSS ne subit aucune modification.
Idem pour le javascript... pas de panique, on sera la pour aider tout le monde à migrer dans la joie et la bonne humeur ;-)

Gotcha a écrit:

Et je ne parle même pas du wiki qu'il va falloir réviser. C'est HS, donc je laisse le wiki pour une autre fois.

Ca par contre, c'est ce qui risque de prendre du temps!


P@t

Hors ligne

#5 2010-03-17 10:31:29

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: nouvelle architecture des thèmes, discussion en français

Merci P@t.

Aillant donc mis les mains dans le cambouis pour mon template, je peux aider à la rédaction de la documentation concernant ce point. Mais encore faut-il que je comprenne à minima les changements ;-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#6 2010-03-17 11:24:22

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12642

Re: nouvelle architecture des thèmes, discussion en français

grum a écrit:

question complémentaire : comment submiter dans les extensions, les thèmes mis à jour avec la 2.1 avec la nouvelle architecture ?

Hier soir, j'ai ajouté la release 2.1.0 dans les extensions et les 2 thèmes p0w0 et wipi (qui sont sortis du core) qui peuvent servir de modèle : ne pas oublier screenshot.png en 300x240px et le header de themeconf.inc.php


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#7 2010-03-17 13:28:59

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: nouvelle architecture des thèmes, discussion en français

plg a écrit:

grum a écrit:

question complémentaire : comment submiter dans les extensions, les thèmes mis à jour avec la 2.1 avec la nouvelle architecture ?

Hier soir, j'ai ajouté la release 2.1.0 dans les extensions et les 2 thèmes p0w0 et wipi (qui sont sortis du core) qui peuvent servir de modèle : ne pas oublier screenshot.png en 300x240px et le header de themeconf.inc.php

;-)

Gotcha: Dans le "Wikiki", tu peux prévoir une page sur les thèmes 2.1 avec les premères règles:
- screenshot.png en 300x240px
- header de themeconf.inc.php
- les clés de themeconf.inc.php
- les répertoires d'un thème
- le principe du "parent"
- la structure des fichiers CSS
+ (que faire du contenu de ses local-layout.css et template-common/local-layout.css)

Ce qui sera très bien comme base de départ.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#8 2010-03-17 15:57:37

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12642

Re: nouvelle architecture des thèmes, discussion en français

VDigital a écrit:

Gotcha: Dans le "Wikiki", tu peux prévoir une page sur les thèmes 2.1 avec les premères règles: [...]

+ (que faire du contenu de ses local-layout.css et template-common/local-layout.css)

Il faudrait bien séparer les pages sur les explications de "comment faire un thème" et "comment migrer un thème 2.0 en 2.1".

Définir la structure du CSS, c'est un assez gros boulot je pense, pas indispensable pour avoir une base de départ dans la mesure où en général on modifie les CSS "à tâtons" => pas utile de comprendre la structure globale pour faire une petite personnalisation et heureusement.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#9 2010-03-17 19:53:55

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: nouvelle architecture des thèmes, discussion en français

Bonne idée de prendre exemple sur les deux thème sortis du CORE.
Je commence les pages du wiki rapidement ;-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#10 2010-03-17 20:12:22

gbo
Membre
PACA
2006-11-01
1200

Re: nouvelle architecture des thèmes, discussion en français

je ne comprends pas tout au sujet de la version 2.1 (je suis moins présent sur le forum)
Est-ce qu'il y aura une version RC pour pouvoir vérifier que les plugins
livrés en 2.0.* sont toujours utilisables?

Pour Gottcha:
j'ai tellement ramé pour passer de la 1.6 à la 1.7 que depuis toute mes évolutions sont dans des plugins perso et dans du css spécifique.

Hors ligne

#11 2010-03-17 20:16:17

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: nouvelle architecture des thèmes, discussion en français

@EX-FTB : ça va que tu connais la programmation aussi :-p


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#12 2010-03-17 21:12:39

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12642

Re: nouvelle architecture des thèmes, discussion en français

Bien sûr qu'il y aura une 2.1.0RC1 (et d'autres). Prévu fin de semaine, de cette semaine.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#13 2010-03-18 20:12:28

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: nouvelle architecture des thèmes, discussion en français

plg a écrit:

grum a écrit:

question complémentaire : comment submiter dans les extensions, les thèmes mis à jour avec la 2.1 avec la nouvelle architecture ?

Hier soir, j'ai ajouté la release 2.1.0 dans les extensions et les 2 thèmes p0w0 et wipi (qui sont sortis du core) qui peuvent servir de modèle : ne pas oublier screenshot.png en 300x240px et le header de themeconf.inc.php

euh...

moi pas expert en subversion.
je regarde là : http://piwigo.org/code/wsvn/Piwigo/
et nul part je ne vois la 2.1 ?


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

#14 2010-03-18 20:42:12

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12642

Re: nouvelle architecture des thèmes, discussion en français

Regardes [extension by Piwigo Team] wipi et quelle est la version compatible ?


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#15 2010-03-18 20:53:03

grum
Former Piwigo Team
50% Nantes - 50% Paris
2007-09-10
2502

Re: nouvelle architecture des thèmes, discussion en français

plg a écrit:

Regardes [extension by Piwigo Team] wipi et quelle est la version compatible ?

vi.
mais çà ne me dit pas comment je dois faire pour envoyer les thèmes format 2.1 sur le dépôt... ?


Mes photos avec Piwigo évidemment !
[ www.grum.fr ] [ photos.grum.fr ]

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact