Plugin : Sktheme

Gestion de theme pour spip 1.9.2

-  Nom du Plugin : sktheme
-  Version : 0.6 (version simple 1.0 http://skedus.free.fr/spip/spip.php...)
-  Auteur : Collaboratif sur SPIP-Zone
-  Licence : GPL
-  Compatibilite SPIP : compatible SPIP > 1.9
-  Site(s) exemple : Skedus Land
-  Principales fonctionalités et spécificités :

  • Gestionnaire de repertoire theme pour les differentes distribution de squelettes et de css
  • Switcher de theme pour l’espace public

Installation

-  Pour commencer il faut récupérer l’archive du plugin, bref le .zip pour cela deux facons la première ici là en dessous, ou alors directement sur spip-zone

-  Unzipper le fichier sktheme-0.6-plugin.zip (qui vous donnera un répertoire sktheme
-  Téléchager le répertoire sktheme (et son contenu ;-) ) dans votre répertoire plugins (créer le répertoire plugins à la racine de votre site spip si nécessaire)
-  Dans le menu Configuration->Gestion des plugins de l’espace privé, activez le plugin Sktheme

Vous êtes près pour la configuration en utilisant le menu Configuration->Gestion des themes de l’espace privé

  1. Choisissez votre squelette (au début il n’y a pas trop le choix juste dist la distribution officielle de SPIP mais vous pourrez en ajouter d’autres)
  2. Une fois le squelette choisi la liste des habillages en dessous se mettra à jour et vous pourrez en choisir un (au début là encore il s’agit de dist mais nous allons voir plus loin comment en ajouter).

Pour ceux qui veulent aller vite vite ...

Parfois une démo est plus explicite qu’un long blabla aussi vous pouvez télécharger un répertoire themes exemple ici là en dessous, il vous suffit alors :

  1. Télécharger le fichier sktheme-0.6-themes.zip ci-joint
  2. unzip du fichier (qui vous donnera un répertoire themes
  3. transférer ce répertoire à la racine de votre site SPIP
  4. retourner dans l’espace privée : Configuration->Gestion des themes
  1. sélectionner un nouvel habillage (ces habillages sont prévus pour la distribution de squelettes officielle)
  2. valider

et voilà votre espace public à changé :-) magique non ?

Principe

Voyons maintenant le principe qui est en fait tout simple.
-  L’idée est d’utiliser la possibilité de SPIP de surcharger ses répertoires de recherche.
-  De définir un theme comme une distribution de squelettes + un habillage css

L’ordre de recherche d’un fichier sera donc :

  1. répertoire d’habillage (un répertoire par habillage) [1]
  2. répertoire de squelette (un répertoire par squelette) [2]
  3. votre répertoire squelette (si vous en avez un)
  4. répertoire dist (la distribution de squelette SPIP)

Sktheme permet ainsi de choisir les l’emplacements des deux premiers (dans la configuration avancé) par défaut le répertoire themes.

Pour plus de souplesse, il est possible de définir le même répertoire ou non, au choix.

Astuce:

On voit également qu’en plaçant des squelettes (sommaire.html par exemple) dans les répertoires habillages, non seulement on change les couleurs le look, mais aussi la structure de la page public. Mais au départ l’idée est plutôt de mettre les squelettes dans un répertoire, et le changement lié aux css ou aux images dans un répertoire habillage.

Pour faire la difference entre les répertoires contenant des squelettes et ceux contenant des habillages (css/images) sktheme utilise un fichier appelé theme.xml [3]. C’est ce fichier présent dans chaque répertoire qui permettra la mise à jour des listes de l’espace privée.

Le switcher

Sur la spip-zone on trouve un tas de truc utiles, ce n’est pas un scoop, il existe un plugin switcher fait par Fil qui permet d’avoir plusieurs répertoires squelettes pour faire des tests, en le modifiant légèrement pour prendre en compte les deux répertoires de sktheme on peut passer d’un thème à l’autre.
J’ai donc inclu ce nouveau switcher dans sktheme, (merci Fil).

ATTENTION
le switcher de sktheme utilisant le même principe que le plugin switcher, vous devrez désactiver le plugin switcher si vous utilisez le plugin sktheme.

Ce switcher doit être activé dans la configuration avancé, vous pouvez choisir de l’activer pour les administrateurs seulement ou pour tout le monde.

Une fois activé un menu déroulant sera disponible en haut à gauche de votre site public pour passer plus facilement d’un theme à l’autre.

Balise

Skteme introduit une balise supplémentaire, qu’il est possible d’inclure dans vos squelettes.

-  #SKTHEME_HABILLAGES_SWITCHER : cette balise inclu un menu déroulant sur les habillage disponibles, permettant ainsi pour un squelette donné, de changer son habillage, par vos utilisateurs (les goûts et les couleurs ;-) ).

Création des thèmes


-  cela se résume à la création de squelette et de fichier css (comme d’habitude)
-  ensuite on place le résultat dans un répertoire et un simple fichier theme.xml permet de faire fonctionner sktheme.

Mais le plus simple est de vous inspirer du répertoire de test distribué ci-joint.

En espérant que ce plugin puisse vous rendre service


ATTENTION:

Afin de simplifier l’usage une nouvelle version sktheme 1.0 est disponible
sur : http://skedus.free.fr/spip/spip.php...

Cette version ne modifie que l’habillage.css mais donne un peu de couleurs à votre distribution de base, bref de quoi commencer rapidement avec SPIP et d’en vouloir toujours plus :-)

Footnotes

[1un répertoire d’habillage se trouve dans le répertoire d’habillages défini dans la configuration de sktheme

[2un répertoire squelette se trouve dans le répertoire squelette défini dans la configuration de sktheme

[3ce fichier est décrit en ligne et en détail dans l’onglet documentation du plugin

Discussion

17 discussions

  • 2

    Bonjour,

    j’ai beau mettre un fichier theme.xml, le menu switcher de même que l’espace privé ne me donne pas les bon nom pour les themes : il se sert que des noms de dossier

    Reply to this message

  • J’ai installé SKtheme, l’installation c’est bien passée:

    -  Activation du plugin
    -  enregistrement squelette et habillages

    -  Répertoires pour les squelettes publics : themes
    -  Répertoires pour les habillages publics : themes

    -  Activation du switcher de thème

    J’utilise alternatif 1.9.1

    Tous semble bien fonctionner mais les themes ne se mettent pas sur le site

    Merci

    Reply to this message

  • Marco87

    Bonjour !

    J’utilise Alternatives avec Spip 1.9.2a. J’apprécie beaucoup son look et sa clarté.

    J’ai un message “Internal Server Error” qui apparaît parfois :

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, “mon adresse courriel” and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    J’ai contacté mon hébergeur (ouvaton) qui me signale que cette erreur est dûe soit à un temps de calcul trop long de chaque page soit à une surcharge de mémoire (limite 16Mo) (tout ça sur le serveur bien sûr).

    Y a-t-il quelque chose à faire ?

    La personne qui m’a répondu m’a signalé que, dans le code source des pages, il y a 2 fois le même script appelé dans l’head. Serait-ce une piste ?

    Si on demande la réactualisation, la page s’affiche alors assez vite....

    Merci pour vos lumières !

    MD 8>

    Reply to this message

  • Jean Christophe

    Bonjour

    Je dois être un peu manche car je n’arrive pas à faire fonctionner la bête. Je voudrais installer mon propre squelette.

    Voilà ce que j’ai tenté (en local):
    -  Installation d’un spip 1.9.1 neuf
    -  Restauration de ma base sur ce spip
    -  Installation et activation du plugin sktheme
    -  Jusque là tout va bien (sympa l’habillage Ploumanach)

    Après ça coince !

    -  Copie de l’intégralité de mon dossier squelettes qui va bien dans /squelettes/jules
    -  Paramétrage dans “configuration avancée” des répertoires squelettes et habillages à la valeur “squelettes” et enregistrement
    -  Création des deux fichiers theme.xml et plugin.xml dans le répertoire /jules

    Et ensuite dans plugin.xml je mets quoi pour la balise prefix ?

    Et dans theme.xml, pour les balises type et squelette ?

    Tous mes essais ne donnent rien, je retombe sur le squelette dist. Je suis un peu largué là.

    Un autre truc à rajouter ailleurs ? Une erreur quelque part ?

    Merci de la réponse

    Reply to this message

  • 1

    et finalement, au bout du compte, que faut il faire pour que le cache tourne, je trouve les accès à mes deux sites lents.
    Merci

    • En fait beaucoup d’entre vous n’ont pas besoin du switcher alors vous trouverez une version sans le switcher, ici au dessus :-)
      Javais ajouté le switcher pour la période du choix d’un squelette et d’un theme au début de la creation d’un site pour pouvoir tester plusieurs distributions rapidement, et ou les performances liées au cache ne sont pas cruciales.
      Cette nouvelle version permet de changer entre plusieurs themes plus tranquilement dans l’espace privé.

    Reply to this message

  • 5

    Bonjour,

    J’ai chargé le plugin SkTheme avec l’ensemble de squelettes et thèmes Alternatives.
    Tout semble bien fonctionner, cependant, j’ai observé que mon cache n’évolue plus dès lors que SkTheme est activé. Et ça ne me semble pas tout à fait heureux...

    Sait-on quelque chose à ce sujet ?

    Cordialement

    Gilles

    • J’ai eu cette impression également, mais il me semble qu’avec la modification
      sugéré par Fil cela était résolu.
      De plus il faut se méfier du cache des navigateurs, qui peux donner cette impression également.
      A voir néanmoins.

    • Bonjour,

      Bien sûr, le cache que j’évoque n’est pas celui de mon navigateur... C’est celui dont je peux voir l’évolution dans l’espace privé (Configuration -> vider le cache) et qui n’évolue plus dès lors que SkTheme est activé.
      Ceci est de plus corroboé par la visite sur le serveur des dossiers compris dans le dossier Cache. Plus aucun nouveau fichier n’est créé.
      J’ai pensé que SkTheme pouvait créer son propre jeu de fichier, mais je n’en ai pas trouvé trace...

      S’il n’y a pas de nouveaux fichiers créés, ça semble bien signer que la mémoire cache n’évolue plus, à moins que la modification que vous évoquez (à partir d’une proposition de Fil) contourne ceci par un autre dispositif, lequel ignorerait le cache...

      Quoi qu’il en soit, le système de cache (ou autre comparable) est important à mes yeux, puisqu’il garantit un accès rapîde au site à tous les internautes et pas à ceux seulement qui ont un accès rapide à l’internet...
      En conséquence, j’ai besoin de savoir qu’un système est opérationnel sur SkTheme pour prendre en charge cette question. Peut-être ceci mériterait d’être éclairci...

      Pourriez-vous faire connaître la proposition de Fil ? A-t-elle conduit à une modification de SkTheme qui produise le résultat escompté (rapidité d’affichage) par un jeu de cache ou autre ?

      Merci d’avance pour votre réponse

      Gilles

    • J’ai vérifié c’est effectivement le cas quand le switcher est activé, c’est en effet la modif proposé par Fil qui permet de désactiver le cache quand le switcher est en place pour soulager le serveur, car chaque uilisateur choisissant un theme différent (partie publique) provoquerai le recalcul du cache (on ne gagnerai pas beaucoup à avoir un cache dans ce cas).
      Dans le cas ou il n’est pas activé (sktheme simple, choix du theme dans la partie privée pour activation dans l’espace public) le cache fonctionne.
      On pourrai efffectivement peut être imaginer une mécanique pour calculer un fichier cache lié au choix du theme, en rentrant dans les rouages de spip

    • Bonjour,

      Dans mon cas, le cache est inactif, aussi avec le switcher désactivé...
      (Réglage :
      Activer le switcher de thème : Non
      Seulement pour les administrateurs : Oui)

      J’utilise le squelette Alternatives avec un thème de mon cru (mais le résultat est identique en utilisant le thème Original (Alternatives).

      Et en fait, je ne comprends pas bien la logique...
      Puisque de toute façon la page est recalculée, en quoi cela soulage le serveur, si ce n’est en espace disque occupée. Et l’intérêt de ce critère variant beaucoup selon les contextes... Dans mon cas, je n’ai pas de problème de place...

      Serait-il possible de connaître la modification de Fil afin éventuellement de la désactiver ?
      Et aussi, d’avoir un lien pour retrouver la discussion qui a présidée à ce choix ?
      N’y a-t-il aucune autre raison pour le justifier ?

      Gilles

    • La modification concerne la variable “var_sktheme” passee en parametre, d’apres ce que j’ai compri les parametres var_xxxx ne provoque pas de re-calcul de la page dans le CACHE.

      Donc il suffit de chercher var_sktheme dans les fichiers du plugin et la remplacer par un autre nom, sans var_ devant pour que la page soit de nouveau mise en CACHE.

    Reply to this message

  • 1

    A quoi sert ce plugin ? Un descriptif en haut de page serait utile...

    • Je crois que c’est indiqué en haut

      -  Gestionnaire de repertoire theme pour les differentes distributions de squelettes et de css
      -  Switcher de theme pour l’espace public

      Mais cela n’est pas etre pas clair, ce plugin permet de choisir une distribution de squelette, et également un theme associé (couleur, images)
      bref une aide pour choisir et tester differents squlettes et look

    Reply to this message

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite / PostgreSQL
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparait.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom