Liens connexes

Dépêche modérée par

Dépêche éditée par

: Zend Framework 1.0.0 : PHP à la suite de Ruby on Rail

Posté par Étienne Bersac (Jabber id, page perso, ). Modéré le 02 juillet 2007.
0
Déjà aperçu dans ces colonnes, le Zend Framework marque une date dans son histoire. Après trois versions candidates, ZF est produit en version 1.0.0 finale, le tout sous licence New BSD comme depuis le début.

Le but de Zend Framework est de fournir un ensemble de composants de très haute qualité pour le développement web en PHP 5, avec une documentation de l'API et un manuel maintenu continuellement. Pour cela, Zend veut reprendre les recettes qui ont fait le succès de PHP : des solutions simples et élégantes qui fonctionnent partout.

Bien qu'en concurrence avec les autres projets de framework, ZF encourage la création de framework PHP. (symphony , CodeIgniter , CakePHP , QCodo ).

Gageons que ZF jouira d'un certain succès. Le libre ayant déjà par ailleurs une très nette domination dans le développement web avec Ruby et RoR, Python et Plone, voire Java et Apache. L'avenir nous dira si Zend Framework est ou n'est pas un clou de plus sur le cercueil du web propriétaire.

> Lire la suite (119 commentaires, moyenne: 2,8).   [dépêche : 4537 caractères]

Zend est une société fondée par Andi Gutmans et Zeev Suraski (le nom Zend est un mot-valise de leurs prénoms Zeev et Andi) et connue pour son moteur de langage de script à la base du langage PHP (depuis la version 4) : le moteur Zend. Le moteur Zend a été un accélérateur du succès de PHP.

Cette fois-ci, Zend continue d'améliorer ses outils de développement web, mais en aval cette fois ci en proposant un framework de développement web pour PHP5. Un framework est un espace de travail modulaire, un ensemble de bibliothèques permettant le développement rapide d'une application.

On pense à PEAR, un ensemble de classes suivant des conventions de développement et installable depuis un outil en ligne de commande. ZF est plus cohérent et plus restreint. Par exemple, il n'y a pas deux classes qui font le même travail. Le suivi est donc beaucoup plus exigeant par rapport à PEAR.

L'ensemble des classes de ZF est réparti en deux grosses parties : ZF Core et ZF Incubator. On aura vite compris la distinction. Dans le premier cas ce sont les classes fonctionnelles, stables et maintenues tandis que le second cas contient les classes ayant vocation à rejoindre Zf Core à terme.

ZF Core est lui même réparti en composants répondant à différentes problématiques. Par exemple la problématique de l'authentification et de l'autorisation propose les paquets Zend_Acl, Zend_Authentication et Zend_Session et leurs classes respectives. Ainsi de suite pour l'accès aux bases de données, l'i18n & la l10n, le MVC et quelques autres.

À noter que l'accès aux bases de données utilise l'abstraction PDO ou certaines extensions spécifiques de PHP (tel Mysqli). Le but du ZF n'est pas d'implémenter une nième abstraction du SGBDR, mais de fournir une implémentation de la représentation et de conception de requêtes, transitions modèle relationnel-modèle objet, etc.

Le gros avantage que l'on peut trouver à ZF par rapport à certains frameworks (par exemple symphony), c'est qu'on est loin d'une usine à gaz. La découpe en composants permet d'utiliser ceci sans cela, avec une flexibilité qui rappelle furieusement celle de PEAR. L'arborescence de l'application imposée par MVC est très flexible et très légère. Il est très facile de choisir son moteur de modèle (par défaut c'est PHP, bien sûr) pour opter pour le tout aussi connu que lourd Smarty.

Zend a vraiment fait jouer la communauté. Fort de l'énorme popularité de PHP tant chez les petits bidouilleurs de scripts infâmes et bardés de failles de sécurité que chez les professionnels. Les contributions sont nombreuses. Le site est orienté pour attirer les contributeurs. Cependant, il faut noter que Zend garde les rênes du projet et les contributeurs doivent signer un accord de licence des contributeurs permettant de formaliser les contributions en vue de se protéger d'attaques juridiques telle celle de SCO. Les contributeurs ont et gardent leurs droits sur la contribution. Le ZF est distribué sous licence New BSD, licence approuvée par l'OSI, mais qui pose problème selon la FSF, voir l'article Le problème de la licence BSD sur le site du projet GNU.

Assez rapidement, ZF a été utilisé malgré son état alpha. De fait, certaines évolutions ont cassé la compatibilité ascendante, mais des paramétrages permettent malgré tout de faire tourner une application conçue avec ZF 0.8beta dans un environnement avec ZF 1.0.0 moyennant peu de changement de code (notamment au niveau de l'implémentation du MVC).

ZF serait-il déjà victime de son succès ?

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

mouais

Posté par Éric (Jabber id, page perso, ) le 02/07/2007 à 08:26. (lien). Évalué à 10.

mouais

Mettre "à la suite de Ruby On Rails" dans le titre c'est chercher les coups. Je ne me lancerai pas dans une argumentation sur Ruby On Rails mais ZF c'est un ensemble de briques élémentaires à peine collées ensemble. On est très loin d'un framework intégré et complet. C'est d'ailleurs à la limité entre une bibliothèques de composants et un framework. Comparer ça à Ruby On Rails (ou même à symfony ou Plone) c'est aller plus que vite en besogne.

Ce qu'ils font est bien, même si ça va assez lentement par endroits et que le résultat n'est pas très "sexy" mais c'est encore loin des autres solutions intégrées.


Note tout de même parce que je suis étonné de trouver ça ici : on parle bien de "new BSD", autrement appelée "BSD modifiée". Le texte de la FSF à propos du problème BSD c'est justement pour l'"ancienne" BSD avec la clause de publicité. Il n'y a aucun problème avec cette licence (même si certains préféreront peut être un copyleft).

Framework PHP

Posté par dovik (page perso, ) le 02/07/2007 à 11:35. (lien). Évalué à 8.

Bien qu'en concurrence avec les autres projets de framework, ZF encourage la création de framework PHP. (symphony , CodeIgniter , CakePHP , QCodo ).


Autre framework que l'on peut citer (puisque son auteur est trop humble pour le citer lui même) :

Jelix : http://jelix.org/

Jelix est un framework pour PHP5 :

* entièrement objet, performant
* prend en charge de nombreux formats de sortie (XHTML, XUL, RDF..)
* facilite le développement de services web
* conçu sur la base de modèles connus (MVC, DAO..)

>> Python et Plone ?!?!

Posté par Loïc Ibanez () le 02/07/2007 à 11:53. (lien). Évalué à 3.

Heu... si on veut comparer à Ruby et RoR ce serait plutôt Python+Zope, nan ?

Même si ce satané Zope est absolument inclassable et tient tout autant de l'IDE, du Framework que de la Forge en ligne. Zope, ovni ou précurseur ? Le débat est ouvert.

--
J'vais te mettre cette bande d'électrons au garde-à-vous et ça va filer droit, c'est moi qui t'le dit !

ORM ?

Posté par choon () le 02/07/2007 à 17:07. (lien). Évalué à 1.

J'ai découvert il y a peu (à ma grande satisfaction!) ezPDO. Le Zend Framework embarque-t-il ce genre de fonctionnalité? Parce que pour le comparer à Rails ça me semble approprié non?

Prado

Posté par ohmer () le 02/07/2007 à 18:00. (lien). Évalué à 1.

Il y a aussi le framework Prado ( http://www.pradosoft.com ) pour PHP5.1 sous licence BSD. Les auteurs de ce framework se sont largement inspirés de la philosophie ASP.NET.

D'ailleurs, la version 3.1 vient de sortir en stable hier.

Perso, je ne développe plus d'applications Web PHP sans ce framework depuis que je l'ai essayé.

*khof* *khof*

Posté par Misc (page perso, ) le 02/07/2007 à 19:07. (lien). Évalué à 4.

"Pour cela, Zend veut reprendre les recettes qui ont fait le succès de PHP : des solutions simples et élégantes qui fonctionnent partout."

Comment dire, "qui fonctionnent partout", les gens oublient le merdier des incompatibilités entre version de php, ainsi que les nombreux hacks requis pour adapter les softs à la configuration du serveur ?

Quand aux "solutions simples et élégantes", c'est vrai que le fait de rajouter i à chaque fontion de matching est "élégant" et pas du tout piégeux. Et que la cohérence des fonctions ( avec ou sans _ ), la duplication des fonctions, etc, tout ça le rends "simple" et "élégant", comme le rappelle ce lien http://tnx.nl/php.

Php a des avantages, la facilité ( car visiblement, tout le monde arrive à en faire ), le fait qu'il soit pensé pour offrir un systéme de template web à des users sans avoir à leur donner les droits admins, la capacité de limiter les users au niveau des opérations, etc, mais faut pas non plus essayer de nous faire prendre des vesies pour des lanternes.

Symfony

Posté par Grégoire Hubert (Jabber id, page perso, ) le 02/07/2007 à 20:52. (lien). Évalué à 4.

e la création de framework PHP. (symphony ,


symFony :o)

Zend, à ce que j'en ai vu, ressemble plus à une boite à outil pour développeur. Symfony est un véritable framework. Il est libre et architecturé autour de méthodes de développement professionelles éprouvées. Mélange de RoR, Django (entre autres) avec la facilité d'hébergement et la rapidité du PHP, il est par exemple utilisé par Yahoo sur certains de ses sites grand publique.

Pour finir, le livre (sous licence libre), écrit par les auteurs du framework, est disponible sur leur site.

codeigniter

Posté par Jean-Philippe (page perso, ) le 02/07/2007 à 21:13. (lien). Évalué à 3.

Puisque tout le monde sort son framework, voici codeigniter :
http://codeigniter.com/

Compatible php 4 et 5, il est très leger et peut utiliser les bibliothèques du pseudoframework Zend :)

Revenir en haut de page