thrallscream


1945 messages

Membre, Retraité

Mardi 10 Février 2009 - 12:32

Hello les développeurs,

J'ai besoin de vos lumières pour réaliser ceci :
Je veux récupérer la résolution de l'écran du client web pour l'utiliser coté serveur afin de dimensionner un objet.

Le code est en php/xHTML/css ce qui pose deux problèmes:
- utilisation d'une variable sous css... normalement cela ne se fait pas, mais j'ai cru comprendre qu'en renommant mon fichier css en php cela devrait être possible
- récupération de la résolution ==> j'ai cru comprendre que seul un langage exécuté coté client pouvait le faire (ce qui me parait logique) comme javascript

niveau php/css ==> débutant moyen
niveau javascript ==> néant

Est ce quelqu'un sait faire ????? (en me détaillant bien comment fonctionne la partie javascript, parceque j'insite, je ne connais pas du tout)

merkiiiiiiiiiii

nakuni


adjoint

11085 messages

Membre, Developpeur, LAN, Retraité, Chef (ED)

Mardi 10 Février 2009 - 13:01 (post édité 1 fois)

Désolé mais c'est tout simplement impossible. (à part peut-être en Ajax mais ça m'étonnerait et si tu n'y connais rien en javascript tu peux oublier)

Tu veux faire quoi au juste?


 

thrallscream


1945 messages

Membre, Retraité

Mardi 10 Février 2009 - 13:50 (post édité 1 fois)

Impossible ? Tiens tu me surprends.
Ce que je veux faire ? ben c'est écrit au dessus, mais je t'accorde que je ne suis peut être pas très clair.

Donc je me réexplique plus soigneusement.

1/ détecter la configuration de l'écran des utilisateurs qui arrivent sur ma page web (écrite en php+css).
2/ En fonction de cette config, dimensionner la taille par exemple de l'une des fenêtres de ma page.

C'est plus clair ?

Xabi


2075 messages

Membre, Developpeur, LAN

Mardi 10 Février 2009 - 14:01

la seule solution connue a ce jour pour connaitre la resolution client et de recharger la page en court avec une url réécrite avec les deux variables l et h de l'ecran

unre redirection en JS est tres facile a faire et les carac de l'ecran son accessible via l'objet screen ej JS toujours
cela a un serieux desavantage qui est de faire apparaitre ces deux variable dans l'url ce qui est assez moche

en revanche, et en s'appuyant sur l'hypothese que le client ne change opas de resolution toute les 5 min il ets tout a fait possible d'effectuer cette operation en "one shot" pour renseigner deux variable de la session php
je pense que c'est une solution qui se tient mais reve pas c'est pas directement faisable en pet hache pet Content

je sais pas si ce que je dit est tres clair en fait Content


les 2 principes de la réussite :

1- Ne jamais révéler tout son savoir.
Absolute Dreams
Zog Zog !


thrallscream


1945 messages

Membre, Retraité

Mardi 10 Février 2009 - 14:08 (post édité 2 fois)

C'est à moitié clair et à moitié pas clair Razz

Txpstar a écrit :
la seule solution connue a ce jour pour connaitre la resolution client et de recharger la page en court avec une url réécrite avec les deux variables l et h de l'ecran

unre redirection en JS est tres facile a faire et les carac de l'ecran son accessible via l'objet screen ej JS toujours
cela a un serieux desavantage qui est de faire apparaitre ces deux variable dans l'url ce qui est assez moche


Jusque là je pige, sauf que comme je ne connais pas du tout js, je ne sais comment écrire ces deux variable. Le coup de faire passer les variables dans l'url ce n'est peut etre pas si grave, d'une part parceque je pense que cela doit se masquer assez facilement et d'autre part parceque si on ne peut pas les masquer, ce n'est pas dramatique.


Txpstar a écrit :

en revanche, et en s'appuyant sur l'hypothese que le client ne change opas de resolution toute les 5 min il ets tout a fait possible d'effectuer cette operation en "one shot" pour renseigner deux variable de la session php
je pense que c'est une solution qui se tient mais reve pas c'est pas directement faisable en pet hache pet Content


Il me parait logique que php ne sache pas le faire tout seul puisqu'il s'exécute sur le serveur.

Txpstar a écrit :
je sais pas si ce que je dit est tres clair en fait Content

ok xabi, mais vu que je ne connais pas js, je pige ce que tu dis (je crois) mais je ne suis pas vraiment avancé, et puis il reste le second problème d'utiliser ces variables dans du code css ??

Xabi


2075 messages

Membre, Developpeur, LAN

Mardi 10 Février 2009 - 14:16

je te conseille de regarder ce lien et d'en étudier le code
il est tout a fait possible de l'adapter pour que le traitement ne soit fait QUE si tu n'as pas déjà ces informations dans ta session php

pour ce qui est d'utiliser des variable php dans ton css il suffit en effet de la renommer en php et tu pourras y mettre facilement des balise d'inclusion dedans meme si les purristes trouvent cette solution peu élégante ca reste a mon sens tout a fait recevable


les 2 principes de la réussite :

1- Ne jamais révéler tout son savoir.
Absolute Dreams
Zog Zog !


juannito


31 messages

Mardi 10 Février 2009 - 15:03 (post édité 1 fois)

Pourquoi ça ne serait pas possible ?
Coté PHP, tu ne peux pas, c'est clair.
Par contre, en utilisant JS c'est assez simple.
Apres, il te suffit d'envoyer une requete HttpRequest.

Tu veux faire quoi exactement ? Que les gens chargent la page, dans la bonne resolution, ou que les gens chargent la page ... envoient des infos sur la resolution ... et recupèrent un objet adapté, sans recharger toute la page ?

EDIT : Je viens de mater ton lien, c'est exactement ce qu'il fait ..
Un script javascript coté client, qui envoie les données au serveur.




nakuni


adjoint

11085 messages

Membre, Developpeur, LAN, Retraité, Chef (ED)

Mardi 10 Février 2009 - 15:04 (post édité 1 fois)

Ma question c'est plutôt quelle type de fenêtre tu veux redimensionner.

Il serait peut-être plus simple, plus propre et moins lourd de faire une fenêtre qui s'ajuste elle même à la taille de l'écran juste en utilisant les CSS.

Parceque la redirection javascript avec les tailles dans l'URL je trouve ça... caca et je me demande comment Google y réagit en plus.

EDIT: Juanitto tu proposes un HttpRequest, mais pour quelqu'un qui ne connaît absolument pas javascript dans 5 ans il y est encore...


 

juannito


31 messages

Mardi 10 Février 2009 - 15:08

C'est pas compliqué le ajax ... C'est vrai c'est pas la solution la plus simple.

Sinon comme tu dis, tu fais une div , avec une taille en %, et ca roule tout seul ?
surtout si c'est une image ! Ca va te recadrer tout , tout seul.

Tu as toujours plusieur solutions en css : pixel, em, %


thrallscream


1945 messages

Membre, Retraité

Mardi 10 Février 2009 - 15:18

Nakuni a écrit :
Ma question c'est plutôt quelle type de fenêtre tu veux redimensionner.


Fenêtre n'est peut etre pas le bon terme. Disons par exemple que si c'était sur le site des FFF je redimensionerais le cadre dans lequel on se trouve (articles, posts, etc...)

Nakuni a écrit :
Il serait peut-être plus simple, plus propre et moins lourd de faire une fenêtre qui s'ajuste elle même à la taille de l'écran juste en utilisant les CSS.

Je voudrais bien, mais là pour le coup c'est impossible, non ??

juannito


31 messages

Mardi 10 Février 2009 - 15:25

Justement, si ... au lieu de dire : tu as une taille de 100 pixel
weight: 100px;

tu mets une taille relative :
weight: 75%;

(C'est 75% du conteneur .... pas forcement de la fenetre).
Tu peux imbriquer des fenetres(div) les unes dans les autres, pour faire ce que tu veux.

PS : super tutos = Le site du zero.


Xabi


2075 messages

Membre, Developpeur, LAN

Mardi 10 Février 2009 - 15:26

comme tu peux le constater il ya tjs de multiples solutions a un probleme
Nak tu trouve ca caca mais si c'est fait en one shot moi je trouve ca plutot performant, un seul traitement par session ca me parait pas caca du tout...

pour ce qui est du css tu devrais en effet aussi pouvoir resoudre le pb de cette manière mais chui pas hyper fort a ca donc je prefere pas m'avancer


les 2 principes de la réussite :

1- Ne jamais révéler tout son savoir.
Absolute Dreams
Zog Zog !


thrallscream


1945 messages

Membre, Retraité

Mardi 10 Février 2009 - 15:32

Ok, en insérant plusieurs conteneurs les uns dans les autres et en mettant une proportionnalité sur les conteneurs qu'il faut. Pas con.
Je vais essayer ainsi.

nakuni


adjoint

11085 messages

Membre, Developpeur, LAN, Retraité, Chef (ED)

Mardi 10 Février 2009 - 15:37

Enfin je trouve ça caca parcequ'il sufit de le faire en CSS, mettre une redirection javascript, créer une session juste pour ça c'est caca. Après si t'as vraiment pas le choix ok.

Bah Comme le dit juannito si tu mets par exemple un <div style="width:80%"> juste au début de ton body, ton div fera 80% de la largeur de l'écran. Donc à moins d'avoir un besoin vraiment très spécifique ça devrait te suffire.

Perso je te conseil http://www.alsacreations.com/ pour en apprendre + sur CSS, et si t'es vraiment motivé le bouquin "CSS2 pratique du design web" aux éditions Eyrolles


 

Xabi


2075 messages

Membre, Developpeur, LAN

Mardi 10 Février 2009 - 15:49

je suis un webmaster que l'on qualifiera de peut scrupuleux mais je suis de l'avis que 90% des débat "caca/pas caca" en terme de développement (web notament) sont des trolls très vigoureux de cette communauté

je suis pas partisan de faire le site parfaitement pas caca parce que "c'est la classe" Content je me contente d'assembler des choses qui marchent

ensuite je pense que oui pour son probleme le css c'est encore ce qu'il y a de mieux (de moins caca Content) mais je pense qu'il avat mal possé sa question

bon bah thrall : YAPLUKA


les 2 principes de la réussite :

1- Ne jamais révéler tout son savoir.
Absolute Dreams
Zog Zog !


Liens utiles : Rechercher - Droits d'accès