5139 sujets

Le Bar du forum

Bonjour,

Je voix pas mal de sujet sur ce forum dans la section php où j'essaie de répondre.

Je suis autodidacte, j'ai appris tous seul (enfin avec des tutos) et je me rends compte que j'ai perdu 1a à comprendre comment ça fonctionne ! Au début je construisais mes app web de la même façon que vous, c'est à dire avec une structure de dossier (css, js, img) et tous mes fichiers php qui correspondaient à chaque page.

Et c'est là que j'ai découvert le model mvc !

Si vous êtes en plein dans l'apprentissage, franchement ne perdez pas votre temps, regardez des tutos, demandez de l'information, c'est vraiment un gain de temps et de performance énorme.
Je me suis tourné vers symfony qui est un framework php qui utilise la structure mvc, et là c'est juste énorme. Avec le recule, je me dit que je me suis fait chier pour mes premiers sites web pour rien !!!
Du coup, je dois refaire tous mes sites avec symfony que j'ai fait pendant 1a, une vrai perte de temps !

Voilà j'espère pouvoir orienter certain d'entre vous vers une méthode vraiment productive, performante et sécurisé (voir la sécurité des frameworks)

Merci de donner votre avis !
Modérateur
Quelle conclusion hâtive....

Non, tu n'as pas perdu ton temps ! Selon moi (ta conclusion), tu dois encore apprendre. Pour moi un bon dev php doit savoir créer un framework réutilisable très facilement avec l'utilisation des design pattern autre que le MVC. Sache qu'un bon mvc est un agrégat de plusieurs pattern (l'Observer, Factory, abstract Factory, etc.). Plus tu apprendras le natif, mieux c'est !

Tu peux également créer un framework sans "pattern". (Philosophie de l'anti pattern).

transposons ton exemple avec le Javascript et Jquery. Apprenez peu avec JAvascript et passez directement à Jquery. Résultat, l'application est lourde et on peut nettement mieux faire en JS natif. Smiley cligne

Demain, tu désires être embaucher. La boite que tu convoites travaille avec Zend Framework ou Code Igniter ou Joomla ou Easy Publish etc. Si dans le CMS ou le framework il n'y a pas la super class que propose Symfony, comment vas tu faire pour développer ? Lorsque le recruteur te parlera du php natif, tu vas lui dire quoi ? etc.

Tu veux sauter les étapes dans ton parcours d'études, vas y et prend toi bien le mur au moment où tu ne t'y attendra pas. Ensuite, tu pourras écrire ton message sur le forum : Urgent, je dois faire telle ou telle chose. Aidez moi SVP.

Ensuite, je vois venir les déviance, créer un single page administrable avec Symfony Smiley biggol .

Pour info, dernièrement j'ai pris la base de SlimPhp et je l'ai modifié pour en faire slim MVC avec les Design pattern qui vont biens (pour la gestions vues/elements/template, base de données/sources données). Nativement, slim a l'injection de dépendance. Ce qui fait que cet outil bénéficie d'un bon atout. Enfin, il a pas mal d'atout ce micro framework. Je le conseille.
Modifié par niuxe (08 Sep 2015 - 21:22)
Oui c'est vrai que vue sous cet angle je tire une conclusion un peu trop vite !

En te lisant, je me dis que j'ai encore beaucoup à apprendre.

Je n'ai jamais travaillé pour une boîte de dev, là où je bosse, je suis le seul à programmer donc je fais un peu comme je veux !

j'ai construit mes premières applications en php natif (sans mvc) donc j'arrive à avoir pas mal de notion, je suis un peux touche à tout donc à force de travailler, j'arrive à me dépatouiller !

Pour l'utilisation de framework, j'ai essayé codeigniter et symfony, entre les deux, il n'y a pas photo !

j'ai pas mal de projet, je vais voir pour tous ce qui est framework js, essayer de découvrir cet univers
Bonjour à tous,

Je rejoins l'avis de @niuxe.
Débuter par un framework peux aussi tendre un piège pour le débutant.
Le framework donne l'impression que son comportement est propre au langage, ce qui n'est absolument pas le cas. Donc tout l'aspect "magique" du framework peut être complètement banalisé, au point de ne pas en comprendre l'intérêt (déjà constaté).
Mais dans un autre sens , ne faut-il pas orienter les débutants à aller vers le mvc pas dès le début mais on va dire avec des connaissances de base dans les différent langage du web ?

Comment ça se passe dans les boîte de dev? la structure mvc et l'utilisation des frameworks sont elles un atout ?

Je connais une boîte qui fonctionne sur le model mvc, ils utilisent leur framework perso.
Modérateur
@raphi : +1

cid5420 a écrit :
Mais dans un autre sens , ne faut-il pas orienter les débutants à aller vers le mvc pas dès le début mais on va dire avec des connaissances de base dans les différent langage du web ?


Au début, un peu de procédurale (le moyen de comprendre ce qui se passe dans une méthode) et ensuite l'objet.

Un fois que tu as compris ce langage "l'objet", tu le transposes dans ton langage avec la syntaxe et la philosophie que tu as apprises. Là pour ton exemple, c'est le PHP.

<<<EDIT
Tjours garder en tête ces notions élémentaires que ce soit pour le procédural et la poo :
dry,
kiss,
code commenté (nom de méthode et nom de variable explicite ou du commentaire écrit dans le fichier),
EDIT;

L'avantage et l'inconvénient du php est que tu peux faire soit du procédurale soit de l'objet. Je suis de bonne humeur ce soir, je te file un lien vers un excellent bouquin :
La programmation orienté objet

cid5420 a écrit :

Comment ça se passe dans les boîte de dev? la structure mvc et l'utilisation des frameworks sont elles un atout ?

Je connais une boîte qui fonctionne sur le model mvc, ils utilisent leur framework perso.

J'ai fait 3 boites : 2 agences et un client final.

Dans les agences, il y a en général un peu de tout :
*CMS :
** Wordpress,
** Joomla,
** Drupal,
** Easy publish,
** Magento,
** truc plus exotique comme rbschange,

* Framework:
** Symfony (en France majoritairement)
** Laravel
** Zend,
** Code Igniter

En ce qui concerne le client final (commerçants) où j'ai eu l'expérience de bosser chez lui, il utilise un framework maison.
Modifié par niuxe (09 Sep 2015 - 21:23)
Bonjour,

JE suis aussi d'avis que commencer direct par un outil super puissant comme un gros framework est une mauvaise idée. Dans les cas les plus extrêmes, ça donne des gens qui croient mordicus que le langage s'appelle JQuery (on voit de plus en plus de posts type « comment je fais ça en JQuery ? » ce qui est à mon avis un très très mauvais abus de langage), ou encore qui ne savent pas comment compiler et corriger une erreur de syntaxe bidon sitôt qu'ils ont quitté eclipse et qu'il n'y a pas juste à cliquer et voir où c'est souligné en rouge.

Cela étant dit, on pourrait dire en un sens que je me trouve dans la situation inverse à celle exposée et je suis aussi, en quelque sorte, un peu embêté.

A l'heure actuelle, je ne connais pas spécialement tel ou tel framework, tout simplement parce que je ne me suis jamais vraiment intéressé à aucun d'entre eux, et qu'aucun ne m'intéresse particulièrement. J'ai commencé très tôt en autodidacte (Le C++ à 11 ans) puis fait des études principalement théoriques. Pour tout mes projets personnels, j'ai toujours tout construit à partir de zéro et je n'ai jamais ressenti le besoin de passer à un quelconque framework. Je pense avoir suffisament acquis de fondamentaux solides pour ne pas en avoir besoin, ou, en d'autres termes, je me sens capable de me construire mes propres outils si j'en ai besoin.

Je pense n'avoir jamais été attiré par les framework très probablement parce que je n'ai, pour mes projets personnels, jamais eu de véritable pression: pas de client à satisfaire, pas de deadline. Venant de l'extérieur et n'ayant pas encore été introduit dans le monde professionel (j'espère très bientôt), c'est surtout dans ces cas-là que les framework m'ont l'air de devenir vraiment utiles: quand on a 36 clients et 50 projets en même temps à finir dans des délais très serrés et qu'on ne peut pas se permettre de coder 50 fois à peu près la même chose, au prix de solutions sous-optimales par rapport à un codage à la main bien réfléchi du début à la fin. J'aime bien comprendre et maîtriser ce que je fais en profondeur et le meilleur moyen de perdre le contrôle absolu, c'est d'utiliser des libs ou des frameworks qu'on connaît forcément moins bien que ses auteurs.

Problème, du coup: il semblerait que la plupart des boîtes qui embauchent demandent de maîtriser 36 frameworks différents. Je n'ai pas l'impression que ce soit très compliqué à prendre en main, en général les documentations sont bien faites. Mais ça me fait ch*** de tester 36 frameworks et CMS en suivant des tutos bidon en sachant qu'il y en aura 32 que je n'utiliserai au final pas, je n'ai pas envie de transposer mes projets personnels qui tournent déjà codés à la main sur tel ou tel framework parce que pour l'utilisateur ça n'apporte strictement rien et que ça fonctionnera probablement moins bien après (et en plus c'est un boulot casse pieds pas du tout intéressant), je n'ai pas envie d'en choisir un seul parce que du coup ça va me fermer aux 35 autres, et quoi choisir dans cette jungle ?

J'apprendrai celui que la boîte qui m'embauchera utilise déjà et je pense que ça devrait aller, mais apparament ça ne fonctionne pas comme ça.
Modifié par QuentinC (10 Sep 2015 - 11:01)
Tu choisis les frameworks qui te rendront bankable fonction du marché de l'emploi et ça ne te fermera pas de portes aux contraire de t'investir dans l'un d'entre eux. Si tu est capables de travailler sur l'un tu le pourras aussi sur d'autres. Le jour où tu tomberas sur des frameworks ou cms maisons bien patchés de partout, tu verras que c'est au contraire très agréable de bosser avec des outils éprouvés comme symphony (pour l'exemple).

Pour bosser en équipe, avec des outils, il faut avoir de toute façon une certaine adaptabilité et savoir passer outre certaines façon de faire que tu pourras trouver pas pratiques ou déplaisantes.