Non, il n’y a pas de meilleur framework PHP

17 , , , Permalink

En regardant mes statistiques ce matin, je m’aperçois qu’un internaute est arrivé sur mon blog en saisissant les mots « meilleur framework PHP » dans son moteur de recherche préféré. Je sais que la question revient régulièrement sur la table, je souhaite donc répondre de manière simple et sans équivoque…

frameworks PHP

Non, le meilleur framework PHP n’existe pas…

Alors oui, c’est bien dommage mais il faut voir la vérité en face : il n’existe pas un framework PHP qui serait meilleur que les autres. Objectivement, on ne peut décréter qu’un framework est supérieur à un autre. Evidemment, on peut les comparer selon des critères bien définis :

  • simplicité d’utilisation,
  • facilité d’apprentissage,
  • qualité des composants,
  • structure de l’architecture,
  • possibilités d’extension,
  • taille et niveau d’activité de la communauté,
  • respect des normes et conventions,
  • gestion des performances applicatives,
  • etc.

Seulement, la plupart des frameworks proposent des fonctionnalités similaires et les composants tiers sont utilisables par n’importe lesquels d’entres eux. L’approche est essentiellement orientée objet avec une structure MVC plus ou moins bien respectée. Pour choisir un framework, le principal critère reste donc à mes yeux l’affinité que l’on entretient avec. Et là on parle de préférence personnelle, on tombe ainsi dans un domaine purement subjectif et non mesurable.

Le meilleur framework est celui que vous choisissez !

Je ne dis pas que tous les frameworks sont bons. Loin de là. Mais, parmi les bons frameworks, tous ont des avantages et des inconvénients. Pour choisir un framework le secret est donc de tester pour construire sa propre opinion. Je peux vous dire que Symfony 2 ou CakePHP sont d’excellents frameworks. Mais ce ne sera peut être pas votre avis, avec votre expérience et votre manière de penser. Vous préférez peut être Yii, FuelPHP ou Zend Framework.

A mon sens, le seul impératif est d’utiliser un framework quand on fait du développement PHP. Peu importe le framework, le fait d’en utiliser un permettra de cadrer à minima vos développements. Donc plutôt que de taper « meilleur framework php », tapez « symfony download« , « cakephp download » ou « yii download » et construisez-vous votre opinion !

  • cici

    je vient de commencer à apprendre le cakephp, je le trouve super mais le probléme c qu’une fois que ta plus envie de l’utiliser et continuer avec du php pure c plus possible. et l’autre truc que j’ai remarquer c’est que c plus utiliser pour les blog l’insertion,modification et suppression des article est trés facile à faire, en tout cas ce qui manque je trouve c’est le login et le logout je sait pas esque ya que moi qui le trouve un peut compliquer à faire avec cakephp.

  • Pingback: Zend 2 vs Symfony 2 : sont-ils comparables ?()

  • Plusieurs pistes:
    Tableau comparatif ici
    http://socialcompare.com/fr/comparison/php-frameworks-comparison

    Projet intéressant de Grafikart: blogMvc
    Il s’agit de développer la même application avec différents framework
    http://blogmvc.com (projet collaboratif sur github)

  • skududufru

    Totalement d’accord avec toi !
    Il n’y a pas de meilleur framework mais des framework plus adaptés à tel ou tel projet. L’apprentissage de plusieurs framework et je pense nécessaire de nos jours.

    Sinon j’ai découvert ton blog il y a peu et je le trouve super.
    Bonne continuation !

    • Nicolas Hachet

      Merci !
      Pour moi, le choix d’un framework est principalement basé sur ses propres préférences.. Pour travailler au quotidien avec 6 frameworks/versions (CakePHP 1 & 2, Symfony 1.4 & 2, ZF 2, CodeIgniter), je peux assurer qu’il s’agit de préférences personnelles et non d’un « meilleur framework » qui sortirait du lot ! 😉

  • Olivier Vangest

    Quid des frameworks fait main?

    • Nicolas Hachet

      Je dis attention aux frameworks maison… La majorité des frameworks fait main ne satisfont qu’un utilisateur : celui qui a développé le framework.

      Il est difficile de reprendre ou de maintenir un projet avec un framework de ce type car les conventions (quand il y en a) ne correspondent à aucune convention standard. Cela étant, il existe quelques frameworks maison excellents (le mien ? :D) contre beaucoup à jeter !

  • Barbar

    Même pas le logo du framework Phalcon d’affiché ? Mon coeur saigne …

    • Buu-Lâm Lê – Dev

      +1, mais en même temps, Phalcon bien que qu’il soit mon framework préféré, n’a pas encore pris son envol quant à son nombre de contributeurs. Je suppose que Nicolas le connaît déjà (ou s’est rattrapé depuis), mais il faut bien avouer que pour caser ça en SSII chez des clients grand compte, c’est encore un peu tôt. La patience est une vertu.

      • Nicolas Hachet

        Je connais Phalcon de nom mais je n’ai jamais eu l’occasion de pratiquer ce framework de manière professionnelle. Le concept d’extension en C est intéressant et la syntaxe très classique, ce qui permet de s’approprier facilement la façon de coder.

        Pour le reste, j’aurais peut être l’occasion de me plonger dans ce framework prochainement et, pourquoi pas de faire un article à ce sujet ! 😉

  • Matthias

    Comme tu le dis, il y a plusieurs paramètres à prendre en compte mais je pense que tu n’as pas parlé d’un point assez important. Ce que les entreprises recherchent et d’après les offres (qui parlent de Framework) que je vois passer , près de 60% -70% concerne Symfony.

    • Matthias

      La fin de mon commentaire n’est pas très compréhensible en gros, je voulais dire qu’une majorité d’entreprises (qui travaillent avec PHP) recherche des développeurs Symfony. (En comparaison avec zend et CakePHP (que j’utilise))

      • Nicolas Hachet

        C’est vrai qu’il y a beaucoup d’offres Symfony 2 et Zend 2 en ce moment. C’est pour ça que je trouve intéressant d’avoir des compétences multi-frameworks !

        • Jonathan Greco

          A noter quand on es a l’aise avec un framework PHP, la transition est douce pour un autre framework, design pattern architecture, les framework ont une approche différente, mais les design pattern ne changent pas trop. Le plus dur c’est de commencer

  • shadypierre

    Comme tu le dis, tous les framework ne sont pas forcement bons et chacun d’entre eux à des avantages et des inconvénients connu qui vont au déla de l’appréciation personnel, je pense que quelqu’un qui cherche « meilleur framework php » cherche plutôt un comparatif qu’une vérité absolue.

    • Nicolas Hachet

      C’est une recherche qui revient fréquemment et je suis persuadé que l’internaute qui la tape s’attend à trouver une réponse toute faite… Moi même j’ai probablement tapé ceci il y a quelques années ! 😉
      Alors bien sûr, il trouvera des comparatifs qui l’orienteront mais le mieux reste quand même la pratique.

      • C’est vrai que trouver le meilleur framework sur le net, on tombera sur des réponses plus subjectives qu’objectives. Le tout est de savoir ce qu’on veut par rapport à un framework. On n’est pas obligé d’utiliser un framework, tout dépend de ce qu’on veut faire. Du PHP objet bien construit suffirait amplement pour un petit projet.

        • Nicolas Hachet

          Oui, tout dépend de ce qu’on appelle du PHP objet bien construit… 😉