mai
23
Petit retour sur les frameworks en PHP qui gagnent en popularité de jour en jour.
Force est de constater que les frameworks prennent maintenant le pas sur les langages et PHP ne déroge pas à la règle. Pour autant, on peut se demander si l’emploi de ce type d’outil s’assimile plus à de la fainéantise qu’à autre chose.
Dans le cas de PHP (je ne suis pas encore omniscient, désolé), on peut déjà distinguer plusieurs types de frameworks. Tout d’abord, ils sont légion en PHP, un simple petit tour sur wikipédia vous le prouvera. Leur concept diffère donc selon l’objectif visé et les méthodes employées par le groupe de travail en charge du projet. Le principe reste pour autant le même, dans la plupart des cas (oui, je suis méchant, mais certains développeurs restent de parfaits tordus) : faciliter l’implémentation de procédures récurrentes.
Quelles sont ces procédures ? Les connexions aux bases de données, les sessions, l’authentification d’utilisateurs, les formulaires et leur vérification, la gestion de droits, la gestion des erreurs, la génération de documents PDF, et j’en passe.
La conception d’applications web tourne autours de ces concepts, dans la plupart des cas. Lié à ces concepts, certaines portions de code deviennent elles-aussi récurrentes. Au final, le développeur se tournera le plus souvent vers les copier-coller ou les snippets (code stocké pour réutilisation, ce principe est proposé dans quelques éditeurs comme dreamweaver).
Un framework est une troisième alternative au problème. Il se décline sous forme d’une librairie de fonctions et / ou d’objets facilitant grandement le développement d’application. Petit bémol, ces frameworks sont aussi un ajout au langage initial. Cela sous-entend que de nouvelles fonctionnalités apparaissent et que le développeur devra en prendre connaissance par la biais d’une documentation ou de tutoriaux. Certains frameworks, relativement complexes, nécessitent plusieurs semaines d’apprentissage avant d’être utilisés (et je ne parle pas ici de maîtrise). Mais cette formation est-elle utile ou superflue ? Difficile à dire. Le développeur devra, au préalable, se renseigner sur des forum et feuilleter en diagonale la documentation.
Utile ou pas ?
Oui, les frameworks sont utiles, précieux même. En utilisant ces outils, vous bénéficiez de fonctionnalités testées et éprouvées par une communauté de développeurs. Vos applications gagneront donc certainement en sécurité et en puissance.
Là où se pose le réel problème, c’est dans le choix du framework. Cela se résumera presque à l’apprentissage d’un nouveau langage et, comme vous le savez, cela peut prendre du temps, beaucoup de temps.
Note : la plupart des frameworks actuels se basent sur le modèle MVC (modèle vue controleur). Cette méthode de travail offre de grands avantages (possibilité de scinder le développement en groupes de travail, meilleur accès au code, etc.). Néanmoins, de bonnes notions seront requises pour vous lancer dans l’utilisation (ainsi que l’étude) de frameworks (tels que Zend ou RoR).
Lequel conseiller ?
Cette question revient souvent sur les forums, dernièrement. Les réponses sont pratiquement toujours identiques : chacun prêche pour son église.
C’est donc un peu une histoire de goût.
Personnellement, j’apprécie Zend Framework, Symfony et CakePHP. Est-ce que je vous les conseillerai ? Jamais de la vie ! C’est à vous de prendre le temps de faire le tour de chaque communauté pour mieux appréhender le potentiel et les difficulté de chacun d’eux.
Conclusion
Les frameworks ne sont pas des outils pour fainéants. Ils offrent un gain temps appréciable dans les situations récurrentes liées à un développement. La plus grande difficulté reste, sans nul doute, le choix du framework. Pour cela, le développeur devra prendre le temps d’éplucher documentation et forums communautaires. Au final, ce temps perdu sera vite rentablisé.
continuer »