Sujet : Framework php

Bonjour,
Un copain m'a conseillé d'utiliser un framework php (CodeIgniter ou symphony).

Je fouillant un peu sur leur site, j'ai l'impression que finalement ca ne sert pas à grand chose.
Je pense même que dans mon cas je passerai plus de temps avec que sans.
Sans compter les perfs, car cela doit bien alourdir le code.

J'ai regarder la vidéo, construire un blog en 20 minutes. Et vu la tronche du blog, je pense qu'en ayant les même connaissances des fonctions php que le gars connait les fonction CodeIgniter. Le même blog est fait en 20 min sans le framework.

J'aimerai savoir si certains d'entre vous utilisent un framework dans leur programmation.
Si oui, y trouvez-vous un avantage dans la programmation ou est-ce handicapant ?
Si non, pourquoi ?

D'après ce que j'ai vu c'est surtout utile pour les moyens/gros projets. Je pense que sur des petits projet l'intérêt est plus que minime.

Surtout quand on connait les possiblilités du php et l'efficacité du php manual. c'est que du bonheur. Je cherche d'ailleurs un équivalent Javascript smile

J'attends que vous me contredisiez smile

2

Re: Framework php

Bonsoir,

Personnellement, j'ai commencé à en avoir ras le bol du développement PHP, toujours à réfléchir à des contraintes techniques identiques pour récupérer de la donnée, la générer, l'afficher.. ca devenait saoulant.
Et puis j'ai découvert cakephp, qui m'a soulagé de toute l'infrastructure du code pour me laisser me focaliser à 100% sur mon application, j'ai vraiment redécouvert le plaisir de coder avec.

Je vois un framework comme une base solide pour un site web (quelqu'il soit) maintenue par plus d'1 personne (au contraire des développeurs qui utilisent leur solution maison ou qui n'ont rien), qui doit permettre un développement rapide.
Bien sûr le code ainsi exploité sera forcément plus lent que du code php spécialisé à nos tâches précises sur le site.
C'est un choix qu'il faut faire, les performances contre la vitesse de développement.

Après tu peux toujours améliorer le code issu du framework, le faire générer des pages statiques, ou encore carrément modifier et alléger le framework.

..
Après il y a des frameworks qui ne servent à rien et te font préférer le code php simple, comme Zend.
big_smile

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

3

Re: Framework php

Ah oui j'oubliais: le control panel et le site principal utilisent http://cakephp.org/ wink

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

4

Re: Framework php

Hummm, c'est intéressant quand même. Je pense que j'ai 2 problèmes:
- Je suis fénéant et j'ai la flemme d'apprendre à m'adapter à un framework, alors que sans je m'en sort plutôt bien.
- Je suis taré et j'aime faire par moi même, et le fait d'utiliser du préfabriqué me donne l'impression de ne pas pouvoir dire que je l'ai fait moi même.

Et j'ai aussi l'impression qu'en développant de A à Z on évite les problèmes des failles connus, et exploités par les script kiddies, qui recherche des site avec une version précise d'un soft afin d'exploité la faille avec leur logiciel fraichement téléchargé sur un site de H4Ck3R.

Pour l'instant je pense que je suis pas assez mûr.
Je prend encore trop de plaisir à développer en php. Quand j'en aurai marre, je m'orienterai naturellement vers cette solution.

Mais je crois que je vais m'y mettre quand même. Juste pour voir, et peut être que je ne le lâcherai plus.

5

Re: Framework php

Oui je comprends tout à fait tes 2 problèmes:
- tu n'es pas sûr d'obtenir quelque chose en apprenant un framework
- et comme tu le disais, tu n'es pas assez 'mûr' smile et donc tu es un maniaque perfectionniste big_smile

En développant de A à Z ton projet, tu n'évites pas nécessairement les failles.
Dans ton projet solo, tu seras seul responsable de détecter et corriger les problèmes de sécurité, dans un projet communautaire, il y a de fortes chances qu'une autre personne s'en occupe à sa place. Il suffit après de comprendre comment fonctionne le framework pour savoir où gérer la sécurité.

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

6

Re: Framework php

Je suis convaincu qu'il y a plus de failles dans mes projets, que si je l'avait fait avec un framework. Mais la difference de taille, est qu'elles ne sont pas connues. Il faut donc les chercher. Et avec l'expérience je pense éviter les plus grosses (SQL injection, register_global, ...)

J'ai commencé à me mettre à codeIgniter, j'ai pas encore commencé à coder. Mais j'ai déjà lu une grande partie de la doc. Car j'ai lu d'autres commentaire qui rejoignaient le tiens. Plus de plaisir à coder. Car c'est vrai que les MySQL Query et MySQL fetch array, ca commence à bien faire.

La seule chose qui me freine c'est ce problème de sécurité finalement. Le point positif est que de l'extérieur le Framework est invisible. (contrairement à un CMS).

Je suis pas parano. Mais un copain qui avait un blog (familliale) sur joomla se l'est fait pirater. Suppression de la BDD et des messages pas cool en page de guarde. Alors que moi j'ai des site au moins aussi intéressant qui tourne depuis plusieurs années sans problème, et je suis même pas sûr qu'il soit tous immunisés contre les injection SQL ou register globals. La difference est que la faille joomla était connu, exploitable avec un petit logiciel tout fait, utilisable par le premier singe venu. ce singe a cherché un blog sous la bonne version de Joomla et a fait sa connerie. Sur les miens, les singe son trop bête pour y faire quelque chose, et les gens intelligents, le sont trop pour ne pas voir qu'il n'y trouveront rien d'intéressant. Du coup je suis tranquille.

Et du coup l'utilisation d'un framework oblige un peu a faire les mises à jour de temps en temps. Et de retoucher le code si il y a des fonctions dépréciés.

Enfin c'est mas façon de penser.

Mais je suis convaincu, j'ai envie de prendre du plaisir à coder et plus d'avoir l'impression de "pisser du code". Même si ca me plait encore un peu. Ca permet de reposer le cerveau et commencer a penser à la prochaine partie Hardosse. La page de pub dans un films d'action quoi big_smile

Re: Framework php

Oups!
Si j'ose le dire ... Un Framework sert à quoi ? on peut faire quoi avec ? car personnellement, c'est du pure PHP avec lequel je programme, sans POO (Pas de programmation en objet).

Le Framework peut t'il servir à quoi exactement plus précisément ?

Merci pour vos réponses.

8

Re: Framework php

Pour moi qui codais comme toi, le fait de passer à codeIgniter permet déjà de programmer en MVC et aussi à coder en POO. même si c'est pas une étape obligatoire pour faire un bon site, ca permet juste de mieux organiser les sources et par la même de rendre le site plus facilement réutilisable.

Ensuite il y a une multitude de petits trucs chiants qui sont déjà gérés par le framework:
Comme le traitement des automatiques des variables en entrée (tu passes directement du formulaire à la BDD sans te soucier des quotes ou autre).
Une gestion plus intelligentes des formulaires; sans effort tu peux mettre des contraintes dans un formulaire (doit etre une adresse mail, dois etre egal a tel champs ...) et en cas de non respect, il reaffiche le formulaire comme il a été rempli, avec un message sur l'erreur (visible sur cette video http://net.tutsplus.com/videos/screenca … y-6-login/ a partir de la 32' minute) et simplement avec cette syntaxe $this->form_validation->set_rules('first_name', 'Name', 'trim|required')

Bon moi j'avoue que pour l'instant c'est un peu le contraire de l'effet espéré car normalement c'est un outils qui te permet de gagner du temps en te concentrant que sur le site que tu fais, et sans te soucier des trucs chiants et long à faire. Et là je suis entrain de me battre pour faire un système d'authentification efficaces et user friendly. Je suis sur la bonne voie mais c'est long.
C'est comme tout il y a un temps d'apprentissage.

9

Re: Framework php

Salut,

J'utilise CakePHP depuis 3 ans maintenant.
Effectivement, je m'en tirais plutôt pas mal sans mais maintenant, je n'imagine même pas revenir en arrière.

Je vous propose une liste, non exhaustive des avantages :

Code maintenu et développé par des têtes nombreuses et bien pensantes :
Je n'ai pas la prétention de mieux coder que 20 core développeurs acharnés.
Le code est bien plus sûr et sécurisé que fait à la main.

Design pattern MVC :
architecture modulaire
séparation claire des couches (traitements, affichages etc...)
organisation du code
Quand je reviens sur un projet 2 ans après, je trouve tout à sa place.
Pour isoler un bug et le résoudre, c'est bien plus simple.
De plus, un développeur PHP qui connaît CakePHP, CodeIgniter ou Symfony ne sera pas perdu.
Le travail en équipe est plus simple car tout le monde utilise les mêmes pratiques.

Tâches répétitives simplifiées :
des tas de composants pour se simplifier la vie, allant jusqu'à la génération de code.
http://book.cakephp.org/fr/view/113/Cod … -with-Bake

POO, design patterns, tests unitaires
de la même manière, l'écriture d'applications, depuis 30 ans, a donné naissance à la POO, aux designs patterns, aux frameworks...
Je ne pense pas que des milliers d'informaticiens se soient pris la tête pour pondre des solutions inutiles.

Les frameworks apportent des possiblités en termes d'industrialisation et de professionnalisation des pratiques.
La maintenabilité des applications s'est trouvé largement améliorée.
Arriver sur un framework "maison" ou sur des scripts assemblés à la main m'ont toujours fait super mal à la tête.

10

Re: Framework php

Là j'avoue que j'ai un peu baissé les bras. Mais je vais m'y remettre. Ca me gonfle un peu de galérer alors que en développant sans CI j'aurai déjà sûrement fini.
Mais je suis d'accord avec toi sur le principe. Et c'est pour ca que je me force à le faire avec CI.
Par contre ce qui me freine beaucoup, c'est que niveau ressources. Ca doit consommer énormément. Surtout au niveau de la mémoire.

Car moi pour par exemple lister des liens (faite gaffe je vais vous bruler les yeux).
- Je faisait ma requête et ma génération de pages se faisait direcetement dans le Mysql_fetch_array(). (j'avais prévenu) Mais il n'y avait que 3 fichiers php à parser (fichier conf, pseudo frame, page lien). 
- Avec CI on parcours les résultat pour les mettre dans un tableau. ce tableau on le trimballe d'appel en appel de classe. Et on re-parcours ce tableau pour l'affichage. Sans compter que pour faire cela au moins une dixaines (voir plus) de fichiers php on du être interprétés.

Et ca aussi dans un petit coin de ma tête ca me dérange. Et le petit diablotin dit : "te fait pas chier, retourne au racine au lieu de t'embêter avec ce truc qui plombe le serveur." Mais de l'autre coté l'ange dit "il faut que tu le fasse avec un FrWork, c'est le bien. Et tu auras un code propre et évolutif"

Il faudrait que je m'y remette. smile et je vous utiliserai pour mes problèmes.
Je ne demanderai pas de code mais un chemin à suivre. pour faire tel ou tel chose. Il y a ca sur le wiki de CI (http://codeigniter.com/wiki/Approaches) mais c'est un peu léger. J'ai cependant utilisé la section ajouter un Header, footer et menu. Car au début c'est pas évident. J'ai beau avoir lu quasiment toute la doc. Des fois on sait pas trop par quel coté prendre le problème.

Et je pense que pour l'instant j'essai encore trop de programmer comme avant, en utilisant CI. Du coup ca coince.
Déjà je pense que quand j'aurai perdu mes anciens réflexes ca sera déjà bien.

Re: Framework php

bonjour,
je me suis penché aussi sur cakephp, et bien pas évident à première vue.
surtout comme le dit si bien Madamax, on essaye de faire comme avant avec nos vieilles habitudes, et là c'est le clash assuré. enfin pour moi.
j'aimerais savoir le % de ram en plus ou moins utilisé en utilisant cakephp.
si quelqu'un peut y répondre, ca serait sympa.

12

Re: Framework php

CakePHP est assurément un des frameworks les plus accessibles, encore faut il déjà maitriser PHP. J'ai pondu ce mini-blog en moins d'une demi-heure sans aucune difficulté: http://cake.lescigales.org/

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

13

Re: Framework php

Un autre argument décisif est celui du temps... !


Concentrez-vous sur votre valeur ajoutée au lieu de vous perdre dans le développement de couches basses !

Si vous êtes passioné par ces couches basses, alors rejoignez une équipe développant un framework...
L'expérience collaborative sur un projet concret vous sera infiniment plus profitable... Votre carrière s'en ressentira.

Si vous n'êtes pas passionné par ces couches... Apprenez le framework de votre choix et gagnez du temps.
Oui, apprendre un framework prends du temps... Mais ce temps (une semaine) est ridicule comparé à celui que vous allez économiser par la suite !

Votre valeur est votre capacité à exécuter une prestation rapidement de manière fiable. Le framework vous permet cela, pinailler pour une éventuelle perte de performance (tout à fait relatif une fois le système de cache maitrisé) est un non-sens ! L'équipe de développement du cœur framework optimise sans relâche ce dernier... Et les gains de performances vont se multiplier en parallèle avec l'évolution des briques connexes (php/mysql/etc.)... Pensez-vous pouvoir tenir la cadence des optimisations de php 5.3.0 ? 6.0 ? N'avez-vous pas autre chose à faire ?

Autre chose... Que vaut le code que vous écrivez ? Rien si celui-ci est inutilisable car illisible ! Réduire son scope de développement en utilisant un framework, c'est augmenter la valeur de chaque ligne de code que l'on écrit. Le code guidé par framework est réutilisable par des tiers, le votre ?

Enfin, pour terminer, coder avec un framework c'est redécouvrir le plaisir de coder, c'est se concentrer davantage sur les idées & concepts que sur les moyens d'y parvenir. C'est un facteur clé de succès qui va devenir décisif dans les années à venir...

A bon entendeur...

PS : Merci à CakePHP pour m'avoir "ouvert les yeux"

14

Re: Framework php

Mouais, tu prêches un convaincu (qui galère encore un peu).

Mais je continue à penser que sur un site à fort traffic, le framework plombera les perfs du serveur. Heureusement je n'en suis pas à développer ce genre de site.

C'est vrai que je n'avais pas vu l'aspect évolution des outils (mySQL, php ...)

En ce moment je suis sur d'autres projets, mais il faudrait que je reprenne le dev de mon site.

15

Re: Framework php

olivier a écrit:

Enfin, pour terminer, coder avec un framework c'est redécouvrir le plaisir de coder, c'est se concentrer davantage sur les idées & concepts que sur les moyens d'y parvenir. C'est un facteur clé de succès qui va devenir décisif dans les années à venir...

A bon entendeur...

PS : Merci à CakePHP pour m'avoir "ouvert les yeux"

Ouh, je crois que j'ai rencontré quelqu'un qui pense exactement comme moi smile

Longue vie à CakePHP ! Mort à Zend Framework et autres Symfony, parodies de frameworks lamentables

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

16

Re: Framework php

Madmax a écrit:

Mouais, tu prêches un convaincu (qui galère encore un peu).

Mais je continue à penser que sur un site à fort traffic, le framework plombera les perfs du serveur. Heureusement je n'en suis pas à développer ce genre de site.

Oui mais là tu parles d'optimisation, il faut déjà avoir une application finie pour arriver à ce genre de considération.
D'un autre coté, d'autres personnes - moi y compris - te diront que c'est faire ton appli en PHP qui va plomber ton serveur..

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

17 Dernière modification par Madmax (16-12-2009 08:10:50)

Re: Framework php

C'est pas faux. Merci de me rappeler que je suis loin d'avoir fini smile