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

,
- 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
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!