PHP je ne le script plus, je le Framework

Je tiens à m’excuser pour ce titre d’une qualité plus que douteuse… j’en avais d’autres sous le coude, mais je ne vous ferais pas l’affront de vous en faire part…
J’ai débuté la rédaction de cet article suite à la lecture de l’interview de Sarah sur MaGeekBlog qui dit je cite: « En fait, je suis trop orientée framework
pour apprécier actuellement à sa juste valeur PHP en tant que langage de script. »
On évolue tous dans nos métiers aussi divers soient-ils. Il y a quelques années, dès lors que j’attaquais un nouveau projet, je prenais une page blanche et je réinventais la roue à chaque fois. Je passais de longues heures à potasser des bouquins ou des articles sur des sujets comme la gestion de session ou l’optimisation d’appels aux bases de données. En fait la curiosité de l’époque était une nécessité. A chaque réécriture je m’améliorais, mon code devenait plus clair, plus concis, mieux documenté…
J’avais un besoin ponctuel pour parser un fichier Excel, j’écrivais un petit script PHP. Gérer une bibliothèque thèmatique, j’écrivais un petit script PHP. Administrer un serveur Linux, … Enfin vous m’avez compris. Pourtant nombres de langages sont beaucoup mieux adaptés et pensés pour faire ce genre de petites choses (Perl, Python, …).
PHP me servait à écrire des scripts.
Puis tout doucement, une fois mon code testé, éprouvé, documenté, je le transformais en des librairies pseudo générique qui me font sourire maintenant. il faut avouer qu’a l’époque cela me suffisait.
Du coup, avec le temps, je prenais de moins en moins de temps pour développer des applications ou des sites internet. Normal me direz-vous. En réalité j’avais commencé à créer mon Framework.
Etant loin d’avoir la science infuse, et mon éternelle curiosité toujours omniprésente, je testais certains autres frameworks PHP. Ils avaient tous leurs spécificités, leurs avantages et leurs inconvénients. j’avais du tester CakePHP et puis d’autres.
Le modèle MVC à l’époque je ne l’utilisais/appliquais pas vraiment (Hé oui personne n’est parfait, ni le modèle M.V.C. d’ailleurs, mais j’en parlerais dans un autre article).
Mes besoins évoluant, qu’ils soient personnels ou professionnels, mon utilisation du langage à aussi évolué. J’avoue aujourd’hui ne plus « scripter » avec PHP.
Pourquoi réinventer la roue? A l’époque je le faisais, mais finalement, n’étais-ce pas pour s’améliorer, évoluer et comprendre?
Finalement l’avantage que j’en tire, c’est qu’aujourd’hui, j’arrive à comprendre (pas tout évidemment…) le pourquoi du comment du où des choix des développeurs de Symfony, Zend ou encore CakePHP.
Donc je l’avoue, je ne script plus en PHP, je préfère utiliser un Framework qui me facilite grandement la vie. Alors oui j’aurais énormément de critiques à dire et à écrire sur les frameworks de nos jours:
- Performances exécrables à cause des 200000 couches de code à traverser à chaque requête
- Des choix techniques parfois discutables
- …
Je suis certainement devenu faignant. Où est passé l’artisanat d’antan? Et vous est-ce que vous utilisez encore PHP pour vos petits scripts?














J’étudie actuellement symfony et c’est clair qu’on gagne un temps précieux dans le développement d’un projet. Par contre on ne voit plus beaucoup de code brut
.
Retrouvez cet article sur Blogasty…
Vous aimez cet article? Votez pour lui sur Blogasty…
Et bien ma réponse est là: http://www.metal3d.org/index.php/blog/ticket/2010/07/20/Coder-from-scratch
Personnellement je pense qu’il faut passer entre les deux… sur de gros projets de ecommerce, ou quand le temps est vraiment très restrein les frameworks sont superbes… mais on a parfois tout à y gagner, surtout en temps de développement et en adapatation de besoin en codant tout à la main.
PHP est assez fourni pour faire tout ce dont on a besoin pour coder un site en un rien de temps sans FW: SPL, Database DAO PDO, APC pour le cache, et php EST UN MOTEUR DE TEMPLATE ! Bref lire mon post à ce sujet
Je suis plus ou moins d’accord avec toi pour plusieurs raisons.
Tout d’abord pour moi un site de E-commerce n’est pas forcément ce que j’appel un gros projet mais soit
Les frameworks ont l’avantages de ne pas obliger à réinventer la roue. Bien évidemment parfois il vaut mieux repartir à 0 soit-même. Mais franchement qui à encore l’envie de développer une gestion d’utilisateur aujourd’hui?
Alors certes c’est plus rapide en temps d’exécution. Mais le codage from Scratch empêche les bonnes pratiques comme la réutilisation.
Je suis aujourd’hui responsable de 2 gros produits Web (Type intranet/Extranet/Internet métier). Pour te donner un ordre d’idée des applications, ils regroupent tout deux plus de 1200 Tables et sont dev en PHP.
Le premier a été développé suivant ta méthode avec un peu plus d’analyse et de rigueur je dirais (même si je ne dis pas que tu es pas rigoureux!).
Le second a été développé à l’aide de Symfony.
Un fait: Les temps de maintenance sont divisé par plus de 20 sur Symfony. L’ajout de fonctionnalité, si elle n’existe pas est rapide.
Enfin oui ta méthode peut servir pour de « petits » projets qui auront une faible ampleur. Il vaut mieux se reposer sur des frameworks éprouvés et sécurisés sur des projets beaucoup plus importants.
Mais comme tu le dis, le developpement d’un blog ne nécessite absolument pas l’utilisation d’un framework.
En ce qui me concerne, j’ai choisi de conserver mon CMS/Framework que j’ai créé il y a quelques années déjà et je greffe dessus des classes externes éprouvées.
Cela me permet de :
- toujours programmer en PHP (pour améliorer ce qui existe déjà)
- produire des fonctionnalités originales (maintenant tous les sites se resemblent)
Bref, le meilleur des deux mondes quoi