IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Temps moyen de création d'une page html par php ?


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Temps moyen de création d'une page html par php ?
    Bonjour,

    Je suis actuellement en train de développer un ensemble de classe php me permettant de traiter le html/css avec une approche orienté objet.
    Tout fonctionne correctement, mais je suis surpris par le temps du traitement php : la création d'une simple barre de navigation avec 6 boutons prend 10 millisecondes environs, ce qui me parait énorme.
    Certes, j'instancie une classe par bouton ; certes chaque classe de bouton étend une classe qui en étend une autre, mais tout de même.... Ce n'est pas très compliqué...

    Je suis en train de fabriquer ma page, je n'ai pas fini, mais j'estime qu'à la fin, son temps de création sera d'environs 50 millisecondes.
    Est ce que cela vous parait être un temps de création normal ?

    De mon coté, je n'ai aucune expérience en développement coté serveur et je ne me rend vraiment pas compte...
    50 millisecondes, pour moi, c'est énorme... Quand on créé un jeu en javascript ou pour mobile, tout le traitement doit être contenu dans une durée de 16 millisecondes maximum (pour assurer une cadence de 60 images par secondes)

    Merci d'avance

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Salut,

    La rapidité d'un script php (ou autre langage) dépend du nombre de lignes qu'il doit interpréter, du nombre de fichiers qui doivent être inclus, des accès à la bdd etc.

    Il n'y a pas de temps de création "normal" puisque tout dépend des besoins et de l'organisation du code. Et bien entendu le temps d'exécution peut être très différent pour un même résultat final, si on ne charge que le code strictement nécessaire pour créer la page, si on diminue le nombre d'accès au disque, si on peut utiliser un cache, si le serveur utilise un ssd etc.

    Ensuite avec javascript on ne crée pas une page entière, on modifie juste quelques éléments du DOM déjà existant donc ce n'est pas comparable.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Hello Abciweb

    Merci pour ta réponse mais elle ne m'éclaire pas beaucoup...

    "la rapidité d'un script php (ou autre langage) dépend du nombre de lignes qu'il doit interpréter, du nombre de fichiers qui doivent être inclus, des accès à la bdd etc. "

    Je ne sais pas ce qu'il en est pour le php (d'ou ma question) mais ce n'est pas vrai pour la plupart des langages.
    Le temps d'execution d'un script dépend généralement de la quantité de travail demandé, pas du nombre de lignes contenu dans le code.
    Une double boucle allant de 0 à 1000000 prendra toujours 2 lignes, mais cela mettera php (ou n 'importe quel langage) sur les genoux parce que la quantité de travail est énorme.

    Dans le cas de la création d'un menu contenant 6 boutons, je ne vois pas ce qui justifie 10 millisecondes de temps d'exécution...
    Tu as sans doute raison quand tu évoques le nombre de fichiers - je ne vois que ça... - mais cela n'est valable (à ma connaissance) que pour le php...
    J'ai l'habitude de construire des frameworks assez complet, généralement constitué de plus de 100 classes et comme dit plus haut, tout fonctionne en moins de 16 milliseconde (y compris lorsqu'il s'agit d'un jeu en 3D infiniment plus complexe qu'un menu à 6 boutons...)


    "Il n'y a pas de temps de création "normal" puisque tout dépend des besoins et de l'organisation du code. Et bien entendu le temps d'exécution peut être très différent pour un même résultat final, si on ne charge que le code strictement nécessaire pour créer la page, si on diminue le nombre d'accès au disque, si on peut utiliser un cache, si le serveur utilise un ssd etc."
    Certes...
    Dans ce cas, je me permet de poser la question autrement : "est ce que 50ms vous parait un temps normal pour construire une page web ou est ce que ce chiffre vous parait énorme ?"

    Si on était dans un forum javascript, je répondrais à cette question "50ms est extrêmement long dans le contexte ou on veut faire une animation fluide car cela sous entend qu'on ne peut pas obtenir plus de 20 images / seconde"

    "Ensuite avec javascript on ne crée pas une page entière, on modifie juste quelques éléments du DOM déjà existant donc ce n'est pas comparable."
    En javascript on peut tout faire... Et bien sur qu'on peut créer des pages entières... Tout dépend de la demande et du client.

    En l'occurence, pour faire un menu avec 6 boutons avec JS/canvas, je peux t'assurer que ça prendrait moins de 1 ms...
    (j'ai un peu moins de 15 ans de développement front end dans les pattes, je sais un minimum de quoi je parle)


    Je suis tombé hier sur un article qui reprochait à Symfony sa lenteur d'éxécution : http://symfony.com/blog/is-symfony-t...al-world-usage
    Ce qui m'amène à penser que la faute revient à PHP que s'avère être bien plus lent que n'importe quel autre langage pour le web (dans le contexte ou on utilise un grand nombre de classes en tout cas)

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Salut,

    Citation Envoyé par tlecoz Voir le message
    Le temps d'execution d'un script dépend généralement de la quantité de travail demandé, pas du nombre de lignes contenu dans le code.
    Une double boucle allant de 0 à 1000000 prendra toujours 2 lignes, mais cela mettera php (ou n 'importe quel langage) sur les genoux parce que la quantité de travail est énorme.
    Mais je t'ai pas parlé "du nombre de lignes contenu dans le code" j'ai parlé du nombre de lignes qu'il doit interpréter, et donc le script devra interpréter chaque itération de la boucle. Et cela va dépendre aussi du travail à faire, une incrémentation sera évidemment plus rapide qu'un calcul complexe. Enfin bon tout cela est sous entendu je vais pas rentré dans des détails aussi évidents

    Citation Envoyé par tlecoz Voir le message
    Tu as sans doute raison quand tu évoques le nombre de fichiers - je ne vois que ça... - mais cela n'est valable (à ma connaissance) que pour le php...
    Je voulais simplement dire que si tu dois faire plusieurs centaines d'accès serveur pour rapatrier les fichiers nécessaires à la construction d'une page, cela ira nécessairement moins vite que si tu ne dois accéder qu'à une dizaine...

    Citation Envoyé par tlecoz Voir le message
    Dans ce cas, je me permet de poser la question autrement : "est ce que 50ms vous parait un temps normal pour construire une page web ou est ce que ce chiffre vous parait énorme ?"
    Mieux vaut tester en conditions réelles donc sur un serveur distant et dans ce cas tu peux tester la réactivité de ta page avec google page speed, cela te donneras une bonne indication du comportement de ta page dans un contexte web.

    Après peut-être fais-tu des applications spécifiques où php n'est pas le mieux adapté, ou que tu ne l'emploies pas dans les meilleurs conditions.

    Evidemment je peux pas te répondre sur ton 50ms, isolément du contexte cela ne veut rien dire. Mais quand on sait que facebook utilise une version php avec des performances très voisines de celles proposées dans la dernière version php7, on peut émettre des doutes sur le fait que php soit inutilisable pour des grosses applications web comme tu semble le sous-entendre.

    Et je comprends pas ta comparaison avec une application fluide qui pourrait faire 60 images par secondes, tu compte faire une soixantaine de requêtes serveur par seconde ? Dans cette optique là ça va pas le faire.

    C'est pas vraiment la rapidité de la création de ton menu qu'il faut prendre en considération, mais le contexte dans lequel tu souhaites utiliser php qui va déterminer s'il est adapté ou non à tes besoins.

  5. #5
    Membre habitué
    Homme Profil pro
    rien
    Inscrit en
    Décembre 2015
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Décembre 2015
    Messages : 282
    Points : 144
    Points
    144
    Par défaut
    Salut
    Ce qui t'a été répondu est selon moi des plus justes, et ta question en topic n'est pas la bonne question à poser, tu l'as compris mais en disant à la fin :
    Dans ce cas, je me permet de poser la question autrement : "est ce que 50ms vous parait un temps normal pour construire une page web ou est ce que ce chiffre vous parait énorme ?"
    Tu poses encore la mauvaise question.

    Là où tu étais dans la bonne question c'était en écrivant :
    Dans le cas de la création d'un menu contenant 6 boutons, je ne vois pas ce qui justifie 10 millisecondes de temps d'exécution...
    C'est cette question qui me semble la plus pertinente, et moi je juge de la pertinence de la question avec ma logique mais pour te répondre sur ces 10 ms il faudrait que j'en connaisse plus sur PHP, dans ma connaissance actuelle 10 ms me semble rapide, en plus est-ce que ces 10 ms environ reviennent à chaque création ou est-ce c'était intermittent ? Car il aurait peut-être pu y avoir une latence passagère je ne sais pas, et en plus dans ces 6 lignes de code on ne sait pas ce qu'elles font, peut-être font-elles une opération un peu lourde ? (lors de la création du menu).

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bonsoir !

    "Après peut-être fais-tu des applications spécifiques où php n'est pas le mieux adapté, ou que tu ne l'emploies pas dans les meilleurs conditions."
    J'essai, tant bien que mal, de créer une boutique en ligne. Je pense que php est un bon candidat pour ça mais je manque clairement d'expérience dans le domaine.
    Je ne me rend pas compte du tout de l'importance d'un temps d'exécution rapide coté serveur... Peut être que ça n'en a aucune, ou très peu, mais je n'en sais rien...


    "Je voulais simplement dire que si tu dois faire plusieurs centaines d'accès serveur pour rapatrier les fichiers nécessaires à la construction d'une page, cela ira nécessairement moins vite que si tu ne dois accéder qu'à une dizaine... "
    En l'occurence ce n'est pas le cas, le plus gros de mes classes se trouve dans le même fichier. Je pense que le "problème" vient du temps d'instanciation des classes, car j'en ai quand même un paquet, mais ce temps est pour moi choquant car il est beaucoup plus gros que si je voulais coder et executer exactement les même classes en javascript, ou en java, ou en actionscript (les autres langages que j'ai l'habitude d'utiliser ), au moins 10x plus gros.
    Et cela me surprend beaucoup car dans mon imaginaire PHP était bien plus puissant que JS, mais en fait non. Je vais m'en remettre

    "on peut émettre des doutes sur le fait que php soit inutilisable pour des grosses applications web comme tu semble le sous-entendre."
    Je ne prétend rien de tel ; je me range du point de vue de celui qui a écrit l'article sur Symfony à savoir "le framework le plus rapide est pas de framework du tout" , ce qui n'est pas une assez bonne raison pour ne pas écrire de framework
    L'article sur Symfony m'a beaucoup détendu, car du coup je me dis que c'est une situation normale et qu'il n'y a pas lieu de dramatiser ; mais pour moi qui ai l'habitude de travailler coté client, 10 ms, je persiste et signe, c'est énorme ! Et donc mon code m'inquiétait.
    Si j'étais médecin et qu'en examinant mon patient j'observais qu'une de ces constantes vitales, attendu à 0-1 avait franchi le cap des 10, je pense que j'appelerai le SAMU direct, et c'est un peu ce que j'ai fait en venant ici

    "tu compte faire une soixantaine de requêtes serveur par seconde ? Dans cette optique là ça va pas le faire."
    C'est précisément cet aspect que je ne maitrise pas et qui m'inquiète.
    J'essaye de créer une boutique de vente de savons. Même si je suis optimiste quant à son succés (parce que la boutique existante (IRL) en a déjà) , je doute fortement qu'il y ai une telle densité de requêtes sur ce site précis. Mais le site en question sera héberger chez ovh (mutualisé) et donc...ben... je ne sais pas trop à quoi m'attendre et ça me stresse un peu en terme de "charge mutualisée" , mais bon, vu que plein de gens utilisent symfony qui serait l'un des framework les plus lent (je me base sur ce que j'ai lu ; je n'ai aucune expérience avec symfony) , je me dis qu'il n'y a surement pas lieu de trop s'inquieter (mais peut être que je devrais ?)

  7. #7
    Membre habitué
    Homme Profil pro
    rien
    Inscrit en
    Décembre 2015
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Décembre 2015
    Messages : 282
    Points : 144
    Points
    144
    Par défaut
    J'essai, tant bien que mal, de créer une boutique en ligne. Je pense que php est un bon candidat pour ça mais je manque clairement d'expérience dans le domaine.
    Pourquoi veux-tu re-inventer le monde, quand les outils sont là pour ça, déjà fait par ceux qui sont passés avant toi sur ce problème de la création d'un site de vente en ligne.
    Plusieurs solutions existent, et une d'entre-elles facile à mettre en oeuvre est prestashop :
    https://www.prestashop.com/fr/

    N'oublie pas qu'une boutique en ligne ce n'est pas seulement un catalogue en DB, des liens pour y accéder, des formules pour des calculs de commande et des images pour décorer le tout, il y a aussi et c'est une chose importante : La sécurité des données et du site !

    Il faut s'y connaître grandement en codage de protection de site pour assurer ce coté-là.
    Et puis les clients veulent en général pouvoir acheter en toute sécurité.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Oui bien entendu que php est un bon candidat pour une boutique en ligne.

    En gros c'est soit php soit java, et java est plutôt réservé pour les très gros comptes qui disposent de beaucoup de moyens. Par ailleurs php peut être aussi utilisé pour des très grosses boutiques donc à moins d'avoir des contraintes particulières je dirai que c'est un choix naturel.

    Ensuite tu trouveras une multitude de CMS php open source qui te permettront de monter une boutique en ligne rapidement. Les plus en vogue ces derniers temps sont Prestashop et WooCommerce.

    Sinon si tu veux tout faire from scratch, ça fait vraiment beaucoup de boulot. Il faut une équipe de plusieurs développeurs sur plusieurs années pour faire l'équivalent d'un Prestashop ou d'un WooCommerce. Donc même si tes besoins sont modestes il te faudra plusieurs mois minimum avant d'avoir le début d'une solution fonctionnelle.

    Concernant les framework on parlait de la lenteur de symfony parce que c'est vraiment un très gros bébé gavé de code qui n'est pas toujours utile pour une application standard. Ils en ont d'ailleurs pris conscience et proposent maintenant une version lite. La tendance est aussi vers les micro framework qui proposent beaucoup moins de fonctionnalités mais laissent beaucoup plus de liberté dans l'architecture du code.

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Enfin pour moi il y a quand même quelque chose d'absurde dans cette discussion : depuis quand naviguer sur le web demande l'affichage de 60 pages par secondes ?
    La page de google.fr contient au total chez moi 700ms d'execution javascript et met 1s pour avoir son affichage entier ... alors qu'on soit à 10 ou 50ms en PHP ...
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    La page de google.fr contient au total chez moi 700ms d'execution javascript
    Le code javascript est éxécuté coté client, il n'a pas d'importance en terme de charge serveur car c'est l'ordinateur du client qui traite cette charge, pas le serveur.
    Idem pour les css qui sont interprétés par le navigateur du client, pas par le serveur qui se contente de générer du code html qui sera interpreté par le navigateur du client.


    "depuis quand naviguer sur le web demande l'affichage de 60 pages par secondes "
    Comme dit plus haut, le site sera deployé sur un hébergement mutualisé chez ovh.
    Je ne pense pas qu'il y aura jamais 60 requetes par seconde sur le site que je suis en train de construire, mais 60 requêtes sur l'ensemble des sites contenus sur le serveur en une seconde, ça ne me parait pas impossible.
    Si il y a 1000 sites installé sur le serveur, il suffit d'une requête envoyé toutes les 15 secondes sur chaque site pour aboutir à une moyenne de 60 requetes / secondes sur le serveur.


    Sinon si tu veux tout faire from scratch, ça fait vraiment beaucoup de boulot.
    En fait, jusqu'à présent, j'ai réalisé 100% de mes projets from scratch ; j'ai construit plusieurs moteurs 2D / 3D / physique dans différent langage et c'est donc tout naturellement que je me suis attaqué à la création d'une boutique from scratch...

    Mais plus le temps passe (et ça fait déjà un moment que je suis dessus...) , plus je me rend compte qu'un "site internet classique" ne se construit pas du tout comme un jeu video. J'ai déjà créé plusieurs dizaines de site web en full-Flash puis en full-JS-canvas , et dans ce cas là, il n'y a pas de notion de rechargement de page car c'est le contenu de la même page qui bouge, mais là... ça ne marche pas comme ça et je galère grave

    Bref, mon égo en prend un coup mais je pense suivre vos conseils et m'orienter plutôt vers une solution toute faite qui me permettra peut être de finir le taff d'ici la fin du mois.

    D'après vous, quel est le mieux entre prestashop et woocommerce (sachant que je vais essayer de créer mon propre thème) ?

    Merci encore pour vos conseils

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par tlecoz Voir le message
    J'essai, tant bien que mal, de créer une boutique en ligne. Je pense que php est un bon candidat pour ça mais je manque clairement d'expérience dans le domaine.
    Je ne me rend pas compte du tout de l'importance d'un temps d'exécution rapide coté serveur... Peut être que ça n'en a aucune, ou très peu, mais je n'en sais rien...
    Pour l'immense majorité des sites, ça n'a pas d'importance, le temps de chargement des images, vidéos et autres assets sera beaucoup plus important que l'exécution côté serveur. Le temps de génération des pages par PHP est insignifiant pour l'utilisateur final comparé aux autres phases du processus. Et lorsque c'est important, on utilise d'autres stratégies. PHP 5.5 et plus a une cache du code qui permets de garder le bytecode du code en mémoire, ce qui évite de relire les fichiers à chaque requête. Il y a aussi d'autres techniques pour diminuer le temps d'accès à la base de donnée, mais tu ne parles pas de BDD donc j'imagine que ce n'est pas un souci pour toi.
    Et si tu as vraiment besoin d'un chargement extrêmement rapide (ou des dizaines de milliers d'utilisateurs simultanéments), il faut passer à Java ou Go.



    Citation Envoyé par tlecoz Voir le message
    En l'occurence ce n'est pas le cas, le plus gros de mes classes se trouve dans le même fichier.
    Aujourd'hui, on mets une classe par fichier, et on utilise un autoloader. Mettre plusieurs classes dans un seul fichier n'a pas grand intérêt, surtout depuis que l'opcache existe.

    Citation Envoyé par tlecoz Voir le message
    Je pense que le "problème" vient du temps d'instanciation des classes, car j'en ai quand même un paquet, mais ce temps est pour moi choquant car il est beaucoup plus gros que si je voulais coder et executer exactement les même classes en javascript, ou en java, ou en actionscript (les autres langages que j'ai l'habitude d'utiliser ), au moins 10x plus gros.
    Et cela me surprend beaucoup car dans mon imaginaire PHP était bien plus puissant que JS, mais en fait non. Je vais m'en remettre
    La raison est que PHP détruit tous les objets ou variables utilisateurs après chaque requête, à la différence de Java ou Node.js qui les persistent en mémoire. Donc si tu utilises 1000 objets (objets, pas classes), les 1000 objets sont détruits après chaque requête et ensuite recréés. Ça apporte davantage de sécurité et de stabilité au code (aucun risque qu'un "bug" dans une requête fasse planter toute l'application), il est plus facile de raisonner sur ce genre de code, mais à l'inverse on perds en rapidité. Malgré tout ça, PHP est quand même plus rapide que Python ou Ruby, mais est à la traîne de Java et Javascript. Pour une raison simple: Java et Javascript utilisent un compilateur JIT. Et en plus, javascript (Node.js en server side) utilise le moteur v8 de Chrome. Quand tu as une entreprise de la taille de Google qui mets toute sa puissance pour développer un moteur, parce que javascript est extrêmement important pour Google, c'est normal que tu obtiennes des résultats spectaculaires. Donc, oui, Java et Javascript sont beaucoup plus rapides que PHP.



    Citation Envoyé par tlecoz Voir le message
    mais pour moi qui ai l'habitude de travailler coté client, 10 ms, je persiste et signe, c'est énorme ! Et donc mon code m'inquiétait.
    Si j'étais médecin et qu'en examinant mon patient j'observais qu'une de ces constantes vitales, attendu à 0-1 avait franchi le cap des 10, je pense que j'appelerai le SAMU direct, et c'est un peu ce que j'ai fait en venant ici
    Tu confonds server side et client side. Même avec le langage serveur le plus rapide du monde, écrite en C++ ou C ou assembleur, tu ne seras jamais aussi rapide que le Javascript le plus mal écrit au monde côté client. Parce qu'il y a Internet entre les deux.



    Citation Envoyé par tlecoz Voir le message
    C'est précisément cet aspect que je ne maitrise pas et qui m'inquiète.
    J'essaye de créer une boutique de vente de savons. Même si je suis optimiste quant à son succés (parce que la boutique existante (IRL) en a déjà) , je doute fortement qu'il y ai une telle densité de requêtes sur ce site précis. Mais le site en question sera héberger chez ovh (mutualisé) et donc...ben... je ne sais pas trop à quoi m'attendre et ça me stresse un peu en terme de "charge mutualisée" , mais bon, vu que plein de gens utilisent symfony qui serait l'un des framework les plus lent (je me base sur ce que j'ai lu ; je n'ai aucune expérience avec symfony) , je me dis qu'il n'y a surement pas lieu de trop s'inquieter (mais peut être que je devrais ?)
    Je ne suis pas sûr que Symfony soit recommandé pour un mutualisé.

  12. #12
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par tlecoz Voir le message
    Comme dit plus haut, le site sera deployé sur un hébergement mutualisé chez ovh.
    C'est peut-être ça le problème. Si ton hébérgement réduit les performances du site, il est normal que tes pages soient lentes à se générer.

    Citation Envoyé par tlecoz Voir le message
    D'après vous, quel est le mieux entre prestashop et woocommerce (sachant que je vais essayer de créer mon propre thème) ?
    Je n'ai jamais utilisé Prestashop, mais j'en ai entendu beaucoup de bien, les gens qui l'utilisent semblent très contents.
    Woocommerce est pas mal, mais c'est un plug in de Wordpress. WP est au départ juste un moteur de blog, et toutes les fonctionnalités additionnelles sont apportées par des plug-ins. Le problème est que beaucoup de ces plug-ins, dont certains des plus populaires, présentent des failles de sécurité importantes. Tu dois donc faire plus attention à la sécurité avec Wordpress. Je te conseillerais Prestashop, mais teste les deux.

  13. #13
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Citation Envoyé par tlecoz Voir le message
    Je ne pense pas qu'il y aura jamais 60 requetes par seconde sur le site que je suis en train de construire, mais 60 requêtes sur l'ensemble des sites contenus sur le serveur en une seconde, ça ne me parait pas impossible.
    Si il y a 1000 sites installé sur le serveur, il suffit d'une requête envoyé toutes les 15 secondes sur chaque site pour aboutir à une moyenne de 60 requetes / secondes sur le serveur.
    Et donc tu devrais constater par toi-même que ce calcul n'a pas de sens... Va voir du côté de l'administration serveur pour plus d'infos. Pratiquement, tu seras limité par les trente connexions simultanées à la bdd disponibles sur les mutualisés OVH. Enfin ça permet déjà pas mal de trafique, plusieurs centaines de visiteurs simultanés. Si besoin tu pourras monter ensuite en gamme avec les upgrade OVH.

    Sur le principe avec php tu construis ta page en fonction des données serveur. Une fois la page affichée, tu peux la modifier avec javascript y compris en interrogeant le serveur avec une requête ajax qui te retourneras soit du html préfabriqué avec php soit un tableau json que tu pourras exploiter comme tu veux avec javascript. Par contre quand on utilise ajax pour afficher du nouveau contenu il faut faire attention au référencement. Si le référencement est important il faut réinjecter du code dans l'url pour pouvoir différencier les différents contenus de la page. La plupart de sites actuels utilisent conjointement php/ajax à des degrés divers suivant les besoins et l'architecture du système.

    Enfin bon si tu veux avoir vraiment avancé ou terminé d'ici la fin du mois, utilises Prestashop ou WooCommerce. WooCommerce est certainement le plus facile, néanmoins Prestashop est réputé être très facile. Mais étant donné que Prestashop est un CMS spécialisé j'aurai tendance à croire qu'il supportera mieux les montées en charge que WooCommerce qui est un plugin Wordpress. Il me semble aussi qu'il possède bien plus d'interfaces de paiement disponibles adaptées au marché français, normal étant donné que Prestashop est français. A noter que les interfaces de paiement sont payantes.

    Tu trouveras plus d'info en tapant "prestashop vs woocommerce" dans un moteur de recherche.

    OVH propose l'installation de Prestashop ou de Wordpress directement depuis l'interface d'administration.

  14. #14
    Membre habitué
    Homme Profil pro
    rien
    Inscrit en
    Décembre 2015
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : rien

    Informations forums :
    Inscription : Décembre 2015
    Messages : 282
    Points : 144
    Points
    144
    Par défaut
    Je confirme, utilise Prestashop dans le lien que je t'ai donné plus haut, je l'ai utilisé dans une ancienne version, je ne l'utilise plus aujourd'hui car fini le commerce pour moi pour X raisons, et j'en étais content, par contre les nouvelles versions je ne sais pas si elles sont aussi intuitives que l'ancienne que j'avais utilisé.

  15. #15
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    je pense suivre vos conseils et m'orienter plutôt vers une solution toute faite qui me permettra peut être de finir le taff d'ici la fin du mois.
    Oui mais...
    Citation Envoyé par progdebutant
    N'oublie pas qu'une boutique en ligne ce n'est pas seulement un catalogue en DB, des liens pour y accéder, des formules pour des calculs de commande et des images pour décorer le tout, il y a aussi et c'est une chose importante : La sécurité des données et du site !

    Il faut s'y connaître grandement en codage de protection de site pour assurer ce coté-là.
    Et puis les clients veulent en général pouvoir acheter en toute sécurité.
    Ce point est très important, du coup si tu ne désires pas vendre des crêpes en ligne, je pense que ce n'est pas grave si tu dépasses la chandeleur.

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    La raison est que PHP détruit tous les objets ou variables utilisateurs après chaque requête, à la différence de Java ou Node.js qui les persistent en mémoire. Donc si tu utilises 1000 objets (objets, pas classes), les 1000 objets sont détruits après chaque requête et ensuite recréés. Ça apporte davantage de sécurité et de stabilité au code (aucun risque qu'un "bug" dans une requête fasse planter toute l'application), il est plus facile de raisonner sur ce genre de code, mais à l'inverse on perds en rapidité. Malgré tout ça, PHP est quand même plus rapide que Python ou Ruby, mais est à la traîne de Java et Javascript. Pour une raison simple: Java et Javascript utilisent un compilateur JIT.
    Je pense - mais je peux me tromper - que l'instanciation des objets n'est pas le problème car dans le cas de mon menu à 6 boutons, il n'y avait pas beaucoup d'objets instanciés (environs 20-25) pour peut être 4-5 classes vraiment utilisé (dans le cas du menu tout seul). Mais le truc c'est que, comme tu le fais remarquer, Java et JS repose sur un compilateur ce qui fait que les classes non utilisée ne sont pas pris en compte contrairement à php qui doit "preparer" chaque classe en vue de les rendre instanciable plus tard et je pense que c'est de là que vient mon problème.

    Merci Tsilefy pour toutes tes explications en tout cas !

    "Enfin bon si tu veux avoir vraiment avancé ou terminé d'ici la fin du mois, utilises Prestashop"
    J'ai passé la journée à essayer Prestashop et Woocommerce ; et c'est drôle car je me suis rendu compte que le site que j'essayais tant bien que mal de copier était réalisé avec Prestashop
    Au final, ça me fait mal de l'avouer mais j'ai fait beaucoup plus en 3-4h de prestashop qu'en 2 mois de php, et d'ailleurs j'ai quasiment fini !!!

    Autant dire que cette discussion n'a pas été inutile !
    - Ceci étant dit, le temps de création d'une page avec prestashop est relativement long mais j'ai l'impression que c'est propre à php et que je ne peux pas y faire grand chose -

    Merci encore à tout le monde (ABCIWEB, progdebutant et Tsilefy, pour ne pas les citer )

    EDIT :désolé Eric, je n'avais pas vu ton message, merci à toi aussi.

  17. #17
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par tlecoz Voir le message
    Je pense - mais je peux me tromper - que l'instanciation des objets n'est pas le problème car dans le cas de mon menu à 6 boutons, il n'y avait pas beaucoup d'objets instanciés (environs 20-25) pour peut être 4-5 classes vraiment utilisé (dans le cas du menu tout seul). Mais le truc c'est que, comme tu le fais remarquer, Java et JS repose sur un compilateur ce qui fait que les classes non utilisée ne sont pas pris en compte contrairement à php qui doit "preparer" chaque classe en vue de les rendre instanciable plus tard et je pense que c'est de là que vient mon problème.
    C'est pour ça qu'on mets une classe par fichier et qu'on utilise l'autoloading: ça permets à PHP de ne charger que les classes réellement utilisées et au moment où on les utilise, plutôt que de tout mettre dans un seul gros fichier. Ceci dit, je pense que la principale raison de tes lenteurs est ton hébergement.

    Citation Envoyé par tlecoz Voir le message
    Ceci étant dit, le temps de création d'une page avec prestashop est relativement long mais j'ai l'impression que c'est propre à php et que je ne peux pas y faire grand chose -
    Dans un hébergement non mutualisé, je t'aurais recommandé d'utiliser Redis pour minimiser les accès en base de données, de passer à un disque SSD, de mettre plus de RAM, d'utiliser Varnish ou nginx en reverse proxy etc... Il y a beaucoup de choses qu'on peut faire pour grignoter des millisecondes, mais pas en mutualisé, désolé.

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    C'est pour ça qu'on mets une classe par fichier et qu'on utilise l'autoloading: ça permets à PHP de ne charger que les classes réellement utilisées et au moment où on les utilise, plutôt que de tout mettre dans un seul gros fichier
    Je n'avais pas compris que "autoload" faisait référence à quelque chose de bien précis dans php ; je pensais qu'il s'agissait d'un simple "queue-loader".
    Je viens de faire un tour sur php.net et je comprend mieux de quoi il s'agit. Merci d'avoir pointer le doigt dessus

    Ceci dit, je pense que la principale raison de tes lenteurs est ton hébergement.
    Je ne pense pas car mes tests ont été fait en local...

  19. #19
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    Sur un projet hébergé Google explique sur "https://developers.google.com/speed/docs/insights/Server" que le temps max de reponse du serveur doit etre de 200ms, mais, il faut aussi regarder les autres aspect, permettant d'améliorer les temps de chargement, il y a des choses assez surprenantes a ce sujet.


    donc, 55 ms... t'es largement en dessous du max, même si, peu être tu pourra faire mieux. A coté de ca, tu es aussi dépendant du serveur qui tourne en local et de sa config etc.
    Conception / Dev

  20. #20
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci pour ton intervention Ascito !

    Comme quoi, ma demande de "temps moyen pour afficher une page" n'était pas si ridicule que ça

Discussions similaires

  1. Création d'une page html à partir d'un prog en C
    Par Adrilo dans le forum Bibliothèque standard
    Réponses: 3
    Dernier message: 22/01/2009, 17h36
  2. création d'une page HTML
    Par malikakika dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/07/2008, 11h43
  3. [Mail] Envoyer une page html par mail
    Par Schlapp67 dans le forum Langage
    Réponses: 7
    Dernier message: 20/10/2006, 18h16
  4. [Tableaux] Sauvegarde (création) d'une page HTML
    Par ythim dans le forum Langage
    Réponses: 9
    Dernier message: 22/06/2006, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo