Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-08-2010 15:42:51

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Questionnement autour de ZF 2

Salut,

Je suis inquiet concernant la version 2.0 du ZF.

En parcourant les discussions des contributeurs, j'ai la mauvaise impression que la version 2.0 s'oriente vers une simple version optimisée en PHP 5.3 de la version 1.x.

J'exagère peu, certains patterns mal utilisés vont être revus, les singleton empêchant les tests et les injections aussi, ainsi que certaines politiques concernant les helpers et les plugins, etc.

Mais dans tout ça, je ne tombe sur aucune discussion qui remet en cause la conception même du framework. Pour de gros projets, ZF souffre encore de pas mal de lacunes et du manque d'implémentations robustes de certains patterns très utilisés et dont l'efficacité a été prouvée plus d'une fois. Evidemment, on pense tout de suite aux patterns implémentés en JAVA par des framework comme Spring MVC par exemple.

Ici (chez anonymation), nous perdons (perdre est un gros mot, parce que nous progressons aussi) beaucoup de temps à étendre le ZF et ajouter des fonctionnalités manquantes pour obtenir des architectures en couches robustes. J'avoue que j'attendais un peu du ZF 2 de combler ces manques et revoir un peu le core du framework.

Pour stopper tout de suite les remarques du genre "T'as qu'à faire du JAVA alors", je précise que les différences entre les deux langages vont au délà de ces considérations, coûts, maintenance serveur, etc etc.

PHP se professionnalise de plus en plus, et quand je vois ce que propose la version 2 de symfony, j'avoue que c'est excitant et que ça répond pour le moment plus à ce que j'attend d'un framework PHP mature. L'injection de dépendances est au coeur du framework, le framework dans son ensemble a été repensé pour ajouter plus de souplesse et pour coller mieux à de la POO claire et moins "magique". Ils s'orientent donc vers un framework basé sur un modèle objet robuste et mieux maitrisé par les développeurs.

Concernant ZF 2.0, je ne vois rien qui fait penser à une remise en question générale du framework, ni une épuration, et j'avoue que ça m'inquiète un peu.

Est-ce que certains ont des infos ? J'ai manqué un épisode ?

Qu'en pensez-vous ?


A+ benjamin.

Dernière modification par Delprog (12-08-2010 15:50:02)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#2 12-08-2010 19:34:46

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: Questionnement autour de ZF 2

Hello,

J'avais un peu de peur de ce genre de réaction quand Matthew a annoncé le milestone 1.

La première réponse est non (excepté ce milestone), ZF2 n'est pas une version 5.3 de ZF1. L'annonce ne le précise pas assez, elle aborde juste le cas de Zend\Session qui est le seul composant déjà revu. Tout le MVC entre autres va être revu. Regardes http://framework.zend.com/wiki/display/ … Milestones pour plus de détails. Cette page ne mentionne pas le composant Zend\Db (http://framework.zend.com/wiki/display/ … quirements) ou Zend\Pdf (http://framework.zend.com/wiki/display/ … quirements).

Certains composants ne seront quasiment pas touché (j'ai Zend\Barcode par ex. en tête), d'autres sont déjà fait ou presque (Zend\Cache => http://github.com/marc-mabe/zf2/tree/cache) et d'autres en cours (j'ai par ex. Zend\Service\Flickr => http://github.com/mikaelkael/zf2/tree/zsflickr).

Donc non, ZF2 n'est pas ZF1 en 5.3 wink

@+

PS : je n'énumère pas tout ici, si tu as un composant en tête, n'hésites pas à demander plus d'infos plus précise smile


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 12-08-2010 20:55:54

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: Questionnement autour de ZF 2

J'avoue partager un peu ce point de vue, l'annonce de Mattew sur la sortie de la 2.0 (en version de test effectivement) ne dit malheureusement pas grand chose, même si derrière il y a probablement un travail colossal des contributeurs.

Je comprends l'inquiétude donc, quand on attend la chose depuis un bon bout de temps et que le jour où elle commence à pointer le bout de son nez on a si peu de nouveautés. Maintenant, il faut avouer aussi que ce n'est qu'une première version et qu'il y a encore beaucoup de choses à venir comme le souligne Mikael.


aka miboo

Hors ligne

 

#4 12-08-2010 21:36:33

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Questionnement autour de ZF 2

Bonsoir,

En fait, je n'attend pas de changements majeurs sur des composants spécifiques. Ce que je trouverais intéressant c'est surtout de repenser un peu le fond du framework pour ajouter de la simplicité et une meilleure cohésion d'ensemble pour que ça colle plus à la réalité. Il existe beaucoup de composants Zend, qui sont  développés et maintenus par leurs contributeurs sans forcément de cohésions entre eux. On peut aussi dire que c'est la force de Zend, mais je pense que l'un n'empêche pas l'autre.

Je souhaitais voir arriver un framework qui enrobe vraiment le modèle objet mis en place par les développeurs et qui simplifie les processus les plus courants dans une application web (multilangue, formulaires, sécurité, etc etc.).

Que le coeur du framework soit plus que le MVC mais un ensemble cohérent et robuste pour gérer un processus de bout en bout. Donc, que certains composants comme Zend_Form, Zend_Validate, Zend_Translate fassent partie du coeur et soient intégrés avec une bonne cohésion d'ensemble. Il faudrait par ex. des mécanismes simples pour gérer le i18n de bout en bout. Aujourd'hui pour mettre en place ce genre de comportement les développeurs doivent eux mêmes bidouiller et batailler sur chaque composant séparément pour réussir à les faire fonctionner ensemble.

Par exemple, simplifier la gestion des formulaires, simplifier et renforcer les processus de validation, parce qu'aujourd'hui on tombe sans arrêt sur des cas particuliers que le framework ne sait pas gérer, ou alors il faut jongler avec des sub-forms ou autre, pour des développeurs non experts c'est une énorme perte de temps.

Ce serait intéressant de réorienter le coeur du framework autour du modèle métier, en permettant par exemple de mapper directement des formulaires sur des objets, en gérant les imbrications, de valider directement des objets métiers, de placer l'injection de dépendances au coeur du framework pour simplifier la scalabilité et les tests. Plein de questions récurrentes dans les applications web qui peuvent trouver une réponse grâce à un framework robuste.

J'imaginais un core pour le framework, et un éco-système de composants autour. Beaucoup de composants sont extrêmement utiles et intéressants, et utilisés ensemble ils formeraient un tronc commun solide. Aujourd'hui c'est aux développeurs de faire ce qu'ils peuvent pour les utiliser ensemble. On se retrouve avec un framework par dessus un framework, et donc finalement un framework maison (ce qu'il faut éviter) parce que le ZF ne permet pas nativement de répondre à une problématique d'ensemble.

Je vais pas trop pousser pour pas m'éparpiller, j'ai une idée très précise de ce que j'espérais voir arriver, et j'ai peur que nous soyons encore loin et que My_Framework extends Zend_Framework soit inévitable.

Evidemment je sais que le travail des contributeur est énorme et on ne peut que les remercier pour ce qu'ils font. Mon but ici n'est pas de jeter la pierre hein, je m'inquiète c'est tout smile


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#5 12-08-2010 22:18:13

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: Questionnement autour de ZF 2

Ton point est très intéressant. Mais peut être que ce dont tu parles c'est le framework (PHP) parfait, et l'on sait bien surtout en informatique que la perfection n'existe pas. Je m'explique : je pense qu'il est extrêmement difficile de concilier à la fois un framework basé sur des composants complètement indépendants, simple et complètement extensible tout en proposant une meilleur intégration et donc des interactions (= dépendances?) avec d'autres composants. On s'éloigne de l'idée de départ à ce moment là?

Ceci dis le sujet est véritablement complexe. Je suis tout à fait d'accord sur le fait qu'il faut s'efforcer de simplifier au maximum le framework, dans la mesure où l'on utilise un cadre applicatif souvent (mais pas seulement) pour gagner du temps, pour faciliter le développement. Ce n'est pas toujours évident surtout lorsqu'il s'agit de développer My_Framework extends Zend_Framework.

Je n'ai pas une grande expérience et je suis loin d'être un expert, d'ailleurs je ne travail même plus dans le domaine pour le moment, mais il m'est arrivé en tant que débutant d'être bloqué sur des problèmes simples pour une utilisation de base, que je savais résoudre sans framework facilement, mais pas avec.
Pour moi, c'est le premier enjeu d'une refonte du framework. Clairement au jour d'aujourd'hui, le problème est qu'il faut une grande expérience pour commencer à voir de vrais gains en terme de productivité. Or, si on prend le cheminement inverse il faut commencer à travailler sans l'expérience suffisante pour voir ces gains de productivité...


As-tu pensé à traduire ton message et à l'envoyer à Mattew ?


aka miboo

Hors ligne

 

#6 12-08-2010 22:43:17

Intiilapa
Membre
Date d'inscription: 03-02-2009
Messages: 95

Re: Questionnement autour de ZF 2

Je prends cette m1 uniquement comme une base de travail commune pour commencer le développement de ZF 2. C'est donc à mon sens une release purement pour les contributeurs, et donner des nouvelles. ZF 2 n'est pas une version namespace PHP 5.3 de ZF1, mais un projet en PHP 5.3, et non un portage de PHP 5.2 à 5.3 je pense. Après un sondage sur camelcase contre acronym, un sondage vient d'être lancé à propos de l'underscore en préfix d'attributs, et méthodes. Il y a le cas des classes Services, et faire le tour de l'ensemble des composants. Je ne vois pas de sortie publique avant un ou deux ans pour ZF 2 : il y a tellement de choses que tout le monde souhaite ^^

Je vois un peu l'idée que tu attendais de ZF 2. Je ne suis pas sûr que ça soit le but de ZF 2 pour plusieurs raisons. Déjà, c'est du haut vol pour moi, donc tu fais une sélection draconienne au niveau contributeurs pour savoir mettre cela en place. Il faut déjà arriver à utiliser le concept proprement.
Après je pense qu'il faut que le noyau dur de ZF mette en place certains nouveaux concepts comme la volonté de plugin & co. Le MVC englobe une bonne partie de ZF est ne peut pas partir dans tous les sens. Il n'y a aucune mention de Zend_Tool, mais cela pourrait être revu pour automatiser des étapes récurrentes.
Ils souhaitent aussi régler les problèmes de performance dans ZF2.

Au final, je ne suis pas sûr que le tout automatique soit leur objectif. Il suffit de comparer l'orientation de Symfony et Zend Framework par exemple. Je suis assez de ton avis qu'au final, nous avons besoin de pouvoir développer un site au plus vite en ayant un fauteuil tout prêt pour gérer tous les aspects récurrents propre à un site web indépendant du métier propre. En rajoutant, un support de debug (comme zfdebug, ou un errorcontroller avancé pour savoir remonter la requête ou la variable à problème), avoir un checkeur de config, et prérequis. L'idéal serait d'avoir à définir le métier dont on a besoin, et la partie HTML/CSS/image. Cela me fait penser au fait que Symfony est un générateur de backoffice.

Libre à toi de lancer le débat sur la mailing list des contributeurs big_smile

Je pense que l'explication c'est que tout le monde n'est pas architecte logiciel, ou concepteur.

PS : à propos des frameworks maisons, j'en connais qui ne partagent pas ton avis lol (Sekajin, la personne qui tient phppro, etc)

Hors ligne

 

#7 13-08-2010 09:40:26

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Questionnement autour de ZF 2

Hello,

Je ne base pas mon impression simplement sur ce milestone hein, je suis conscient que c'est un point de départ, mais plutôt par rapport à l'ensemble des sujets que j'ai lu.

Je ne pense pas avoir une vision utopique de la chose, je ne parle pas du framework "parfait" (c'est trop subjectif) ni d'un automatisme rigide. Je me fie à des concepts autour de moi qu'on ne peut pas ignorer et qui dans le développement web apporte une réelle robustesse, flexibilité et simplicité (pas dans tous les cas je vous l'accorde). Ce n'est pas une tendance ou une mode, je parle de concepts que Fowler et ses potes ont déjà détaillé il y a plus de 10 ans et qui font leurs preuves.

Recentrer le framework autour de ces designs ne me semble pas si utopique, et je ne pense pas que ça signe la fin de la flexibilité de Zend. On reste dans de la POO, aucune raison d'imposer une rigidité.

Au départ j'avais choisi Zend et non Symfony pour ces raisons, pour éviter l'idée que "si tu fais avec symfony, tu fais tout avec symfony", mais on se dirige vers quelque chose de nouveau qui va amener de nouveaux choix. Je pense que Fabien Potencier (et les contributeurs biensur), avec symfony 2, essaie vraiment de recentrer le framework sur l'essentiel et justement d'apporter une flexibilité qui faisait défaut à la première version.

Respecter les "best practices" d'une application web pour s'assurer une scalabilité et une pérennité c'est en partie grâce aux frameworks que c'est possible. Par ex, Doctrine 2 a également était revu de zéro, et ça va être un vrai régal, le framework agit comme il devrait, c'est à dire qu'ils ajoutent des comportements sans enfermer le développeur. Pour moi, aussi flexible que soit Zend, il n'empêche pas ça, j'ai une surcouche tellement importante sur Zend que je ne peux pas m'en détacher sans un coût monumental. Heureusement, grâce à une bonne architecture on limite la casse, mais il n'en reste pas moins qu'on s'éparpille pour s'en sortir. Pour un comportement je devrais par exemple étendre un ou plusieurs composants Zend, créer une ressource Zend_Application, créer un plugin de controlleur, créer un helper d'action, voir même un helper de vue, tout ça pour une seule fonctionnalité essentielle qui ne devrait pas demander autant de travail (sans parler des performances).

Le but n'est pas de ne plus rien faire, mais de justement pouvoir appliquer des concepts courants facilement. Architecturer une application complexe avec Zend c'est aujourd'hui assez difficile, parce qu'il faut re-développer pas mal de choses pour s'en sortir, et en plus être derrière les développeurs qui ne s'y retrouvent pas. J'espère que ZF 2 va pallier à certaines de ces lacunes.

Jusqu'à maintenant, je trouve qu'une des meilleures chose qui ait été faite sur Zend est Zend_Application smile


A+ benjamin.

Dernière modification par Delprog (13-08-2010 09:42:04)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#8 13-08-2010 12:03:23

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Questionnement autour de ZF 2

Ce que j'aime justement dans ce framework, c'est qu'on peut en faire n'importe quoi en l'étendant afin qu'il colle parfaitement au besoin unique de telle entreprise ou de tel projet.
C'est d'ailleurs le rôle de l'architecte logiciel sur un projet

Hors ligne

 

#9 23-08-2010 14:36:40

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Questionnement autour de ZF 2

@delprog :

Le ZF2 n'est pas du tout une adaptation du ZF1 pour PHP5.3. Là on en est au milestone 1. On a 6 milestones prévus. Le milestone 4 (MVC) est celui qui devrait le plus t'intéresser.

Va voir la page Milestones du wiki :
http://framework.zend.com/wiki/display/ … Milestones

On en est au milestone 1, la modification du MVC arrive au milestone 4.

Si tu veux des précisions sur ce qui va changer dans le MVC, il y a pas mal de proposals en cours et de modifications d'architectures prévues qui sont documentées dans la page de Roadmap :
http://framework.zend.com/wiki/display/ … .0+Roadmap

Globalement, ça va dans ton sens :
- le ZF2 devrait être beaucoup plus extensible grace :
-- au nettoyage des singletons
-- à l'utilisation systématique d'interfaces
- le MVC est largement revu (cf page de roadmap avec toutes les proposals autour de Zend\Controller et Zend\View) avec un système simple et séduisant autour d'une machine à état. On verra à quoi ça ressemble à l'arrivée, mais sur le papier, c'est sympa.


Par contre exit la couche de modèle, le ZF2 ne proposera a priori que le contrôleur et la vue.

Bref si vous êtes intéressés par le ZF2, regardez de près la page d'entée du ZF2 dans le wiki. Elle mène vers beaucoup d'informations :
http://framework.zend.com/wiki/display/ZFDEV2/Home

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#10 23-08-2010 22:46:43

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: Questionnement autour de ZF 2

Pour la partie modèle, entity il me semblait que ZF annonçait une intégration simplifiée de Doctrine 2. J'aurai raté un épisode?

Hors ligne

 

#11 24-08-2010 08:23:58

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Questionnement autour de ZF 2

Effectivement, j'ai lu ça aussi. Le ZF2 devrait bien proposer une intégration avec Doctrine 2. Par contre ça ne sera pas une intégration "en dur" avec Doctrine 2 qui serait utilisé partout dans le ZF.

Je pense que Doctrine 2 serait un module optionnel un peu comme peut l'être Zend\Pdf ou Zend\Barcode ou autre...

Je n'ai pas beaucoup d'infos fiables là dessus, mais c'est un peu la teneur de ce que j'ai pu voir dans les mailing lists.

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#12 24-08-2010 09:11:54

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Questionnement autour de ZF 2

Hello,

@philippe :

Oui j'ai lu le wiki en long en large et en travers (et j'espionne le chan IRC des contributeurs) smile
J'ai d'ailleurs posé des questions sur Nabble et j'ai eu quelques éléments de réponse (de Matthew).

J'ai mis quelques remarques sur le wiki aussi, notamment pour Zend_Form 2.0 qui a mon avis sera un élément clé (sans parler de la partie html que je n'utilise de toute façon pas). J'espère vraiment qu'ils vont l'articuler pour fonctionner étroitement avec le modèle métier de l'application.


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#13 24-08-2010 09:47:01

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Questionnement autour de ZF 2

@Delprog

J'espère vraiment qu'ils vont l'articuler pour fonctionner étroitement avec le modèle métier de l'application.

Moi je suis un peu sceptique là dessus. J'avoue que j'aime bien l'idée que le ZF2 soit assez décorrelé du modèle.

Le modèle peut être très hétérogène (des données enregistrées en base, ou dans des fichiers, ou dans une base no-sql, dans des services web interrogés à distance, dans des services locaux,...). Perso, j'aime bien l'idée de pouvoir mettre ce que je veux dans la couche modèle.

Doctrine 2 a l'air prometteur, mais pour mes projets, ça resterait plutôt une "couche basse" de mon modèle. Ca ne gèrerait qu'un aspect de mon modèle (les accès en base quand je gère moi même la base).

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#14 24-08-2010 10:29:46

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: Questionnement autour de ZF 2

Je parle surtout des entités. Le mot "étroitement" est peut être mal choisi smile

Comme je l'explique dans mon exemple sur le wiki, pour simplifier la plupart des cas d'utilisations il faudrait pouvoir (de manière facultative) faire fonctionner les objets métiers et Zend_Form ensemble. Après l'objet peut être ce que tu veux, du moment qu'il respecte des règles simples comme des getters/setters bien formatés par ex.

Je reprend l'exemple du wiki :

Code:

class Foo 
{ 
    protected $bar; 
    protected $baz; 
 
    public function getBar() 
    { 
        return $this->bar; 
    } 
       
    public function setBar($bar) 
    { 
        $this->bar = $bar; 
        return $this; 
    } 
 
    public function getBaz() 
    { 
        return $this->baz; 
    } 
       
    public function setBaz($baz) 
    { 
        $this->baz = $baz; 
        return $this; 
    } 
}

Code:

$foo = new Foo(); 
$form = new FooForm(array(), $foo); 
// filters, sets form data and populate object if it exists. 
$form->setData(array('bar' => 'some value', 'baz' => 'other value')); // or $_POST or other 
 
$foo = new Foo(); 
$foo->setBar('some value'); 
 
$form = new FooForm(array(), $foo); 
$form->getElement('bar')->getValue(); 
// some value

Comme les validateurs vont être vraiment détachés, il sera facile de créer des validateurs "métier" dans une autre couche de l'application. Le controller lui, s'occuperait simplement de "binder" les données sur le formulaire, le formulaire filtre les données et peuple (entièrement ou en parti) un objet. C'est ensuite l'objet qui passe dans les couches suivantes et non pas le formulaire.

Ce type de fonctionnalité ferait gagner un temps considérable de dév. et réduirait aussi pas mal le nombre de lignes code.

Le gros avantage de Doctrine 2 là dedans, c'est qu'on ne soucie pas un seul instant de la persistance puisque les entités sont de véritables objets PHP dont les classes n'étendent plus de classe doctrine. On y arrive, doucement, mais on commence à avoir des outils qui permettent vraiment de bien détacher nos objets métier et ça serait bien de continuer dans cette voie en facilitant les process comme les gestions de formulaires qui restent aujourd'hui un peu fastidieuses.

Aujourd'hui, c'est le genre de possibilité qui seront déterminantes pour moi dans le choix d'un framework PHP pour nos prochains projets. Au moins on retourne à l'origine du problème et les développeurs se concentreront sur le modèle métier (le coeur de l'application), plutôt que sur la compréhension du framework smile


A+ benjamin.

Dernière modification par Delprog (24-08-2010 10:37:06)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#15 24-08-2010 11:59:24

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Questionnement autour de ZF 2

@Delprog : effectivement, là je suis plus en phase avec l'approche smile

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages