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

Point sur MVC...

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
IceCooper
IceCooper
Niveau 10
28 août 2014 à 12:46:38

Salut,

Je me lance dans MVC, même si je pense avoir un peu compris son principe.

En gros, si j'ai bien compris, MVC est une manière de développer. Dites-moi si j'ai bien compris :

- Le modèle va contenir les "sources d'informations" d'un site (base de données).

- Le contrôleur va faire la liaison entre le modèle et la vue.

- La vue contient le code HTML.

C'est bien ça?

Et sachant que je me débrouille plutôt bien en PHP et que je n'ai pour le moment jamais fais de site en PHP objet, combien de temps va t'il me falloir environ pour commencer à maitriser MVC?

Avez-vous de bons tutos (évitez moi les tutos qui demandent dès le départ de créer 10.000 dossiers dans l'arborescence, c'est vachement déroutant, et perso' je m'y perds vite...)?

Merci à vous

Caletlog
Caletlog
Niveau 10
28 août 2014 à 12:58:06

En gros, c'est ça.
Lorsqu'un visiteur va faire une requête, le routeur va l'envoyer au contrôleur (je simplifie), qui va générer les bases pour la session. Il va, par exemple, initialiser les variables de session et les données temporaires. Suivant les besoins de la requête, il va demander des infos supplémentaires au Modèle (en fonction des permissions, généralement), qui va lui les renvoyer. Avec ça, le contrôleur peut envoyer toutes ses données à la Vue, qui va générer la page html (la Vue en tant qu'entité MVC peut contenir autre chose que du HTML, généralement des outils de templating intégrés, pour être générés en HTML une fois la réponse du serveur).

Généralement, on considère qu'il faut avoir des modèles obèses, des contrôleurs en forme et des vues anorexiques. Plus concrètement, ça veut dire que les traitements lourds doivent être gérés par le Model, les traitements rapides, les helpers localisés et les petites requêtes par le Contrôleur, et aucun calcul ne devrait être réalisé par la Vue. Elle ne fait qu'afficher ce qu'on lui envoie, dans l'idéal elle ne devrait rien décider.

Pour le Modèle, note que je parle de lui en tant qu'entité, d'ensemble de modèles. L'ensemble peut être 'gros', mais, au cas par cas, tu peux choisir d'avoir une multitude de petits modèles qui gèrent chacun une responsabilité (design objet plutôt propre), ou peu de gros modèles qui englobent des responsabilités (moins propre, mais parfois utilisé pour des questions de performances).

IceCooper
IceCooper
Niveau 10
28 août 2014 à 15:20:49

Ok merci pour ton explication Caletlog, j'y vois plus clair :)

Aurais-tu un bon tuto à me conseiller et accessible à un débutant?

LECROU
LECROU
Niveau 10
29 août 2014 à 14:26:07

Ca dépend si tu comptes utiliser un framework ou pas.

Si c'est le cas, faut que tu en prenne un qui te convient et après tu pourras chercher des tutos dessus. (Grafikart fait de bons tutos en vidéo pour ne citer que lui).

IceCooper
IceCooper
Niveau 10
29 août 2014 à 20:35:48

Mais pour apprendre, est-ce vraiment bien de passer par un framework?

Si j'apprends uniquement le modèle pour le moment et que je commence à le maitriser (aller jusqu'à créer mon propre MVC), est-ce que ça ne me permettrait pas d'appréhender plus facilement l'utilisation des framework et de les comprendre plus facilement?

Caletlog
Caletlog
Niveau 10
29 août 2014 à 20:55:13

Pas forcément. Le MVC est un design pattern très vaste, qui en englobe des tas d'autres. Suivant les frameworks que tu vas utiliser, tu vas rencontrer des variantes plus ou moins importantes, des conventions et des bonnes pratiques qui vont considérablement différer d'autres frameworks.

Voir comment ça fonctionne à la main en testant quelques petits projets avec un MVC construit manuellement peut pas faire de mal, mais le faire ne t'offrira pas forcément d'avantages lorsque tu passeras à des frameworks. Le MVC n'est qu'une structure assez basique, tu auras de toute façon le _framework_ à apprendre par dessus.
En soit, le MVC c'est loin d'être compliqué, ça semble juste abstrait au premier coup d'oeil. Après une première app en MVC, ça change drastiquement.

IceCooper
IceCooper
Niveau 10
29 août 2014 à 22:37:24

D'accord merci beaucoup pour vos réponses, je peux commencer sereinement maintenant :)

Pseudo supprimé
Pseudo supprimé 01 septembre 2014 à 21:49:15

je te conseille le framework fat free pour te faire la main, il est plutôt facile à prendre en main et convient très bien pour une première expérience en mvc (bien moins lourd à apprendre que les gros framework style zf2 )

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