/ php

[ARCHIVES]Framework php : CakePhp, Symfony, Prado, Zend Framework, PEAR ? Lequel choisir ?

Attention, cet article est ancien, ses informations peuvent être obsolètes.

Cette question, je suis sur que vous vous l’êtes déjà posé…

“Quel framework, je vais bien pouvoir choisir pour mon développement ?”

En fait, la réponse à cette question, si tant est qu’elle se pose réellement, dépend du contexte. Comme beaucoup de situation de la vie courante d’ailleurs.

Je vais essayer d’éclairer votre lanterne avec l’expérience modeste que j’ai dans ce domaine. Quelques critères décisifs pour effectuer votre choix :

  • réponse à un besoin
  • évolutivité
  • facilité de prise en main
  • facilité de mise en oeuvre
  • contraintes imposées par le framework

Le choix d’un framework résulte d’une équation savante entre ces différents critères. En effet, un framework trop compliqué à prendre en main mais complet ne répondra pas à votre besoin de mettre en place rapidement un site vitrine pour un client préssé (ils le sont tous, n’est ce pas?).
Un framework ne disposant pas de suffisemment de fonctionnalités ou trop jeune ne vous permettra pas de développer jusqu’à son terme, le projet de gestion d’agence immobilière en réseau international.
Tout dépend de ce que l’on veut faire, et de l’investissement que l’on souhaite miser dans ce nouvel outil qui va révolutionner vos développements. Il faut savoir que l’utilisation d’un framework impose dans la majorité des cas, un “cadre” de développement dont il sera pas toujours aisé de dépassé ou briser les limites, si un jour les fonctionnalités fournies ne vous sont pas suffisantes.

D’autres points doivent également attirer votre attention :

  • le cycle de mise à jour : court et régulier étant un idéal (à ce jeu le Zend Framework est plutôt très bien placé)
  • la communauté de développeur qui gravite autour du framework (forums, wiki, etc.)
  • la disponibilité d’une documentation solide et à jour. La cerise sur le gâteau ? Des tutoriels et/ou des screencasts de démonstration.

Une très bonne étude et récente sous forme de Livre Blanc , vous permettra d’en apprendre plus sur les frameworks actuellement existants pour PHP.
Il ressort de ce Livre Blanc que trois frameworks sortent du lots :

  • cakephp
  • symfony
  • prado

Il faut noter également noter les bons points pour les bibliothèques de composants que sont PEAR et le Zend Framework qui peuvent être des outils complémentaires aux Frameworks afin de leur ajouter des fonctionnalités manquantes. Ces bibliothèques de composants peuvent être également utilisées de manière indépendante afin de laisser une plus grande liberté au développeur ou à l’équipe de développement qui ne souhaite pas forcément rentrer dans un cadre de développement strict et souvent rigide pour des projets qui n’en ont pas forcément le besoin.

Pour avoir testé rapidement Symfony et CakePhp, la prise en main n’est pas forcément évidente ou rapide, si l’on a jamais réellement travaillé avec un framework. Cependant, on peut ressentir aisément la puissance de ces systèmes. Le seul point gênant reste le temps de prise en main et de compréhesion de la phiosophie géénrale du framework. Je vais tester également dans les prochains jours Prado.

D’autres frameworks sont encore trop jeune pour sortir la tête de l’eau face à CakePhp ou Symfony mais doivent toutefois rester sous surveillance. Je citerais par exemple Jelix de Laurent Jouanneau qui monte assez vite ou Code Igniter (qui semble bien adapté pour des projets de tailles modestes).

Vous pouvez également, si le coeur vous en dit et si vous vous en sentez le courage décidez de développer votre propre framework ou celui de votre société. Nobla tache, courageuse à souhait, mais qui vous demandera des efforts. Vous serez peut-être alors content de pouvoir commencer en lisant l’article suivant.

Voilà, pour ce petit tour parmi les frameworks, je vous engage fortement à lire le Livre Blanc, si le sujet vous intéresse. Vous trouverez toutes les références nécessaires ci-dessous :

Définition wikipédia du framework
Bibliothèque de composants PEAR
Bibliothèque de composants Zend Framework
Framework CakePhp
Framework Code Igniter
Framework Jelix
Framework Prado
Framework Symfony
Livre Blanc Smile