Opinion : les frameworks Web sont-ils une mauvaise idée ?
Partagez-vous l'avis de ce développeur PHP ?

Le , par HeadCoder, Nouveau Candidat au Club
J'ai récemment remarqué que personne n'a pris de recul sur les frameworks dédiés au langage PHP. Ils sont utilisés partout, ils sont devenus critères numéro un dans les recrutements de projets, ils sont l'équivalent d'une mode, etc. Bref, le framework est devenu le crucifix du développeur web.

Mais un framework, est-ce vraiment que du bien?
Non. En rassemblant une certaine quantité d'information trouvée sur quelques débats à propos de ceux-ci, j'ai décidé d'exprimer mon opinion sur l'utilisation d'un framework. Je trouve qu'un framework peut s'avérer être au sens propre le synonyme du mal.

Avons-nous des statistiques sur l'utilisation des frameworks ? Y a-t-ils autant de gens qui en utilisent que ceux qui n'en utilisent pas?

Il serait bien de connaître quelques statistiques sur les frameworks (leur utilisation comparativement à ceux qui n'en utilisent pas, les plus utilisés, etc), ce qui attire le plus dans cette mode, etc.

Bref, je vous fais part d'un lien vers un article qui traite de l'utilisation des frameworks en PHP : le voici.

Son auteur, un fervent opposant à l'utilisation des frameworks web en PHP, explique les raisons ayant motivé cette prise de position.

Et vous ?

Partagez-vous cet avis ? Expliquez nous pourquoi ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Joker-eph Joker-eph - Membre confirmé http://www.developpez.com
le 14/11/2010 à 9:54
Pour moi un "framework" a beaucoup plus d'avantages que d'inconvénients, il faut surtout savoir bien l'utiliser !

Mais c'est un moyen très simple de profiter de fonctionnalités toutes faites et bien intégrées, qui donne un ensemble cohérent quand on développe une appli web un tant soit peu complexe.

Souvent le reproche qu'on peut lui faire repose sur la lourdeur de l'ensemble, après dans une appli web "complexe", il y a de toute façon des traitements lourds à faire et un framework peut apporter beaucoup avec des gestions facile de mise en cache par exemple, ou encore de serveurs "d'assets".

J'ai vu le plus souvent des benchs de "hello worlds" qui indiquait qu'ils sont lent, ça ne me semble absolument pas significatif de ce qu'on attend d'un framework. Si c'est pour faire du hello world, effectivement ça n'est pas le bon outil...
Avatar de HeadCoder HeadCoder - Nouveau Candidat au Club http://www.developpez.com
le 14/11/2010 à 16:31
Citation Envoyé par Joker-eph  Voir le message
Pour moi un "framework" a beaucoup plus d'avantages que d'inconvénients, il faut surtout savoir bien l'utiliser !

Certes au niveau technique il peut nous faire développer beaucoup plus, mais niveau cognitif, c'est la régression assurée.

Le framework exerce une sorte d'unification et uniformisation de la pensée sur le développeur. Un code, c'est comme un texte. Alors pourquoi écrire un code si c'est pour reprendre les idées des autres?

Personne va réellement se soucier de la manière dont le problème est résolu. Y a-t-il vraiment des algorithmes implémentés dans les frameworks? Et même s'il y en avait, les gens se comporteront comme des script kiddles et se soucieront pas un instant de la solution apportée par le framework. J'appelle ça de la paresse.

"Lourdeur" et autres points souvent technologiques, se sont des points de second degré. Ce n'est pas le pas le plus important. Les vrais problèmes se situent surtout au niveau cognitif, au niveau de la façon de penser. Si un projet est pensé de dix milles façons, cela réduit sa stabilité. C'est un autre point parmi tant d'autres où le framework nuit aux projets.

La majorité de ces points sont soulignés dans l'article (avec plus de détails). Peut-être devrais-tu le lire? Ne serait-ce que pour comprendre le point de vue et l'idéologie des autres?
Avatar de werss werss - Inactif http://www.developpez.com
le 14/11/2010 à 17:52
Citation Envoyé par Manulion  Voir le message
J'appelle ça de la paresse.

et d'autres appellent ça de la rentabilité
un chef d'entreprise a pour but de faire rentrer de la monnaie sur le compte en banque de l'entreprise donc s'il existe un moyen d'accélérer le résultat fourni par ses employés (en les évitant de devoir trop réfléchir par exemple) il choisira forcement ce moyen.
Avatar de HeadCoder HeadCoder - Nouveau Candidat au Club http://www.developpez.com
le 14/11/2010 à 18:07
Citation Envoyé par werss  Voir le message
et d'autres appellent ça de la rentabilité

Et comme je l'ai dit plus haut, la finance n'a pas à se mêler de ce qui ne la regarde pas. Non?
Je trouve qu'elle devrait avoir pour objectif d'assurer la sécurité des autres. D'ailleurs, c'est le principe de l'argent, assurer une certaine sécurité... M'enfin, là on s'égare.
Avatar de dourouc05 dourouc05 - Responsable Qt http://www.developpez.com
le 14/11/2010 à 20:25
Citation Envoyé par Manulion  Voir le message
Le framework exerce une sorte d'unification et uniformisation de la pensée sur le développeur. Un code, c'est comme un texte. Alors pourquoi écrire un code si c'est pour reprendre les idées des autres?

C'est bien, ça a juste un arrière-goût assez prononcé de copier-coller... Partages-tu réellement l'opinion du rédacteur ou bien te limites-tu à dire ce qu'il dit, etc. ? Ce n'est pas là le plus important.

Très personnellement, je suis passé du PHP pur avec une architecture faite assez barbarement à la main à un framework, symfony pour ne pas le citer. Ça n'a pas changé ma manière de coder. Ça l'a accélérée (vive l'admin generator !). J'avais fait un infâme MVC (en fait, plutôt M-VC), je suis passé à du plus vrai MVC. Un peu d'organisation dans la pensée, voici l'effet du framework. Et je ne respecte pas toujours sa philosophie, loin de là (étant donné que, quand ça fonctionne, il faut s'arrêter). Mais ça permet qu'un pauvre hère qui passe par là puisse reprendre mon code. Avant, je me perdais moi-même dans les méandres de ce que j'avais écrit... Là, je commence à m'y retrouver.

Unification de la pensée ?
Loin de là.
Milliards de lieues de là.
Simplification du travail en commun surtout.
Tente de communiquer avec quelqu'un qui ne parle pas du tout la même langue que toi, qui n'a pas la même gestuelle : il utilisera le même corps, les mêmes sons (approximativement), ce que l'on pourrait comparer au langage - ici, PHP, cela est cependant généralisable. Mais vous ne vous comprendrez pas. Unification de la pensée ? On peut enfin se comprendre.

Unification de la pensée ? Unicité du moule ?
Loin de là.
Combien de framework ? Wikipédia en recense un beau nombre : http://fr.wikipedia.org/wiki/Liste_de_frameworks_PHP. Si vraiment les frameworks unifiaient la pensée, il y en aurait un, dénommé TheUnique.

Un code, c'ets du texte, mais formaté d'une telle manière, avec une telle syntaxe... qu'il devient autant unifiant qu'un framework. Tu peux réinventer le PHP, si tu veux, pour avoir une autre philosophie. Au lieu de reprendre tous les mots du dictionnaire pour refaire un texte, tu réinventes un dictionnaire. Tolkien l'a fait, on connaît le succès ; beaucoup d'autres ont tenté, peu ont réussi. Mais pourquoi donc...

Citation Envoyé par Manulion  Voir le message
Personne va réellement se soucier de la manière dont le problème est résolu.

Entièrement vrai. Et pour cause. Tu vas au garage, tu demandes à ton garagiste (sic) de réinventer la roue ? De t'expliquer comment, pourquoi, par qui, à cause de quoi, en quel but ça fonctionne ? Tu t'en fous royalement, ça fonctionne, c'est très bien comme ça. Pour la roue, passe encore. Pour le moteur, passe encore. À l'aéroport, on change de décor mais aussi de complexité. Une fusée, c'est encore pire. Quand tu vois une fusée, tu veux qu'on t'explique tout ce qui fait que ça décolle ? Restons sur terre (sans majuscule), c'est impossible. Si tu veux utiliser du HTTPS, tu ne vas pas tenter de réinventer un processeur pour le faire. Tu ne vas pas réinventer un OS pour faire fonctionner le truc. Tu ne vas pas réinventer un interpréteur pour faire fonctionner ton biduloïde. Tu ne vas pas réinventer un équivalent au RSA ou le réimplémenter. Tout ça, c'ets déjà fait. Et c'est pas anodin, évidemment, c'est pour unifier, que tout le monde se comprenne, qu'on ne perde pas de temps sur ces futilités. Si, à chaque navigateur, on devait réimplémenter ces trivialités, on aurait deux ou trois navigos, un libre peut-être, les autres avec des gens surpayés derrière. Mais non. On a OpenSSL et on est très contents avec. Tout le monde se fout du fonctionnement de RSA, ça fonctionne, c'est secure, tout le monde le sait, c'est très bien comme ça.

Tu ne pensais pas aller jusque là ? C'est bien dommage, nuance alors un peu. Là, on pourrait dire que tu veux tout foutre dehors et recommencer à 0... L'Homme évolue depuis des milliers d'années, ce n'est pas pour que chaque génération reparte à 0.

Citation Envoyé par Manulion  Voir le message
Y a-t-il vraiment des algorithmes implémentés dans les frameworks?

Forcément. Peut-être pas des algos comme tu les conçois mais il doit y en avoir. Ils résolvent des problèmes en utilisant des algos. Notamment pour une requête symfony, il faut commencer par parser l'URL (tient, un algo symfony, des algos en C derrière...), puis on recherche le module qui va bien et on l'exécute (mais on ne sait pas où est stocké tout ce qu'on cherche, on sait qu'on cherche une classe ModuleActions quelque part, on y va à coups de piolet et d'algos).

Citation Envoyé par Manulion  Voir le message
J'appelle ça de la paresse.

J'appelle ça du gain de temps. C'est fou ce que ça prend comme temps de réinventer la roue, le MVC. Alors, quand tout est fait et que tu veux te dépêcher de finir ton appli, tu réfléchis trois secondes au pire (un projet se commençant le matin, on n'est pas vraiment réveillé...). Que ce soit en tant que salarié ou en bénévole. Surtout en bénévole d'ailleurs. Surtout en salarié d'ailleurs.

Citation Envoyé par Manulion  Voir le message
Les vrais problèmes se situent surtout au niveau cognitif, au niveau de la façon de penser. Si un projet est pensé de dix milles façons, cela réduit sa stabilité. C'est un autre point parmi tant d'autres où le framework nuit aux projets.

J'aurais tendance à dire : zéro pointé.

Les frameworks ne sont pas décousus comme ça... C'est peut-être ton expérience de PHP qui te fait parler comme ça (et le PHP seul, c'est pas très digeste, sauf la doc à la main, l'API part un peu dans tous les sens AMHA). Un framework est pensé par des personnes, beaucoup de personnes, dans une seule direction. Sinon, divergences d'avis, plusieurs frameworks. Comment faire coïncider des opinions diverses sur le MVC, par exemple ? (Oui, j'aime cet exemple, je sais, je fais des tartes de MVC demain après-midi, si vous en voulez ). Non, ils doivent s'orienter, se concerter, pondre difficilement quelque chose qui convient à tout le monde. D'où une certaine stabilité au final.

Maintenant, oublie les frameworks. Ils n'existent pas. Certains en rêvent, d'autres ne voient que ça en cauchemar. Tu veux faire une appli. Tu dois d'abord rassembler tout le monde et, après des jours de débat, accoucher d'une architecture, possiblement à adapter en fonction de l'évolution. Maintenant, remets les frameworks au milieu de la table. Simplifions l'énoncé, n'en considérons qu'un, un seul langage existant. L'architecture est déjà faite, il suffit de découper le projet dans cette architecture. Tout est "prépensé", une certaine stabilité dans l'édifice pourra exister. Si tu remets plusieurs frameworks et langages, il suffit de choisir la bonne combinaison qui convient aux divergences de vue des concepteurs.

Citation Envoyé par Manulion  Voir le message
Ne serait-ce que pour comprendre le point de vue et l'idéologie des autres?

J'ajouterais même :

La meilleure manière de démolir l'opinion des autres est de l'inventer

Le problème ici, c'est qu'on n'a pas vraiment ton opinion détaillée, il faut alors extrapoler, donc faire mentir ton discours. Viens répondre à la suite, histoire qu'on élimine certains doutes.
Avatar de HeadCoder HeadCoder - Nouveau Candidat au Club http://www.developpez.com
le 15/11/2010 à 0:57
Citation Envoyé par dourouc05  Voir le message
C'est bien, ça a juste un arrière-goût assez prononcé de copier-coller... Partages-tu réellement l'opinion du rédacteur ou bien te limites-tu à dire ce qu'il dit, etc. ? Ce n'est pas là le plus important.

C'est moi qui a écrit l'article. Alors tu sais déjà mon opinion.

Citation Envoyé par dourouc05  Voir le message
Très personnellement, je suis passé du PHP pur avec une architecture faite assez barbarement à la main à un framework, symfony pour ne pas le citer. Ça n'a pas changé ma manière de coder. Ça l'a accélérée (vive l'admin generator !). J'avais fait un infâme MVC (en fait, plutôt M-VC), je suis passé à du plus vrai MVC. Un peu d'organisation dans la pensée, voici l'effet du framework. Et je ne respecte pas toujours sa philosophie, loin de là (étant donné que, quand ça fonctionne, il faut s'arrêter). Mais ça permet qu'un pauvre hère qui passe par là puisse reprendre mon code. Avant, je me perdais moi-même dans les méandres de ce que j'avais écrit... Là, je commence à m'y retrouver.

On dirait que tu mélanges tes termes. MVC n'est pas un framework hein. C'est rien qu'une méthode de conception. Ce n'est pas un framework.
T'as besoin d'un framework pour que les gens puissent passer derrière toi? Et à l'école, tu fais comment? Un code est un texte, c'est complètement idiot d'utiliser un framework pour une question de propreté. Les commentaires ne sont pas fait pour les chiens hein.

Citation Envoyé par dourouc05  Voir le message
Unification de la pensée ?
Loin de là.
Milliards de lieues de là.
Simplification du travail en commun surtout.
Tente de communiquer avec quelqu'un qui ne parle pas du tout la même langue que toi, qui n'a pas la même gestuelle : il utilisera le même corps, les mêmes sons (approximativement), ce que l'on pourrait comparer au langage - ici, PHP, cela est cependant généralisable. Mais vous ne vous comprendrez pas. Unification de la pensée ? On peut enfin se comprendre.

Tu n'as pas compris. Le framework qui fait l'unification de la pensée, c'est comme si il t'imposait une façon de penser. Tu n'as pas le droit de penser autre chose autrement, tu te dois de rester dans le sentier (bref c'est comme la dictature si tu veux un exemple au pif). À quoi bon écrire un code si c'est pour réécrire les idées des autres?
Si tu dois parler à quelqu'un qui y connait que dalle en informatique, à toi te faire sortir ta pédagogie et lui expliquer le plus clairement possible. C'est à celui qui connaît les termes de s'abaisser au niveau des autres.

Citation Envoyé par dourouc05  Voir le message
Unification de la pensée ? Unicité du moule ?
Loin de là.
Combien de framework ? Wikipédia en recense un beau nombre : http://fr.wikipedia.org/wiki/Liste_de_frameworks_PHP. Si vraiment les frameworks unifiaient la pensée, il y en aurait un, dénommé TheUnique.

Étrangement, j'ai comme la sensation que plus de la moitié font la même chose. Ils sont toujours en quête de la même chose... Si c'est pas la quête d'avoir le plus de développeurs à ses pieds, je me demande ce que c'est.
Peux-tu développer sur le fait qu'il n'y a pas d'unification de la pensée et du moule? Car un "Loin de là" ne règle pas la chose.

Citation Envoyé par dourouc05  Voir le message
Entièrement vrai. Et pour cause. Tu vas au garage, tu demandes à ton garagiste (sic) de réinventer la roue ? De t'expliquer comment, pourquoi, par qui, à cause de quoi, en quel but ça fonctionne ? Tu t'en fous royalement, ça fonctionne, c'est très bien comme ça. Pour la roue, passe encore. Pour le moteur, passe encore. À l'aéroport, on change de décor mais aussi de complexité. Une fusée, c'est encore pire. Quand tu vois une fusée, tu veux qu'on t'explique tout ce qui fait que ça décolle ? Restons sur terre (sans majuscule), c'est impossible. Si tu veux utiliser du HTTPS, tu ne vas pas tenter de réinventer un processeur pour le faire. Tu ne vas pas réinventer un OS pour faire fonctionner le truc. Tu ne vas pas réinventer un interpréteur pour faire fonctionner ton biduloïde. Tu ne vas pas réinventer un équivalent au RSA ou le réimplémenter. Tout ça, c'ets déjà fait. Et c'est pas anodin, évidemment, c'est pour unifier, que tout le monde se comprenne, qu'on ne perde pas de temps sur ces futilités. Si, à chaque navigateur, on devait réimplémenter ces trivialités, on aurait deux ou trois navigos, un libre peut-être, les autres avec des gens surpayés derrière. Mais non. On a OpenSSL et on est très contents avec. Tout le monde se fout du fonctionnement de RSA, ça fonctionne, c'est secure, tout le monde le sait, c'est très bien comme ça.

Tes exemples sont bidons. Disproportionnés et complètement sans rapports. Un framework est abstrait. Une voiture ne l'est pas. Mais bon, si on prenait cet exemple, alors:
-Je suis le garagiste, c'est à moi de me préoccuper si je réinvente la roue ou non.

Citation Envoyé par dourouc05  Voir le message
J'appelle ça du gain de temps. C'est fou ce que ça prend comme temps de réinventer la roue, le MVC. Alors, quand tout est fait et que tu veux te dépêcher de finir ton appli, tu réfléchis trois secondes au pire (un projet se commençant le matin, on n'est pas vraiment réveillé...). Que ce soit en tant que salarié ou en bénévole. Surtout en bénévole d'ailleurs. Surtout en salarié d'ailleurs.

Encore un autre exemple bidon. Le rapport entre ces faits est nul. On ne compare pas le temps de création et d'utilisation. Compare le temps d'utilisation d'un framework créé de A à Z et un framework créé par un autre. Sinon compare le temps de création des deux.

As-tu lu l'article? Viens donc émettre ton opinion dans un commentaire sur celui-ci! Il y a pas mal de gens qui ont de très bonnes opinions (qu'ils soient pour ou contre).
Avatar de grunk grunk - Modérateur http://www.developpez.com
le 15/11/2010 à 11:54
As tu déjà eu à travailler en équipe et pas seulement dans ton coin ? Combien d'année d'expérience à tu en php en milieu pro ?

Soyons honnête , les Framework ont des inconvénients c'est certains , mais ils ont aussi une masses d'avantage que l'on ne peut oublier.

Sans framework (quelqu'il soit) travailler à 4 ou 5 développeurs est une horreur. Chacun à sa manière de faire et même si on fixe des "règles" de développement on n'arrive pas à la même qualité de code qu'avec un framework.

J'appelle ça de la paresse

Ca te plait tant que ça de refaire , encore et encore les même chose alors qu'elles peuvent être faites avec un appel à une méthode ?
Quand dans un nouveau projet tu dois refaire la même chose que ton projet précédent , tu recodes tout ? ou tu fais un copier coller de ton projet précédent ?

Honnêtement les framework ne sont là que pour simplifier les truc chiants du quoitidien. La vraie complexité d'une application n'est pas de générer un formulaire , de faire une requête sur un serveur ou de générer un fichier xml (je suis volontairement réducteur sur les possibilité d'un framework).
Le framework permet au contraire de se détacher de ses taches répétitives et sans grand intérêt pour se concentrer sur la vrai partie applicative.

Et comme je l'ai dit plus haut, la finance n'a pas à se mêler de ce qui ne la regarde pas. Non?

C'est dans le monde des bisounours , ou le patron ne se mèle pas de se que font ses employés sous pretexte qui ne sais pas le faire ...
Framework = gain de temps = gain d'argent : CQFD

Après effectivement en phase d'apprentissage du langage , il est plus que déconseiller de commencer avec un framework.
Avatar de dourouc05 dourouc05 - Responsable Qt http://www.developpez.com
le 15/11/2010 à 20:41
Citation Envoyé par Manulion  Voir le message
C'est moi qui a écrit l'article. Alors tu sais déjà mon opinion.

Merci de le préciser !

Citation Envoyé par Manulion  Voir le message
On dirait que tu mélanges tes termes. MVC n'est pas un framework hein. C'est rien qu'une méthode de conception. Ce n'est pas un framework.

Je n'ai jamais prétendu le contraire. Ma prose était peut-être ambiguë, mon opinion sur le sujet ne l'a jamais été. Et le "rien qu'une méthode de conception" me fait penser que tu n'as pas encore vu l'utilité des design patterns (je ne me présente pas comme un fervent utilisateur, juste comme un piqueur de bonnes idées quand c'est utile). Surtout que les frameworks sans MVC sont assez rares...

Citation Envoyé par Manulion  Voir le message
T'as besoin d'un framework pour que les gens puissent passer derrière toi? Et à l'école, tu fais comment? Un code est un texte, c'est complètement idiot d'utiliser un framework pour une question de propreté. Les commentaires ne sont pas fait pour les chiens hein.

Là, tu te poses à un autre niveau. Quelqu'un doit pouvoir comprendre l'organisation de mon code sans jamais ouvrir un seul fichier. Qu'il soit propre ou pas, qu'il soit en Python ou en Java, ça ne change rien, tout le monde doit pouvoir en comprendre l'architecture (à condition que connaître les problèmes résolus et d'avoir un certain background technique il s'entend). Commentaire ou pas, ça ne changera rien à ce niveau. Et l'utilisation d'un framework permet de standardiser tout ça : quelqu'un qui connaît symfony pourra voir comment c'est organisé, pourra retrouver ses jeunes assez vite ; s'il ne connaît pas le framework, il trouvera sans problème des tutos (extrêmement bien faits, d'ailleurs) lui expliquant l'architecture générale des projets symfony. Pas besoin d'ouvrir des fichiers. Bon, pour savoir précisément ce que fait un tel module, rien ne vaut un petit coup d'oeil ; tu sauras néanmoins à son emplacement que c'est un module, à son nom son périmètre d'action. Et ça, aucun commentaire ne le permet aussi facilement.

Citation Envoyé par Manulion  Voir le message
Tu n'as pas compris. Le framework qui fait l'unification de la pensée, c'est comme si il t'imposait une façon de penser. Tu n'as pas le droit de penser autre chose autrement, tu te dois de rester dans le sentier (bref c'est comme la dictature si tu veux un exemple au pif). À quoi bon écrire un code si c'est pour réécrire les idées des autres?
Si tu dois parler à quelqu'un qui y connait que dalle en informatique, à toi te faire sortir ta pédagogie et lui expliquer le plus clairement possible. C'est à celui qui connaît les termes de s'abaisser au niveau des autres.

Soit je n'ai effectivement rien compris. Soit je n'ai rien compris. Comment faire le lien entre l'unification de la pensée (menant à Hitler en poussant le bouchon très loin) et réécrire les idées des autres ? Le framework te montre une voie à suivre ; maintenant, tu la suis pour les avantages mis au-dessus. Ou tu ne la suis pas et tu n'utilises pas ce framework, te tournant vers un plus light à ce niveau (ZF, par exemple, me semble-t-il, se laisse utiliser comme une vulgaire lib). On utilise alors les idées des autres. On construit sur ce qu'ils font. Comme la croissance de l'humain : il ne peut se construire que sur les autres. De là à considérer une app comme un bébé, il n'y a qu'un pas !

Citation Envoyé par Manulion  Voir le message
Tes exemples sont bidons. Disproportionnés et complètement sans rapports. Un framework est abstrait. Une voiture ne l'est pas. Mais bon, si on prenait cet exemple, alors:
-Je suis le garagiste, c'est à moi de me préoccuper si je réinvente la roue ou non.

Si tu n'arrives pas à comprendre ma pensée sur un raisonnement concret, seras-tu capable de la comprendre sur un raisonnement concret ? Platon pensait exactement le contraire quand il a fini sa caverne. Je ne pense pas être suffisamment avancé dans ma compréhension de l'univers pour aller à son encontre.

Citation Envoyé par Manulion  Voir le message
Étrangement, j'ai comme la sensation que plus de la moitié font la même chose. Ils sont toujours en quête de la même chose... Si c'est pas la quête d'avoir le plus de développeurs à ses pieds, je me demande ce que c'est.
Peux-tu développer sur le fait qu'il n'y a pas d'unification de la pensée et du moule? Car un "Loin de là" ne règle pas la chose.

symfony a bien évidemment été créé pour avoir contrôle sur tout l'univers. C'est bien connu. Voyons. Ce framework a été développé à l'origine pour simplifier les devs de Sensio Labs. Puis ils l'ont ouvert. Et voilà. Un grand framework (avis personnel). Dont le seul objectif est bien de contrôler plus de territoire que les Romains et la Russie réunis. C'est très logique.

Autre analogie. Dans ta cuisines, tu utilises des moules pour faire des gâteaux. Certes, ils ont tous la même forme ; tu peux varier la farine, le sucre... même changer la recette et les quantités. La forme restera là, le contenu sera très différent... et la forme ne sera pas toujours complète.

Ici, tu as déjà une variété de langages. Puis de frameworks. Chacun a son propre mode de pensée, sa logique propre. Si celle d'un framework ne te convient pas, tu changes soit de framework, soit de boîte. C'est ton droit. Rien ne t'oblige à t'enfermer dans une seule et unique combinaison. Si tu trouves qu'un framework unifie trop ta pensée, va voir ailleurs, tu la désunifieras un peu. Pour la réunifier, selon ton discours. Auquel cas tu iras respirer ailleurs. Tu peux le faire, profites-en. Ils font tous la même chose ? Oh, c'est bizarre, tous les humains vivent... C'est normal, ils sont tous prévus pour faire la même chose. Comment veux-tu qu'en voulant faire la même chose ils fassent des choses différentes ? Si tu trouves la solution, petite boite noire, direction le centre de recherche pour la boîte et l'asile pour celui qui l'a rempli.

Citation Envoyé par Manulion  Voir le message
Encore un autre exemple bidon. Le rapport entre ces faits est nul. On ne compare pas le temps de création et d'utilisation. Compare le temps d'utilisation d'un framework créé de A à Z et un framework créé par un autre. Sinon compare le temps de création des deux.

Euh... Si du temps est passé à la création d'un framework, c'est pour éviter de repasser ce temps dans l'utilisation de PHP, de gagner du temps dans l'utilisation de PHP conjointement avec le framework... Ou je ne te suis pas...

Citation Envoyé par Manulion  Voir le message
As-tu lu l'article? Viens donc émettre ton opinion dans un commentaire sur celui-ci! Il y a pas mal de gens qui ont de très bonnes opinions (qu'ils soient pour ou contre).

Le débat est très bien ici, je ne vais pas m'amuser à le suivre sur deux endroits différents... Si tu souhaites alimenter celui-ci, tu peux reprendre des commentaires de là-bas, citant l'auteur, qu'on puisse en débattre ici. Sinon, j'ai survolé l'article, pas lu en détail. Suffisamment pour avoir une idée globale.
Avatar de HeadCoder HeadCoder - Nouveau Candidat au Club http://www.developpez.com
le 15/11/2010 à 23:35
Citation Envoyé par grunk  Voir le message
As tu déjà eu à travailler en équipe et pas seulement dans ton coin ? Combien d'année d'expérience à tu en php en milieu pro ?

Oui j'ai déjà travaillé sur pas mal de projets en équipe. Et sans frameworks, on s'y est très bien débrouillé.

Citation Envoyé par grunk  Voir le message
Sans framework (quelqu'il soit) travailler à 4 ou 5 développeurs est une horreur. Chacun à sa manière de faire et même si on fixe des "règles" de développement on n'arrive pas à la même qualité de code qu'avec un framework.

Dans ce cas faut s'arranger. Imposez un cadre de travail ou un "esprit de travail". Une façon de penser unique propre à vous (et non à celle des autres, cf frameworks).

Citation Envoyé par grunk  Voir le message
Ca te plait tant que ça de refaire , encore et encore les même chose alors qu'elles peuvent être faites avec un appel à une méthode ?
Quand dans un nouveau projet tu dois refaire la même chose que ton projet précédent , tu recodes tout ? ou tu fais un copier coller de ton projet précédent ?

C'est pour cela qu'il faut savoir y aller avec modération. Utilise un CMS pour des sites web tous cons. Utilisez un framework lorsque qu'il le faut vraiment. Et n'en utilisez pas lorsque vous voulez une totale autonomie, ou bien pour être adapté à 100% au projet et ne pas avoir besoin à se fier à une base qui peut dérouter du jour au lendemain.

Citation Envoyé par grunk  Voir le message
Honnêtement les framework ne sont là que pour simplifier les truc chiants du quoitidien. La vraie complexité d'une application n'est pas de générer un formulaire , de faire une requête sur un serveur ou de générer un fichier xml (je suis volontairement réducteur sur les possibilité d'un framework).
Le framework permet au contraire de se détacher de ses taches répétitives et sans grand intérêt pour se concentrer sur la vrai partie applicative.

Il n'y a pas que les tâches répétitives et chiantes comme tu dis. Il y a aussi tout ce qui est cognitif chez un framework. Laissez tomber tout le côté technique. La théorie, ça personne n'y pense. Et pourtant...

Citation Envoyé par grunk  Voir le message
C'est dans le monde des bisounours , ou le patron ne se mèle pas de se que font ses employés sous pretexte qui ne sais pas le faire ...
Framework = gain de temps = gain d'argent : CQFD

Voilà pourquoi j'ai l'impression que les gens qui utilisent un framework n'ont pas quitté leurs habitudes des bancs d'écoles (c'est un exemple, une comparaison avec les écoliers), toujours vouloir en faire le moins possible car gros poil dans la main... Et puis, ça démontre tout l'intérêt que vous portez au client et à votre projet. Aucun.
Il s'agit de faire les choses soit au complet, soit à moitié et l'autre moitié sera faite par quelqu'un d'autre (très beau sens de l'exploitation à doubles sens).

Citation Envoyé par grunk  Voir le message
Après effectivement en phase d'apprentissage du langage , il est plus que déconseiller de commencer avec un framework.

Étrangement on voit rarement cela en application.

Citation Envoyé par dourouc05  Voir le message
Je n'ai jamais prétendu le contraire. Ma prose était peut-être ambiguë, mon opinion sur le sujet ne l'a jamais été. Et le "rien qu'une méthode de conception" me fait penser que tu n'as pas encore vu l'utilité des design patterns (je ne me présente pas comme un fervent utilisateur, juste comme un piqueur de bonnes idées quand c'est utile). Surtout que les frameworks sans MVC sont assez rares...

Je sais très bien leur utilité. Mais justement, est-ce que les gens savent ce qu'ils font? S'y prennent-ils de la bonne manière pour choisir leur design pattern? Quand je vois le sigle "MVC" partout, je me pose de sérieuses questions.

Citation Envoyé par dourouc05  Voir le message
Là, tu te poses à un autre niveau. Quelqu'un doit pouvoir comprendre l'organisation de mon code sans jamais ouvrir un seul fichier. Qu'il soit propre ou pas, qu'il soit en Python ou en Java, ça ne change rien, tout le monde doit pouvoir en comprendre l'architecture (à condition que connaître les problèmes résolus et d'avoir un certain background technique il s'entend). Commentaire ou pas, ça ne changera rien à ce niveau. Et l'utilisation d'un framework permet de standardiser tout ça : quelqu'un qui connaît symfony pourra voir comment c'est organisé, pourra retrouver ses jeunes assez vite ; s'il ne connaît pas le framework, il trouvera sans problème des tutos (extrêmement bien faits, d'ailleurs) lui expliquant l'architecture générale des projets symfony. Pas besoin d'ouvrir des fichiers. Bon, pour savoir précisément ce que fait un tel module, rien ne vaut un petit coup d'oeil ; tu sauras néanmoins à son emplacement que c'est un module, à son nom son périmètre d'action. Et ça, aucun commentaire ne le permet aussi facilement.

Bah justement, avant d'utiliser un framework pour ces raisons, il faudrait savoir le faire sans. Ce n'est pas normal d'avoir besoin d'un outil à ce point juste pour une question de propreté. Cela remet en doutes les connaissances, l'expérience et les méthodes de travail de la personne. Bref, c'est une excuse bidon non crédible.

Citation Envoyé par dourouc05  Voir le message
Soit je n'ai effectivement rien compris. Soit je n'ai rien compris. Comment faire le lien entre l'unification de la pensée (menant à Hitler en poussant le bouchon très loin) et réécrire les idées des autres ? Le framework te montre une voie à suivre ; maintenant, tu la suis pour les avantages mis au-dessus. Ou tu ne la suis pas et tu n'utilises pas ce framework, te tournant vers un plus light à ce niveau (ZF, par exemple, me semble-t-il, se laisse utiliser comme une vulgaire lib). On utilise alors les idées des autres. On construit sur ce qu'ils font. Comme la croissance de l'humain : il ne peut se construire que sur les autres. De là à considérer une app comme un bébé, il n'y a qu'un pas !

Je n'ai jamais insinué Hitler. Oui un framework unifie la pensée des gens. Tout le monde aura la manière de penser et d'agir de Symfony ou un autre. Et après? Comment on évolue dans la technologie? Pourquoi donc se fermer et se centrer sur une seule méthode? Ça détruit l'unicité et l'originalité d'un code.

Citation Envoyé par dourouc05  Voir le message
Si tu n'arrives pas à comprendre ma pensée sur un raisonnement concret, seras-tu capable de la comprendre sur un raisonnement concret ? Platon pensait exactement le contraire quand il a fini sa caverne. Je ne pense pas être suffisamment avancé dans ma compréhension de l'univers pour aller à son encontre.

Pas facile de comprendre la façon dont tu t'y prends pour mêler concret et abstrait. Tant que tu n'es pas dans l'un ou dans l'autre dépendamment du sujet, l'exemple sera mauvais.

Citation Envoyé par dourouc05  Voir le message
symfony a bien évidemment été créé pour avoir contrôle sur tout l'univers. C'est bien connu. Voyons. Ce framework a été développé à l'origine pour simplifier les devs de Sensio Labs. Puis ils l'ont ouvert. Et voilà. Un grand framework (avis personnel). Dont le seul objectif est bien de contrôler plus de territoire que les Romains et la Russie réunis. C'est très logique.

Les gens qui créent les frameworks sont des gens qui veulent controler la façon de faire des autres. J'appelle ça de l'égo et des manipulateurs.

Citation Envoyé par dourouc05  Voir le message
Ici, tu as déjà une variété de langages. Puis de frameworks. Chacun a son propre mode de pensée, sa logique propre. Si celle d'un framework ne te convient pas, tu changes soit de framework, soit de boîte. C'est ton droit. Rien ne t'oblige à t'enfermer dans une seule et unique combinaison. Si tu trouves qu'un framework unifie trop ta pensée, va voir ailleurs, tu la désunifieras un peu. Pour la réunifier, selon ton discours. Auquel cas tu iras respirer ailleurs. Tu peux le faire, profites-en. Ils font tous la même chose ? Oh, c'est bizarre, tous les humains vivent... C'est normal, ils sont tous prévus pour faire la même chose. Comment veux-tu qu'en voulant faire la même chose ils fassent des choses différentes ? Si tu trouves la solution, petite boite noire, direction le centre de recherche pour la boîte et l'asile pour celui qui l'a rempli.

Le problème, c'est que de plus en plus de gens ne sont pas capables de se débrouiller sans. On va rapidement finir comme les clients pour qui nous réalisons les projets: toujours vouloir faire plus simple, toujours accumuler de la paresse, toujours vouloir de la facilité. Le développeur deviendra l'équivalent de l'utilisateur lambda de Windows (Lulz to the troll ).

Citation Envoyé par dourouc05  Voir le message
Euh... Si du temps est passé à la création d'un framework, c'est pour éviter de repasser ce temps dans l'utilisation de PHP, de gagner du temps dans l'utilisation de PHP conjointement avec le framework... Ou je ne te suis pas...

Avec un framework, je doute qu'on utilise pleinement PHP... Non tu ne me suis pas.

Citation Envoyé par dourouc05  Voir le message
Le débat est très bien ici, je ne vais pas m'amuser à le suivre sur deux endroits différents... Si tu souhaites alimenter celui-ci, tu peux reprendre des commentaires de là-bas, citant l'auteur, qu'on puisse en débattre ici. Sinon, j'ai survolé l'article, pas lu en détail. Suffisamment pour avoir une idée globale.

À mon avis tu devrais le lire au complet. Tu saurais vraiment de quoi je parle. Mais bon, on risque de prendre ça pour de la pub vu que je suis l'auteur.
C'est pris en note. Je le ferais, et je ferais de même avec un conversation d'un développeur qui est pro-framework (Ouais, j'essaie de m'ouvrir aux idées des autres même si ce n'est pas facile à accepter).
Avatar de stealth35 stealth35 - Expert éminent sénior http://www.developpez.com
le 16/11/2010 à 0:09
je suis assez de l'avis de l'article et cette belle phrase le résume très bien
Le framework reste un outil, il ne remplacera jamais un développeur.

On peu très bien s'en sortir en étant full framework sans trop savoir ce qui se passe derrière, mais on risque a un moment donnée d'être limité.
La prog c'est de la gymnastique et si on pratique pas on perd, les framework on tendance à mâcher les choses pour biensur ne pas "réinventer la roue", mais c'est bon de savoir quand même comment ca marche on y gagne en crédibilité et en indépendance.
Offres d'emploi IT
Analyste SI-métier (H/F)
Société Générale - Ile de France - Val-de-Marne
Data scientist inspection générale (H/F)
Société Générale - Ile de France - Hauts-de-Seine
Développeur - software craftsman (H/F)
Société Générale - Ile de France - Hauts-de-Seine

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil