Un framework ? ok... mais lequel !?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Un framework ? ok... mais lequel !?

par angiep » 13 déc. 2007, 17:20

ok merci
le truc c que je n'est pas trop le choix, je doit utiliser un framwork et ce sera certainement "P4A".
Merci

Re: debute en php

par AB » 13 déc. 2007, 17:16

Bonjour,
je debute en php, j'ai donc decider de me mettre au frameWork, il m'en faut un pour php4 et je ne sait pas lequel choisir. Pouvez-vous m'aider?
De plus j'essaye de mettre en place une arborescence structurer mais je ne sait pas trop par ou commencer? header.....
Merci de votre aide
Je ne pense pas que ce soit la bonne méthode de se mettre au framwork quand on débute. Mieux vaut commencer par avoir de bonnes bases avant de vouloir augmenter sa productivité.

Pour ta deuxième question, le mieux serait d'ouvrir un autre topic en expliquant plus en détail tes besoins :wink:

debute en php

par angiep » 13 déc. 2007, 16:51

Bonjour,
je debute en php, j'ai donc decider de me mettre au frameWork, il m'en faut un pour php4 et je ne sait pas lequel choisir. Pouvez-vous m'aider?
De plus j'essaye de mettre en place une arborescence structurer mais je ne sait pas trop par ou commencer? header.....
Merci de votre aide

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Xenon_54 » 11 déc. 2007, 08:24

Si vous comprenez l'anglais, je vous invite à écouter ce podcast de PHP Abstract:
http://devzone.zend.com/article/2537-PH ... Frameworks

Une petite présentation sur la différence entre les frameworks est faite. On y parle des "Glue Frameworks" et des "Full stack frameworks". Très intéressant.

Vous y apprendez que Zend Framework ne fait pas partie du même groupe de frameworks que Symfony par exemple.

par GeraldC » 10 déc. 2007, 18:42

Bonjour, je me permet de répondre à ce message pour y apporter quelques compléments.
[*]À chacune de nos mises à jour du framework, la compatibilité ascendante a été brisée
L'une des nouveautés de Copix version 3 (pour PHP5) est justement d'assurer cette compatibilité ascendante. C'est aujourd'hui une volonté forte de l'équipe de développement (pour ne pas reproduire les erreurs de la version 2).
[*]Pas de tests unitaires (donc pas possible de vérifier cette compatibilité ascendante avant de faire l'upgrade)
Il existe des tests unitaires dans Copix, il utilise PHPUnit comme framework de test. Un module (copixtest) permet de plus de lancer les tests de façon intégrée a l'application.
[*]Beaucoup de petites choses mal pensées voire frôlant l'amateurisme, j'en prends une au hasard parce qu'elle me vient en tête : pour savoir dans quelle module ou actiongroup on se trouve (dans une zone ça peut être très utile par exemple) il faut lire _request('module') ou _request('groupe'). Implication immédiate, si tu veux passer un champ de formulaire nommé "module", il vaut mieux t'abstenir :)
La, c'est très subjectif.... entre mal pensé / mal comprises / choix de conception, la frontière est souvent minime.

Il existe en effet trois paramètres réservés pour diriger un internaute vers une action (module, group et action). Maintenant, je crois qu'il n'existe pas d'autre solution magique afin de permettre cette manipulation sans demander au développeur ou à l'administrateur système d'ouvrir les .htaccess ou autres configurations serveur.

Le choix de Copix est de proposer 3 paramètres figés pour toute l'application, c'est historique et cela n'a jamais posé de problème en 7 ans d'utilisation.
[*]La doc est très incomplète,
C'est vrai, la documentation est toujours en cours de rédaction, mais elle se complète de jour en jour. Pour les problèmes concrets, il existe un forum (http://forum.copix.org) ou les développeurs répondent aux questions en quelques heures tout au plus.
et l'API... Parfois on a l'impression qu'ils ont fait de l'objet histoire de dire que c'est POO, mais le nombre de classes avec seulement une ou deux méthodes est hallucinant
Oula, ça je ne peux le laisser passer :-)
Rien n'est fait "histoire de" faire de la POO. Copix est développé et utilise dans sa conception tout un tas de Design Patterns (Factory pour les classes, Singleton pour la config, Builder pour les DAO, bien évidemment MVC, Proxy pour les classes de session, Oserver pour les évènements, ...)

et pour les droits que tu cites ici :
(rien que pour brancher le système d'identification sur une classe perso, ou surcharger le système de vérification des credentials, rien n'est prévu ou alors très limité, c'est décourageant :( ).
Le système de droit fonctionne sur un principe de chaine de responsabilité. Il t'es ainsi possible de remplacer tout ou partie du système d'authentification, de rajouter des systèmes de droits, des systèmes de groupe, ...

J'avoue toutefois que cette partie n'est pas encore complètement documentée, d'ou la probable incompréhension.

J'insiste sur le fait qu'il ne faut pas hésiter à utiliser le forum en cas de problèmes d'utilisation, les développeurs répondent très rapidement !

Merci en tout cas pour le retour d'expérience, cela donne des pistes d'amélioration !!

par mere-teresa » 10 déc. 2007, 10:36

Via Nexen, j'ai trouvé un comparatif rapide (en anglais) de Symfony et Zend Framework
http://www.karlkatzke.com/php-symfony-vs-zend/

par momox » 07 déc. 2007, 21:51

Le problème actuel je trouve avec les frameworks, c'est qu'on aimerait avoir certains elements de l'un, certains de l'autre, etc...
Moi j'aimerais bien par exemple, la gestion des formulaire et la gestion d'erreurs de prado et la simplicité de cakePHP.
Mais bon, actuellement, j'en suis a me faire ma ptite boite à outil en devellopant ce dont j'ai besoin... :/ surtout au niveau du controlleur, ou j'aime bien avoir une hierarchie application > controlleur > action au niveau du routeur, ce qui me permet plus de fléxibilité :)
Voila mon avis ;)

par FredoMkb » 07 déc. 2007, 20:01

Merci AB et Naholyr pour vos réponses :)

AB, évidemment, comme je le disais au début de ce sujet, tout dépend de la réalisation à faire, certains frameworks sont plus adaptés à tel ou tel développement, mais à mon niveau, je suis encore incapable de faire justement cette différence, c'est un peu le but du topic, arriver à dégager les grandes lignes des principaux produits existants aujourd'hui, tout en sachant que rien n'est figé dans le marbre et qu'une solution plutôt orientée CMS peut très bien évoluer et proposer d'autres champs d'utilisation...

Bref, avec les remarques des uns et des autres, on pourra peut-être y voir plus clair quant aux possibilités offertes par chaque produit... je le souhaite en tout cas :)

Naholyr, merci beaucoup pour ces remarques fort intéressantes, c'est justement ce type de retour d'expérience qui permettra de mieux dessiner les points forts et faibles de chaque solution, ceci dit, en ce qui me concerne, les considérations de prod ne font pas encore partie des critères que je retiens, ça viendra peut-être plus tard, pour l'instant c'est la simplicité de la prise en main et l'accès à la documentation qui dictent le plus mes choix, même si je sais parfaitement que ce ne sont absolument pas les arguments principaux qui définissent la qualité de ces produits, mais j'en suis là pour le moment...

Enfin, tout ça pour dire que pour l'instant je n'ai pas arrêté un choix définitif, j'explore encore peu à peu les différentes doc (je suis moins à l'aise avec l'anglais j'avoue), je passerais ensuite à une étape de test de deux ou trois produits qui me paraîtront les plus accessibles à mon niveau et susceptibles de correspondre aux projets que j'ai envie de réaliser... donc tout ça va évoluer doucement dans les semaines à venir, on verra quelles solutions retiendront finalement mon adhésion...

Merci en tout cas pour vos témoignages, ils permettent peu à peu d'y voir plus clair :merci:

à+ :)

par naholyr » 07 déc. 2007, 18:24

Fais très attention avec Copix, je travaille avec au boulot et on a beaucoup de problèmes avec, qui me font penser qu'il est loin d'être utilisable en prod sans le maîtriser vraiment à fond :
  • À chacune de nos mises à jour du framework, la compatibilité ascendante a été brisée
  • Pas de tests unitaires (donc pas possible de vérifier cette compatibilité ascendante avant de faire l'upgrade)
  • Beaucoup de petites choses mal pensées voire frôlant l'amateurisme, j'en prends une au hasard parce qu'elle me vient en tête : pour savoir dans quelle module ou actiongroup on se trouve (dans une zone ça peut être très utile par exemple) il faut lire _request('module') ou _request('groupe'). Implication immédiate, si tu veux passer un champ de formulaire nommé "module", il vaut mieux t'abstenir :)
  • La doc est très incomplète, et l'API... Parfois on a l'impression qu'ils ont fait de l'objet histoire de dire que c'est POO, mais le nombre de classes avec seulement une ou deux méthodes est hallucinant, cela a un impact immédiat sur la souplesse du système (rien que pour brancher le système d'identification sur une classe perso, ou surcharger le système de vérification des credentials, rien n'est prévu ou alors très limité, c'est décourageant :( ).
Attention, à part ça c'est un bon produit, qui a le mérite d'être assez simple à prendre en main et avec une communauté active. Mais pour une utilisation professionnelle je dirais qu'il n'est pas encore pret.



Edit : quant au message de Rasmus, je crois hélas qu'il est encore sur les discours qu'il tenait du temps de PHP3, je ne suis pas sûr qu'il soit aujourd'hui à la même vitesse d'évolution que son langage (on dit parfois la même chose de Linus Torvalds, il y a certainement du vrai dans les deux cas).

par AB » 07 déc. 2007, 16:32

...

En fait, tu vas devoir choisir un fmwk en fonction de ton besoin :)
D'ailleurs selon le créateur du langage PHP :

"Répondant à nos questions en privé à l'issue de son intervention, Rasmus Lerdorf a encore expliqué que les performances étaient tributaires de l'utilisation ou non d'un framework. De fait, les cadres applicatifs censés améliorer la productivité des développeurs et assurer un déploiement optimisé sont légion. Or, pour lui, les frameworks n'améliorent vraiment la productivité que de ceux qui les ont conçus, car ils les connaissent très bien. « Et si vous avez des problèmes de performance, il est difficile d'en sortir. » Le mieux serait encore de bien identifier son besoin, et de personnaliser un framework, voire de se créer son propre framework bien spécifique."

Source
http://www.lemondeinformatique.fr/actua ... 24646.html

par FredoMkb » 07 déc. 2007, 01:58

Merci Pascaltje et Mere-Teresa pour les précisions à propos du terme "granularité"... et merci Momox pour ton témoignage... :)

J'ai passé un petit moment ce soir à regarder le site de Copix, et ça à l'air vraiment très bien, j'apprécie tout particulièrement le fait de pouvoir lire la doc et les tutos en français, c'est tellement plus facile pour moi, contrairement aux autres solutions, comme Zend, dont tout est exclusivement en anglais... enfin bon, je ne veux pas relancer l'éternel débat sur la langue en programmation, mais j'avoue que si les projets les plus importants proposaient leur doc en plusieurs langues, ce serait vachement plus accessible pour tout ceux qui ne maîtrisent pas bien l'anglais... ;)

Bon, concrètement, le choix n'est pas évident à faire en fait, car la plupart paraissent assez puissants et fort bien conçus, il va être difficile de savoir lequel est le mieux adapté à tel ou tel développement, à moins de les tester les uns après les autres... et encore...

Alors, pour le moment mon choix se porte naturellement sur Copix, car c'est celui que j'arrive le mieux à comprendre, et puis j'ai l'impression que c'est un projet autour duquel gravite une communauté d'utilisateurs assez importante (toute proportion gardée en comparaison avec les d'autres projets les plus populaires)...

Bref, je continue à regarder tout ça dans les jours et semaines à venir, peut-être que d'autres avis ou témoignages me donneront plus d'infos sur les autres solutions... je laisse donc le topic ouvert afin que d'autres puissent s'exprimer...

Merci à tous pour vos contributions... à+ :)

par momox » 06 déc. 2007, 22:36

Personnellement, j'apprècie ZendFramework mais quelques petites choses me manquent dessus.
Par exemple, la gestion des formulaires :)
C'est quelque chose que j'apprécie particulièrement.
J'ai d'ailleurs commencé a develloper une classe prévue a cet effet ;)
@+

par pascaltje » 06 déc. 2007, 19:09

Par ailleurs, pardon pour mon ignorance, mais qu'entends tu par "granularité de la config" ? :shock:
on peut configurer des choses à différents niveaux :
_ le site global
_ l'application ( front end / back end, etc )
_ le module ( gestion de tel ou tel truc )

et la ligne de commande, c'est top !
il y a un peu de boulot pour la faire fonctionner, mais ensuite ça aide pas mal en automatisant les tâches sans valeur ajoutée.

A+

Pascal

par mere-teresa » 06 déc. 2007, 18:29

Granularité de la config == le fait de pouvoir avoir des configs +/- fines selon l'importance du projet

Sympfony a été créé pour des grands comptes, il est orienté usage pro et intégration en entreprise (LDAP, p ex).
Zend Fwk est très compatible avec la Zend Platform (produit commercial) qui permet de monitorer son appli web sur le serveur.
Voilà pour les deux avec lesquels j'ai le plus bossé.

En fait, tu vas devoir choisir un fmwk en fonction de ton besoin :)

par FredoMkb » 06 déc. 2007, 18:17

Merci Pascaltje pour ta réponse...
symfony est chouette pour :
_ sa documentation abondante
_ sa communauté
_ son mode ligne de commande : hop, on effectue un boulot monstre automatiquement en lançant une commande
_ son générateur d'interfaces d'admin
_ ses fichiers de config en yaml, très lisibles humainement, et permettant une granularité de la config
_ ses plug ins
Symfony semble en effet une solution assez complète, d'ailleurs il bénéficie d'une très bonne réputation en général (selon ce que j'ai pu voir ci et là lors de mes recherches internet).

En revanche, même si c'est un atout pour certains, le mode en ligne de commande n'est pas quelque chose qui me séduit à priori s'il s'agit d'une fonctionnalité non optionnelle, ceci dit, faudrait que je regarde tout ça de plus près pour me forger une opinion plus juste de l'outil...

Par ailleurs, pardon pour mon ignorance, mais qu'entends tu par "granularité de la config" ? :shock:

on en a discuté assez longuement sur ce sujet :
http://www.phpfrance.com/forums/voir_sujet-31761.php
En effet, avant d'ouvrir ce topic, j'ai fais une recherche sur le forum et j'ai consulté quelques sujets très intéressants, dont celui que tu mentionnes (que j'ai lu in extenso, débat de fond très instructif), mais je n'ai malheureusement pas trouvé de sujet où on pouvait se faire une petite idée des avantages et inconvénients des différentes solutions "sérieuses" existants aujourd'hui, c'est pourquoi j'ai lancé ce sujet, que j'espère pourra fournir, à terme, quelques pistes utiles pour faire des choix selon les besoins de chacun...

Encore merci pour ta réponse... encore d'autres avis à partager ? :)