- 1
[Opened] [résolu]Question sur les appels JS
Posted by criz on 05/25/2011 17:52
Bonjour, je travail actuellement sur un gros site de vente en ligne, et mon boss veut que toute les fonctions JS écrite en dur dans les tpl soit appelé a part dans des fichés. Est ce que les performances du site seront accru ou pas? Merci d'avance chris
[Opened] Question sur les appels JS
Posted by titof90 on 05/25/2011 23:27
Personnellement, je dirais que ça n'aura aucun impact sur les performances. Ça permettra uniquement d'avoir un code plus lisible et maintenable.
[Opened] Question sur les appels JS
Posted by laurentj on 05/26/2011 10:33
Oui, augmentation des perfs : le navigateur mettra en effet les fichiers js en cache. Donc c'est du code en moins à recharger à chaque fois. Et pour le serveur, contenu html moins lourd à générer (utilisation d'un peu moins de mémoire).
Sur les sites à fortes charges, même 3-4 lignes de code en moins peuvent améliorer un peu les perfs coté serveur. Faut penser aux économies d’échelles que ça peut apporter. Ex : 200 caractères en moins * 100 000 pages vues dans la journée = 19 Mo de bande passante économisée chaque jour. Si une page fait 50ko, ça fait 390 pages qui peuvent être lue en plus dans la journée pour une même consommation de bande passante. Si le taux de conversion de vente est de 1%, ça peut faire 3-4 ventes en plus dans la journée :-) (oui, je vais loin dans mon raisonnement, il est un peu grossier, mais c'est pour te donner l'idée des conséquences ;-) )
Sans compter que pour l'utilisateur ça sera plus agréable. Plus il y a de choses dans son cache, plus l'affichage est rapide -> confort accru. Si confort accru, l'utilisateur sera plus enclin à acheter. Bien sûr, il y a d'autres facteurs qui feront acheter (qualité des produits, prix etc), mais les perfs peuvent être un facteur non négligeable. Et si elles ne font pas forcément augmenter le nombre de vente, elles peuvent le faire baisser de beaucoup si elles sont mauvaises. Que fait-tu quand un site s'affiche trop lentement ? en général, tu pars.
Voir le blog http://performance.survol.fr/, par exemple cet article
Attention aussi : pas avoir 50 petits fichiers JS de quelques lignes. Essayer de rassembler dans des fichiers "communs" quand ce n'est pas génant. Moins il y a de fichiers à télécharger, mieux c'est (moins de connections http à faire = plus rapide).
Sur un site à forte charge, le moindre octet compte, la moindre ressource processeur/mémoire compte.
Autre truc lié à l'allégement des pages : je vois souvent des pages qui utilisent des classes dans tout les sens, alors que bien souvent elles sont inutiles si l'intégrateur utilise au mieux les selecteurs CSS et respecte au mieux la sémantique des balises (genre utilise des <hx>, des <p>, des <ul>, des <dl> etc quand ça fait sens, au lieu de div dans tout les sens). Moins de classes, quelques id bien placés + utilisation de la richesse des sélecteurs CSS -> pages plus légères -> pages plus rapide.
[Opened] Re: Question sur les appels JS
Posted by criz on 05/26/2011 17:54
Merci de vos réponses, je vais faire de mon mieu :p SInon j'ai une autre question dans mon tpl j'ai ça:
var url = "{/literal}{jurl 'ssss~pppp:mettreHorsLigneProduit'}{literal}";
et je veux le passer dans mon fichier JS, est ce que je peux le laissé tel quel ou alors je suis obligé de faire une déclaration de variable dans le tpl genre:
var toto = "{jurl 'ssss~pppp:mettreHorsLigneProduit'}";
et ensuite l'utilisé dans mon JS?
Merci d'avance
[Opened] Re: Question sur les appels JS
Posted by criz on 05/26/2011 18:45
on je me réponds a moi même, mais si ça peut servir au autres...
Alors on ai obliger de passé par une variable dans le tpl
var toto = "{literal}{jurl 'ssss~pppp:mettreHorsLigneProduit'}{/literal}";
et dans mon code précédent j'avais oublié de mettre {literal}
voila
[Opened] [résolu]Question sur les appels JS
Posted by laurentj on 05/30/2011 17:55
si tu met entre {literal}, ça ne va pas beaucoup fonctionner, puisque {literal} empèche l'interpretation du code jtpl...
- 1