8722 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

jb_gfx a écrit :
En 3 ans : 4 versions majeures toutes incompatibles les unes avec les autres.
- Chaque version mineure casse la compatibilité avec les précédentes et les mises à jour sont super galères à mettre en place.
C'est ce qui me fait un peu peur avec ce frameworks.
Sur des tout petit projet j'ai aussi du mal avec le nombre de fichiers et son poids. C'est pas si anodin quand il faut faire les backups, les transferts, la maintenance...
Modifié par benj (11 Feb 2014 - 23:25)
Et pour un gros projet sans équipe, tu conseillerais de se tourner vers lequel ?

Zend et Symphony me semblent gros et lourds à apprendre.
Je pensais me pencher sur Laravel mais l'incompatibilité ne me rassure pas, d'autant que le projet devrait rester en place plusieurs années.

Plutôt Cake ou Yii ? Quels sont vraiment les avantages de l'un et de l'autre ? (et leurs désavantages en cadeau)
@jb_gfx, un grand merci pour ton retour argumenté et très clair ! On commence à mieux y voir Smiley smile

benj a écrit :

jb_gfx a écrit :
En 3 ans : 4 versions majeures toutes incompatibles les unes avec les autres.
- Chaque version mineure casse la compatibilité avec les précédentes et les mises à jour sont super galères à mettre en place.


C'est ce qui me fait un peu peur avec ce frameworks.
Sur des tout petit projet j'ai aussi du mal avec le nombre de fichiers et son poids. C'est pas si anodin quand il faut faire les backups, les transferts, la maintenance...


Après discussion avec un développeur pas plus tard qu'hier, il semblerait que ce soit la tare de tous les frameworks. A chaque upgrade, une philosophie nouvelle qui contraint à rayer quasi intégralement la précédente. Il parait que c'est comme ça aussi avec CakePHP, par exemple...
Donc ce n'est que que Zend ou Symfony qui tendent à tout révolutionner.

Il semblerait qu'une petite tare de Cake soit d'imposer l'anglais et de changer le nom des classes en fonction qu'elles sont au singulier ou au pluriel, c'est possible? (ex: person -> people?)

En fonction des retours que j'ai, je me tâte encore entre Yii et Laravel... Mais la doc en français est moins courante que pour CakePHP, j'ai l'impression.

Enfin, la question de Lothindil est pertinente... Il y a les projets avec grosses équipes, les projets avec petite équipe (PME) ou... les projets sans équipe, et c'est aussi dans ce dernier cas que je me trouve (pour un travail de fin d'études). J'imagine qu'on est forcé de se mettre au diapason des petites équipes, en tant que loups solitaires...
Reka a écrit :
Après discussion avec un développeur pas plus tard qu'hier, il semblerait que ce soit la tare de tous les frameworks. A chaque upgrade, une philosophie nouvelle qui contraint à rayer quasi intégralement la précédente. Il parait que c'est comme ça aussi avec CakePHP, par exemple...
Entre la version 2 et 3 de CakePHP, il y a plus de 2 ans ! C'est un code quand même beaucoup plus stable.
benj a écrit :
Entre la version 2 et 3 de CakePHP, il y a plus de 2 ans ! C'est un code quand même beaucoup plus stable.


Oui,... C'est très bien de faire gagner son appli en stabilité. Essentiel, même, j'en conviens... mais ça n'empêche qu'il faut quand même tout revoir et refaire Smiley sweatdrop Smiley biggrin

Ca fait peur... Smiley cligne
Modifié par Reka (14 Feb 2014 - 10:39)
Non tu ne refais pas tout parce que tu changes de versions majeures d'un framework ou même si tu changes de framework. Si tu en viens à devoir tout refaire c'est que tu as mal conçu ton application.
jb_gfx a écrit :
Non tu ne refais pas tout parce que tu changes de versions majeures d'un framework ou même si tu changes de framework. Si tu en viens à devoir tout refaire c'est que tu as mal conçu ton application.


D'accord.
Mais comment sait-on si l'on conçoit proprement ou pas l'application ?
Je veux dire, outre le cas code spaghetti, par exemple, n'est-il pas nécessaire de se confronter au moins une fois au changement majeur d'un framework pour se rendre compte de ce qu'il aurait fallu ne pas faire?
C'est ce qui me fait peur...
Reka a écrit :

Mais comment sait-on si l'on conçoit proprement ou pas l'application ?


Sans parler d'architecture (de toute façon j'ai pas le niveau pour donner de bons conseils à ce niveau) il faut externaliser au maximum le code métier dans des bibliothèques externes. Et même en priorité utiliser des bibliothèques open source existantes.

Ce qui a aussi le vent en poupe ce sont les packages pour des fonctionnalités de bas niveau tel que les gestion des utilisateurs indépendants des frameworks eux même. Par exemple Sentry pour la gestion des autorisations et de l’authentification.

Reka a écrit :

Je veux dire, outre le cas code spaghetti, par exemple, n'est-il pas nécessaire de se confronter au moins une fois au changement majeur d'un framework pour se rendre compte de ce qu'il aurait fallu ne pas faire?


De toute façon t'aura au moins un peu de code à réécrire faut pas rêver. Smiley smile Mais si tu as pas exemple utilisé un ORM tiers, non attaché à ton framework, tu n'auras pas à réécrire tes requêtes à la base de données. Exemple : remplacer l'ORM de Laravel par Doctrine.

Reka a écrit :

C'est ce qui me fait peur...


Faut pas avoir peur, au contraire, faut se lancer. Smiley lol
jb_gfx a écrit :

Faut pas avoir peur, au contraire, faut se lancer. Smiley lol


C'est ce que je vais faire... J'amorce un premier test dès la fin de ce mois Smiley cligne
Vous aurez sûrement de mes nouvelles si les obstacles que je rencontre n'ont pas été traités ou résolus sur le forum (j'ai la vague impression que je vais ramer au début... Smiley confus )

Merci encore pour vos éclaircissements dans cette discussion !
Bonjour,

Juste à titre d'information, les seuls Frameworks enseignés en licence professionnel sont Zend Framework 2 et Symfony 2, on appréhende CodeIgniter dans certains BTS/DUT, et c'est tout.

En Master on fait plutôt du Java et du JEE, donc c'est un autre monde.
Modifié par ohweb (18 Feb 2014 - 14:36)
Reka a écrit :
Bonjour,
...
Parmi les frameworks, j'aurais tendance à écarter ceux qui ont la réputation d'être extrêmement compliqués à prendre en main tels que Zend ou Symfony parce que je manque d'expérience et de temps pour m'y investir.
Mais des frameworks tels que CakePHP, Yii, Laravel ou CodeIgniter me permettraient-ils d'arriver à mes fins, selon vous?

Je preneuse de retours d'expérience et de réactions quant à la question.

Si ce n'est pas trop tard, j'étais dans un cas un peu similaire, souhaitant réaliser plusieurs sites web en dehors du cadre professionnel, donc avec un temps d'investissement forcément limité, et en plus avec une connaissance "limitée" (une assez bonne connaissance du web, mais une connaissance faible de PHP et du MVC); j'ai commencé a essayer Symfony - le "must" du moment, qui plus est français, en version 1. Dur dur... Au moment ou - mais en étant encore très très loin de maitriser le framework qui de plus bougeait pas mal - je commençai à réussir à générer un petit backend (générator intégré), paf abandon de la version 1, passage à la 2, sans générator intégré. Le générator a été externalisé, n'était pas stabilisé, et était devenu une usine à gaz (pour quelqu'un comme moi). Bref, retour à 0, et perte de motivation.
Je n'en veux pas à Symfony, quel que soit le framework, lors du passage à une version majeure, il y a un fort risque de changements potentiellement importants, donc sans compatibilité. C'est ou cela a été le lot de tout les frameworks.

La règle n° 1 pour moi, c'est de partir sur une version stabilisée, déjà utilisée. Ensuite lors d'un changement de version majeure, rien n'oblige à suivre si son site perso est quasi terminé.... Par contre, si la version sort alors que l'on ne maitrise pas la version précédente, ça vaut le coup de réfléchir (car la communauté va petit à petit délaisser cette version)... mais ça coûte cher en temps.
D'où la règle 2 : choisir un framework avec lequel on va pouvoir être opérationnel assez rapidement. Et ça, ça dépend pas mal de son niveau de départ, et des tutoriaux trouvables sur le net. Si très bon niveau (en framework + Php + objet), Symfony 2.x peut clairement être un très bon choix. Communauté, support, etc. Mais si les connaissances sont plus limitées, au contraire, il me semble largement à éviter.

Suite à cet échec, je me suis retrouvé à chercher sur les cakephp, codeigniter, yii, jelix et beaucoup d'autres... Mais étant un peu dépité par mon expérience passée, je l'étais encore plus à la lecture des docs, parfois très difficile d'accès, incomplètes, ou indiquant une "magie"... qui me semblait plus incompréhensible que magique ! Sans compter les "la prochaine version est en cours et sera mieux"... Puis est sorti laravel 3 dont lcertains parlaient beaucoup en terme de facilité .. Après quelques petits essais persos prometteurs, pouf, sortie de laravel 4. Incompatible. Groumpf, un peu comme symfony, à la différence près que le temps de prise en main (je ne dis pas de maîtrise complète) m'avait vraiment semblé énormément plus court. J'ai donc continué sur Laravel 4, et je ne le regrette pas. Le ratio résultat/investissement me semble vraiment honnête. (et en passant, le changement de version mineure 4 vers 4.1 est guidé et a été vraiment facile... ce qui ne prouve pas que les suivants s'il y en a le seront autant !)

Maintenant il ne faut pas rêver, quelque soit le framework choisi:
- la doc même lorsqu'elle est bonne ne suffit pas (elle montre les "cas" principaux, mais c'est bizarre, elle ne détaille jamais votre problème personnel Smiley smile ,
- il faut se préparer à se baser sur (et à échanger avec) la ou les communautés,
- il faut un minimum de formation, commencer par exemple par copier un exemple ou un tuto existant pour se faire la main (l'idéal est d'en trouver un que l'on pourra utiliser comme base de départ si c'est possible, ce qui est un énorme avantage !),
- Il faut pour des besoins spécifiques se préparer à devoir chercher et tester des extensions (plug-in, bundle, package, etc) développés par des utilisateurs,
- il faut se préparer à d'éventuels ajustements lié à des corrections ou à des changements de versions... si on souhaite les suivre,
- et j'en oublie surement Smiley smile
Bref même avec un "bon" (pour vous) framework, ce n'est pas non plus un long fleuve tranquille... (mais quand même en tout état de cause plus tranquille et moins prise de tête qu'avec du PHP pur)

Good luck!
Merci bdfi.
Ton commentaire vient à point, j'ai commencé en autodidacte la découverte de plusieurs frameworks en même temps hier après midi ! Plusieurs oui. J'ai simultanément brouté Yii, Laravel, CakePHP et Elgg.
Comme je me suis cassé les dents pour l'installation du premier (ces fichues lignes de commande appelables via le terminal qui ne réagissent qu'en termes d'erreurs...), j'ai tenté de voir si je me cassais les dents avec d'autres. Et oui ! Tous m'ont envoyée baldinguer pour mieux souffrir mon statut de chétive et minable débutante. Moral en confettis.
Je savais que je n'allais pas être confrontée à un fleuve tranquille, mais au point de ne pas parvenir à tenir debout lors de mes premiers pas dans le sable, quand même...
Je vais tenter de réattaquer cette semaine, mais non sans crainte... C'est vrai qu'il y a de quoi être découragé.
Reka a écrit :
Merci bdfi.
Ton commentaire vient à point, j'ai commencé en autodidacte la découverte de plusieurs frameworks en même temps hier après midi ! Plusieurs oui. J'ai simultanément brouté Yii, Laravel, CakePHP et Elgg.
Comme je me suis cassé les dents pour l'installation du premier (ces fichues lignes de commande appelables via le terminal qui ne réagissent qu'en termes d'erreurs...), j'ai tenté de voir si je me cassais les dents avec d'autres. Et oui ! Tous m'ont envoyée baldinguer pour mieux souffrir mon statut de chétive et minable débutante. Moral en confettis.
Je savais que je n'allais pas être confrontée à un fleuve tranquille, mais au point de ne pas parvenir à tenir debout lors de mes premiers pas dans le sable, quand même...
Je vais tenter de réattaquer cette semaine, mais non sans crainte... C'est vrai qu'il y a de quoi être découragé.


Bonjour,
Je pense que ce qu'il te faut en tant que débutante et voulant t'initier à une tâche parfois hasardeuse (l'apprentissage d'un framework), c'est un support de cours, autrement dit un livre partant du début avec des TP concrets, ou encore un DVD.

Il existe aujourd'hui de nombreux ouvrages français sur les frameworks PHP édités chez eni ou eyrolles par exemple... Il y a aussi la piste des tutoriels, mais leur défaut est qu'ils sont la plupart du temps incomplets ou peu clairs, aussi je recommande le livre.
Bonjour Ohweb,
Merci du conseil.
Je suis les tutoriels et procédures en ligne. Il y a pas mal de sites qui décrivent la prise en main de frameworks pas à pas...
J'ai déjà repéré le bouquin sur Symfony 2 chez Eni, j'ai failli l'acquérir.
Mais il y a par ailleurs des paquets de ressources disponibles, qui s'adressent notamment au débutant, donc je vais essayer de faire avec le trésor à ma disposition, parce qu'il y a pléthore sur le web, déjà.
Si ça ne va pas, je suivrai ton conseil et irai faire l'acquisition d'un bouquin en librairie Smiley smile
Je ne vais pas entre dans le débat mais pour rajouter un élément à la liste je vais citer le micro-framework Silex. Celui-ci se base sur les composants de Symfony (et est d'ailleurs développé par Fabien Potencier, le lead développeur de Symphony).

L'avantage de ce framework est que comparé à Symfony il n'impose pas de réelle structure au projet comme ça peut être le cas avec Symfony ou Zend, tout en profitant des fonctionnalisés de tous les composants Symfony (Routing, Templating, Security, ORM Doctrine...).

Pour les petits projets (et même les plus gros en mettant en place une structure propre et extensible) c'est une excellente solution que je recommande. D'autant plus si vous souhaitez par la suite apprendre à utiliser directement le framework Symfony car ce sont les mêmes composants donc très similaire.

Le plus simple si vous souhaitez l'essayer est de partir du skeleton proposé par Fabien Potencier : https://github.com/silexphp/Silex-Skeleton
Modifié par moust (03 Mar 2014 - 19:21)
Je vais juste parler de mon "expérience" des framework PHP. Je suis dev amateur, et j'ai testé quelques framework sans aller très loin (CakePHP, CodeIgniter, Symfony). Puis au détour d'un article, je suis tombé sur la version 4 de Laravel. Après quelques tutos suivis (notamment sur Laracasts, et ICI), le framework s'est révélé simple à prendre en main et redoutablement efficace. D'une fois que tu as pigé le mécanisme, monter un CRUD ne prend que peu de temps à partir d'un projet vierge.

Enfin voilà, je suis donc convaincu par Laravel pour le moment Smiley smile

Bonne continuation !
Pages :