+ Répondre à la discussion
Affichage des résultats 1 à 14 sur 14
  1. #1
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : juin 2012
    Messages : 7
    Points : 1
    Points
    1

    Par défaut Performance Zend Framework MVC vs. PHP MVC Maison

    Bonjour à tous,

    J'aimerais votre avis sur les performances de deux systèmes PHP MVC (Php 5.2) :

    1. J'ai développé un système MVC en PHP Objet avec mes propres classes, le système gère les contrôleurs, les modèles, les vues, les sessions et les templates du site.


    1. J'ai créé un projet Zend Framework 1.11 en utilisant leur fonctionnement MVC. Le projet fonctionne de la même manière et affiche la même page que mon système maison.


    J'ai ajouté un débogage sur le temps de chargement des deux systèmes :

    Pour le PHP Maison, la page se charge en moyenne en : 0.10 sec.
    Pour Zend, la page se charge en moyenne en : 0.27 sec.

    Soit un temps de chargement 2x plus long . Pour le moment ça ne se ressent pas, mais quand le système chargera les modules et extensions, j'ai peur pour les performances.

    PS : J'ai testé les deux solutions sur des serveurs Windows et Linux. On a toujours la même différence.

    Qu'en pensez-vous ?
    Dois-je continuer à développer avec le framework Zend ?
    Dois-je continuer à développer mon code maison ?
    Dois-je continuer à développer mon code maison en utilisant quelques classes de Zend ?

    Merci de votre avis

    Ludwig.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 187
    Points : 7 646
    Points
    7 646

    Par défaut

    Les frameworks tel que ZF ou encore symfony sont loin d'être réputé pour leur performance brute.
    Leur but premier est de simplifier la vie du développeur et éventuellement si c'est possible de le faire vite

    C'est ce qui m'a toujours poussé vers des solutions développées par mes soins. Quand j'ouvre une page il n'y a que l'essentiel de charger et pas des couches et sous couche d'abstraction qui certes peuvent se révéler pratique mais reste assez lourdes et pas toujours nécessaire.

    Perso dans mon framework j'ai intégrer Zend_Db, Zend_Config_Ini et Zend_Registry.

    Note quand même qu'un comparatif de performance sur une simple page n'est probablement pas représentatif.

    Dernier point à prendre en compte la maintenabilité. Si un jour tu viens à être remplacé sur le projet , il sera plus facile de trouver un développeur opérationnel sur un gros framework connu que sur un petit truc perso. En général dans le monde pro on est près à sacrifier un peu de performance pour éviter un temps de formation coûteux.

  3. #3
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : juin 2012
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par grunk Voir le message
    Les frameworks tel que ZF ou encore symfony sont loin d'être réputé pour leur performance brute.
    Leur but premier est de simplifier la vie du développeur et éventuellement si c'est possible de le faire vite

    C'est ce qui m'a toujours poussé vers des solutions développées par mes soins. Quand j'ouvre une page il n'y a que l'essentiel de charger et pas des couches et sous couche d'abstraction qui certes peuvent se révéler pratique mais reste assez lourdes et pas toujours nécessaire.

    Perso dans mon framework j'ai intégrer Zend_Db, Zend_Config_Ini et Zend_Registry.

    Note quand même qu'un comparatif de performance sur une simple page n'est probablement pas représentatif.

    Dernier point à prendre en compte la maintenabilité. Si un jour tu viens à être remplacé sur le projet , il sera plus facile de trouver un développeur opérationnel sur un gros framework connu que sur un petit truc perso. En général dans le monde pro on est près à sacrifier un peu de performance pour éviter un temps de formation coûteux.
    Merci de ta réponse. Le système doit pouvoir être utilisé dans mon agence justement et être utilisé pour d'autres développements.

    Je suis assez contraint par les temps de chargement car l'application est destinée à être utilisé pour de l'Extranet (Outils de Gestion). L'Extranet devra être aussi performant qu'un Logiciel Métier, c'est pourquoi j'attache une importance capitale à la performance.

    Penses-tu qu'il soit possible de personnaliser le framework Zend pour justement obtenir des performances identiques à mon code maison ?

    Ca peut être intéressant de combiner les deux mais il faudrait dans ce cas, deux documentations pour les futurs développeurs...

    Ludwig.

  4. #4
    Expert Confirmé Sénior

    Inscrit en
    septembre 2010
    Messages
    7 957
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 7 957
    Points : 10 638
    Points
    10 638

    Par défaut

    Au dela des performance est ce que ton framework est aussi sécurisé ?

  5. #5
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : juin 2012
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par stealth35 Voir le message
    Au dela des performance est ce que ton framework est aussi sécurisé ?
    Au niveau des Sessions, je pense que oui, j'utilise des grains de sel pour les cookies. J'enregistre les sessions avec des informations clients (IP, Useragent), que je compare toutes les X secondes. La session dispose aussi d'une clé de sécurité pour supprimer les éventuelles sessions enregistrées sur des postes.

    J'ai travaillé le HTACCESS pour éviter les requêtes avec des données en base64, des scripts,etc.

    Pour l'instant pas de gestion des droits d'utilisateurs.

    Dans tout les cas, je pourrais très bien utiliser les classes de Zend pour gérer les sessions, les authentifications, etc.

    Qu'en penses-tu ? Pensez-vous qu'il soit possible de personnaliser Zend pour éviter le traitement de méthodes inutiles ?

  6. #6
    Expert Confirmé Sénior

    Inscrit en
    septembre 2010
    Messages
    7 957
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 7 957
    Points : 10 638
    Points
    10 638

    Par défaut

    Ce qu'il faut savoir c'est que Zend comme Symfony les composants sont utilisable seul, t'es pas obligé d'avoir un stack complet

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 187
    Points : 7 646
    Points
    7 646

    Par défaut

    Citation Envoyé par lumit Voir le message

    Penses-tu qu'il soit possible de personnaliser le framework Zend pour justement obtenir des performances identiques à mon code maison ?

    Ca peut être intéressant de combiner les deux mais il faudrait dans ce cas, deux documentations pour les futurs développeurs...

    Ludwig.
    Avec une bonne utilisation des caches (opcode , bdd ...) tu devrais arriver à des performances tout à fait acceptable.
    Voir : http://framework.zend.com/manual/en/performance.html ou encore http://stackoverflow.com/questions/6...zend-framework.

    Mais bon après y'a pas de secret , un framework complet + un orm un peu lourd ira toujours moins vite qu'une simple structure mvc + pdo

    Actuellement la seule chose qui pourrait me faire aller sur un framework tel que ZF à la place de mon FW ce sont les offres d'emploi PHP qui recherche quasi exclusivement des développeurs connaissants ces FW.

    Maitriser de bout en bout sa chaine de développement ça à quand même un avantage !

  8. #8
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : juin 2012
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par grunk Voir le message
    Avec une bonne utilisation des caches (opcode , bdd ...) tu devrais arriver à des performances tout à fait acceptable.
    Voir : http://framework.zend.com/manual/en/performance.html ou encore http://stackoverflow.com/questions/6...zend-framework.

    Mais bon après y'a pas de secret , un framework complet + un orm un peu lourd ira toujours moins vite qu'une simple structure mvc + pdo

    Actuellement la seule chose qui pourrait me faire aller sur un framework tel que ZF à la place de mon FW ce sont les offres d'emploi PHP qui recherche quasi exclusivement des développeurs connaissants ces FW.

    Maitriser de bout en bout sa chaine de développement ça à quand même un avantage !
    Oui, je vais analyser les fonctions qui prennent du temps. Et voir si je peux optimiser.

    Concernant le commentaire sur les offres d'emplois, c'est vrai que les développeurs Zend sont recherchés. Mais là je me pose la question car c'est pour mon agence (Donc soit je pars sur du ZF, soit je forme mes développeurs sur ma solution). J'ai du mal à me décider...

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Dév. Web / Android
    Inscrit en
    août 2003
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Dév. Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 3 187
    Points : 7 646
    Points
    7 646

    Par défaut

    Si tu as des développeurs compétents en ZF (mais vraiment compétent) tu as à mon avis intérêt à partir en ZF.
    Il vont développer vite et seront capable de faire ce qu'il faut pour que l'appli soit performante.

    Dans le cas contraire la solution maison sera très certainement moins compliqué à prendre en main et au final le produit sera moins "usine à gas" qu'avec des "débutant" ZF .
    Sans compter qu'au fil des développement la solution maison va évoluer pour coller au besoin de ton agence et donc en principe sera de plus en plus efficace , ce qui ne sera pas le cas de ZF.

  10. #10
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : juin 2012
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par grunk Voir le message
    Si tu as des développeurs compétents en ZF (mais vraiment compétent) tu as à mon avis intérêt à partir en ZF.
    Il vont développer vite et seront capable de faire ce qu'il faut pour que l'appli soit performante.

    Dans le cas contraire la solution maison sera très certainement moins compliqué à prendre en main et au final le produit sera moins "usine à gas" qu'avec des "débutant" ZF .
    Sans compter qu'au fil des développement la solution maison va évoluer pour coller au besoin de ton agence et donc en principe sera de plus en plus efficace , ce qui ne sera pas le cas de ZF.
    Justement en parlant de ça, quelle est la situation du marché actuel des développeurs spécialisés ou non dans Zend ?

  11. #11
    Expert Confirmé Sénior

    Inscrit en
    septembre 2010
    Messages
    7 957
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 7 957
    Points : 10 638
    Points
    10 638

    Par défaut

    Zend Framework (1) a perdu de son intérêt avec Symfony2, de plus PHP 5.2 n'est plus maintenu, ce qui fait qu'un nouveau projet développer avec le ZF1 est obsolète, le ZF2 tarde est devient de plus en plus un pale copie de Symfony2

  12. #12
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : juin 2012
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par stealth35 Voir le message
    Zend Framework (1) a perdu de son intérêt avec Symfony2, de plus PHP 5.2 n'est plus maintenu, ce qui fait qu'un nouveau projet développer avec le ZF1 est obsolète, le ZF2 tarde est devient de plus en plus un pale copie de Symfony2
    Donc sur le long terme, tu me conseillerais de partir sur du code maison et d'utiliser quelques composants de Symfony ?

  13. #13
    Expert Confirmé Sénior

    Inscrit en
    septembre 2010
    Messages
    7 957
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 7 957
    Points : 10 638
    Points
    10 638

    Par défaut

    Citation Envoyé par lumit Voir le message
    Donc sur le long terme, tu me conseillerais de partir sur du code maison et d'utiliser quelques composants de Symfony ?
    Oui tu peux partir la dessus, mais quel est vraiment ton besoin de base ?

  14. #14
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : juin 2012
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par stealth35 Voir le message
    Oui tu peux partir la dessus, mais quel est vraiment ton besoin de base ?
    L'objectif est de créer un ACMS (Advanced CMS ). Je dis ACMS car mes besoins sont plus orientés Backoffice que Front.

    C'est à dire que je souhaite créer un outil de gestion standard pour les entreprises (Gestion de projets, clients, etc.).

    Le deuxième intérêt est que cette solution me permettrait de mettre en place un Frontoffice pour les entreprises qui souhaitent un site public (Vitrine ou autre).

    Pour Résumé : CMS avec gestion des Composants Métiers (Projets, Clients) et des Composants Web (Articles, Forum, Contact).. Tout ça bien entendu flexible et personnalisable...

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •