CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Php/frameworks ; Que choisir ?

Criticaljack
Criticaljack
Niveau 10
14 août 2013 à 11:02:07

Bonjour tout le monde, juste une petite question assez rapide, j'ai eu pas mal l'occasion de lire à droite à gauche des trucs dans le genre "Pff pas besoin de se faire chier à apprendre à faire une BDD avec un système de gestion de news, tel framework le gère et c'est fait en 30 secondes" ou "Pas besoin d'apprendre le php dans tout les détails, suffit d'utiliser tel framework de bien l'apprendre et ça ira encore mieux"

Bref j'ai jamais approché un framework jusqu'ici (si je dis pas de bêtises y'a cakephp, Zend, Symfony et Django dans les plus connu, c'est ça ? Sauf que Django demande une connaissance du python) et je me demande vraiment ce que ça vaut, l'interêt de l'apprendre, et si plutôt que de bouquiner "Php5 avancé" je ferais mieux de m'orienter vers un bouquin qui traite directement d'un frame en question.

Aussi j'en viens à me demander ; Est ce que d'après vous, dans le futur tout viendra à passer par ce genre de systèmes ?

vava740
vava740
Niveau 10
14 août 2013 à 11:47:20

Un framework va t'apporter un confort de développement, et abstraire certaines parties pour te permettre de développer plus vite, et de façon plus solide en utilisant des composants développés par une communauté de développeurs et éprouvés sur de nombreux sites plutôt que de les coder toi-même.

En revanche, délaisser la connaissance du langage lui-même pour apprendre uniquement à utiliser un framework, clairement, je te le déconseille. Ça te rendra dépendant d'un framework (qui n'est pas forcément nécessaire selon le projet), et tu ne seras pas compétent pour étendre le framework et créer tes propres composants pour des fonctionnalités qui ne sont pas déjà prévues.

Concentres-toi d'abord sur le langage natif (dans ton cas le PHP, ou le Python vu que tu cites Django), et quand tu commences à le maîtriser, tu peux t'aventurer dans différents frameworks. Ça rendra non seulement l'apprentissage du framework plus facile, tu auras certainement moins de zones d'ombres sur certaines parties du fonctionnement interne du framework (bien comprendre le framework permet de mieux l'utiliser), et tu pourras plus rapidement passer à d'autres framework.

En somme, la connaissance du langage est primordiale, tandis que la connaissance d'un framework est facultative.

Pour ta dernière question, ça dépend de jusqu'où on cherche à regarder dans le futur, et ça dépend surtout totalement des projets sur lesquels tu es susceptible de travailler.

J'aurais tendance à dire que dans l'ensemble, les frameworks sont de plus en plus utilisés, parfois utilisés par dépendance (et ignorance du langage) des développeurs plutôt que par nécessité (ce cas est on ne peut plus évident en développement frontend avec jQuery).

Il est possible que tu sois amené à utiliser un framework, mais ça n'exclut en aucun cas la nécessité de bien connaître le langage utilisé avant même de connaître le framework.

Fire_Storm
Fire_Storm
Niveau 10
14 août 2013 à 12:08:05

Et puis pour maitriser un framework et bien le comprendre, il FAUT maitriser le langage avant tout.

Perso je viens de me lancer vraiment dans Symfony2. J'étais réticent à tout ce qui était framework au début car je voyais ça comme des usines à gaz, et parfois oui c'en est. Mais comment dire c'est une façon de programmer que j'adhère, plus verbeuse et réglementaire mais les choses sont bien structurées et définie.

L'autre point qui m'a fait me lancer dedans; j'ai passé 2 entretiens pour un poste de développeur web dans 2 entreprises dans lesquelles j'aimerai vraiment bien travailler. J'ai loupé ces 2 entretiens pour un point; le manque de connaissance des frameworks web. Tu peux regarder les offres; c'est rare l'entreprise qui va te dire que le bon vieux PHP procédural est suffisant, maintenant on te foutra des noms comme Symfony2, CakePHP, Zend etc.

Et c'est pas pour rien non plus car comme dit plus haut; ça donne une ligne directrice. Si 10 personnes travaillent sur un projet, elles le feront toutes plus ou moins de la même manière et on ne perdra pas vraiment de temps à devoir comprendre ce que chacun à fait, on sait qu'au final logiquement on pourra assembler le travail de ces 10 personnes et que le tout marchera. Si on laisse la liberté de la façon de travailler à ces 10 personnes, fort à parier qu'il faudra peut être reprendre le code car ils auront eu chacun une logique un peu différente de l'autre. Et là on perds énormément de temps.

Donc avis perso; si tu apprends la programmation juste par loisir et que ce genre d'optimisation t'importe peu non le framework ne sera pas indispensable, si tu veux bosser comme développeur dans une bonne agence web ça risque par contre d'être un point capital.

darkiron_2012
darkiron_2012
Niveau 10
14 août 2013 à 13:18:37

Je te conseil Symfony 2 comme mon vdd mais surtout aprend la base :) ce n'est pas inutile même capitale :)

Criticaljack
Criticaljack
Niveau 10
14 août 2013 à 14:39:14

D'accord un grand merci pour vos réponses j'y vois déjà un peu plus clair ! Il y a tout de même beaucoup a assimilé de nos jours avec tout ça..Je me souviens que la première fois que j'ai ouvert Webmaster les seuls langages que j'avais entendus de ma vie étaient "Javascript, html, php, css" (et encore pour le css) et now il y a tout ça, et c'est parfois galère de s'y retrouver.

Comme pour le php, j'en ai chié pendant des jours à trouver un bon bouquin qui traite de PDO etc.

Bon et bien j'y retourne, et on verra pour le framework par la suite alors :p !

Ah et une autre question qui peut paraître conne mais j'ai du mal à trouver la réponse ; J'apprends à bien gérer PDO pour gérer mes connexions à des BDD, pour savoir m'en servir etc (comme avec mysql donc) mais du coup..mysql ne me servira plus jamais à rien ? Tout ce à quoi MYSQL aurait pu me servir peut être fait avec PDO (et c'est même d'avantage conseillé) ?

deepblue
deepblue
Niveau 16
14 août 2013 à 16:32:01

Il faut maitriser le langage avec de jouer avec un framework comme Symfony2 (et ne pas être mauvais en conception).

PDO est une "simple" couche pour gérer les transactions entre PHP et une SGBD. Tu conserves donc MySQL mais la façon de dialoguer avec repose sur PDO (et non plus les mysql_jeSaisPasQuoi). Demain, dans le monde des bisounours, tu seras capable de changer de SGBD sans réécrire ton code (si tu utilises PDO).

Btw, je pense que tu manques de connaissances pour passer dès à présent sur une framework PHP.

Criticaljack
Criticaljack
Niveau 10
14 août 2013 à 18:29:03

Merci pour tes renseignements deep, et oui, clairement je manque de compétences pour penser à un framework, mais je me pose tout de même pas mal de questions et j'aime bien avoir des réponses, et là au moins ça m'a un peu fixé par rapport à l'interêt du framework, et je me dis que quand je comprendrais relativement bien PHP je m'y mettrais sans doutes, car comme dit plus haut, quand je regarde les offres d'emploi ça parle beaucoup de ça, donc j'imagine que ça doit être un plus à apprendre.

Et après j'imagine que c'est comme les gouts et les couleurs, mais est ce qu'un framework en détrone un autre ? bien que j'imagine que chaque framework ait ses spécificités le rendant intéressant dans tel et tel contexte mais pas dans d'autres.

vava740
vava740
Niveau 10
14 août 2013 à 18:55:41

Différentes raisons peuvent te pousser à choisir un framework plutôt qu'un autre. Il y a d'innombrables frameworks, mais en PHP certains se démarquent, et tu en as cité quelques-uns dans ton premier post. Je pense que dans l'ensemble ils n'ont pas grand chose à s'envier, après en avoir testé plusieurs il y aura des spécificités que tu aimeras bien dans l'un, dans l'autre, mais qui ne seront pas communes, ou pas de la même façon, et il faudra faire un choix.

La plupart du temps tu choisiras un framework parce que ton entreprise (ou celle dans laquelle tu veux travailler) l'utilise, ou parce que tu travailles avec un CMS basé sur ce framework (difficile de faire du Magento sans connaître Zend par exemple).

Certains sont plus légers, d'autres sont plus complets, d'autres sont *trop* complets (selon ce que tu veux faire), c'est un choix qui dépend beaucoup de toi et du contexte qui te pousse à utiliser un framework.

Symfony est plutôt populaire ces temps-ci, j'entends également beaucoup d'éloges sur Django, selon-moi ce sont des frameworks intéressants à connaître (il faudra dans tous les cas en tester plusieurs pour te faire une idée de ce que tu préfères).

Pour débuter avec un framework PHP il y a aussi Kohana, c'est un framework très léger qui permet de comprends assez rapidement le fonctionnement d'un framework web MVC. Il inclue aussi un ORM maison basique qui est aussi bien adapté pour comprendre la notion d'ORM, ça permet de commencer en douceur pour, par la suite, passer avec plus de facilités sur un framework plus poussé comme Synfony, avec un ORM avancé type Doctrine ou Propel.

Il y a aussi PhalconPHP qui a pas mal de potentiel, mais qui est peut-être encore un peu jeune.

Criticaljack
Criticaljack
Niveau 10
14 août 2013 à 19:24:26

D'accord, ça me fait une belle liste jusqu'ici, j'ai regardé la page wiki' des frameworks php disponible également, il y en a toute une platrée.

Mais celui dont j'ai fort entendu parler (surtout par un pote irl) c'est cakePhp, mais faut pas mal de connaissances pour s'y attaquer (bon niveau de php et compréhension de la poo), vous en avez déjà entendu parler également ? Ou tester même ?

Fire_Storm
Fire_Storm
Niveau 10
14 août 2013 à 20:59:10

Perso je viens à peine de commencer Symfony, si il y a certaines choses qui me semblent cool sur le papier je trouve par contre qu'on en rajoute beaucoup. Les namespace à rallonge qu'il ne faut pas oublier sous peine de se taper pleins d'erreurs. Les mises à jour que je trouve catastrophique (ok il y a une différence apparemment majeure entre les versions 1 et 2 mais même pour une petite mise à jour tu as des fonctions qui sont renommées différemment etc, ce genre de truc ne devrait pour moi pas arriver pas pour des mises à jour si petites soit elle, sinon bonjour le bordel quand on met à jour un projet entier...)

Je me mets aux framework à la fois un peu par obligation et aussi maintenant par curiosité et envie "d'aller plus loin". Mais le coté "usine à gaz où ne comprend rien" me titille quand même (en bref dans le web j'aime bien savoir utiliser un outil mais j'aime encore mieux quand je sais utiliser l'outil ET le comprendre quasi entièrement).

Bref perso le concept me plait bien mais je pense que j'aimerai mieux un truc plus "minimaliste". Peut être que je changerai d'avis plus tard mais c'est un peu le point qui me dérange pour le moment, l'impression de faire sans savoir ce que je fais vraiment (là je crois qu'on reconnait la mentalité de l'autodidacte qui tapait tout en dur comme un bourrin :p)

Après comme dit plus haut cherchant du boulot là dedans je suis aussi tenu par "l'effet de mode" (d'où mon choix de Symfony2).

Dans tout les cas je pense qu'il faut tester, mais là aussi pour moi il y a un soucis; ça demande un investissement considérable (alors j'imagine pas si je dois me taper plusieurs frameworks et les maitriser, là on ne parle plus en mois mais en années... xD)

Criticaljack
Criticaljack
Niveau 10
14 août 2013 à 21:18:29

Oui justement d'accord avec toi Fire_storm, je lisais un peu à propos des frameworks et quand j'ai lu comme toi que certaines fonctions pouvaient être renommées etc lors de petites mises à jour, ça m'a un peu fait chier, car dans l'optique ou l'on a un paquet de sites basés sur le même framework, si il faut commencer à tout rechanger à chaque mini mise à jour faite, ça la fout mauvaise..Mais j'imagine que ce n'est pas toujours comme ça et que certains ne font ça que lors des grosses maj ?

Aussi, un framework perso peut il être aussi efficace ? Je parle au niveau personnel, donc pas dans le cas d'une recherche d'emploi (quoi qu'avoir un bon framework à présenter ça peut être un plus j'imagine) ?

vava740
vava740
Niveau 10
14 août 2013 à 21:41:37

Un framework perso, c'est excellent pour apprendre en profondeur le fonctionnement d'un framework. Ça implique d'avoir d'abord utilisé d'autres frameworks pour voir comment ça marche en façade, puis tu reproduis des fonctionnalités que tu as vues, mais en les codant à ta façon, en simplifiant certaines parties, et en allant plus loin sur d'autres. C'est aussi la façon idéale de regrouper les points que tu préfères sur différents frameworks.

C'est ce que j'ai choisi de faire en projet de fin d'année, et je dois dire que j'ai trouvé ça extrêmement enrichissant. D'un point de vue pédagogique, réinventer la roue, c'est assez efficace. Par contre dans une utilisation "réelle" ça n'a que très peu d'intérêt (aucun ?) ; tu seras le seul à être compétent sur ce framework, et il n'aura pas la stabilité et la maturité d'un framework développé par une communauté entière et éprouvé sur des milliers de sites.

Donc pour apprendre, et pour des projets personnels, c'est une bonne idée, mais il ne faut pas en attendre plus, à moins de faire un framework qui présente un intérêt particulier, et d'arriver à créer une communauté autour de ton projet (ça demande un certain investissement).

Criticaljack
Criticaljack
Niveau 10
14 août 2013 à 22:44:02

En définitive en dehors du bénéfice total au niveau de l'apprentissage, un framework perso me servira tout au plus à créer quelques sites persos, peut être un ou deux e commerce mais pas plus, je ne peux pas me reposer dessus dans le cas où je chercherais à faire du developpement web ma profession (sauf dans le cas où je me spécialiserais dans un truc en particulier et ou je pourrais faire un framework taillé sur mesure pour ce truc ?)

Merci pour toutes tes réponses !

Fire_Storm
Fire_Storm
Niveau 10
15 août 2013 à 00:10:51

Ben disons qu'il y a peu de chances que l'entreprise utilise exactement la même chose que toi (vu que ça sera toi qui l'a fait)

Après ça dépend, dans le premier entretien ils utilisaient CakePHP, dans le second c'était un framework maison basé sur les plus populaires.

Faut bien se dire qu'a mon avis certaines choses se retrouvent quand même systématiquement ou en tout cas la logique.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment