Je profite du message précédent pour faire part d'une réflexion que je me suis faite en voyant apparaître tout d'abord le répertoire /lib puis, maintenant avec les squelettes Z, l'apparition du répertoire themes....
Il s'agit de la question des sauvegardes qui, auparavant étaient limitées à /IMG, /squelettes et /tmp/dump (avec /plugins pas très loin)
Je trouve "dispersant" de devoir s'occuper maintenant en plus de deux autres répertoires parce que ça multiplie les risques d'oubli
Si on pouvait avoir auto/lib et loger les thèmes dans des sous-répertoires de squelettes, on réduirait ce risque. Pas fondamental, mais peut-être tout simplement un peu plus commode. Mais peut-être y-a-t-il des obstacles que mes modestes compétences ne me permettent pas de voir ! Vous en pensez quoi ?
Ben non, je ne vois pas pourquoi sauvegarder des répertoires qui a priori ne contiennent pas de fichiers de personnalisation.
C'est peut-être un peu limite par contre pour le répertoire thèmes si on crée son propre thème.
Pour moi, si on développe un thème non destiné à être partagé, on le
développe dans squelettes/ . Seul les thèmes destinés à être partagé
sont à mettre dans themes. Dans ce cas, il existe une copie, si c'est
partagé entre plusieurs sites perso, c'est au moins sur un autre site
, non ?
Désolé si je réagi un peu tard mais j'ai quelques mails encore à lire.
J'avoue être d'accord sur le fond, entre le dossier "squelettes", le dossier IMG, le fichier connect.php, le dossier dump dans tmp, le dossier "plugins" avec les versions compatibles ou non, le .htacess, ... les personnalisations diverses faites à SPIP, mon aide mémoire personnel se rallonge dangereusement et s'éparpille quelque peu.
Si je suis toujours resté le plus près possible de SPIP brut, les possibilités offertes actuellement sont tentantes mais gourmandes en organisation logistique.
Oui, du coup je me demande si ne pas ajouter themes/ au path systematiquement.
Comme ça si on bosse en solo on peut mettre ses skel dans squelettes/
et ses css dans themes/ sans avoir à utiliser un selecteur de thèmes
pour si peu.
Et si on veut jouer avec le garden, on ajoute les thèmes dans des sous
dossiers de themes/
Seul inconvénient, ça mélangereait au même endroit des choses
téléchargées et des choses perso.
L'alternative c'est squelettes/themes/ pour les fichiers persos
Qu'en pensez vous ?
Exactement, lorsqu'on développe un site avec un visuel précis, qui n'a donc pas de galerie de thèmes, alors on produit UN thème qu'on met directement dans plugins/ et qu'on active comme n'importe quel autre plugin.
La séparation des dossiers n'a pas pour seul but le partage : ça permet aussi d'améliorer sa méthode de développement, une fois qu'on a pigé le principe. En effet ça oblige à ne pas tout mélanger (donc c'est MOINS le bazar) et à bien séparer les fichiers qui ont des buts totalement différents :
- d'un côté le FONCTIONNEL : "je veux afficher quoi ?" => c'est le squelette sous la norme Z
- de l'autre le VISUEL : "comment je veux l'afficher ?" => c'est le thème, composé uniquement du layout et des CSS/JS qui vont avec
Après avoir appris ce découpage, je trouve beaucoup plus rapide d'écrire un site SPIP.
Et quand bien même c'est un tout petit peu plus long au début : une fois que c'est fait, les modifications ultérieures sont beaucoup plus rapides. Surtout que dans bien des cas, on peut alors modifier le fonctionnel sans toucher au visuel, et vice-versa.
Une petite mise au point concernant l'exemple qu'est le squelette ZPIP. Il contient uniquement des styles CSS pour que, si on installe uniquement le squelette, on ne se retrouve pas avec un truc horrible non plus, pour que ça reste lisible. Mais dans le cas où on veut faire un vrai thème, il est bien entendu préférable de le mettre dans un dossier à part, avec un fichier plugin.xml dedans.
Oui, du coup je me demande si ne pas ajouter themes/ au path systematiquement.
Comme ça si on bosse en solo on peut mettre ses skel dans squelettes/
et ses css dans themes/ sans avoir à utiliser un selecteur de thèmes
pour si peu.
Ouais, je sais pas si c’est pas in fine un peu perturbant de distinguer squelette et css. Sauf si themes/ devient le pendant de personnalisation de squelettes/ et que l’on met tout les themes fournis dans plugins/ et que l’interface privée fasse le distingo (interface actuelle pour les plugins et zen garden pour les thèmes).
J’avoue que je trouverais ce schéma plus cohérent.
Et si on veut jouer avec le garden, on ajoute les thèmes dans des sous
dossiers de themes/
Seul inconvénient, ça mélangereait au même endroit des choses
téléchargées et des choses perso.
Exactement, themes/ est plus proche de plugins/ que de squelettes/ qui est de la personnalisation plus souvent. Et le problème c’est qu’il n’est pas possible de surcharger les css de themes/ dans squelettes/ ce qui rend le truc un peu bancal comparé aux plugins.
L’alternative c’est squelettes/themes/ pour les fichiers persos
Qu’en pensez vous ?
Ben, oui ça peut être une façon de faire.
Mais c’est vrai que je trouve que les thèmes ont une mise en place à première vue un peu boiteuse:
Les squelettes sont surchargeables alors que ce n’est pas vraiment la vocation première
Les css ne le sont pas alors que c’est vraiment la vocation
L’interface de gestion n’est pas accessible comme celle des plugins dans SPIP nativement
On peut mettre un theme dans plugins/ et son descriptif est nommé plugin.xml.
Il est vrai que toutes ces remarques ont aussi un pendant positif indéniable (par exemple, d’activer le thème comme un plugin) mais ça n’améliore pas la lisibilité de l’ensemble.
Je reviens à ma première proposition qui pourrait peut etre améliorer les choses en consiérant que le plugins est un moyen de distribution d’un module fonctionnel, squelettes ou thème et que les perso se font bien dans squelettes/ comme d’habitude.
Une composition n'a RIEN a faire dans un thème. Comme tu le fais
remarquer, c'est du fonctionnel, pas du visuel.
Un thème est un dossier, donc evidemment tu peux y mettre n'importe
quoi techniquement.
Mais en pratique il faut se limiter à ce qui est décrit dans la doc.
- Sauf qu'on dit bien que ZPIP doit permettre les thèmes. Du coup j'ai regroupé le dossier thème dans mon dossier squelettes (pourquoi donc, alors que je n'en ai qu'un seul, je devrais le sortir de ce dossier), ce qui permettra, si demain d'autres personnes veulent skinner la chose, de changer juste un petit chemin, je conserve la structure telle qu'elle est.
- Ensuite, ZPIP a des fichiers à la racine qui à mon sens n'ont rien à y faire. Plusieurs fichiers CSS, éparpillés, JS ou autre.
- Je me suis donc regroupé tout ça (pour faire propre) dans un répertoire themes/ dans squelettes/ qui contient le copy left, un dossier css/ img/ et js/ au moins, je trouve ça propre et bien rangé.
Voilà ma base. Je ne l'ai pas encore éprouvée, et n'ai donc pas encore le recul pour savoir si oui, ou non, ça me pose à l'usage des problèmes ou pas.
- Qu'est-ce qui est choquant dans le fait d'avoir themes/ dans nos squelettes et pourquoi ne pas ranger les fichiers de même type dans des sous dossiers ?
- Et pourquoi simplement ne pas avoir, comme pour le dossier squelettes/ un $GLOBALS pour indiquer que comme on dev seul et qu'un seul thème est prévu, le dossier themes/ se trouve simplement dans le dossier squelettes/ ?
En y réfléchissant, mettre thèmes dans squelettes, je me dis que ça peut perturber l’utilisateur lambda… En effet, on dit partout que lorsqu’on veut modifier un fichier squelette, il faut le mettre dans squelettes. Donc, en toute logique, si on a “themes” dans squelettes, installé par l’intermédiaire d’un thème distribué pour “Z” et autres, c’est qu’on peut modifier ces fichiers à notre guise… Vous me suivez?.. Et perdre nos modifications à la prochaine mise à jour auto du thème…
Par contre, si on met “themes” dans “plugins/”, là, j’aurais moins le réflexe d’y toucher… Peut-être plus pérenne?..
On aurait quelque chose comme :
Moi je ne comprends pas ce qu’un dossier de thèmes irait faire dans les plugins…
Mais quel est le rapport ??
A la limite, que le dossier thèmes devienne générique comme squelette, et qu’on prenne l’habitude d’y déposer nos dossier de style/js, pourquoi pas, mais alors dans plugin… Vraiment je comprends pas !
L’idée de Z n’est-elle pas de faire en sorte que nous “parlions tous” le même rubricage de squelette ?? Si ça devient un truc qui se réparti même dans les plugins… Je pense qu’on perd tout l’intérêt et surtout toute liberté !
Je me suis mal fait comprendre
Dans themes/ on aurait les thème téléchargés prêt à l'emploi, et
activables par le zen garden
Dans squelettes/themes, on mettrait ses personalisations (css, images
etc ...), ou son thème que l'on s'est fait lorsqu'on est sur un site
perso ou on a pas besoin de zen garden.
Je trouve que cette organisation est cohérente avec l'esprit général de SPIP et son système de squelette. Ce qui veut dire que tout ce qui est personnalisé se retrouve bien dans l'arborescence /squelettes (et du coup la question de la sauvegarde que j'évoquais se trouve ipso facto résolu puisqu'il n'y a plus de fichiers personnalisés à traîner dans /themes)
Manu
Bien sûr, je n'arrive pas à retrouver la source, mais il me semblait t'avoir lu dire quelque part que ZPIP et Compositions étaient compatibles si on plaçait notre dossier "compositions" dans le dossier du thème... J'ai dû lire trop vite !
Je trouve pas ça plus mal non plus. C'est qui me semble à moi novice le plus logique.
(Excusez moi pour cette intervention somme toute assez peu intéressante, mais je lis vos débats avec intérêt, et ... pourquoi pas donner mon avis en tant que futur utilisateur ?)