Carnet Wiki

Doc SPIP3 : thème privé

Version 12 — Août 2015 YannX

à propos des icônes

déjà quelques notes pour commencer :

  • créer un dossier /squelettes/prive/themes/mon_nouveau_theme/images/ pour mettre toutes les nouvelles icônes
  • dans mes_options.php renseigner $GLOBALS['theme_prive_defaut'] = 'mon_nouveau_theme'; (voir aussi [->http://forum.spip.net/fr_244661.html]).
    -*
    = ’mon_nouveau_theme’ ;</code >
    -* prendre modèle sur /prive/themes/spip/images/
    • La convention de nommage des icônes est : objet-taille.png ou objet-action-taille.png
      action pouvant etre edit/del/new/add : rubrique-new-24.png, rubrique-edit-24.png, article-edit-16.png, breve-24.png ...
      « Modifier cette rubrique » utilise rubrique-edit-24.png et si elle n’existe pas, SPIP superpose rubrique-24.png avec edit-24.png
  • ça marche pareil pour toutes les icônes que ce soit du core ou des extensions ou plugin. Le thème qu’on défini surcharge le thème par défaut. Mais si une icône n’existe pas dans le nouveau thème, c’est celle du thème par défaut qui est prise en compte
  • si cookie-del-24.png n’existe pas, SPIP prend cookie-24.png et superpose del-24.png... la conséquence pour le moment étant que cookie-del-24.png n’apparaîtra pas si cookie-24.png n’existe pas dans le nouveau thème.

Préférences de l’utilisateur de l’espace privé et choix d’un thème

En partant d’un constat simple : spip ne permet de changer de thème de l’espace privé qu’avec une manipulation sur la configuration du site en modifiant comme expliqué ci-dessus la $GLOBALS[’theme_prive_defaut’]. Les utilisateurs ne peuvent influer que sur quelques options comme la couleur, la largeur de l’écran, voir les icônes ou pas.

Le but est donc d’offrir aux utilisateurs de l’espace privé le choix de leur thème et de certaines autres options qui pourraient être injectées par des plugins tierces (par exemple le choix des boutons visibles d’une barre d’outil rédacteur).
le but inavoué étant de proposer ensuite des thèmes pas forcément pour faire du joli ou moche mais de l’utile dans certains cas et pas forcément intégré a spip actuellement comme :
-  un thème organisant différement l’ergonomie de l’espace privé (à l’exemple d’un outil de blog réputé pour ses galeries de thèmes publics).... ;-)
-  un thème pour un intranet personnalisable aux couleurs d’une entreprise, ou un thème adapté a certaines déficiences visuelles (certains rédacteur sont retraités et ont +70 ! et oui).

Un premier jet :

Sur la zone : _plugins_/theme_switcher_prive/
Changement en : mes_preferences : _plugins_/mes_preferences/

But du plugin :

  • Permettre à l’utilisateur de l’espace privé de changer de thème dans ses préférences.
  • Ajoute un mode de présentation d’écran : Layout elastic qui s’adapte a la largeur du navigateur
  • Permettre aux graphistes, développeurs ou autres de proposer des thèmes
  • Mais aussi forcer le jeux d’icône par défaut avec la global si besoin, et ajouter d’autres thème dans le répertoire du plugin /prive/themes/xxx sans toucher au core de spip

Le plugin est basé sur deux autres contribs :

Résumé de discussion sur IRC à propos de la logique du plugin :

<blockquote class="spip">

14:26:08 - RastaPopoulos : suffit d’avoir un plugin qui nécessite les autres et tout s’installe d’un coup
14:27:37 - RastaPopoulos : pour les thèmes, si tu veux un nom générique, j’aurais bien vu un plugin « selecteur_theme_prive » avec comme « slogan » « Sélecteur de thème pour l’espace privé pour chaque utilisateur » et qui ne fait que ça
14:27:44 - RastaPopoulos : mais c’est donc un plugin (et non un thème)
14:28:02 - RastaPopoulos : et qui ne ferait que l’ajout d’UNE fonctionnalité qui est de pouvoir chacun sélectionner son thème privé
14:28:27 - RastaPopoulos : ajout qui peut être faire dans le formulaire de configuration utilisateur, grâce aux pipelines
14:28:32 - RastaPopoulos : être fait
14:29:03 - RastaPopoulos : ainsi, ceux qui veulent que chacun de leurs utilisateurs puissent choisir son thème privé, vont tout de suite comprendre quel plugin ajouter

</blockquote>

TODO :

-  renommer le plugin comme suggéré dans la discussion
-  supprimer les surcharges de fichiers /prive en les remplacant par l’utilisation des pipeline formulaire_fond
-  supprimer les thèmes pour les proposer indépendamment du plugin
-  enlever les appels a des modèles d’autres plugins et les intégrer dans les plugins respectif, par exemple pour jappixMini