Framework ou !Framework

« Pourquoi je n’aime pas les Framework? » c’est ainsi que je me suis exprimé sur le réseau social twitter. De là, s’est lancée une discussion sur utiliser où ne pas utiliser les framework. N’ayant pas spécifié le langage et le domaine d’application du framework, la discussion est allé dans tous les sens. Les idées ont donc fusé et c’est bien. En lançant cette phrase au début je me posais en même temps la question s’il était normal d’utiliser un framework php pour un projet propriétaire.
Je ne suis pas contre l’utilisation des framework, moi même j’utilise le framework Qt pour le développement en C++ mais en php non, pourquoi? Tout simplement parce que le PHP est un clone constant du langage C. Vous ne trouverez pas de framework pour le langage C qui en vaille le coup. Vous rentrerez toujours dans le code du framework pour le personnaliser.

Best Practices, Industrialisation du code, rapidité d’exécution, bonne organisation… toutes ces expressions représentent les « plus » que sont supposés apporter les frameworks php. Si vous utilisez un framework et que vous n’avez pas des notions de bests practices ou d’organisation alors vous n’êtes pas sorti de votre trou. Par Industrialisation du code je vois juste copier-coller… où est donc la différence avec mon habituel Ctrl+C, Ctrl+V ? Faudrait plutôt donner un nobel à celui qui à penser à ces actions et raccourcis (sans oublier Ctrl+Z et Ctrl+Y).

On dira: « il ne veut pas évoluer celui là! » mais je dirais juste que l’action suivante :

<?php echo input_tag(‘nom’, ‘valeur par défaut’, ‘maxlength=20’) ?>
sous le framework « symphony » ne fera que faire

<?php echo « <input type=’text’ name=’nom’ value=’valeur par défaut’
maxlength=’20’> » ?>

Vous me direz raccourcissement du code avec symphony moi je dirais exécution plus rapide du code de base. A votre avis quel langage ou méta-langage est plus rapide que l’assembleur? En plus à quoi bon déployer une grosse infrastructure (plusieurs Mo) pour de l’affichage de texte basique (quelques ko) ?
Pour l’adoption d’un framework php, on se retrouve donc entrain de passer du temps à apprendre le méta-langage de celui-ci au lieu de perfectionner son niveau dans ce qu’on connait ou apprendre de nouvelle notion. Ce n’est pas le framework qui fait du code propre ni des requêtes SQL de génie mais LE développeur.
Après tout cela je reste sur mon point de vue, « les framework php n’ont fait que re-inventer la roue« .
Post a comment or leave a trackback: Trackback URL.

Commentaires

  • Benoit  On 13 août 2010 at 11:52

    C’est sur que pour monter un site statique de 3 pages avec 1 seul formulaire l’interet n’est pas evident, bien qu’un developpeur qui connait bien son framework ira plus vite.

    Après pour des applications complexes, l’interet des frameworks php mvc en gain de temps tant qu’en testabilité et en maintenabilité est indéniable !

    Il est toujours possible d’utiliser son propre couche mvc mais les frameworks open source, symfony par exemple, sont intensivement testés et très bien documentés.

    La rapidité d’execution n’est pas un vrai argument, c’est la rapidité de développement qui compte, les serveurs ne coute rien par rapport aux heures des développeurs. Il y a aussi enormément de possibilitès de gestion de la performance qui ne sont jamais pris.en.compte dans les pseudos benchmarks qui sortent regulièeement sur le web.

    Si aujourd’hui des grands sites et une grande quantité d’applications de gestion sont ecrits entierement ou partiellement c’est aussi grace aux frameworks.

    Je pense pour conclure qu’il est meilleur pour un développeur d’appeendre très regulierement des nouvelles technologies plutot que de rester sur ses vieilles habitudes au risque de s’embourber dedans et de rater le bénefice que peu apporter le changement

  • nyamsprod  On 13 août 2010 at 12:46

    Si aujourd’hui des grands sites et une grande quantité d’applications de gestion sont écrits entièrement ou partiellement c’est aussi grâce aux frameworks.

    Je ne suis pas d’accord, beaucoup d’application très connues ne sont pas écrites avec des frameworks (WordPress, PhpMyAdmin pour ne citer qu’eux.)
    L’utilisation des frameworks est surtout pousser par des chefs de projets qui désirent avoir un produit facilement maintenable via l’utilisation d’une framework plus ou moins célèbre.

    Maitriser un framework c’est bien, comprendre le langage natif sousjacent… c’est mieux. Car si je me débrouille dans le langage natif, la framework ne me fera pas peur mais l’inverse n’est pas vrai.

    Ce problème n’est même pas spécifique au PHP. Si on prend le cas du Javascript, les nouveaux codeurs sont devenus des experts en jQuery, Mootools, Prototype mais ne savent plus valider un formulaire en simple javascript.

    Je me rappelle d’un type qui a débarqué dans une boite et qui n’arrivait pas à coder en PHP car il ne trouvait pas l’install de Zend Framework et qu’il était donc incapable de pondre 5 lignes de code PHP🙂 . A méditer

  • shloch  On 13 août 2010 at 13:17

    hmmmmmmmmmmmm😀
    c’est dingue tous ces BOBBA de framework…………………
    Prkoi c embettant ?? parce ke PHP est BORDELLE (sorry pr l’ortho)

    Et puis, maintenant j’veut utiliser une framework; j’utilise la quel quueeeeeeellllll :!!!!

    Pourkoi ils sont alors beaucoup ?? parce ke PHP est BORDELLE..lol

    Et si je doit basculer d’un equipe de developpement qui utilise un framework different ????

    Et si je connais bie programmer du PHP en respectant le MVC mais sas framework; ca suffit non ?? (pourkoi pas ?? :D)

    IMAGINEZ CA !!!
    Dans l’exemple d’izane; on apprend à écrire la balise «  » à la maniere SYMPHONY (il y a plein d’autres balise comme ca); avec du temps; on oublie comment l’écrire en simple HTML (meerrrrddde; miekde !! lol)

    Bon, on utilise un puis c’est tous;

  • shloch  On 13 août 2010 at 13:27

    +500 000 @nyamsprod

  • Champico  On 13 août 2010 at 13:30

    Totalement d’accord avec nyamsprod sur le fait qu’il faut maîtriser le langage natif avant de se lancer dans un framework. Je vois les frameworks comme des outils de productivité, obtenir une application stable rapidement et facilement maintenable quoique c’est tout à fait aussi possible en code natif sans framework.

    On revient donc à la question quand utiliser le framework, quelqu’un a dit quand on a comme seul outil un marteau, tout devient des clous.

    Dans tous les cas le codeur ne doit pas dépendre d’un framework au point ou il n’arrive pas a écrire 5 lignes de code, c’est pathétique.

    C’est le codeur qui fait la technologie, pas la technologie qui fait le codeur !

  • mambenanje  On 13 août 2010 at 13:37

    @Izane
    you dont like Frameworks thats good but there is something Frameworks bring that if I have it with normal PHP I wont use frameworks
    1) Object Relational Mapping
    2) Templating

    with frameworks you can easily see how others implement these and that and your team will benefit as they code from project to project and new team mates that come into your team wont bother existing team mates alot, they will just read about the framework online and get to study inhouse codes for say a week and start coding.
    Bro if you want to go big…get one of those frameworks or invest money into organising your coding standards and style inhouse along side investing money to train new developers
    my2cents

  • shloch  On 13 août 2010 at 14:16

    +200 @mambe …………..
    « new team mates that come into your team wont bother existing team mates alot, they will just read about the framework online « 

  • gaza  On 14 août 2010 at 08:58

    Salut je veux jetter aussi un petit peu de sable dans ce debat. En disant que Izane semble minimiser un aspect essentiel de la valeru ajoutée des frameworks l’industrialisation. C’est bien d’ecrire du code from scratch mais comment passer à l’etape superieure sans reinventer la roue? Pour moi qui travaille dans un Environnement D’entreprise depuis un certain Temps , je ne prendrais jamais le risque de mettre une appli PHP en production si elle n’est pas basée sur un framework . Un developpeur normal ne peut pas penser a tout :Securité ,optimisation du code,DOCUMENTATION, logique metier ,difference entre env de developpenemnt, Préproduction ,Production. voila la valeur ajoutée du framework
    Combien de sites camerounais developpés en PHP sont transactionnels ? SI ce n’est pas des sites pour juste prendre un champ et afficher?
    Je conseille aux developpeurs africains et Camer en particulier de bien Maitriser un framework et de nous produire des logiciels aux normes Internationales .Voila ou se situe le Vrai debat

  • sandrinetoua  On 14 août 2010 at 22:44

    Bon je ne fais que passer hein. Framework là je comprends moi que rien suc çà!

    Juste pour dire: « Bon retour, çà faisait un bail! »😀

  • thisiskas  On 7 mars 2011 at 01:38

    Pour clore je dirais juste que je ne savais qu’Izane avait fait de ce fameux débat donc j’étais l’un des principaux acteurs l’objet d’un article. Moi je suis un incontestable supporter des frameworks.
    Mais soyons clair, je ne suis pas supporter de n’importe quoi et de n’importe qui!
    Moi je suis d’abord un passionné de l’architecture logiciel, et un passionné de l’intégration car il n’y a rien de mieux que ce que les électroniciens ont compris il y a un siècle. On ne peut pas tout faire tu prends quelques résistances du spécialiste des résistances, tu prends quelques câbles, tu prends … et après tu as assemblé tout un circuit sur une carte mère. Si un framework peut me permettre de coupler facilement ma base de donnée à mon front-end, de gérer mon cache, de gérer la montée en charge et mes requêtes et de me permettre ainsi de ne me concentrer que sur le coeur du métier pourquoi devais-je à mon tour réinventer la roue.
    Au delà de la connaissance du langage, il y a quelques règles générales que j’observe pour le choix d’un framework ou d’une API:
    1. Que le framework supporte mon patron de conception (il peut y-en avoir plusieurs mais que le principale soit supporté)
    2. Que le framework respecte les standards pour faciliter l’intégration et la communication avec d’autres applications

    3. Que le framework me permette de me concentrer uniquement sur le coeur de métier, les algos et les fonctionnalités et qu’ils gèrent les éléments habituels dont j’ai parlé plus haut.

    Voilà résumé ce que je pense de ces frameworks et je conseille à Izane s’il se sent très prolifique from scratch de regrouper toutes ses routines pour en faire un framework propriétaire ou open source s’il le veut, de bien rédiger la doc et de ne plus aussi réinventer la roue à chaque projet!
    Nice topic!

  • aiglefin  On 5 juillet 2011 at 08:50

    @thisiskas Comment tu veux clore alors que je n’ai pas encore donné mon avis; ça va pas nooooooon;
    Ok, je reprends juste cette phrase de Izane :
    <>
    et après avoir lu tout son exposé, je pense que notre ami dois confondre CMS et Framework;
    moi personnellement en tant que développeur, je ne conseillerai pas à quelqu’un qui débute en programmation de se mettre au CMS( Joomla,et dupral, clarabelle et cie); car avant de se mettre à faire du Ctrl+C et Ctrl+V, il faut pouvoir interpreter le code en question et ça passe par un apprentissage sérieux du langage, c’est valable en PHP et pour tout les autres langages; ils sont nombreux ici dehors au Kamer qui parce qu’ils savent utiliser un p$%¿tain de CMS ce disent développeurs; à ceux là je dis un CMS ne vous permettra pas de développer votre génie, au contraire il va tuer le génie qui est en vous avant même qu’il n’ai eu le temps de s’exprimer; à force de faire des copier-coller de composants à gauche et à droite; vous serez incapable de réfléchir par vous même et pire encore d’adapter un petit bout de code pour pouvoir résoudre un problème; Pour avoir eu à encadrer de jeunes stagiaires en développement, je peux dire que je sais de quoi je parle.

    Par contre, l’utilisation d’un framework n’est pas donnée au premier venu; il faut être bien assis sur le langage en question pour pouvoir prendre la main; ici le copier coller n’est pas de mise que ceux qui ont des doutes fassent un tour chez ZendFramework( celui que j’utilise) et ils m’en diront des nouvelles. Rien que la mise sur pied de l’environnement de travail personnalisé requiert une certaine experience dans d’autres technologies(fichier de configuration apache et autres; je vous renvoi au propos de @thisiskas pour les avatanges à utiliser un framework;

    et pour conclure, je dirais qu’il est bon de maîtriser au moins un framework dans chaque langage qu’on étudie; Zend est un excellent choix pour le PHP car il s’ouvre vers le développement d’applications mobiles( sur Smartphone et autres) et dispose d’une communauté plus élargie que Symfony

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :