Personnalisation d'un site en fonction du visiteur

Personnalisation d'un site en fonction du visiteur - HTML/CSS - Programmation

Marsh Posté le 06-09-2005 à 14:18:44    

Salut à tous,
 
je cherche à trouver une solution pour que des utilisateurs puissent personnaliser leur environnement (au niveau des couleurs, du design en général), un peu comme sur le forum HFR.
 
Ma question est toute simple : quelle est la meilleure façon de procéder ?
 
Le site en lui même est relativement structuré (séparation stricte HTML/CSS/php).
 
En fait, j'ai identifié plusieurs solutions mais difficile de savoir quelle est la meilleure :
 
1. On stocke les préférences de l'utilisateur dans une table et on injecte en début de page HTML les lignes de code css. Inconvénient, il faut faire une requete sur chaque page
 
2. On construit dynamiquement le fichier css. Inconvénient, à chaque page appelée, il faut construire la page et la feuille de style
 
3. Lors du premier appel, on construit la feuille de style que l'on place en cache et on utilise ce cache pour les appels suivants. Idem : il faut une requête lors de chaque appel de page pour déterminer si la version en cache est valide.
 
Est-ce que vous auriez une suggestion sur la meilleure methode à employer (ou tout au moins la plus fréquente) ?
 
Merci d'avance !


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 06-09-2005 à 14:18:44   

Reply

Marsh Posté le 06-09-2005 à 14:25:07    

tu créé une feuille de style spécifique au user.
mais le plus simple serait de créer dynamiquement la feuille de style.
 
en gros au lieu de pointer sur style.css
tu pointes sur style.php, et cette page changera le type mime en text/css et ecrira les propriétés CSS spécifiques au user

Reply

Marsh Posté le 06-09-2005 à 14:27:16    

c'est ma solution 2. Mais d'un point de vue pratique, c'est pas un peu lourd ? Ca fait bcp d'appels je trouve


---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 07-09-2005 à 07:51:27    

Tu fais comme Masklinn sur son site (enfin, ses bookmarks plutot :P)
Tu donne un id a la balise html.
Ensuite toute personne voulant re-skinner ton site pour son usage personnel et disposant d'un vrai navigateur (Fx par exemple :p) pourra le faire simplement en specifiant des css perso pour ton site.


Message édité par cerel le 07-09-2005 à 07:52:27
Reply

Marsh Posté le 07-09-2005 à 08:28:39    

cerel a écrit :

Tu fais comme Masklinn sur son site (enfin, ses bookmarks plutot :P)


Va vraiment falloir que je refasse cette CSS moi :sweat:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 07-09-2005 à 08:29:42    

masklinn a écrit :

Va vraiment falloir que je refasse cette CSS moi :sweat:


 
 
Et que tu changes ces couleurs tristounettes.
 
Merde t'es pas aussi triste que ça dans ta vie non ?  
 
Mets un peu de ta joie dans cette page didiou  [:pingouino]


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
Reply

Marsh Posté le 07-09-2005 à 08:31:26    

plainsofpain a écrit :

Et que tu changes ces couleurs tristounettes.


C'est la raison principale :o

Citation :

Merde t'es pas aussi triste que ça dans ta vie non ?


Si, je suis un bitnick triste :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 07-09-2005 à 17:06:19    

cerel a écrit :

Tu fais comme Masklinn sur son site (enfin, ses bookmarks plutot :P)
Tu donne un id a la balise html.
Ensuite toute personne voulant re-skinner ton site pour son usage personnel et disposant d'un vrai navigateur (Fx par exemple :p) pourra le faire simplement en specifiant des css perso pour ton site.


 
Hum, je suis allé sur le site, j'ai constaté l'existence d'une id sur la balise html, j'ai jeté un coup d'oeil au fichier css qui était lié mais je dois admettre ne pas comprendre ce que tu veux dire [:zoutte]


Message édité par latruffe le 07-09-2005 à 17:40:58

---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Marsh Posté le 07-09-2005 à 17:15:36    

latruffe a écrit :

Hum, je suis allé sur le site, j'ai constaté l'existence d'une id sur la balise html, j'ai jeté un coup d'oeil au fichier css qui était lié mais je dois admettre ne pas comprendre ce que tu veux dire :zoutte:


Cet ID est ce qu'on appelle une "signature CSS", classiquement on y met le nom de domaine complet du site (mais juste le domaine). De cette manière, un visiteur utilisant un navigateur moderne (Firefox ou Opera) peut facilement créer des CSS customs pour le site en utilisant cette signature (il lui suffit de préfixer toutes ses règles par la dite signature)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 07-09-2005 à 17:41:46    

Et ensuite, où doivent être hébergé ces css ? chez le visiteur j'imagine ?
 
Edit: ok, je pense avoir compris le principe. Mais ce n'est pas ce que je veux faire.
 
L'objectif est que l'utilisateur A puisse personnaliser son environnement. Et quand un visiteur visite l'environnement de l'utilisateur A, il doit le voir tel que A l'a défini (un peu comme sur HFR quand je peux voir les réglages utilisés par tel ou tel utilisateur). Dès lors, impossible d'utiliser la signature CSS.


Message édité par latruffe le 07-09-2005 à 17:49:33

---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed