IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Pertinence d'un pattern MVC


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 56
    Points : 44
    Points
    44
    Par défaut Pertinence d'un pattern MVC
    Bonjour à tous,

    Alors j'ai parcouru le forum et suis tombé sur ce sujet : http://www.developpez.net/forums/d36...end-framework/ qui semblait correspondre à ce qui me préoccupe en ce moment.

    Je suis en charge d'un projet de développement d'une sorte d'ERP interne spécifique à mon entreprise, projet que je vais développer en PHP.

    Comme je manque d'expérience en la matière je me suis (beaucoup) documenté, et de cette documentation et de divers essai me sont venues plusieurs réponses :
    1. en l'absence de réelle équipe projet, et compte tenu des capacités limitées de l'infrastructure en production (dont l'évolution ne fait pas partie du projet); l'utilisation d'un framework type Zend, semble engranger plus de difficultés et de contraintes que d'intérêt
    2. l'utilisation d'une démarche métier et l'application d'un design pattern est toutefois indispensable pour garantir la maintenabilité de l'application

    J'en suis donc venu à m'intéresser à MVC (et ai consulté par exemple le tutoriel : http://tahe.developpez.com/web/php/mvc/ ), ainsi que d'autres.

    Toutefois certaines choses ne sont pas encore très claires dans mon esprit, j'espère que vous pourrez m'aider :

    - un pattern MVC doit-il nécessairement impliquer du développement orienté objet ? (personnellement c'est principalement PDO et les requêtes préparées qui m'ont fait choisir PHP5)
    - une arborescence spécifique (comme cela était décrit dans le tutoriel sur le ZF : application/ application/models application/views application/controllers ) entrainera-t-elle des problèmes au niveau de la manipulation des appels des scripts ? (surtout au point de vue des chemins)

    Merci d'avance de vos réponses

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Un avis qui n'engage que moi
    Citation Envoyé par madmaxou Voir le message
    - un pattern MVC doit-il nécessairement impliquer du développement orienté objet ? (personnellement c'est principalement PDO et les requêtes préparées qui m'ont fait choisir PHP5)
    Les modèles de conception ont été "imaginés" pour répondre à des problèmes courants de conception en POO et éviter de réinventer la roue lorsque ces problèmes sont rencontrés. Personnellement, je ne vois donc pas comment on peut appliquer un pattern sans POO.

    Après, ce que tu peux faire, c'est reprendre les idées de ces modèles dans une programmation procédurale (mais ça ne sera pas une application directe du modèle). Pour le MVC, il s'agit de séparer la gestion du modèle (données + gestion métier), de la représentation (vue), un contrôleur gérant les données à récupérer et la vue à présenter pour une demande donnée.

    Citation Envoyé par madmaxou Voir le message
    - une arborescence spécifique (comme cela était décrit dans le tutoriel sur le ZF : application/ application/models application/views application/controllers ) entrainera-t-elle des problèmes au niveau de la manipulation des appels des scripts ? (surtout au point de vue des chemins)
    Je ne comprend pas ce que tu veux dire par là... Qu'est-ce que tu entend par "manipulation des appels des scripts" ?

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 56
    Points : 44
    Points
    44
    Par défaut
    D'accord, merci de ta réponse
    Le fait est que j'ai du mal à assimiler le concept objet avec le développement Web, sans doute par manque de pratique (et je dois avouer que je ne trouve pas le tutoriel de Mr Tahé très clair pour ma petite caboche bien sur ).

    Pour ce qui est de mon problème de chemin, si un contrôleur invoque un script métier dans la modèles de l'application, pour ensuite invoquer une vue et renvoyer le tout au contrôleur principal; l'imbrication se fait mal dans mon esprit, surtout si chacun des scripts est dans un chemin bien spécifique, s'il faut jongler avec les différents path, ce ne serait pas très pratique

    Merci quoi qu'il en soit, je vais voir s'il est pertinent d'orienter mon application de manière objet, et ensuite je dois assimiler ce type d'approche (ce qui n'est pas gagné je le crains ) si ça l'est bien sur ^^

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Points : 468
    Points
    468
    Par défaut
    Ce qui est sûr c'est que ton code sera beaucoup plus maintenable si tu utilises la POO pour regrouper par module les objets qui répondent à la même problématique (le gestionnaire de facture, le gestionaire d'authentification etc...)
    Le Pattern MVC t'aide à faire de même au niveau de la partie presentation (IHM) de ton application. Le contrôleur appelle effectivement le Model (qui effectue les traitements) et ensuite il appelle la Vue.

  5. #5
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par madmaxou Voir le message
    D'accord, merci de ta réponse
    Le fait est que j'ai du mal à assimiler le concept objet avec le développement Web, sans doute par manque de pratique (et je dois avouer que je ne trouve pas le tutoriel de Mr Tahé très clair pour ma petite caboche bien sur ).
    J'étais exactement dans le même cas il n'y a pas si longtemps...
    J'ai déjà fais de la programmation objet dans d'autres langages, pour des applications 'classiques', et j'ai eu beaucoup de mal à comprendre quel intérêt ça pouvait avoir pour créer un page web en php (notamment du fait de la non persistance des objets entre deux requêtes).
    Je n'en ai en fait compris l'intérêt qu'en me mettant au Zend Framework. Et maintenant, j'aurais du mal à m'en passer .

    Si tu as des connaissance en POO (utilisation dans d'autres langages), alors ça vaut le coup à mon avis de t'y mettre aussi en php. Par contre, si tu n'as pas d'autre expérience en POO, il est certain que l'investissement sera plus important...

    Pour ce qui est de la question d'utiliser des frameworks ou pas [sans parler de performances]... Si tu ne connais pas la POO, tu risques de partir sur une mauvaise conception de ton application qui pourrait devenir très complexe à maintenir. Utiliser des frameworks existants et éprouvés limite les dérives possibles.

  6. #6
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 56
    Points : 44
    Points
    44
    Par défaut
    J'ai déjà fait de la programmation objet. C'est un concept séduisant c'est sur.

    Honnêtement, j'ai jeté un oeil au Zend Framework... je me suis un peu arraché les cheveux dessus, les contraintes de conventions sont certes très utiles (et sur un projet d'équipe, j'irai même jusqu'à dire indispensables) mais lorsque l'on est seul, c'est trop d'aspect à prendre en considération pour une application que l'on souhaite développer relativement vite.

    Le saut de la programmation procédurale à la POO en PHP5 me parait pas du tout évident, mais je vais m'y essayer ^-^

    Merci de vos réponses et conseils

  7. #7
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Je suis un peu dans le même cas que toi madmaxou. Suis le seul dev web au sein d'une équipe de dév C et du coup je suis le seul a travailler sur mes projet.

    J'ai à un moment voulu passer à un framework "renommé" et au pattern MVC parce que "c-la-mode-et-que-tout-le-monde-y-fait-ca" mais j'ai finalement vite renoncé de part les contrainte imposées.

    Actuellement je travaille avec un framework maison (du coup nettement plus adapté a mes besoins) et une arborescence de fichier stricte et ça me conviens très bien comme ca.
    Ca reste très souple d'utilisation sans pour autant être obliger de faire 3 fichiers et 12 classes pour afficher un hello world (oui bon j'exagère un peu ).

    Après il est certains que se basé sur un gros framework tel que zend apporte un certaisn cadre à ton travail et les personnes qui passerons derrière toi un jour serons certainement bien content
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Salut,

    de mon point de vu, si tu ne veux pas te prendre la tête pour monter une application simple qui ne nécessite pas une grande maintenabilitée ni de possibilitées trop excentrique, utilises un bootstrap tout simple à base d'include.
    Et utilises la puissance du modèle objet pour gérer ta base de données, via un orm ou un générateur de classe par exemple.

    Tu sera bien plus productif, sans pour autant te prendre la tête à gérer
    1 la persistance,
    2 les contraintes d'un FWk tels que Zend, Jelix ou symphony.

    Le problème c'est qu'en php on te vends l'ORM avec le MVC et le MVC avec l'ORM..

    bye

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. implémentation Pattern MVC
    Par cyberlulu dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 01/11/2008, 16h50
  3. Tutoriel : Implémentation du pattern MVC
    Par Ricky81 dans le forum MVC
    Réponses: 0
    Dernier message: 11/02/2008, 09h51
  4. Problème d'accessibilité avec le design patterns MVC
    Par radical_bombtracks dans le forum JSF
    Réponses: 5
    Dernier message: 24/07/2007, 13h15
  5. Pattern MVC et barre de progression
    Par Tiberizz dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 05/12/2006, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo