Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2730 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  1363  1364  1365  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°2268950
tryptique
Stay hungry, stay foolish
Posté le 02-11-2015 à 07:36:01  profilanswer
 

Reprise du message précédent :

Youmoussa a écrit :

Enfin il est temps pour lui d'arrêter avant qu'il ne soit trop tard [:cosmoschtroumpf]

 

Savoir choisir judicieusement une technologie, c'est quand même un plus pour un développeur.


Un bon développeur a expérimenté plusieurs technologies et est capable de choisir la plus adaptée pour un projet donné. Mais vu que là il a l'air d'avoir zéro expérience du web, il ferait bien de commencer par HTML/CSS.


---------------
"J'ai les goûts les plus simples du monde, je me contente du meilleur" O. Wilde - Freedom of time is the new luxury. Time to sleep, work, play, relax, travel, inspire and get inspired. Time to write your story.
mood
Publicité
Posté le 02-11-2015 à 07:36:01  profilanswer
 

n°2268952
Hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 02-11-2015 à 09:09:22  profilanswer
 

flo850 a écrit :

Prendre par un bout ? choisir un FW (quelconque, on s'en fout) et suivre les tuto pour apprivoiser le truc plutôt que de le prendre d'un coup sans avoir la moindre base en web ?


Oui, alors ça j'ai fait. Il y a 2 ans pendant l'été j'ai choisi un framework (web2py, comme ça je faisais du python ça me faisait moins peur, et puis c'est un framework réputé pour son intéret pédagogique), j'ai acheté le livre, j'ai fait les tutos et j'ai construit un site.

 

Sauf que faire les tutos c'est facile, suivre des recettes aussi, mais au final tout ça ça restait de la magie pour moi, je ne comprenais rien à ce que je faisais et dés que je voulais sortir d'un poil de cul de la recette qu'on m'avait filée, tout me pétait à la gueule. Puis je te raconte pas au moment du déploiement la prise de tête, là encore en mode J'ai aucune idée de ce que je fais... https://33.media.tumblr.com/avatar_42c5da70030e_128.png

 

Le problème c'est que pour ccomprendre l'intérêt et la philosophie de tous ces framework, c'est essentiel je pense (et c'est ce que vous m'aviez dit à l'époque quand je m'étais plaint de la complexité de la chose :D) de savoir ce qu'on lui fait faire, concrétement, et donc d'être capable le cas échéant de le faire à la main. C'est pour ça que là, pour le moment, je ne prends pas de framework. Je prends les standards modernes mais en termes d'outils je voudrais faire comme en 97.

ratibus a écrit :


@hephaestos : t'as commencé par quoi pour ton apprentissage ? Tu connais HTTP ?


Tout ce que je connais c'est la programmation locale, de l'assembleur au C++ ça va à peu près, et niveau OS j'ai une petite idée de ce qu'est une connection réseau, un socket, HTTP je pense cerner le truc j'ai déjà codé un client HTTP pour une caméra disposant d'une interface REST.

 

Là où je suis noyé c'est tout ce qui touche à ce que fait le serveur web (Apache ou IIS), je saisis bien qu'il joue un rôle important mais c'est entièrement magique pour moi.

 
bixibu a écrit :

Bon, je me répète mais :
- php: laravel
- javascript: nodejs

 

C'est pas des usines à gaz, tu choisis composant par composant ce que tu souhaite utiliser... petit à petit en partant d'un hello world d'une ligne de code si tu le souhaite...

 

Apres si tu veux te taper une indisgestion et arreter le dev web dans une semaine, oui tu peux tenter symfony, zend, ror, django ou autre


wok :jap:

 


Volkhen a écrit :


Le conseil est d'abord de réviser comment se passent les interactions entre un browser et un serveur web (ie, c'est limite du RPC).

 

Tu aurais des ressources pour ça ?

 


Volkhen a écrit :


Puis de savoir si tu as besoin que le serveur envois des choses dynamiques ou fixes.

 

- si fixes : tu peux passer par des générateurs de contenu que tu peux avoir sur ton PC et envoyer ça sur les serveurs. Des choses comme Jekyll.
 - si dynamique : là il faut s'interesser aux langages serveurs et leurs framework. Si tu stockes des données, savoir si une bdd est utile ou pas.

 

Par exemple, pour les questions sur les templates. En php il est possible de directment envoyer des chaînes de caractères que tu souhaites envoyer au browser. Mais c'est moche donc la plupart des gens utilisent des moteurs de templates.
Personnellement je conseille twig. C'est puissant, le système de blocs et de sous templates est vraiment puissant et la doc est un modèle de documentation (proper, exhaustive avec des how-tos pour les trucs que les gens font souvent) et plutôt simple à étendre pour ajouter des fonctions internes.
Mais une fois que tu sais comment générer ton html, il faut décider d'où et à quel point tu comptes le mettre en cache.
Soit tu génères à chaque demande d'affichage de page. C'est bien pour les affichages de données très dynamique, mais déconseillé pour du fixe (genre une homepage).
Soit tu mets en cache à la main et relance des générations lors des changements. Une bonne solution surtout quand couplée avec une architecture CQRS.
Tu peux aussi déporter le boulot de cache vers un serveur spécialisé, qui fait tourner un truc comme varnish. L'avantage est de découpler la partie cache de la partie génération qui peut donc être switchée d'un langage à un autre.

 

Cimer :jap:

 

Par rapport à la mise en cache de twig, je pense que je comprends l'idée...

Citation :

Notice that the second argument of the environment is an array of options. The cache option is a compilation cache directory, where Twig caches the compiled templates to avoid the parsing phase for sub-sequent requests. It is very different from the cache you might want to add for the evaluated templates. For such a need, you can use any available PHP cache library.

 

Du coup il faut que je choisisse une bibliothèque de mis en cache et que je configure php de façon adéquate ?

 
Volkhen a écrit :


Toute la question est de connaître le but.

 

Pour un petit site fixe tu fais comme en 95 : html, css, js => upload sur un host et c'est fait.
Pour ne pas avoir à répéter les headers / footer : soit tu utilises php include, soit t'utilises un générateur de site.
Pour avoir un contenu dynamique, peu d'utilisateurs : tu installes un CMS et c'est réglé.

 

Il y a deux buts :
- Apprendre le développement web.
- Créer un site pro pour mon professeur de piano.

 

Le second objectif serait vraisemblablement atteignable sans grande difficultés avec un CMS quelconque, mais ça ne m'avancerait pas beaucoup pour le premier.

 

Du coup mon idée c'est :
- Créer un site statique comme en 95 pour comprendre html, css et javascript. <== J'en suis là
- Une fois le site en ligne, ajouter des fonctionnalités dynamiques, typiques d'un CMS mais si ça l'intéresse je pourrais aussi faire des choses un peu plus poussées genre paiement, réservation en ligne, ou planning. À la réflexion, je voudrais pour ça le moins de magie possible donc j'envisage de m'en tenir au php brut dans un premier temps, je pense que l'envergure modeste du projet l'autorisera.

Message cité 2 fois
Message édité par Hephaestos le 02-11-2015 à 09:09:39
n°2268957
Hermes le ​Messager
Breton Quiétiste
Posté le 02-11-2015 à 14:01:04  profilanswer
 

Hephaestos a écrit :


 
Du coup mon idée c'est :
- Créer un site statique comme en 95 pour comprendre html, css et javascript. <== J'en suis là
- Une fois le site en ligne, ajouter des fonctionnalités dynamiques, typiques d'un CMS mais si ça l'intéresse je pourrais aussi faire des choses un peu plus poussées genre paiement, réservation en ligne, ou planning. À la réflexion, je voudrais pour ça le moins de magie possible donc j'envisage de m'en tenir au php brut dans un premier temps, je pense que l'envergure modeste du projet l'autorisera.


 
Je pense que c'est une excellente idée.

n°2268958
boblenain2​00
Posté le 02-11-2015 à 14:14:46  profilanswer
 

Je pense que t'as raison de vouloir commencer à l'ancienne pour comprendre à quoi servent les frameworks.
 
Très vite tu vas te rendre compte que ca permet au moins (les micro-frameworks en gros):
* faciliter la gestion des vues (navbar, footer, header..etc..) pour eviter les includes ou pire le copier/coller. => View (HTML/JSON)
* faciliter le dispatching des requetes (gestion de l'url et du routing en fonction du type de request GET/POST..etc.. et de la ressource) => Controller (HTTP/WebSocket)
* faciliter la communication avec la BDD => Modele. (SQL ou NoSQL , pas spécifique au web)
 
Note que le MVC n'est pas specifique au web, la plupart des frameworks web sont juste une application du MVC sur les techos web (HTML/HTTP).
 
A ta place, je partirai sur du micro framework, ou bien sur encore plus minimaliste genre juste la librairie HTTP de Node ou de Python.  

n°2268959
zeleyou
Posté le 02-11-2015 à 14:47:38  profilanswer
 

Hephaestos a écrit :


Oui, alors ça j'ai fait. Il y a 2 ans pendant l'été j'ai choisi un framework (web2py, comme ça je faisais du python ça me faisait moins peur, et puis c'est un framework réputé pour son intéret pédagogique), j'ai acheté le livre, j'ai fait les tutos et j'ai construit un site.

 

Sauf que faire les tutos c'est facile, suivre des recettes aussi, mais au final tout ça ça restait de la magie pour moi, je ne comprenais rien à ce que je faisais et dés que je voulais sortir d'un poil de cul de la recette qu'on m'avait filée, tout me pétait à la gueule. Puis je te raconte pas au moment du déploiement la prise de tête, là encore en mode J'ai aucune idée de ce que je fais... https://33.media.tumblr.com/avatar_42c5da70030e_128.png

 

Le problème c'est que pour ccomprendre l'intérêt et la philosophie de tous ces framework, c'est essentiel je pense (et c'est ce que vous m'aviez dit à l'époque quand je m'étais plaint de la complexité de la chose :D) de savoir ce qu'on lui fait faire, concrétement, et donc d'être capable le cas échéant de le faire à la main. C'est pour ça que là, pour le moment, je ne prends pas de framework. Je prends les standards modernes mais en termes d'outils je voudrais faire comme en 97.

  
Hephaestos a écrit :

 

Il y a deux buts :
- Apprendre le développement web.
- Créer un site pro pour mon professeur de piano.

 

Le second objectif serait vraisemblablement atteignable sans grande difficultés avec un CMS quelconque, mais ça ne m'avancerait pas beaucoup pour le premier.

 

Du coup mon idée c'est :
- Créer un site statique comme en 95 pour comprendre html, css et javascript. <== J'en suis là
- Une fois le site en ligne, ajouter des fonctionnalités dynamiques, typiques d'un CMS mais si ça l'intéresse je pourrais aussi faire des choses un peu plus poussées genre paiement, réservation en ligne, ou planning. À la réflexion, je voudrais pour ça le moins de magie possible donc j'envisage de m'en tenir au php brut dans un premier temps, je pense que l'envergure modeste du projet l'autorisera.


Je vais me répéter mais.. commence par faire tes pages avec bootstrap pour tout le static, puis utilise ensuite un framework pedagogique style laravel.

 

Apres oui les frameworks c'est souvent beaucoup de "magie". Ca sera plus ou moins pareil avec tous les frameworks de n'importe quel langage de toute facon. Tu peux aussi faire sans framework mais y a 99% de chance que tu produises un code dégueulasse et que tu n'apprennes pas grand chose. Plus tard avec l'habitude et en fouillant dans l'API du framework tu finiras par comprendre ce qui se cache derrière. Dans un 1er temps faut se contenter des methodes standards.

Message cité 3 fois
Message édité par zeleyou le 02-11-2015 à 14:48:17
n°2268961
Youmoussa
Ecrou-vis
Posté le 02-11-2015 à 15:09:25  profilanswer
 

zeleyou a écrit :


Je vais me répéter mais.. commence par faire tes pages avec bootstrap pour tout le static, puis utilise ensuite un framework pedagogique style laravel.
 
Apres oui les frameworks c'est souvent beaucoup de "magie". Ca sera plus ou moins pareil avec tous les frameworks de n'importe quel langage de toute facon. Tu peux aussi faire sans framework mais y a 99% de chance que tu produises un code dégueulasse et que tu n'apprennes pas grand chose. Plus tard avec l'habitude et en fouillant dans l'API du framework tu finiras par comprendre ce qui se cache derrière. Dans un 1er temps faut se contenter des methodes standards.


 
+1

n°2268962
SekYo
Posté le 02-11-2015 à 15:38:46  profilanswer
 

zeleyou a écrit :


Je vais me répéter mais.. commence par faire tes pages avec bootstrap pour tout le static, puis utilise ensuite un framework pedagogique style laravel.

 

Apres oui les frameworks c'est souvent beaucoup de "magie". Ca sera plus ou moins pareil avec tous les frameworks de n'importe quel langage de toute facon. Tu peux aussi faire sans framework mais y a 99% de chance que tu produises un code dégueulasse et que tu n'apprennes pas grand chose. Plus tard avec l'habitude et en fouillant dans l'API du framework tu finiras par comprendre ce qui se cache derrière. Dans un 1er temps faut se contenter des methodes standards.


Sauf que s'il est surtout intéressé par apprendre, et qu'il a le temps pour ça, commencer "à la main", à l'ancienne, pour comprendre par la suite l’intérêt des frameworks qu'il va utiliser peut être pas mal, même si son code initial est immonde.


Message édité par SekYo le 02-11-2015 à 15:39:32
n°2268963
Hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 02-11-2015 à 16:01:22  profilanswer
 

Oui merci pour les conseils, du coup question dino : on faisait comment en 95 pour faire des templates de sites ?

n°2268964
DDT
Few understand
Posté le 02-11-2015 à 16:03:07  profilanswer
 
n°2268968
bixibu
Ca ... c'est fait!
Posté le 02-11-2015 à 17:05:03  profilanswer
 

Vous auriez pas sous la main une liste d'arguments pour faire comprendre à une société pourquoi c'est mal de rester sous IE9 ?  
Il me semblait avoir vu un site bien branlé pour ca un jour (pas en mode web-dev-rageur mais orienté client)
 
Merci :o

mood
Publicité
Posté le 02-11-2015 à 17:05:03  profilanswer
 

n°2268969
DDT
Few understand
Posté le 02-11-2015 à 17:20:22  profilanswer
 

Bah c'est pas dur, si?
- Plus supporté à partir du 12 janvier.
- Plus supporté par certains sites et bibliothèques JS, donc ça oblige les utilisateurs à avoir un autre navigateur.
- Aucune raison de ne pas utiliser IE11.


---------------
click clack clunka thunk
n°2268971
skylight
Made in France.
Posté le 02-11-2015 à 17:40:22  profilanswer
 

DDT a écrit :

Bah c'est pas dur, si?
- Plus supporté à partir du 12 janvier.
- Plus supporté par certains sites et bibliothèques JS, donc ça oblige les utilisateurs à avoir un autre navigateur.
- Aucune raison de ne pas utiliser IE11.


Si tu savais le nombre de demandes que j'ai avec compatibilité IE8 :'(

n°2268972
bixibu
Ca ... c'est fait!
Posté le 02-11-2015 à 17:42:52  profilanswer
 

Merci, me manquait la date du 12 janvier

 

Sinon, oui on va pas refaire le débat, mais en gros, chez certain gros client qui ont pas les corones de mettre à jour leurs parcs info (hardware/software), on est bien obligé de faire avec. Mais bon là je pars justement en guerre contre, et j'essaye d'être le plus constructif/objectif/pédagogue possible.

Message cité 1 fois
Message édité par bixibu le 02-11-2015 à 17:43:22
n°2268973
Volkhen
Posté le 02-11-2015 à 18:03:03  profilanswer
 

bixibu a écrit :

Merci, me manquait la date du 12 janvier
 
Sinon, oui on va pas refaire le débat, mais en gros, chez certain gros client qui ont pas les corones de mettre à jour leurs parcs info (hardware/software), on est bien obligé de faire avec. Mais bon là je pars justement en guerre contre, et j'essaye d'être le plus constructif/objectif/pédagogue possible.


Le plus simple serait qu'ils fassent un audit de sécurité. Il y a de bonnes chances que tout ce qui n'est pas à jour soit remonté.


---------------
Main/Alt1/Alt2/Alt3
n°2268975
DDT
Few understand
Posté le 02-11-2015 à 18:23:18  profilanswer
 

skylight a écrit :


Si tu savais le nombre de demandes que j'ai avec compatibilité IE8 :'(


Tu leur dis que ton taux horaire est multiplié par (12 - version) :o :D


---------------
click clack clunka thunk
n°2268997
masklinn
í dag viðrar vel til loftárása
Posté le 03-11-2015 à 09:14:11  profilanswer
 

zeleyou a écrit :


Je vais me répéter mais.. commence par faire tes pages avec bootstrap pour tout le static, puis utilise ensuite un framework pedagogique style laravel.
 
Apres oui les frameworks c'est souvent beaucoup de "magie". Ca sera plus ou moins pareil avec tous les frameworks de n'importe quel langage de toute facon. Tu peux aussi faire sans framework mais y a 99% de chance que tu produises un code dégueulasse et que tu n'apprennes pas grand chose. Plus tard avec l'habitude et en fouillant dans l'API du framework tu finiras par comprendre ce qui se cache derrière. Dans un 1er temps faut se contenter des methodes standards.


Ouais mais non, web2py c'est un truc spécifiquement hyper-magique que personne ne recommande à part les gens qui font que du web2py. Il y a magie et magie, web2py c'est le truc qui va bricoler le runtime et évaluer tes fichiers lui même dans un contexte spécial en auto-injectant des imports parce-que "c'est plus simple"


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2269000
zeleyou
Posté le 03-11-2015 à 10:11:06  profilanswer
 

masklinn a écrit :


Ouais mais non, web2py c'est un truc spécifiquement hyper-magique que personne ne recommande à part les gens qui font que du web2py. Il y a magie et magie, web2py c'est le truc qui va bricoler le runtime et évaluer tes fichiers lui même dans un contexte spécial en auto-injectant des imports parce-que "c'est plus simple"

ah ok je connais pas specifiquement web2py :jap:


Message édité par zeleyou le 03-11-2015 à 10:31:46
n°2269002
ZePRiNCE
Coucou, tu veux voir ma RTX ?
Posté le 03-11-2015 à 12:23:21  profilanswer
 

skylight a écrit :


Si tu savais le nombre de demandes que j'ai avec compatibilité IE8 :'(


J'ai jamais trouvé ça si chiant en fait (hors site angular & co)
 
Y a quand même pas mal de polyfill dispo + prefixes + jquery 1 toujours maintenu.
 
Perso je recommande postcss avec autoprefixer (et quelques autres petits plugins), ça fait du css compatible tout en faisant sembler d'ignorer tous les browsers de + de 15 jours :D


---------------
A VENDRE: Razer Chroma ARGB Controller / Boitier / Support Triple Screen / Ventirad / Carte USB3
n°2269003
skylight
Made in France.
Posté le 03-11-2015 à 12:25:47  profilanswer
 

Quand tu vois que certains FW responsives sont totalement HS sur IE8...

n°2269004
flo850
moi je
Posté le 03-11-2015 à 12:35:01  profilanswer
 

Moi je propose une autre pproche :  
client riche , rendu côté client pour les navigateur modernes
client rendu côté serveur pour les autres, dont les 10% de déficients visuel
 
Autre approche : client fonctionnel, mais pas pixel perfect ou même des fonctionnalités manquantes
 
C'ezst dommage aujourd'hui de se passer de flex et rajouter des Mo de polyfill


---------------

n°2269005
skylight
Made in France.
Posté le 03-11-2015 à 12:36:56  profilanswer
 

flo850 a écrit :

Moi je propose une autre pproche :  
client riche , rendu côté client pour les navigateur modernes
client rendu côté serveur pour les autres, dont les 10% de déficients visuel
 
Autre approche : client fonctionnel, mais pas pixel perfect ou même des fonctionnalités manquantes
 
C'ezst dommage aujourd'hui de se passer de flex et rajouter des Mo de polyfill


Perso, le flex j'aime bien, mais pas au point de passer ça en prod avec tous les browsers en utilisation today :(

n°2269007
flo850
moi je
Posté le 03-11-2015 à 12:47:58  profilanswer
 

Si tu abandonnes IE9 , alors flex est dispo partout (moyennant les prefixes)  


---------------

n°2269008
skylight
Made in France.
Posté le 03-11-2015 à 13:02:38  profilanswer
 

En moyenne, j'ai encore 10-12% de gens sur IE8/IE9 sur la plupart des sites que je gère.
Après, le flex, c'est surtout sur mobile (android/iOS/WP) qu'il faut checker la compat'.

n°2269009
Hermes le ​Messager
Breton Quiétiste
Posté le 03-11-2015 à 14:23:55  profilanswer
 

flo850 a écrit :

Moi je propose une autre pproche :  
client riche , rendu côté client pour les navigateur modernes
client rendu côté serveur pour les autres, dont les 10% de déficients visuel
 
Autre approche : client fonctionnel, mais pas pixel perfect ou même des fonctionnalités manquantes
 
C'ezst dommage aujourd'hui de se passer de flex et rajouter des Mo de polyfill


 
complètement d'accord avec ça. Je préfère d'ailleurs le rendu côté "serveur" pour les autres. Je passe moi même parfois bcp de temps en ligne de commande et je déteste arriver sur un site que je peux pas lire avec w3m. :o

n°2269010
skylight
Made in France.
Posté le 03-11-2015 à 14:34:03  profilanswer
 

Rendu serveur : je comprends pas, tu files un autres template / autre vue serveur pour ceux-là ? (genre template HTML4 simplifié)

n°2269011
kao98
...
Posté le 03-11-2015 à 14:36:54  profilanswer
 

skylight a écrit :

Rendu serveur : je comprends pas, tu files un autres template / autre vue serveur pour ceux-là ? (genre template HTML4 simplifié)


Non.
Rendu client : le serveur envoie un json (ou autre), le client construit le document (le dom).
Rendu serveur : le serveur envoie un DOM déjà construit, tu n'as plus qu'à le mettre là où tu veux.

 

En gros, c'est ce qu'on faisait il y a 10~15 ans en PHP, avec les toutes premières version des sites dit en "ajax" :whistle:

Message cité 1 fois
Message édité par kao98 le 03-11-2015 à 14:37:18
n°2269012
flo850
moi je
Posté le 03-11-2015 à 14:37:58  profilanswer
 

Tu as cette solution, qui est un peu à la bite et au couteau ( mais qui fonctionne)
 
Tu as aussi la mode du javascript isomorphique : ton fais un rendu HTML côté serveur, ton FW client se charge et prends le relai avec une navigation côté client . Twitter utilise beaucoup ça.
Comme ça si ton client est pourri, il a quand meme une page html/css


---------------

n°2269013
skylight
Made in France.
Posté le 03-11-2015 à 14:41:27  profilanswer
 

kao98 a écrit :


Non.
Rendu client : le serveur envoie un json (ou autre), le client construit le document (le dom).
Rendu serveur : le serveur envoie un DOM déjà construit, tu n'as plus qu'à le mettre là où tu veux.
 
En gros, c'est ce qu'on faisait il y a 10~15 ans en PHP, avec les toutes premières version des sites dit en "ajax" :whistle:


D'ac, merci

n°2269014
Hermes le ​Messager
Breton Quiétiste
Posté le 03-11-2015 à 14:41:38  profilanswer
 

skylight a écrit :

Rendu serveur : je comprends pas, tu files un autres template / autre vue serveur pour ceux-là ? (genre template HTML4 simplifié)


 
ça dépend du type de site et de projet.
 
Sur certains projets, tu fais une version HTML simpliste générée par le server sans JS etc... ça fait plus de travail, mais de toutes manières d'un autre côté, cela t'impose de ne jamais oublier de traiter tous les résultats de requêtes côté serveur. :o
 
Sur pas mal de projet modernes, tu as des sites/applies web qui sont maintenant quasi entièrement côté client avec des appels AJAX au server qui envoie des données "pures" sans aucun HTML. Le gros avantage, c'est de pouvoir à terme transformer l'applie en iPad/Android App sans pratiquement rien changer. Une telle approche exclue IE8/9 :o  
Dans certains cas, IE8/9 restent utlilisés et/ou on veut aussi qu'un mode texte puisse marcher. Dans ce cas, tu fais un site simpliste avec un simple rendu HTML produit par le serveur pour les supports qui ne peuvent pas utiliser la version moderne du site. :o

n°2269015
skylight
Made in France.
Posté le 03-11-2015 à 14:43:28  profilanswer
 

flo850 a écrit :

Tu as cette solution, qui est un peu à la bite et au couteau ( mais qui fonctionne)

 

Tu as aussi la mode du javascript isomorphique : ton fais un rendu HTML côté serveur, ton FW client se charge et prends le relai avec une navigation côté client . Twitter utilise beaucoup ça.
Comme ça si ton client est pourri, il a quand meme une page html/css


C'est un peu ce que je fais, première page, il charge un template HTML avec dom, puis les autres pages sont chargées en async, retour Json, et placement des infos.
Selon le client, le serveur renvoie un json et une version parsée avec DOM au cas où. (enfin, une variable avec l'html parsé dans le tab json de retour, quoi :o )

 

j'sais pas si c'est une bonne idée en fait :gratgrat:

Message cité 1 fois
Message édité par skylight le 03-11-2015 à 14:44:17
n°2269016
kao98
...
Posté le 03-11-2015 à 14:47:46  profilanswer
 

skylight a écrit :


C'est un peu ce que je fais, première page, il charge un template HTML avec dom, puis les autres pages sont chargées en async, retour Json, et placement des infos.
Selon le client, le serveur renvoie un json et une version parsée avec DOM au cas où. (enfin, une variable avec l'html parsé dans le tab json de retour, quoi :o )
 
j'sais pas si c'est une bonne idée en fait :gratgrat:


Tu renvoies systématiquement les deux versions ? Les données en JSON, et formatée ?
C'est super lourd ça ! Tu ne bénéficie d'aucun des avantages de l'une ou de l'autre des deux versions en fait :/
 
Tu n'as pas la légèreté de la requête et l'économie des ressources serveur que pourrait te procurer le fait de n'envoyer que du json.
Et tu embrouilles ton client plus que nécessaire que s'il ne recevait que la version DOM.

n°2269017
skylight
Made in France.
Posté le 03-11-2015 à 14:48:24  profilanswer
 

kao98 a écrit :


Tu renvoies systématiquement les deux versions ? Les données en JSON, et formatée ?
C'est super lourd ça ! Tu ne bénéficie d'aucun des avantages de l'une ou de l'autre des deux versions en fait :/

 

Tu n'as pas la légèreté de la requête et l'économie des ressources serveur que pourrait te procurer le fait de n'envoyer que du json.
Et tu embrouilles ton client plus que nécessaire que s'il ne recevait que la version DOM.


Non, je fais ça que quand le client est suspicieux (IE8/9 détecté), mais rien de fiable puisque basé sur l'user agent

Message cité 1 fois
Message édité par skylight le 03-11-2015 à 14:49:32
n°2269018
kao98
...
Posté le 03-11-2015 à 14:53:34  profilanswer
 

skylight a écrit :


Non, je fais ça que quand le client est suspicieux (IE8/9 détecté), mais rien de fiable puisque basé sur l'user agent


Ok.
Du coup, je vois pas l'intérêt.
Client suspicieux : si tu n'es pas sûr, tu cherches pas, tu envoies en DOM. C'est plus simple pour tout le monde, et surtout, en maintenance, tu sais quel chemin suis ton code.
 
Parce que du coup, tu as un bug sous IE9. En débug, tu fais comment ? Dans un premier temps, il faut que tu devines quel chemin ton code a emprunté (rendu server ou client) !? Non ?

n°2269019
skylight
Made in France.
Posté le 03-11-2015 à 15:00:36  profilanswer
 

Presque, à chaque retour, j'ai un tab Json avec un truc du genre : (et où output est vide si le client est "normal" )
{
    "response": {
        "vars": [
            {"lol":1, "foo":2}
        ],
        "output" : "<div>lol</div>"
    }
}
Donc je sais quel template est utilisé, je remonte le log de l'appli et je débugge assez rapidement

Message cité 1 fois
Message édité par skylight le 03-11-2015 à 15:01:02
n°2269021
kao98
...
Posté le 03-11-2015 à 15:02:24  profilanswer
 

skylight a écrit :

Presque, à chaque retour, j'ai un tab Json avec un truc du genre : (et où output est vide si le client est "normal" )
{
    "response": {
        "vars": [
            {"lol":1, "foo":2}
        ],
        "output" : "<div>lol</div>"
    }
}
Donc je sais quel template est utilisé, je remonte le log de l'appli et je débugge assez rapidement


Il n'empêche, tu ajoutes beaucoup de bruit inutile.
Bande passante, ressources, maintenance, c'est contreproductif.
Envoie, et traite, l'un ou l'autre, pas les deux.


Message édité par kao98 le 03-11-2015 à 15:02:42
n°2269022
Devil'sTig​er
Posté le 03-11-2015 à 15:06:58  profilanswer
 

Tout dépend si tu vises la qualité de service ou la performance...
 
Mais vu le coût en face, de plus en plus la qualité de service prime de loin sur la performance.
 
Sans compter que s'il a bien fait son système, il utilise le même template du côté client que serveur (genre Handlebars), donc en réalité, la seule complexité tien sur le JSON, et le micro bout de code qui va choisir entre en rendering client ou l'inclusion serveur.
Autant dire un coût assez minime.

n°2269023
skylight
Made in France.
Posté le 03-11-2015 à 15:12:40  profilanswer
 

Le template est le même, si j'appelle la même page sans async ou autre, j'ai le même rendu, simplement, ça me permet d'envoyer un autre template pour un client en particulier s'il faut :o
mais mon appli est loin d'être parfaite, par contre, je peux coder assez vite surtout.

n°2269024
kao98
...
Posté le 03-11-2015 à 15:16:17  profilanswer
 

Le client devrait être capable de savoir s'il est capable ou pas.
S'il est capable, JSON. S'il ne l'est pas, DOM.
 
Bien sûr que le choix duquel traiter est "gratuit". Mais :
 
- Le serveur doit générer le JSON ET effectuer le rendu DOM. C'est lui rajouter une charge supplémentaire dont il pourrait bien se passer. Sur des milliers de requêtes, ça peut faire une différence.
- Les données sont envoyées en double sur le réseau : en JSON et en DOM. C'est doublé, quoi qu'il arrive. C'est redondant, consommateur de BP. Sur des milliers de requêtes une fois de plus, surtout si les données sont importantes.
- L'ensemble du JSON doit être chargé dans la mémoire du client, puis parser / traité quoi qu'il arrive, pour finalement n'en utiliser que la moitié par le micro bout de code qui va choisir le rendering ou l'inclusion. Sur des documents avec une grande quantité de données, ça peut faire une sacré différence, surtout sur des config pas très à jour.
 
A un moment donné, il est capable de faire un choix entre rendering et inclusion. De faire ce choix après la requête plutôt qu'avant, c'est juste l'inverse d'optimiser, quel que soit le contexte. Alors que finalement, techniquement, il n'y a aucune difficulté à différencier correctement les deux.

n°2269026
skylight
Made in France.
Posté le 03-11-2015 à 15:27:05  profilanswer
 

Le serveur génère du JSON dans tous les cas, et dans 10% des cas (IE8/9), effectue un rendu DOM ;)
Sinon c'est le client qui fait son rendu.

Message cité 1 fois
Message édité par skylight le 03-11-2015 à 15:27:18
n°2269028
kao98
...
Posté le 03-11-2015 à 15:41:00  profilanswer
 

skylight a écrit :

Le serveur génère du JSON dans tous les cas, et dans 10% des cas (IE8/9), effectue un rendu DOM ;)
Sinon c'est le client qui fait son rendu.


Que le serveur génère du JSON dans tous les cas, et effectue parfois un rendu DOM, ok. C'est le seul truc que je trouve à peu près excusable (et encore :o).
Mais tout renvoyer vers le client, ça reste à mon sens une erreur (NB: oui, je sais, il ne renvoie tout qu'à certains client, mais ça ne change pas mon propos : ces clients qui reçoivent tout sont justement ceux qui devraient en recevoir le moins possible :o).

n°2269086
pop-pan
yay!
Posté le 04-11-2015 à 21:37:38  profilanswer
 

et un truc tout con ou tu detectes les possibilité du client au chargement du template?
tu lances une requete $.getJSON que tu tentes de decorer et d'inclure puis tu check le rendu.
 
si ca colle pas tu sais que tu es en mode merdique et ta factory te retourne un mode DOM, genre au lieu de $.getSON() ca te fera des $.load() avec les urls qui vont bien.


---------------
Plop !
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  1363  1364  1365  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)