Des thèmes ?

a marqué ce sujet comme résolu.

Hello !

Je poste cette petite suggestion sans la moindre connaissance du fonctionnement interne de ZdS (si ce n'est que c'est du python), mais je tenais quand même à proposer ceci.

Sur le site du zéro, à l'époque de la V3, il était possible de changer complètement le thème du site. Je voulais savoir si cette fonctionnalité était envisageable ici sur ZdS.

Moi par exemple je me verrais bien changer quelques couleurs du thème, voire pourquoi pas certaines icônes, et je suis sûr que des membres se mettraient à créer et partager des thèmes créés par leurs soins.

Voilà pour ma petite proposition :-)

+3 -1

A mon avis on pourrait mettre en place plusieurs thèmes mais pour que ce soit personnalisable par chaque utilisateur, il faudrait modifier la façon dont c'est géré actuellement !

En tous cas, il n'y a que deux "développeurs front" et ce n'est urgent donc AMHA c'est du très long terme et il ne faut pas s'attendre à voir ça arriver tout de suite…

+1 -0

A mon avis on pourrait mettre en place plusieurs thèmes mais pour que ce soit personnalisable par chaque utilisateur, il faudrait modifier la façon dont c'est géré actuellement !

Situphen

Il suffit juste de donner la possibilité de créer ses propres thèmes, ça simplifie grandement la chose.
Sur le SDZ on pouvait télécharger un template, le modifier comme bon nous semble et le renvoyer au serveur.

Il existe une autre solution, moins flexible mais bien plus facile à mettre en place qui consiste à pouvoir personnaliser l'URL d'où viennent les fichiers de style .css, ça permet du coup de préciser un dossier sur son ordinateur par exemple.
Ce serait déjà ça, surtout si la séparation HTML/CSS est bien définie (ce qu'elle a l'air d'être).

+0 -0

A mon avis on pourrait mettre en place plusieurs thèmes mais pour que ce soit personnalisable par chaque utilisateur, il faudrait modifier la façon dont c'est géré actuellement !

Situphen

Il suffit juste de donner la possibilité de créer ses propres thèmes, ça simplifie grandement la chose.
Sur le SDZ on pouvait télécharger un template, le modifier comme bon nous semble et le renvoyer au serveur.

Il existe une autre solution, moins flexible mais bien plus facile à mettre en place qui consiste à pouvoir personnaliser l'URL d'où viennent les fichiers de style .css, ça permet du coup de préciser un dossier sur son ordinateur par exemple.
Ce serait déjà ça, surtout si la séparation HTML/CSS est bien définie (ce qu'elle a l'air d'être).

Lynix

Ce que tu proposes est faisable mais que faire lorsqu'une nouvelle version est mise en production et que le thème a changé ? :)

+0 -0

Il y a plusieurs solutions:

  • Ne rien faire (l'utilisateur le remarquera bien tout seul que son thème n'est plus à jour).
  • Associer un numéro de version majeur au thème (prendre le moment de l'activation du thème), si le numéro de version majeur ne correspond plus, désactiver automatiquement les thèmes utilisateurs (ils devront alors les réactiver explicitement), c'est la solution employée par les forums notamment.

Dans les deux cas, les thèmes devront être mis à jour, ce qui est d'autant plus simple que le site utilise un gestionnaire de version).

+0 -0

Je ne savais même pas que le SCSS existait :D

Honnêtement on s'en fiche, le principe d'une suggestion c'est de savoir si oui ou non elle est intéressante, le point de vue technique n'a aucun intérêt, donc à ta question je réponds "ce qu'il est possible de faire".

+0 -0

En fait, ça dépend de la définition de thème, est-ce le code CSS ou le code SCSS ?

c'est le CSS je pense.

C'est faisable mais ça bouffe les perfs du site pour rien. Autant les packs de smiley, c'est pas trop compliqué, autant le CSS on va se tapper des trucs pas en cache, pas minifiés, des images foireuses…

Faut pas oublier qu'aujourd'hui on a un process assez complet pour le front et les images qui sont dans des sprites ou non (exemple les icônes des demandes d'aide).

Bref, il faudrait une refonte complète du code pour un truc de hipster.

+0 -0

C'est faisable mais ça bouffe les perfs du site pour rien. Autant les packs de smiley, c'est pas trop compliqué, autant le CSS on va se tapper des trucs pas en cache, pas minifiés…

artragis

Pourquoi ça ? Le changement d'un thème est un choix pour un membre, et s'il ne minify pas son CSS, c'est un problème pour lui et pour lui seul (un peu pareil pour le cache). Cette suggestion n'a normalement aucun impact sur les membres qui ne veulent pas changer de thème.

Faut pas oublier qu'aujourd'hui on a un process assez complet pour le front et les images qui sont dans des sprites ou non (exemple les icônes des demandes d'aide).

Bref, il faudrait une refonte complète du code pour un truc de hipster.

artragis

Une refonte complète du code pour permettre à l'utilisateur de changer l'URL du fichier .css ?

+0 -0

J'ai la flemme de détailler techniquement mais si c'est géré par le site, ça va nécessiter beaucoup de développement et de la place sur les disques durs du serveur. Il faut ajouter à ça du temps de RAM et CPU soit côté serveur, soit côté client (chargement plus lent).

Bref, je pense franchement que le plus simple est de passer :

  • soit par une extension comme Stylish
  • soit par un petit site web (créé par quelqu'un) auquel tu passes un fichier de variables et qui te sort un fichier CSS !

Si quelqu'un veut gérer ce petit site web, je peux l'aider !

+0 -0

Mais pas besoin de faire gérer quoi que ce soit par le site, sinon une variable imaginons "csspath" stockée par membre et qui soit incorporée dans le HTML.

Faut arrêter d'imaginer que c'est plus compliqué que ça ne l'est vraiment o_o

+0 -0

Pourquoi ça ? Le changement d'un thème est un choix pour un membre, et s'il ne minify pas son CSS, c'est un problème pour lui et pour lui seul (un peu pareil pour le cache). Cette suggestion n'a normalement aucun impact sur les membres qui ne veulent pas changer de thème.

sauf qu'il faut que le site envoie une CSS plus lourde. Donc des io en plus. Alors même si c'est à la marge, rien que le temps d'exécution des procédures de résolutiondu thème vont impacter… les autres visiteurs.

La seule chose "viable" c'est un set de thèmes définies par le site lui même à la nextinpact.

Mais pas besoin de faire gérer quoi que ce soit par le site, sinon une variable imaginons "csspath" stockée par membre et qui soit incorporée dans le HTML.

  • et les icônes? et les sprites?
  • et la sécurité? (du style tout est en https chez nous mais toi tu héberges des images externes que tu vas chercher en http…
  • et le nombre supérieur de requêtes vers des fichiers statiques parce que le cache ne se met pas en place?
  • et le stockage de tout ça?

Le plus simple si tu veux jouer avec ton css c'est de faire une extensions avec stylish. Un thème que les membres (et non l'admin comme dans les moteurs de forums) choisit c'est pas une fonctionnalité courante pour tout un tas de raisons non négligeables.

sauf qu'il faut que le site envoie une CSS plus lourde. Donc des io en plus. Alors même si c'est à la marge, rien que le temps d'exécution des procédures de résolutiondu thème vont impacter… les autres visiteurs.

artragis

Et pourquoi est-ce que le site devrait envoyer un css plus lourd ? Il suffit de stocker le CSS d'origine non-minifié quelque part, comme base pour les modifications (je suis sûr qu'il doit déjà exister sur le gestionnaire).
Pas besoin de toucher au CSS actuel.

  • et les icônes? et les sprites?
  • et la sécurité? (du style tout est en https chez nous mais toi tu héberges des images externes que tu vas chercher en http…
  • et le nombre supérieur de requêtes vers des fichiers statiques parce que le cache ne se met pas en place?
  • et le stockage de tout ça?

artragis

1) Les liens sont fournis dans le CSS, ils peuvent donc également être changés.
2) C'est client-side, si quelqu'un le souhaite il pourrait même indiquer une URL locale menant sur son propre ordinateur (file://), s'il héberge le CSS quelque part, la sécurité est son problème.
3) Pourquoi le cache ne se mettrait pas en place ?
4) Client-side ou à la charge de l'utilisateur..

Je l'ai dit, c'est une simple possibilité de personnalisation du lien CSS à ce stade, ça n'a AUCUN impact sur les ressources du site ou les personnes qui ne veulent pas de cette fonctionnalité.

+0 -0

si c'est client-side pourquoi ne pas se contenter d'une extension?

Il suffit de stocker le CSS d'origine non-minifié quelque part, comme base pour les modifications (je suis sûr qu'il doit déjà exister sur le gestionnaire).

donc on est bien d'accord il faut s'assurer qu'il y ait une procédure de minification/changement des urls. Pourquoi stocker le css en ligne si on garde le reste en local, ça sert pas à grand chose non?

Je pense que cette fonctionnalité n'a aucun intérêt, mais je dois signaler que Lynix a raison : si vous faites les choses intelligemment, ce n'est vraiment pas compliqué, et ça n'a aucun impact sur les autres visiteurs. Au pire, ça réduira la charge du serveur de ZdS.

Actuellement, on a un <link rel="stylesheet" href="[quelque chose]" /> qui est le même pour tout le monde. L'idée serait de permettre à l'utilisateur de spécifier un href différent. C'est tout. La feuille de style de l'utilisateur ne sera pas sur les serveurs de ZdS, c'est à lui de se démerder pour qu'elle soit stockée quelque part. Le code source des pages restera identique à l'exception de cette simple ligne et pourra tout à fait être mise en cache. Et comme la feuille de style n'aura pas à être renvoyée par le serveur de ZdS, ça fera baisser la charge.

Si suite à une mise à jour ou à une mauvaise manip de l'utilisateur, son CSS merde, c'est son problème.

+6 -1

si c'est client-side pourquoi ne pas se contenter d'une extension?

artragis

Parce qu'une extension, c'est:

  • Lourd
  • Local à un navigateur (mon idée ici permet de stocker le .css quelque part et de le faire modifier le site peu importe l'ordinateur utilisé pour l'accès).
  • Lourd

donc on est bien d'accord il faut s'assurer qu'il y ait une procédure de minification/changement des urls.

artragis

NON
L'idée c'est de laisser quelqu'un faire CE QU'IL VEUT avec le fichier .css, qu'il change les urls contenues dedans, qu'il le minify ou non, c'est son problème.

Pourquoi stocker le css en ligne si on garde le reste en local, ça sert pas à grand chose non?

artragis

Quand je parle de stocker le CSS de base, je parle ici d'un template, voici la procédure:

Et quand j'accède à une page sur zestedesavoir.com:

  • Le site voit que j'utilise un CSS personnalisé, du coup au lieu de me générer un :
1
        <link rel="stylesheet" href="/static/css/main.min.1155581ceecc.css">

Il me génère un:

1
        <link rel="stylesheet" href="http://monsite.com/zds.css">

C'est tout.
J'espère que là c'est clair :D

+1 -0

Je ne connais absolument rien au fonctionnement interne du site, ni même vraiment au python (même si les modifications sont probablement très simples à faire pour ça), je suggère juste l'idée.

Cette idée vient du Site du Zéro v3, il y avait une liste des personnes qui utilisaient un design personnalisé avec l'URL utilisée (ce qui peut aussi être une bonne idée), je faisais partie des utilisateurs et j'avais trouvé un thème vraiment sympa. Voilà voilà.

Honnêtement, je pense que l'idée de pouvoir changer le thème sous cette forme (simple à implémenter) peut intéresser pas mal de gens qui, comme moi, pensent que le design du site peut être amélioré (pour ma part je pense que je préfèrerai un thème plus clair), de façon totalement subjective.

+0 -0

Pourquoi pas.

Faut prendre conscience que ce système à plusieurs limitations:

  • La sécurité: Si le thème contient un virus, Zeste de Savoir peut-être en partie tenu responsable. L'image du site en tout cas.

  • Les images sont en dur dans le code pour certaine avec des balises img donc tu pourras pas les changer avec ton css.

Maintenant, c'est surtout quelqu'un qui soit motivé pour faire un thème qui manque.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte