Bonjour,

En faisant le tutoriel sur le site en 7 jours, j'ai remarqué que le code est beaucoup plus rapide que certains qui utilise un framework.
Je vais essayer d'adapter le tuto sur un tutoriel et comparer la vitesse.

Mais de mon avis, j'ai l'impression que c'est beaucoup plus fluide.

Et les sites internet sont de plus en plus évalué d’après google et le référencement sur ce temps d'affichage ?

24 réponses


slyvaan
Réponse acceptée

A part ce que je disais pour le composant Acl, la documentation est très suffisante pour développer très simplement avec la version 2.0. La nouvelle monture est assez similaire à la 1.3 pour ne pas être perdu. Tu devrais commencer par la 2.0, si tu souhaites utiliser CakePhp.

Bah avec le framework cakephp tu n'as pas besoin d'écrire le core.

sylvain
Auteur

Oui mais je suis obligé de suivre les évolutions et d'apprendre une conventions.
je suis prisonnié en somme.

Ca semble être une prison, mais ça n'en est pas forcément une. Entre le temps de codage de ton framework perso et le temps d'apprentissage de CakePhp sera plus ou moins identique. Sauf qu'à la différence c'est que ton framework personnel tu n'auras pas de communauté derrière pour le maintenir. Ce qui me fait pencher pour ma part vers un Framework c'est au niveau de la sécurité plus que les outils proposés par celui-ci. Tout est plus ou moins prévu et les failles sont corrigées par une équipe et par plusieurs utilisateurs qui font remonter les bugs, ce que tu n'aurais pas avec ton propre Framework.

Sinon oui, un framework perso qui exploiterait jQuery de base, Doctrine, Memcache etc... Serait forcément plus intéressant, mais plus difficile à mettre en oeuvre pour qu'il soit rentable pour avoir la même efficacité.

Si tu n'aimes pas les conventions, il y a beaucoup de framework qui t'imposent beaucoup moins que Cake. Je pense notamment à Codeigniter ou à Yii. Codeigniter a ses faiblesses comparé à Cake, il semble moins complet et plus difficile à prendre en main vu qu'il ne fournit que les bases du framework, tu dois coder beaucoup (pas de système d'auth, acl, template, layout etc...). Yii accuse une grosse faiblesse qui est le manque de ressources sur le net, et une communauté qui semble très pauvre. Mais si tu veux te lancer avec un framework qui t'impose moins que Cake, essaie de voir ces 2 là.

Ou tourne toi Symfony2, si tu as besoin un jour de sortir une grosse artillerie, mais là, je ne peux pas vraiment t'aider, j'ai du mal à m'y faire vraiment :/

sylvain
Auteur

Tres bien, je vais essayer mais j'aimerais savoir si cakephp peux tenir la charge quand il y a beaucoup d'internaute sur le site ? Quand je parle de beaucoup, je pense a plus de 2000 personnes par jours.

J'ai un ami qui a développé sont site avec cakephp, et il mets vraiment beaucoup de temps pour afficher la page d'accueil qui n'est pas si énorme pour le justifier.

Pour un site à forte charge je te conseille vraiment de te tourner vers Symfony2 qui est là pour ça. Ou si tu aimes la logique de CakePhp de voir du côté de Lithium, qui est le fork que les dev originels de CakePhp ont développé et qui est bien plus avancé techniquement que Cake, et qui semblerait être très efficace pour ça. Mais bon courage avec lui, je n'ai pas réussi à trouvé ni de communauté l'utilisant ni de tutorials vraiment intéressants pour les bases, faudra faire avec la maigre doc et avec certains commentaires sur les forums.

Effectivement, CakePHP est bourré de conventions. Mais il faut voir leur intérêt : elles te permettent de coder moins, la plupart des fonctions telles que loadModel() sont complètement automatiques. CakePHP 2.0 vient de sortir, toute la communauté de Grafikart l'a compris. Ayant abandonné PHP 4, Cake prend enfin en compte PDO.

Et il est évident que comme le dit slyvaan, les frameworks connus (Cake, Codigniter, Yii, Symphonie, Zend) disposent d'une importante communauté, de nombreuses fonctions, les helpers omniprésents pour Cake, bref, tout un panel de code écris pour nous simplifier la vie.

CakePhp ce que je n'aime vraiment pas c'est le système d'Acl que je trouve vraiment bancale comparé à certains autres :/ Yii par exemple u créé ton groupe, et tu fais un $group->assign($user_id); pour associer un utilisateur a un groupe et un $group->revoke($user_id); pour l'enlever du groupe.
Puis tu peux y associer certaines actions, du genre canAccessAdminPanel ou canEditPost etc... qui sont differents selon le groupe, assez simplement, pour vraiment différencier. Puis tu peux te permettre de gérer à la volée le tout sans avoir un code hyper complexe quasi-impossible à sortir sans l'équipe de cake pour t'aider avec un exemple.

Niveau helpers je trouve Cake très bien fournit, avec beaucoup d'exemples facile à utiliser, mais Yii dispose de bien plus, des paginations toutes faites automatiquement, un système de recherche automatique basé sur le model (tu choisis les champs qui peuvent être recherchés et le widget te fait la recherche pour toi) etc... Mais bon, après tout dépend des goûts. Une fois un peu familiarisé avec le système, et si ça l'intéresse, je verrai si je peux soumettre à Grafikart un petit tuto écrit qu'il pourrait passer en vidéo après sur Yii (à toi de me dire si ça t'intéresserait d'avoir ça et ça serait avec plaisir), pour un système de blog, avec gestion des droits d'utilisateurs un peu plus poussé que celui de l'exemple de leur site que vous puissiez voir la différence entre cake et Yii.

Mais après mon petit test de Cake2.0 d'hier, je pense ne pas repasser sur Cake dans l'immédiat, le temps qu'ils corrigent certains trucs :/

sylvain
Auteur

Moi qui voulais passer en cake 2.0, ta réponse me mets un doute du coups.

Merci pour vos réponses.
Cela me confirme si on fait un mix des reponses.
les frameworks ont doit les apprendres. et on est prisonnier.
par exemple, le passage de cake 1.3 a 2.0 ne se feras pas sans douleur pour le neophite.
de meme passer de cake a yii ou symphony, c'est toujours du temps passé.

Celui qui code lui meme son projet, il maitrise tout.
Donc le choix doit etre fait selon notre besoins

Peut etre que je me trompe, mais pour le site qui a besoins de performance pour delivrer des pages, il faut le faire soit meme, ou utiliser codeigniter.
et pour le backoffice, et les espaces membres. utiliser un developpement avec un framework come cake.

Oui mais d'un côté et c'est ce qui me bloque personnellement pour faire ma propre solution, c'est que je suis beaucoup moins calé dans le langage que les gens qui codent les framework. Ils apportent des solutions aux problèmes et sont maintenus par des centaines/milliers d'utilisateurs. Donc tu as moins de chances de voir de bugs, et surtout de failles de sécurité en apprenant ces solutions là plutôt que de les développer. C'est également plus facile à maintenir, à mettre à jour et à trouver de l'aide. Imaginons que tu bloques sur un cas que tu ne connaisse pas la meilleure solution pour arriver à tes fins, c'est plus facile de demander "comment on fait sur [INSERT_FRAMEWORK_NAME] pour faire ça ?" que d'expliquer de long en large et en travers ton propre code pour que la personne en face puisse te débloquer.

Mais honnêtement, ce qui me fait pencher sur le framework plutôt que le code maison est vraiment la sécurité qui sera plus optimisée.

http://www.alaxos.ch/blaxos/posts/view/20
Pour les Acl, il semble y avoir un plugin de porté sur la dernière version. A voir si ça intéresse quelqu'un :p

sylvain
Auteur

Bon, je me lance dans cakephp 1.3 par contre, il y a vraiment pleins de bonne chose

sylvain
Auteur

Bon, c'est bizarre, un premier exemple , je veux utiliser le framework, il me semble qu'il faut une convention pour la creation des tables. ca promet d'etre difficile de recuperer un vieuw developpement.

Pourquoi utiliser la 1.3 ? La 2.0 intègre le support complet de PHP5.0 et qui plus est de PDO, ce qui est un vrai plus en terme de performances par rapport à la 1.3.

Tu peux passer outre les conventions en nommant tes tables, champs etc... dans ton model. avec un public $table = 'nom de la table'; ou $name, je sais plus trop. Je crois que ca apparait dans un des tutos sur ce site en tout cas.

sylvain
Auteur

la 1.3, parce que je pense qu'il y a plus de monde qui la connait, et que les tutoriels sont en 1.3 sur ce site.
du coup

Mais tu peux très bien les adapter. Il suffit de regarder le dernier tuto de Grafikart sur la 2.0 : change quelques noms, variables et autres fonctions et ton résultat sera identique.

HS ou pas,
Pour faire tourné plus de 2000 visites jours, cakephp ou un cms de base le fais aisément, Grafikart tourne sur Wordpress et Cakephp 1.3 est il a en 4500 et 9000 visites/jours (source non sur)
Tous dépend après de la qualité de ton hébergement mutu/serveur.
Les Benchmark de perf sont utile pour des sites comme rueducommerce, mais pour 2000 users/day tu peu prendre se que tu veux si tu as un hébergeur généreux. Ou un bon petit serveur.
Après entre Cakephp 1.3 et 2.0, il y a certe des améliorations mais surtout pour les personnes expérimenté, pour une utilisation de débutant Cakephp 1.3 te suffira, deplus tu trouvera plusieurs Application tournant dessus pour apprendre et comprendre la logique de développement, ainsi que beaucoup plus d'aide par google lorsque tu seras bloquer d'ici qui est autant de tuto et d'aide sur la version 2, il se sera écoulé un ans (voir plus)...

Après si tu veux pas de conventions dévellope par toi même, mais ton application sera surement moins complète et aura plus de faille dans un même laps de temps par rapport à un framework.
Convention = contrainte = mais aussi universalité, ton d'autre personne pourrons t'aider ou reprendre ton projet facilement.

Codeigniter est pas mal mais beaucoup trop diviser à mon gout, j'ai eu l’impression qu'il fallait 2 fois plus de fichier (controller/view/model) pour réaliser la plus banal des applications, deplus des conventions comme created/update etc... n'existe pas, donc autant de chose a rajouté, cependant une total liberté du nommage de tes tables.

Symphony/Zend + débutant... j'y croie pas... Ce sont des frameworks pour de très très gros sites.
Après étant moi même débutant, je n'ai pas assez de recule par rapport aux framework mais voila ma conclusion sur mon ressentie.

sylvain
Auteur

@Neocorp :
Merci beaucoup pour ce message, ca me rassure que cakephp puisse encaisser 9000 connection par jours.
Pour ce qui est des hebergement, pour mon css, je l'ai pris chez OVH et j'ai deja pas mal de soucis.
exemple des problemes sur le path_info
les connexions mysql limité a 10. mais bon en periode de developpement ce n'est pas bien mechant

Codeigniter n'ajoute pas + de fichier, voir moins pour faire une application, il est plus léger que Cake et permet plus de chose en finalité à condition de le coder. Le created/updated comme Cake, tu peux coder cette fonction dans ton Ci_Model en même pas 5min.

Si tu veux un framework complet qui ne t'impose rien, je te conseille vivement de te tourner vers "Yii Framework", c'ets celui que j'apprends en ce moment, assez déroutant quand tu viens de Cake mais plus maléable, possibilité d'avoir des structures en modules, des thèmes, de les récupérer dans une autre appli etc...
C'est pas mal, de ce que j'ai pu en voir. Essaie peut-être d'un jeter un coup d'oeil.

Mais de toute façon, les conventions, si ce n'est pas le framework qui te les impose, pour le bien être de ton application, il faut que tu te les impose toi-même, donc au final... L'un ne diffère pas vraiment de l'autre.

sylvain
Auteur

Oui, pour l'instant je vais me concentrer sur cakephp, car c'est le seul a avoir des tutoriels qui sont bien fait.
Et j'aime beaucoup le fait de suivre des tutoriels en video, plutôt que de lire des pages de docs. Passer a l'action en gros.

Comme je le précisais étant débutant, je n'ai pas assez de recule sur les frameworks cependant j'ai utiliser les CMS durant quelques années, et la conclusion est la même, programme sur celui ou tu te sent le mieux et qui à un minimum de soutiens afin que le framework tombe pas au oubliette. Après, c'est les gouts et les couleurs ;)

Vi exactement :) Mais comme le dit Sylvain, la documentation importe beaucoup, vu que Grafikart fait pas mal de tutoriels très bien construits sur Cakephp, c'ets un gros + en son avantage :)

sylvain
Auteur

j'ai vraiment eut de la peine pour trouver la solution avec le framework cake pour ce problème.
Probleme CakePHP