Assez d’accord pour les specs. Par contre, les tests unitaires peuvent être intéressant. Pas pour avoir une jolie couverture de code, mais pour vérifier
qu’une fonction non-triviale fait bien ce qu’elle doit faire, y compris (surtout ?) aux limites, et pour des questions de non-régression.
Je n’ai jamais dit que les tests n’étaient pas utiles, seulement qu’ils étaient barbants à écrire.
Si même en amateur on peut s’y tenir, c’est bien ! Moi perso j’ai du mal…
Et aussi pour s’y retrouver sur le projet en y revenant longtemps après : les tests aident à la documentation, ça permet de se souvenir facilement de ce que devait faire telle ou telle fonction, comment devait se comporter tel objets, etc.
JE suis d’avis que si on choisit des bons noms de classes, de méthodes et de variables, dans la plupart des cas on n’a pas besoin de documentation.
Mais évidemment c’est autre chose quand on sait que quelqu’un d’autre va lire le code.
Ce qui est important pour les performances, en réalité, c’est de comprendre ce que tu fais.
Alors là je suis totalement d’accord ! Le souci c’est que souvent, le framework, c’est de la magie, c’est une boîte noire, et régulièrement c’est vendu comme ça. On sait grosso modo comment ça marche, mais pas en détail, voire même on s’en fout un peu tant que ça fait ce que ça doit faire plus ou moins correctement.
Du coup on perd un peu la maîtrise de ce qu’on fait. ON fait confiance à un bulldozer alors que peut-être qu’en trois coups de pelle on avait l’essentiel.
KISS.
JE suis d’avis que le choix du framework (ou pas) doit être éclairé.
Fondamentalement on ne peut pas te contredire quand tu dis:
Et donc, connaitre un framework adapté à tes besoins t’aidera beaucoup, sur tes projets amateurs aussi.
Car sinon, pour développer un site web, on commencerait par développer son propre langage parce que PHP fait trop de choses. ET il faut que ça tourne sur un OS donc on développerait son propre OS aussi. Et tant qu’on y est pourquoi ne pas commencer par assembler des transistors soi-même ?
Donc oui, on a forcément besoin d’un cadre adapté à ses besoins. PHP lui-même est un framework, si on y regarde bien (IL est de base beaucoup plus spécialisé que ne le sont Java ou Python qui eux sont des langages plus généraux).
Malheureusement, j’ai l’impression que souvent, les frameworks, c’est vendu comme "prend ça et ça résoudra tout tes problèmes".
ET les gens foncent.
Cette philosophie a entres-autres donné JQuery. Voir des phrases genre "JE code en JQuery" me hérissent les poils. Non, JQuery n’est pas un langage !
Conséquence de débutants qui ne connaissent pas les fondamentaux de JavaScript dans le navigateur avant de foncer dedans à tête baissée.
Bon, il semble que la vague JQuery soit plutôt derrière nous en 2020. Maintneant on est plutôt dans les vagues VueJS et React.
Alors maintneant, si tu sais ce que fait <insère le nom d’un framework ici> et qu’il est adapté à tes besoins, bien sûr, utilise-le ! Tu serais bête de passer à côté puisqu’il fait en grande partie ce que tu veux.
Cependant, je suis persuadé qe pour bien profiter d’un framework, il faut d’abord avoir appris à coder sans, et qu’il ne sert à rien de le dégainer systématiquement.
Ca c’est vu avec JQuery (oui désolé j’ai une dent contre lui). "JE veux changer la couleur de fond quand on passe la souris ici" => "Prends JQuery !" alors qu’il suffisait de quelques lignes de CSS.
"J’aimerais faire cett effet-là" => "En JQuery on fait comme ça" sans savoir si l’auteur utilise déjà JQuery ou non.
Je développe un prototype, et petit à petit, il monte en complexité.
J’avais pas osé en parler encore, mais c’est un syndrome typique. Un jour j’ai un peu rage quit des frameworks conventionnels en me disant "je n’ai pas besoin de tout ça, je vais partir d’une feuille blanche". Bon, pas vraiment blanche
C’est sûr que vu comme ça, le framework dès le début aurait été mieux. Comme toujours: on est toujours plus malin après.
Mais tu étais loin de la "feuille blanche", si on regarde bien. Tu avais déjà un pied dedans:
J’ai besoin de travailler avec des données, ok, bon, installation de doctrine dbal (parce qu’on veut pas l’ORM parce qu’on veut faire simple et rapide)
Tu aurais utilisé PDO, inclus de base dans PHP, c’était pareil, et encore plus simple pour commencer.
Note qu’on peut parfaitement se protégé contre les injections en PDO seul sans que ce soit nécessairement compliqué, donc ce n’est pas un argument suffisant pour être contre.
Ah ouais et j’ai besoin de templates aussi. Bon bah on va installer twig c’est pas grave.
ON oublie trop souvent que PHP lui-même est un moteur de template, et qu’à la base, c’est dans cette optique qu’il a été conçu.
Pour peu que tu t’en sois tenu à une séparation entre le traitement des données et leur affichage (en faisant un MVC ultra-simplifié), twig n’était probablement pas tant une obligation.
Il n’apporte qu’une syntaxe avec quelques sucres, et, effectivement, la certitude de bien séparer les responsabilités d’affichage. Dans ce sens s’est déjà un framework.
EDIT: doublon