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

MVC : Maison ou Framework ?

bob63
bob63
Niveau 11
26 juin 2012 à 10:58:11

Bonjour,

Je suis (jeune) développeur depuis 1.5 ans maintenant en entreprise. Je développe principalement sur Sharepoint et Biztalk, ce qui cache du DOTNET derrière. Cependant, je me passionne pas mal par le web et développe à mes heures perdus en PHP pour faire des sites web.

Actuellement, je créé mes sites en PHP 5, mais avec le bon vieux notepad++
Cependant, honnêtement je code un peu "à la mano" dans le sens où pour moi, mon code est maintenable, mais je sais que je n'utilise pas forcément les bonnes méthodes de conception, et du coup le jour où ce code peut être repris (sait-on jamais :ouch: ) ... :fou:

Bref, j'aimerais évoluer en PHP (et pourquoi pas prendre de très bonne habitudes en développement (qui sait ce que l'avenir me reserve, pareil je finirais développeur web plus tard :hap: )).

Mon choix se porterait sur le design pattern MVC, car je vois qu'il est de plus en plus utilisé, et également rechercher dans le monde du travail.

Malgré les nombreuses recherches, il existe beaucoup de framework pour cela. De ce fait je ne demanderais pas le meilleur, car souvent on teste et on adopte suivant le goût et des couleurs. Par contre, vu la multitude des framework (cakePHP, Zend framework,...) je me pose des questions.

En lisant des tuto sur zendframework, apparemment c'est un bon choix d'entreprise (peut-être un peu lourd, mais c'est une valeur sûre, soit disant). Mais au final je vois beaucoup de fonction Zend_nomfonction et j'ai peur qu'en maitrisant bien ce framework (je parle pas du temps d'apprentissage), il serait "impossible" de se réadapter sur un autre.

Finalement, pour petit ou gros projet, suivant vos expériences, est-il préférable d'utiliser des MVC maison (j'entends par maison, tout coder soit même, de façon "épurer"), où on exclut peut-être certaines parties (sécurité ou autre, bien que ..), mais qui restent peut-être beaucoup plus compréhensible ou des framework MVC avec des surcouches de tout les côtés ?

Qu'utilisez-vous, et que favoriseriez-vous pour une bonne évolution en PHP et MVC ?

Tks :)

deepblue
deepblue
Niveau 16
26 juin 2012 à 11:33:34

"Mais au final je vois beaucoup de fonction Zend_nomfonction et j'ai peur qu'en maitrisant bien ce framework (je parle pas du temps d'apprentissage), il serait "impossible" de se réadapter sur un autre." :d) si tu utilisais une pelleteuse pour creuser des trous, le retour de le pioche te fera nécessairement mal aux fesses. Du moment où tu vas vraiment utiliser un outil, tu va forcément t'enfoncer dans sa logique jusqu'à perdre une certain réalité des choses.

Concernant le choix de Zend, bien qu'il soit ultra intéressant, j'ai des retours qui ne sont pas ceux qui j'aurais pu espérer entendre. Je ne suis pas certain qu'il soit idéal aujourd'hui. Cependant, le gros + de Zend, c'est la possibilité de prendre des briques quand tu en as besoin : je développe avec Symfony et j'ai quelques composants Zend.

La question "je prends ou pas un framework" trouve sa réponse dans celle de : est-ce que je vais gagner du temps ?

deepblue
deepblue
Niveau 16
26 juin 2012 à 11:36:20

Note que ça vaut pour un framework, mais aussi dans le choix d'un pattern. Si mvc ne te sert à rien, n'en fais pas. Si faire de la poo n'est pas nécessaire (eut-ce été nécessaire un jour ?). Il y a plein d'autres pattern à essayer (decorator et dispatcher par exemple).

Fire_Storm
Fire_Storm
Niveau 10
26 juin 2012 à 17:30:36

Perso j'en avais aussi un peu marre de coder à l'arrache, j'aime les trucs propre et structuré.

Un pote m'a donc conseillé de reprendre le tuto du site du zéro sur l'objet, de comprendre le principe (par contre il a modifié quelques trucs du tuto original aussi).

J'avoue qu'au début ça va et puis quand on attaque la grosse partie, et bah j'étais paumé de chez paumé, maintenant je commence à comprendre ce principe.

Alors oui au début on perd du temps, on perd du temps car il faut apprivoiser le concept et virevolter à travers les fichiers et dossiers là où avant on foutait tout au même endroit. Par contre j'aime le principe que mes requetes SQL soient toutes au même endroits, que les templates sont ailleurs, que les vues sont indépendantes du template, que je peux écrire une URL comme bon me semble sans forcément avoir besoin de passer par un htaccess, que je n'ai au final qu'un seul fichier qui fait 2 lignes de PHP (le reste se faisant dans les modèles/vues/controlleurs).

Bref c'est beaucoup plus dispatché ça c'est clair et faut s'y retrouver.

Pour le moment je n'ai pas vraiment une utilité à faire ça mais disons qu'avec ça je peux prévoir le coup, de un maitriser un peu mieux des concepts qu'on demande fortement dans la plupart de societés, de 2 et si un autre développeur arrivait un jour ? Vaut il mieux du code complétement barbare où le type risque d'être paumé ou un concept qu'il connait probablement donc il sait où chaque chose se situe dès le départ ?

C'est tout ça qui me pousse donc à utiliser ce pattern. Je ne dis pas que je coderais à vie comme ça mais au moins je teste, je me fais mon propre avis sur la question et ça sera une ligne de plus à rajouter sur le CV. Les frameworks tels que Symfony ou Zend étant pas mal basé sur ce pattern, ça peut aussi grandement aider donc pourquoi pas.

bob63
bob63
Niveau 11
27 juin 2012 à 08:31:20

Merci pour les réponses

@deepblue > Oui je comprend le fait qu'en utilisant un outils plutôt qu'un autre, on s'enfonce dans cette logique, ca parait normal après tout. Ce que je voudrais pas, c'est qu'avec une logique, il serait impossible de passer à un autre framework. Tu me diras du MVC reste du MVC sur le principe. Mais en lisant divers tuto, chaque personne à sa façon de faire du MVC j'ai l'impression ...

Après tout ca reste une méthodologie, à chacun de se l'adapter.

@Fire_Storm > C'est surtout un peu pour ca que j'aimerais évoluer : ca peut rajouter des lignes sur le CV. Et c'est aussi pour ca que je parlais de Zend, car je vois beaucoup d'annonces cherchant des dev sur Zend.

Après j'ai la chance d'avoir compris le concept objet (j'ai eu du mal aussi) grâce au C# qui lui est full objet déjà. Mais j'aimerais aller plus loin, car comme on dit, coder de l'objet pour coder de l'objet, ca sert à rien.

Mais bon après si on est à PHP 5, je ne vois plus l'intérêt de coder en procédurale ...

Finalement j'ai trouvé un tuto sur un MVC "maison" sans passer par un framework. J'ai installé seulement netbeans PHP pour l'autocompletion et je pense partir sur cette méthode. Ensuite quand je maitriserais bien ca, je testerais les framework (ce qui me permettra de voir aussi les différences au passage).

Pour "decorator et dispatcher", je connais pas, je regarderais ca sur internet :)

Bunyan
Bunyan
Niveau 17
27 juin 2012 à 09:18:43

C'est surtout que, MVC, c'est juste un méta-pattern disant "On sépare proprement la vue, les actions qu'elle fait et les données manipulées. De plus, la vue reflète les données.".

Avec ça, en tant que tel, tu ne peux pas faire grand chose. Il y a donc des implémentations choisies, parfois bâtardes (une vue faisant peu d'action sur peu de données ne suivra pas le pattern, et si elle le suit, cela alourdit le tout).

Avis personnel : le MVC, c'est cool, mais il est difficile de bien l'implémenter et de garder toujours la même logique. De ce côté là, un framework aide, donnant une certaine rigueur, mais encore faut-il comprendre la logique et la "philosophie" de celui-ci ...

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