Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par HeadCoder

0PARTAGES

2  15 
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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de werss
Inactif https://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.
16  0 
Avatar de Michel Rotta
Expert éminent https://www.developpez.com
Le 20/11/2010 à 21:09
Non mais, allez les mec, vous êtes tous à côté de la plaque. Manulion à parfaitement raison, les framework sont un frein à la construction d'application sécurisées, ils accélèrent trop le développement, ils empêchent le développeur d'exprimer son talent à sa juste valeur.

D'ailleurs, les langages informatiques ne sont-ils pas assimilable à un framework ? PHP avec ces "design patterns" n'est qu'un carcan destiné à nous enfermer. Il faut jeter ces normes imposées qui nuisent à notre créativité.

Et apache, il nous force à utiliser des fichiers de configuration, à avoir un protocole définit pour communiquer, à respecter une hiérarchie dans les répertoires. Encore une barrière à notre liberté.

Moi je le dis, et je suis sur que Manulion me suivra : "IL FAUT JETER TOUTES CES BARRIÈRES A NOTRE CRÉATIVITÉ !"

Donc, dorénavant, nous allons coder nos application en assembler avec un vim de base comme éditeur !



Là, je me réveille d'un long cauchemar et réalise que, je vis dans un vrai monde... Où, heureusement pour les utilisateurs de l'informatique, il existe des normes, des langages de développement et des développeurs qui produises des sites qu'il est possible d'utiliser depuis n'importe quels outils connectés à internet.

Et je reviens sur les framework tel le phénix qui renait de ses cendres.

Faut-il utiliser un framework ? NON ! Pas plus qu'il ne faut utiliser du PHP ou tout autre langage, on peut développer en assembler.

Mais le premier qui se pointe chez moi ou me propose de participer à un tel projet, je le vire manu militari.

Je pense que prétendre proposer du code de qualité en refusant toutes normes et toutes factorisation est une énorme erreur. C'est faire belle une total méconnaissance du développement, de la coordination du travail d'équipe, de la gestion financière d'un projet, du suivi du code dans le temps.

Faut-il utiliser un framework ? OUI ! Quel intérêt à écrire dans chaque page pour chaque lien, la même routine qui va le mettre en forme ? Quel intérêt à écrire sur chaque page le code qui va valider la session et récupérer les données ? Quel intérêt à écrire sur chaque page les codes d'accès à la base de donnée et la routine de connexion ? ... AUCUN.

Il faut permettre au développeurs d'un projet de ce concentrer sur la partie qui les intéresses, la partie métier de leur site, cette partie qui est propre à leur site. Le reste doit être mutualisé au maximum, soit par un framework interne, né au fil de l'eau pour les usages internes, soit par un framework plus généraliste qui permet de mutualiser le travail dans un groupe encore plus grand.

Dire que l'utilisation d'un framework est de la paresse est la démonstration ultime de la méconnaissance d'un travail réel dans "la vraie vie" et ne mérite même pas le mépris pour réponse.

Dire que la finance n'a pas à se mêler de ce qui ne la regarde pas, est l'expression même de la méconnaissance du monde du travail. Qui paye les salaires des développeurs d'un projet ? Qui paye les serveurs ?

Pour prétendre qu'il n'y a pas d'algorithme dans un framework est une injure à toues les personnes qui ont contribuer à le faire fonctionner. Et une démonstration de l'ignorance même de ce qu'est un algorithme.

Je ne vais pas aller plus loin, je vais juste citer un de mes maîtres (qui est hélas parti il y a presque 20 ans) : "pour former un développeur (mais c'est vrai pour presque tous les métiers) avec 10 ans d'expériences, il faut 10 ans après les études". Je pense, cher Manulion qu'il te reste à commencer tes études, après, dans 20 ans, si je suis encore là, nous reprendrons cette discutions et je pourrais sourire à ton air ahuri devant les absurdités de ton raisonnement.
15  0 
Avatar de dourouc05
Responsable Qt & Livres https://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_d...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.
15  1 
Avatar de Joker-eph
Membre confirmé https://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...
9  0 
Avatar de dourouc05
Responsable Qt & Livres https://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.
9  0 
Avatar de Benjamin Delespierre
Expert éminent https://www.developpez.com
Le 16/11/2010 à 0:12
Je n'ai pas encore eu le temps de tout lire (quel thread intéressant d'ailleurs) mais je prends le temps d'exprimer mon opinion, ceci étant dit.

Je vais raconter mon histoire, je suis arrivé dans une entreprise ou il y avait 3 développeurs PHP qui faisaient tout ce qu'ils pouvaient pour améliorer un soft existant codé à l'emporte pièce en phtml sans aucune réutilisabilité ni sécurité. Devant les contraintes de temps qui m'étaient imposées, je n'ai pas eu le luxe de me mettre à un framework existant et encore moins de former mes collègues. Tout ceux qui dans mon entourage on cotoyé des frameworks PHP me l'ont dit: il te faut au moins un an de dév sur ce composant pour le maitriser (dixit Symphony). N'ayant pas non plus d'expert sous la main pour me chaperoner, j'ai jugé l'exercice trop risqué. J'ai alors commencé par m'écrire quelques helpers, des fonctions basiques pour mutualiser des traitements, j'ai attaqué par un mécanisme de templating utilisant des méta-balises dans du XHTML parsé par PHP, puis je me suis mis à créer des couches d'abstraction pour mes données, toujours afin de gagner du temps, et ainsi de suite. Au bout de quelques mois j'ai rassemblé toutes les pièces de ce qui allait devenir une ersatz de framework, je l'ai normalisé, j'ai créé des couches applicatives selon le modèles 3tiers, organisé mes composants autours du MVC, je me suis beaucoup inspiré des design patterns existants et j'ai continuellement amélioré ce qui n'était qu'au départ quelques helpers, par exemple, la couche modèle à subi 3 redesigns majeurs.

Aujourd'hui, nous utilisons ce framework maison pour nos produits, certes il n'est pas parfait et il n'est pas de la classe d'un ZF ou d'un Symphony mais sa flexibilité et sa généricité nous permettent de couvrir la plupart des cas d'usage de nos applications. De plus, j'ai pu écrire des guidelines et des documentations qui font qu'on peut travailler à plusieurs dessus plus efficacement et en toute sécurité. Je ne prétends pas avoir inventé l'eau tiède, j'ai juste créé un outil pour mes besoins et cet outil me satisfait avant tout parce que je le maitrise à fond. C'était didactique, enrichissant et productif. ça ne sortira probablement jamais de notre boite et je vois d'ici comment améliorer ce que j'ai créé mais on a réussi l'essentiel: gagner en productivité.

Les framework sont le mal ? Au contraire, les frameworks sont surtout un excelent moyen de travailler ensemble et c'est ça qui fait la différence.

--- EDIT

Ce thread me rappelle de (très) nombreux autres sur les framework Javascript. Je m'y était attardé du temps ou je me tâtait entre jQuery, Prototype et Mootools (finalement j'ai choisi d'investir dans jQuery pour pas raconter ma vie). On y retrouvait globalement les mêmes arguments mais pour moi qui n'ai jamais vraiment rien compris à Js, l'usage d'un framework qui me simplifiait le DOM, le XHR et le traversing m'a été salutaire. Maintenant je comprends beaucoup mieux, partir du framework pour descendre dans les couches bas niveau du langage est à mon sens bien plus aisé que l'inverse.
8  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 16/11/2010 à 9:00
Citation Envoyé par Manulion
Dans ce cas faut s'arranger. Imposez un cadre de travail ou un "esprit de travail"
Le terme framework ne se limite pas à ZF et symphony. Comme Benjamin Delespierre j'utiliseun framework maison qui répond totalement à mes besoins. Moins lourd que les grand du millieu, mais suffisament efficace pour gagner en productivité.

A partir du moment ou tes développeurs utiliseent les même classes de bases , où chacun respecte une charte de développement on peut dire que tu utilises un framework. Framework n'est pas synonyme de MVC et d'usine à gaz.

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
J'aurais tendance à penser le contraire. Utiliser un framework c'est un pas de plus vers l'industrialisation (c'est à la mode en ce moment). Et faut pas se leurrer dans la vraie vie , quand on te demande un projet pour hier (parce que c'est souvent comme ça que ca se passe) effectivement tu cherches à en faire le moins possible pour gagner du temps et respecter les délais qu'on t'imposes.

Citation Envoyé par Stealth35
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.
Je suis d'accord avec ça. Même si réinventer la roue de ne sert à rien , quand on débute faire son petit framework (par exemple) en regardant comment sont fait les autres est très bénéfique pour la suite et permet de ne pas être trop déconnecté de ce qui se passe dans la boite noir qu'est le framework.
8  0 
Avatar de gwinyam
Membre chevronné https://www.developpez.com
Le 16/11/2010 à 10:39
Citation Envoyé par Manulion Voir le message
Et comme je l'ai dit plus haut, la finance n'a pas à se mêler de ce qui ne la regarde pas. Non?
Sauf que la finance, c'est elle qui te nourrit. Donc elle a son droit de regard.
8  0 
Avatar de Michel Rotta
Expert éminent https://www.developpez.com
Le 21/11/2010 à 14:21
Je ne me fous pas (entièrement) de ta gueule... si non, je n'aurais même pas pris la peine d'écrire. Ce qui m'inquiète c'est que certains développeur débutant pourraient ce laisser influencer par cette méthode complètement détachée de la réalité du développement et de foutre leurs carrière à l'eau. La tienne n'est pas encore commencée, donc, moins de risque.

"... depuis le début on parle de frameworks dédiés au langage PHP et toi tu nous parles de logiciels et autres produits qui n'ont pas rapport avec." Ah bon... Et c'est moi qui ne comprend rien à la programmation... Qu'est-ce qu'un langage de développement si ce n'est un énorme framework qui permet de transformer des lignes de code en commandes assembleur ? Quant on veut aborder un sujet, il faut être capable d'en assumer toutes les extensions, alors, assumes. Le framework est écrit en PHP, utilisons PHP ==> PHP est écrit en C++, utilisons du C++ ! Et on arrive à l'assembleur.

Ce qui te dérange dans ce raisonnement, c'est qu'il n'est que la démonstration par l'absurde de l'erreur du tiens. Et, accessoirement, de la méconnaissance que tu as du fonctionnement de la chaine de développement ainsi que de la chaine informatique.

Tu as développé 3 projets en collaborations. C'est bien, ils font des travaux pratiques en groupe dans ton école.

J'ai commencé à développer au même age que toi. J'ai donc plus de 30 ans d'expérience dans le développement et j'ai, hélas, perdu le compte des projets sur lesquels je suis intervenu, seul ou en groupe, partiellement, totalement, comme développeur, chef de projet, chef de produit, directeur informatique, responsable d'achat,... et j'en passe. Effectivement, je parle d'un sujet que je connais beaucoup moins bien que toi.

Si effectivement je n'ai rien compris, relève le défis, essaye d'expliquer et de démontrer la véracité de ton point de vue. Démontre que mon raisonnement par l'absurde est faux. Démontre que ma chaine de développement n'est pas la meilleur. Trouve un modèle économique dans lequel tu pourras faire évoluer ta chaine.

Dis-toi bien que si tu arrives à me convaincre, tu auras de quoi convaincre un paquet de développeur. Mais je vais être très dur à convaincre.

Dans ce qui a déjà été dis :

"le framework est moins sécurisé".
Je ne peux que m'élever en faux sur une tel assertion. L'utilisation d'un framework permet de sécuriser une application. En effet, combien de développeurs directes (sans framework) prennent la peine de vérifier la présence de tous les arguments et pas plus lors d'un retour ? Combien prennent la peine d'inclure systématiquement un contrôle par CSRF ? Combien mettent en place un système unifié de contrôle des droits dans leurs applications ? Et le tous en ne factorisant pas son code, ce qui impliquerait la création d'un ... framework.

L'avantage ici du framework est évidente, toutes ces opérations sont prises en charge par le moteur du framework et le développeur peut ce concentrer sur son travail métier.

Il arrive que l'on trouve une faille sur un framework, mais celle-ci corrigée, les applications peuvent rapidement être mise à jour et sécurisée, sans avoir à reprendre la moindre ligne de code propre à l'application. Imaginez la même erreur sur un modèle développé sans factorisation, il va falloir reprendre l'ensemble de l'application pour localiser où l'erreur existe et la corriger, puis reprendre toutes les autres applications en production et les corriger, une à une, écran par écran.

L'avantage immédiat de la factorisation du code saute aux yeux. Et l'existence du framework qui n'est que le résultat ultime de cette factorisation prouve, ici, sa force face aux failles, à l'opposé d'un développement direct.

"le framework est une bride à la créativité du développeur"
Là, effectivement, il y a matière à discuter. Suivant le framework on peut être limité dans ses choix et dans la manière de réaliser les choses. C'est là qu'apparaît la question du choix d'un framework. Les deux frameworks qui ont leur salle sur developpez.net, Zend et symfony, arrivent à éviter ces problèmes de bridages, par une grande souplesse et, à l'extrême, la possibilité d'inclure des codes n'utilisant pas le framework.

J'avoue que, sur les projets développés au cours de ces deux dernières années, cela ne m'est jamais arrivé, ni sur les projets que j'ai développé, ni sur ceux que j'ai aidé sur le forum.

Le choix d'un framework ne doit pas être pris à la légère et mérite une longue réflexion. Y compris la possibilité de monter son propre framework. Mais je ne parlerais pas des avantages des uns ou des autres, c'est un autre sujet. Une simple recherche sur le forum permettra de savoir quel est l'objet de mon choix, ici, je ne parlerais que du choix d'utiliser un framework où non.

Je suis prêt à débattre d'autre arguments argumentés. Mais que s'il sont argumentés.
8  0 
Avatar de Michel Rotta
Expert éminent https://www.developpez.com
Le 29/11/2010 à 13:51
Mais non, je ne suis pas méchant...

Bon anniversaire Manulion.

Les choses sérieuses maintenant (et j'insiste sur sérieux).

Juste une remarque qui va permettre de réduire le périmètre de l'interprétation que l'on pourra faire de mes propos. Ils concernent le développement en entreprise, où assimilé, celui qui doit nourrir le développeur et les équipes qui tournent autour de lui (et le centre des impôts, mais c'est une autre histoire...). Je respecte les Amateurs qui développent sans soucis de rentabilité et de se nourrir avec. Notez la "A" majuscule pour Amateur, ce terme étant pour moi honorifique et non pas péjoratif (Amateur - amateur de « celui qui aime (qqn) » ).

Citation Envoyé par Manulion Voir le message
Justement, il est préférable pour un débutant de commencer sans framework pour comprendre la méthode de base. Comme à l'école: on apprend à calculer avant d'utiliser la calculatrice.
On ne parle pas du même débutant. Pour moi le débutant arrive en entreprise après 2 ans, au moins, d'études en développement. Ils arrivent enfin dans le dur monde du travail et il est important qu'ils permettent à leur entreprise de gagner de l'argent, si non, ils vont perdre leur travail. Ils peuvent être des Amateurs, mais, dans le cadre d'une entreprise, ils doivent produire du code modifiable (par d'autre), sur, rapide, et rentable. Chez eux, le soir, ils font ce qu'ils veulent. Il est évident, là, que le framework est un cadre qui apporte beaucoup plus d'avantages que d'inconvénient.

Citation Envoyé par Manulion Voir le message
Je sais, mais là on parle de PHP. Que le PHP et aucun autre langage. On parle des frameworks qui sont dédiés à PHP. Les couches d'en dessous sont peu importantes ici. Du moins, je n'en vois pas leur importance.
Tu ne peux pas limiter la discutions d'une manière arbitraire, simplement parce que tu sais que tu n'as pas la possibilité de justifier tes arguments dans le reste de l'espace informatique. C'est un peu comme si tu décrétais que les nombres possèdent tous une racine carrée dans R. Ce qui est faux. Et quant on te met le nez dedans tu veux limiter ta démonstration aux nombres >0, les autres n'étant pas importants !

On ne peut pas limiter une démonstration abusivement à un domaine qui est arrangeant. Et si tu ne comprend pas comment fonctionnent les différentes couches logiciels, apprends, après, nous pourrons rediscuter de ton présupposer et, ensemble, démontrer qu'il est faux.

On va aller un coup plus loin. Dans mes débuts sur PHP, j'ai utilisé un framework d'accès aux données qui rajoutait une sécurité dans les échanges avec MySql. Il s'appelait Créole et n'existe plus aujourd'hui. Pourquoi ? L'équipe de PHP a considéré que cet échange devait être sécurisé. Ils ont donc créé un ensemble de commandes, appelé PDO qui rend les mêmes services, plus rapide vu que codé dans le système. Notre framework est donc devenu commande intégrée. Mais faut-il l'utiliser vu qu'elle vient d'un framework ? Et ce n'est qu'un exemple parmi de nombreux possible, c'est même un des principes de développement du langage PHP. Intégrer les framework spécialisés au cœur du langage.

Ne pas y voir ici, la démonstration de l'absurdité de ton raisonnement constitue une grosse erreur.

Citation Envoyé par Manulion Voir le message
Faut commencer par trouver où se situe la source de la situation. Quel domaine (finance, GI, SI, développement web, etc)? La solution de "on l'utiliser parce que c'est gratuit et c'est vite" est relativement stupide. Stupide dans le sens où c'est du non respect de ceux qui ont créé cet outil, et c'est un manque de respect et d'intérêt envers la personne à qui le projet s'adresse. Il vaut mieux faire les choses bien et lentement que vite et instables. En tout cas c'est pas bête: pourquoi pas essayer d'en trouver une autre...
Deux question en une. La première trouve sa réponse ci-dessus.

Pour l'utilisation d'un framework parce qu'il est gratuit, je trouve cela mignon. Une démonstration par le fait que tu ne sais pas de quoi tu parles. Tu penses vraiment que les frameworks sont gratuit ? C'est méconnaitre le coût d'un framework. Je ne tiens pas à citer de nom de framework, mais le seul coût d'acquisition est loin d'être la seul chose à prendre en compte. Le plus grand coût, sur un framework ou un langage, c'est l'apprentissage. Ceci à un coût certain. Cela met le prix d'un framework bien au delà du gratuit.

Et je ne parle pas de l'erreur de choix ou de la dissolution de l'équipe qui le maintient. Ce qui va entrainer des adaptations, voir des re-développements pour coller à un autre framework.

Non, un framework n'est pas gratuit, pas plus que d'installer du Linux sur tous les postes de travail, ou de passer toutes ses machines d'une suite de logiciels bureautique payante à Libre Office. Tous cela à un coût qui peut être plus important que de reconduire les licences existantes.

Citation Envoyé par Manulion Voir le message
D'accord, sûrement qu'un framework passe le point de la sécurité. Mais qu'en est-il de la sécurité de l'information? Qu'est-ce qui nous garantie que l'information est bien gérée par celui-ci? Dûr dûr de savoir comment il la gère... Pourtant, la gestion de l'information (par information, on entend les données de bases de données, fichiers, contenu du site, etc) revient au développeur mais celui-ci semble vouloir déléguer la tâche au framework.
Encore la démonstration de ta méconnaissance du sujet. Il est bien plus simple de savoir comment un framework traite les données que de savoir comment PHP ou MySql (sans parler des couches systèmes) les traitent. En effet, le framework est écris dans le langage du développeur qui l'utilisent. Pour comprendre comment PHP va traiter les mêmes données, il faut commencer par comprendre le C. Ce qui n'est pas évident pour tous les développeurs PHP.

Et qu'est-ce qui va me rassurer sur le traitement des données par un développeurs qui n'utilise pas un framework ? A-t-il protégé son application contre l'injection SQL ? Cf l'exemple sur la couche PDO.

Citation Envoyé par Manulion Voir le message
Quel travail?
Développe une vraie application avant de te moquer du travail qui est effectué par une majorité des personnes présentes sur ce forum.

La bêtise, la méchanceté et l'ignorance ne peuvent constituer une quelconque démonstration de tes propos. Juste mettre en avant l'absence d'argumentation.

Citation Envoyé par Manulion Voir le message
Pas nécessairement.
(sur la nécessité de reprendre les bugs découverts dans l'ensemble du code produit).

C'est l'illustration de ta méconnaissance du monde réel (sorti des murs de ton école). Deux possibilités.

Tu es constant dans tes développement, refuse de factoriser ton code, vu que cela va te conduire à utiliser un framework, même personnel, ce qui va te brider. Tu trouves une erreur sur un code important et répété dans l'application. Comment pourras-tu justifier à ton client que tu ne le corrige pas partout et que tu lui laisses une application potentiellement dangereuse ? Et à l'autre client, celui que tu as développé juste avant, que lui réponds-tu lorsqu'il vient te voir pour te demander des comptes sur cette erreur, que tu connaissais et a choisi de ne pas corriger ?

L'autre possibilité est plus inquiétante, pour renforcer ta volonté de ne pas factoriser ton code, tu développes à chaque fois d'une manière différente en brodant autour des algorithmes. Il est sur, alors, qu'une erreur existante à un endroit ne sera pas identique ailleurs. Mais est-ce plus sur ?

Ce qui est sur, c'est que si je suis le client, dans le meilleur des cas, plus jamais je ne travaillerais avec toi. Dans le pire (mais très probable) des cas, on se retrouvera très vite devant un tribunal pour le calcul des dommages et intérêt. Et tu payeras le re-développement, fait par d'autre, à l'aide d'un framework, un comble...

Citation Envoyé par Manulion Voir le message
Est-ce assez argumenté? Et sinon, au niveau théorique, qu'as-tu à me dire? Parce que là, c'est bien beau la technique, mais le problème il est au niveau théorique, dans l'abstrait.
Argumenter ? Je te conseil de passer sur un dictionnaire pour apprendre le sens de ce mot. Non, ce n'est pas assez argumenté. Ce n'est absolument pas argumenté. A part ton intime conviction, il n'y a rien dans ton raisonnement.

Pour le niveau théorie, je ne peux que te conseiller de terminer ton bac (ou l'équivalent) de faire une bonne école préparatoire en mathématique, puis un diplôme d'ingénieur en génie logiciel. Ce que je ne peux te donner dans une réponse ici.

Quant à considérer que le problème du développement doit rester dans l'abstrait. "Non, monsieur le procureur, ne le condamner pas ! Il ne voulait pas tuer le juge en sortant de tel choses, il n'avait en aucune manière l'idée de l'étouffer de rire." Il n'y a rien d'abstrait dans le travail d'un développeur, il doit rendre un travail, dans un délais, à un coup, qui répond à un cahier des charges.... et j'en oublie.

Citation Envoyé par Manulion Voir le message
Il y a des jours où ça ne fait pas de mal d'aller à l'encontre des décisions des gens. Rien que pour essayer.
Parfois, on peut ce retrouver. C'est ici que l'Amateur peut trouver. C'est ici que le chercheur pour exister. Mais pas un développeur dans son travail courant (je parle bien du travail de tous les jours).

Citation Envoyé par Manulion Voir le message
Dans un projet industriel, il n'y a que l'argent qui compte. Le reste (innovation, technique, théorie, le code, technologie, etc) n'est bon que pour la poubelle.
Encore une fois, tu parles de choses que tu ne comprends pas. Il y a de l'innovation dans les projets industriels, pas dans tous, mais l'innovation, peut-être rentable. Les exemples sont tellement nombreux autour de toi qu'il te suffit d'ouvrir les yeux. Regarde bien, tu as une innovation industriel juste devant tes yeux. Sans oublier celle qui est sous tes mains.

Citation Envoyé par Manulion Voir le message
À mon avis, ce n'est pas pour le code en tant que tel que nous devrions payer (payer celui qui l'écrit entre autres). Ça devrait plutôt être basé sur la réflexion et la solution au problème.
C'est désespérant comme réflexion. Une méconnaissance total de ce qui est juste de l'autre côté du mur de l'école.

Cette discutions tourne en rond sans aucun intérêt. Je pense que la seul solution pour la rendre viable, plutôt que de démontrer que tu sais utiliser un outil de forum et de faire des messages de réponses avec plein de citation serait de construire une réel argumentation de ce que tu veux démontrer, si non, tu retomberas très vite dans le néant de la méconnaissance et des idées sans suites.
8  0