Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Général Conception Web > Performance Web
Performance Web Forum d'entraide sur les performances des applications/sites Web.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 31/12/2011, 11h22   #1
lodan
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 812
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 812
Points : 591
Points : 591
Par défaut développer un site de e-commerce

Bonjour,

Je veux développer un site de e-commerce et les performances d'affichage sont l'un des principaux critères.

Il n'est pas question d'utiliser un cms dont le résultat serait trop lourd et la souplesse d'adaptation inadéquate.

Pour résoudre en partie ce point, j'ai dans l'idée d'avoir une partie du site en statique et une autre en dynamique.

La partie statique serait générée chaque jour sur le serveur local avant mise en ligne dans la nuit sur le serveur web.

Dois-je générer des pages html ou des pages de cache ?

Pour les pages dynamiques, les données variables doivent-elles venir avec le formulaire ou être poussées en ajax depuis le serveur.

Je vous remercie pour votre retour d'expérience.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 14h09   #2
jpvincent
Membre chevronné
 
Inscription : février 2010
Messages : 120
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 120
Points : 678
Points : 678
question stratégie globale, si tes pages sont majoritairement statiques, ça vaut effectivement le coup de mettre tout ou partie en cache. Vu que c'est du e-commerce, tu as peut être des stocks à gérer, donc je te conseillerais plutôt de gérer des mises en cache à la demande plutôt que de ne générer ton site qu'une fois par jour.
Exemple :
- le premier visiteur qui arrive sur une page génére la page dynamiquement, le cache est enregistré
- un second visiteur arrive, on lui sert le cache
- lorsqu'un client achète un produit, tu vérifies ton stock ou toute autre partie dynamique, et tu vas effacer le cache de la page produit si elle n'est plus valide
- à chaque mise à jour de ton site, tu revides tout ton cache

Concernant quoi mettre en cache, le plus simple et le plus efficace est de mettre la page entière en cache, mais le plus souple est de gérer tes pages par modules qui seraient chacun responsable de leur mise en cache. A toi de voir en fonction de comment tu organises ton code par ailleurs.

Pour gérer les les parties dynamiques qui n'ont généralement pas de contrainte en terme de référencement, tu peux charger en javascript les parties dynamiques comme le nombre d'articles dans le panier après que la page statique ait été envoyée. Tu casses cependant cette fonctionnalité pour 0.5% des gens qui n'ont pas javascript.
Pour les parties vraiment dynamiques comme l'inscription et le paiement, bien sur tu ne gères pas de cache au niveau de la page, ce ne sont de toute façon pas les pages qui sont beaucoup appelées

Maintenant dis toi bien que du point de vue de l'utilisateur, le temps passé à générer la page est généralement en dessous de la seconde, alors que la plupart des sites affichent leurs pages en plusieurs secondes : 80% du temps passé à afficher une page est généralement côté client
jpvincent est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/01/2012, 11h57   #3
lodan
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 812
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 812
Points : 591
Points : 591
Les produits vendus sont fabriqués sur commande, donc pas de stock.

Si j'ai bien compris le cache ne me sera pas utiles sur les pages statiques et au cas par cas sur les pages dynamiques.

Il faut aussi alléger la partie client puisque c'est là que ce passe 80 % du temps de chargement. Donc pousser en ajax du serveur vers le sites des images est plus performant que de tout envoyer en chargement sur le poste client.
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2012, 14h09   #4
svacher
Invité de passage
 
Homme
Développeur Web
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 2
Points : 2
Bonjour,

je me permet de compléter un peu le problème, vu que j'ai exactement la même problématique que lodan.

Imaginons une partie du site qui contient les articles classés par catégories... Cette liste peut changer de temps en temps (ajout suppression d'article, modification de prix, ...), mais la mise à jour de ces informations n'est pas critique.
Ma question est la suivante :
mieux vaut-il gérer la cache avec une durée de vie assez courte et auto-gérer cette cache page par page (ce qui suppose que les fichiers de cache sont générés pas les visites) et avec quel type de cache
OU
mieux vaut-il avoir un générateur indépendant qui créer des pages HTML pures et qui sont recalculées 1 fois par jour ou à la demande et laisser le minimum de scripts en dynamique ?

En clair, mieux vaut des fichiers en cache ou générer du HTML par un processus externe (cache VS HTML généré) ?
La question de base de lodan étant "Dois-je générer des pages html ou des pages de cache ?".

En attendant vos éclaircissements et en espérant avoir été clair...
Merci de vos idées...
svacher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 10h41   #5
jpvincent
Membre chevronné
 
Inscription : février 2010
Messages : 120
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 120
Points : 678
Points : 678
perso j'ai toujours préféré faire des pages qui se mettent en cache au fur et à mesure qu'elles sont découvertes :
- ça prend moins de place sur le disque, car certaines pages ne sont jamais appelées
- c'est très simple à mettre en oeuvre dans un premier temps (if file_exists print include)

Maintenant si tu veux vraiment faire de l'optimisation pointue, tu peux carrément supprimer apache / PHP des frontaux pour passer sur un serveur HTTP ultra light qui va distribuer des fichiers statiques. Auquel cas il faut effectivement générer dynamiquement toutes les pages en backend pour les pousser sur les serveurs frontaux.

si tu distribues des millions de vues de pages, ça vaut effectivement le coup d'investir dans la 2nde méthode, pour la plupart des sites je resterais sur la première.

Dans les deux cas, si il n'y a pas de contrainte de référencement, je passerais les petits bouts dynamiques (nombre d'élément dans le panier par exemple) en AJAX ou en iframe
jpvincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 15h47   #6
svacher
Invité de passage
 
Homme
Développeur Web
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 2
Points : 2
Ce qui me gène avec les fichiers de cache, c'est qu'ils peuvent être définis à plusieurs niveaux et que l'on ne maitrise pas toujours tout.

Mais j'ai encore du mal à faire une comparaison entre les avantages et les inconvénients de chaque méthode...
svacher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 08h53   #7
jpvincent
Membre chevronné
 
Inscription : février 2010
Messages : 120
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 120
Points : 678
Points : 678
Pour être clair il peuvent être créés de n'importe quel endroit du code. Et oui un cache mal maîtrise c'est des heures de debug en perspective
La seule solution c'est de bien organiser son code pour centraliser l'endroit où tu gères le cache et les exceptions
jpvincent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2012, 16h33   #8
djnos
Membre régulier
 
Inscription : décembre 2005
Messages : 71
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 71
Points : 73
Points : 73
Envoyer un message via MSN à djnos
Le generation statique etait tres a la mode au debut des annees 2000, il est aujourd'hui plus souple de simuler ce statisme au moyen d'un reverse proxy
djnos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h59.


 
 
 
 
Partenaires

Hébergement Web