Codeigniter 2.0.2 :
- Un des framework les plus légers sur le marché
- Une documentation très fournie, et une communauté très active, il y a beaucoup plus de tutoriels et de gens prêts à aider que sur Cake
- Beaucoup de plugins de dispo : pour les modules, l'authentification, avoir un ORM lié au système ActiveRecord de Codeigniter
- Possibilité d'installer Doctrine très simplement, ce qui pour moi est un gros plus
- Très facile à apprendre, on peut apprendre directement en réalisant son projet
- Pas de règle de programmation imposée, tu codes comme tu veux
- Beaucoup de helpers originaux intégrés, pour créer un panier, un calendrier, la manipulation d'images... qui ne le sont pas ailleurs
CakePhp 1.3.10 :
- Un ORM très poussé pour les model
- Beaucoup de helpers intégré contrairement à Codeigniter ou tu devras pour la plupard les coder à la main
- Un système de routing plus poussé que Codeigniter
- La "CakePhp magic" aide pas mal, En effet CakePhp va t'aider à coder tout et ce très simplement.
- La génération de code via la console, pratique pour créer les modèles et des CRUD
- L'authentification intégrée et pratiquement automatique. Bien qu'elle ne soit plus automatique dans la v2 de Cake
- Une très bonne documentation sur le site officiel avec le Cookbook mais malheureusement peu de sites qui disposent de tutoriels. Grafikart étant mon préféré jusqu'ici pour tout ce qui est resources de CakePhp (et tout ce qui est tutoriels vidéos, je les trouve plus sympa que les autres dtf :p)
Pour ce qui est de Symfony et Zend, ils ont la réputation d'être compliqués. Zend est actuellement un ensemble de libraries, tu n'es pas obligé de l'utiliser en tant que Framework. Mais il est certes très compliqué comparé à la concurrence, et je ne trouve pas qu'il nous simplifie vraiment le travail, c'est long et "chiant" il faut l'avouer de coder avec Zend. Pour créer un modèle, il faut que tu fasses à la main, le Model, la base et le mapper, et qu'en plus tu y imbriques les fonctions "basiques" à chaque fois. Je ne trouve pas ça franchement très intuitif mais ce n'est que mon avis.
Pour Symfony, certes il a cette réputation mais au final il est aussi facile d'accès que CakePhp. C'est juste une autre approche d'une façon de coder. Je parle ici de la version 1.4, je suis à peine à commencer à me pencher sur la v2, et là il s'agit d'une autre approche encore. Symfony est magique sur certains points. Le système de routing est particulièrement bien pensé et pratique pour générer ton code. Il se base sur Doctrine pour à peu prêt tout ce que tu veux faire dans ton architecture. Tu créé ton routing avec des sfDoctrineRoute, Doctrine interprète ton url et créé l'objet de requête lui étant lié. Il peut générer automatiquement les slugs sans que tu aies à lui demander, et tu n'es pas "obligé" (bien sur on peut contourner ça partout mais moins facilement) de lui demander de les éditer ou de les enregistrer.
Imaginons que tu aies un blog et que tu veuilles faire tes liens de la forme http://monsite.com/blog/nom-du-post-dans-le-blog, tu déclare un ActAs Sluggable dans ton schéma de base de données, tu créé et dis que ta route devra générer un objet (2 lignes jusqu'ici), et avec une 3ème ligne tu récupère l'objet créé automatiquement lors de l'appel de la page. Il n'y a plus qu'à utiliser les résultats de ta requête, et ta route, ton controller et ta vue sont crées. De plus, il joue comme cakephp, les created et modified (appelés ici created_at et updated_at) sont modifiés à chaque fois pour peu que tu les ai déclaré, ainsi que ton slug si tu as fais la manipulation que je te parlais précédemment.
Niveau documentation je n'ai pas encore vu plus complet, pour la 1.4 du moins), le site officiel te donne un tuto de site complet de la création du projet sur papier au déploiment du site sur un serveur de production, en passant par la gestion des utilisateurs, du cache etc... Tu as un tutoriel équivalent sur le site de la ferme du net avec un autre projet, et beaucoup de tutoriels videos.
Personnellement je regrette de ne pas m'y être mis plus tôt, si j'avais su je l'aurai fais il y a déjà longtemps :/ Mais la je préfère concentrer mes efforts sur la v2 qui ne va pas tarder à sortir en version finale. Mais je ne vais pas me prononcer encore pour ça, il est trop tôt.
Mais il ne faut pas croire qu'un framework est plus compliqué qu'un autre vraiment, tout dépend de l'utilisation que tu en fais et surtout de ta façon de coder. Chacun a une approche bien à lui du code. Yii est aussi un framework très complet et facile d'accès mais je n'aime pas trop pour ma part leur façon de procéder sur certains trucs, mais c'est un avis personnel, les gouts...
Voilà, j'espère avoir pu t'éclairer !