Mon site en MVC avec PHP

Ce tutoriel vous explique comment réaliser votre site internet en utilisant le modèle dit MVC (Modèle Vue Contrôleur). Vous verrez qu’avec cette méthode, il vous sera très facile de gérer et réaliser votre site. Il ne vous faudra que quelques bases en PHP. demo source Qu’est ce que MVC ? Selon Wikipédia : « Le Modèle-Vue-Contrôleur (en abrégé MVC, de l’anglais Model-View-Controller) est une architecture et une méthode de conception qui …

 

Ce tutoriel vous explique comment réaliser votre site internet en utilisant le modèle dit MVC (Modèle Vue Contrôleur). Vous verrez qu’avec cette méthode, il vous sera très facile de gérer et réaliser votre site. Il ne vous faudra que quelques bases en PHP.

Qu’est ce que MVC ?

Selon Wikipédia : « Le Modèle-Vue-Contrôleur (en abrégé MVC, de l’anglais Model-View-Controller) est une architecture et une méthode de conception qui organise l’interface home-machine (IHM) d’une application logicielle. Ce paradigme divise l’IHM en un modele (modèle de données), une vue (présentation, interface utilisateur) et un contrôleur (logique de contrôle, gestion des événements, synchronisation), chacun ayant un rôle précis dans l’interface. Cette méthode a été mise au point en 1979 par Trygve, qui travaillait alors sur Smalltalk dans les laboratoires de recherche Xerox. »

En gros, MVC, appliqué à un site internet est une séparation totale entre le comportement de l’application, les données de votre site, et le résultat HTML. Ceci impose donc une bonne hiérarchie de rangement de vos dossier et fichiers. Cette petite application sera composée d’un contrôleur qui, comme son nom l’indique, contrôle vos actions et les pages à afficher. Un ou des modèles, qui sont ici des fragments de pages que l’on incluera dans un fichier dit « principal ». Et une vue qui est le rendu HTML.

Voila une représentation de ma hiérachie de dossier:

Modèle MVC

Explications dans l’ordre de l’image ci-dessus:

Dossier design -> c’est ici que vous déposerez tout ce qui concerne le design de votre site et uniquement le design. C’est à dire tous les fichiers.css et les images de background.

Dossier entrepot -> dans ce dossier vous entreproserez tous vos medias, les images illustratives des articles par exemple, vos vidéos et musiques.

Fichier index.php -> c’est votre contrôleur. Nous verrons son fonctionnement plus tard.

Dossier pages -> dans ce dossier se trouverons tous vos fragments de pages, ces fragments sont les Modèles. L’extention reste .php, j’utilise .frg.php simplement pour un soucis de lisibilité.

Dossier squelettes -> ce dossier aura tous vos fichier dit squelettes, c’est à dire la structure de vos pages. Ces fichiers squelette comporte le DOCTYPE, les balises head et les méta données par exemple. Dans ce tutoriel nous n’utiliserons qu’un seul squelette que je nomme principal.

Dossier travailleur -> Ici vous mettrez tous vos script, application flash etc …

Fichier index.php – Votre contrôleur

Pour commencer regardons le code de notre exemple :

$titre -> variable qui sera afficher dans les balise </p> <p><strong><span style="color: #008000;">$squelett</span><span style="color: #008000;">e</span></strong> -> initialisation du squelette. Dans cette variable il faut mettre le chemin vers votre squelette à partir de l’endroit ou s’éxécute votre fichier « index.php ».</p> <p><strong><span style="color: #008000;">$page</span></strong> -> initialisation de la variable page. La variable page possède le chemin de votre fragment affiché. il est nécéssaire de l’initialiser pour afficher, par défaut, un fragment. Par exemple on lui demande d’afficher accueil.frg.php.</p> <p>Un petit rappel: Les variables superglobal de type <strong><span style="color: #008000;">$_GET[’ma_valeur'];</span></strong> récupèrent les paramètres passés dans l’URL. Par exemple dans notre exemple, quand on change de page on a l’URL suivante :</p> <p>http://snoupix.com/demo/MVC/index.php<strong><span style="color: #008000;">?page=page1</span></strong></p> <p>Si on demande d’afficher <strong><span style="color: #008000;">$_GET['page']</span></strong> on aura <strong><span style="color: #008000;">page1</span></strong>. C’est comme cela qu’on peut savoir quel fragment afficher. De plus <strong><span style="color: #008000;">isset()</span></strong> est une fonction php qui vérifie si ce qui lui est passé en paramètre existe. Donc la condition vérifie qu’il y à bien une récupération de la valeur <strong><span style="color: #008000;">page</span></strong>. Si cette valeur existe on redéfinie la variable <strong><span style="color: #008000;">$page</span></strong> pour afficher le fragment voulue.</p> <p>Et pour finir nous devons implement inclure grâce à la fonction <strong><span style="color: #008000;">include()</span></strong> notre squelette.</p> <h2>Fichier principal.frg.php</h2> <p>Regardons le code :</p> </p> <pre><textarea class="xhtml" name="code"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="design/style.css" type="text/css" media="screen" /> </head> <body> <div id="global"> <div id="header"> <h1>Mon site en MVC</h1> </div> <div id="contener"> <div id="menu"> <h2>Menu</h2> <ul> <li><a href="index.php?page=page1">Ma page 1</a> |</li> <li><a href="index.php?page=page2">Ma page 2</a></li> </ul></div> <?php include($page); ?></div> <div id="footer"> Ici les informations pour mon pied de page </div> </div> </body> </html> </textarea></pre> <p>Le fichier principal.frg.php est une page HTML banale avec toutes les données HTML. Il faut juste regarder dans la div <strong><span style="color: #008000;">conteneur</span></strong> où se trouve un bout de code PHP comme <?php include($page); ?>. C’est tout simplement ici que seront inclus, ou importés les fragments.</p> <p>Pour finir, dans les fragment vous mettrez tous ce que vous désirez. C’est à dire, code html, code php, image, texte etc…</p> <p>Bonne programmation à vous</p> <div class="pub_related_posts"> <div class="pub_related"> <script type="text/javascript"><!-- google_ad_client = "ca-pub-3413493628715791"; /* Snoupix V3 articles similaires */ google_ad_slot = "9954686809"; google_ad_width = 300; google_ad_height = 250; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <div class="related_posts"> <h3>Vous avez peut être manqué ces articles :</h3> <ul> <li> <a href="http://www.snoupix.com/systeme-de-pagination_tutorial_25.html" rel="bookmark" title="Système de pagination"><img width="60" height="60" src="http://www.snoupix.com/wp-content/uploads/2009/03/tuto.jpg" class="attachment-60x60 wp-post-image" alt="tuto" title="tuto" /></a> <h5><a href="http://www.snoupix.com/systeme-de-pagination_tutorial_25.html" rel="bookmark" title="Système de pagination">Système de pagination</a></h5> <span class="date_related_post">(30/03/2009)</span> </li> <li> <a href="http://www.snoupix.com/design-de-site-business_tutorial_23.html" rel="bookmark" title="Design de site business"><img width="60" height="60" src="http://www.snoupix.com/wp-content/uploads/2009/03/tuto2.jpg" class="attachment-60x60 wp-post-image" alt="tuto" title="tuto" /></a> <h5><a href="http://www.snoupix.com/design-de-site-business_tutorial_23.html" rel="bookmark" title="Design de site business">Design de site business</a></h5> <span class="date_related_post">(20/03/2009)</span> </li> <li> <a href="http://www.snoupix.com/initiation-a-lurl-rewriting_tutorial_5.html" rel="bookmark" title="Initiation à l’URL Rewriting"><img width="60" height="60" src="http://www.snoupix.com/wp-content/uploads/2009/01/urlrewrite.jpg" class="attachment-60x60 wp-post-image" alt="urlrewrite" title="urlrewrite" /></a> <h5><a href="http://www.snoupix.com/initiation-a-lurl-rewriting_tutorial_5.html" rel="bookmark" title="Initiation à l’URL Rewriting">Initiation à l’URL Rewriting</a></h5> <span class="date_related_post">(24/01/2009)</span> </li> </ul> </div> <div style="clear:both;height:0;"> </div> </div> <div class="postauthor"> <div class="comment-author vcard"> <div class="avatar_img"> <img alt='' src='http://0.gravatar.com/avatar/ec5d7bebb6c7b3b9068db4b0590d6386?s=70&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='avatar avatar-70 photo' height='70' width='70' /> </div> <span class="portfolio"><a href=”http://ng”>Son portfolio</a></span> </div> <div class="content_author"> <strong>A propos de Snoupix</strong> <p></p> </div> </div> </div><!-- .entry-content --> </article><!-- #post --> <div id="comments"> <div id="comments-list" class="comments"> <h3><span>15</span> commentaires</h3> <a href='http://www.snoupix.com/mon-site-en-mvc-avec-php_tutorial_10.html/feed'>S'abonner au RSS des commentaires</a> <ol> <li id="comment-966" class="comment c c-y2011 c-m01 c-d21 c-h23 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://1.gravatar.com/avatar/3cf5cc905f52284b7b89d424e6722b9d?s=70&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='photo avatar avatar-70 photo' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=966#respond' onclick='return addComment.moveForm("comment-966", "966", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>Québec</strong> <div class="comment-meta">Posté le 21/01/2011 à 23h02 </div> <p>À tous, MVC est un concept. La POO est une technique de programmation. Pour ma part, je comprends que pour beaucoup d’entre vous faites l’erreur que MVC = POO. C’est une équation fausse. Rien dans les définitions du MVC dit qu’il faut une approche POO. Certain dirons que j’ai faut, peut être, après tout, je ne suis pas un informaticien mais chose certain, MVC est un concept qui permet de structurer votre programmation, que ce soit en C, PASCAL, ou PHP. </p> <p>Si la POO est si bonne, comment ce fait’il que nous apprenons tous dans nos cours informatiques la façon procédurale? La POO est cert important mais pas obligatoire!</p> </div> </li> <li id="comment-811" class="comment c1 c-y2010 c-m07 c-d13 c-h15 depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=811#respond' onclick='return addComment.moveForm("comment-811", "811", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>flant</strong> <div class="comment-meta">Posté le 13/07/2010 à 15h55 </div> <p>J’utilise un CMS est ce que est il possible d’avoir le script complet d’un site avec MVC utilisant une base de donnée. <br /> Au juste je veux quitter les CMS. Que me conseiller vous je suis débutant.</p> </div> </li> <li id="comment-732" class="comment c2 c-y2010 c-m04 c-d03 c-h19 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=732#respond' onclick='return addComment.moveForm("comment-732", "732", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>plop</strong> <div class="comment-meta">Posté le 03/04/2010 à 19h42 </div> <p>Ok eric alors imagine tu es persuadé de pouvoir t’exprimer comme bon te semble et là il y a un seul pinpin (au hasard plop) qui vient te dire que tu te laisse un peu trop aller, tu te remets en question ou pas ?</p> <p>Je suppose qu’on est d’accord, non parce que pour faire un tuto sur le MVC avec une belle image "Mon site en MVC" faut vraiment être persuadé de faire du MVC.</p> <p>Donc je vais me permettre de radoter aussi, c’est pas du MVC.</p> <p>Mais je meurs d’impatience de voir ton didacticiel !</p> </div> </li> <li id="comment-713" class="comment c3 c-y2010 c-m03 c-d17 c-h14 depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=713#respond' onclick='return addComment.moveForm("comment-713", "713", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>phil</strong> <div class="comment-meta">Posté le 17/03/2010 à 14h35 </div> <p>C’est vrai qu’il manque quelque chose d’important à ce code pour faire du MVC.</p> <p>Il faut que la page incluse ($page) soit divisée en deux page : la vue et le modèle.</p> <p>Sinon je suis d’accord avec eric, les autres remarques ne sont pas très intéressantes ;D</p> </div> </li> <li id="comment-662" class="comment c4 c-y2010 c-m01 c-d11 c-h16 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://1.gravatar.com/avatar/3775cf67706eb238b37cc37f334b74c8?s=70&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='photo avatar avatar-70 photo' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=662#respond' onclick='return addComment.moveForm("comment-662", "662", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>eric</strong> <div class="comment-meta">Posté le 11/01/2010 à 16h33 </div> <p>PTDR pepsi ! et moi je crois que tu n’as pas bien compris pepsi ce qu’est un framework !</p> <p>à titre d’exemple on peut très bien créer un site en MVC sans avoir à utiliser de framework et ici là n’est pas la question de framework dailleurs je me demande bien ce que ca vient foutre là ce que tu dis car ca n’a aucun rapport a vouloir réinventer la roue comme on dit.</p> <p>Avant de venir donner des leçons réfléchis à ce que tu dit.<br /> et pour tout ceux qui radotent "Effectivement tu n’as rien compris à l’architecture MVC" Excusez du peu mais vous êtes vraiment une bande de cons ! On n’a pas besoin de l’écrire 100 mille fois ce que vous dites on l’a bien compris !</p> <p>Et vous ? au lieu de radoter toujours la même chose : vous avez compris ce qu’est un MVC ?? non assurément car si c’était le cas vous auriez déjà réaliser un didacticiel.<br /> à bon entendeur…</p> </div> </li> <li id="comment-644" class="comment c5 c-y2009 c-m12 c-d19 c-h02 depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=644#respond' onclick='return addComment.moveForm("comment-644", "644", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>charly</strong> <div class="comment-meta">Posté le 19/12/2009 à 2h10 </div> <p>Effectivement tu n’as rien compris à l’architecture MVC étant donné que ton code n’est même pas orienté objet.</p> </div> </li> <li id="comment-640" class="comment c6 c-y2009 c-m12 c-d15 c-h14 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=640#respond' onclick='return addComment.moveForm("comment-640", "640", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>pepsi</strong> <div class="comment-meta">Posté le 15/12/2009 à 14h26 </div> <p>Comme tout le monde, je pense que tu n’as pas compris l’architecture MVC.</p> <p>Essayer une framework php orienté objet et conçu sur le modèle MVC me paraît une solution plus profitable et rentable a moyen terme que de réinventer la poudre en recréant son propre framework pas MVC qui plus est.</p> <p>Ton exemple est d’ailleurs significatif de ce qu’il ne faut pas faire au niveau de l’appel de ta variable $page qui malgré la fonction ISSET est totalement passoire.</p> <p>Un petit tour sur le blog de grafikart pour commencer sur un framework php comme cakephp par exemple. J’ai commencer l’objet et le MVC grâce à ses podcast.</p> <p>@+++</p> </div> </li> <li id="comment-630" class="comment c7 c-y2009 c-m11 c-d26 c-h07 depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/6b4031fd854b890313ffd78a16cb7fdf?s=70&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='photo avatar avatar-70 photo' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=630#respond' onclick='return addComment.moveForm("comment-630", "630", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>stomerfull</strong> <div class="comment-meta">Posté le 26/11/2009 à 7h33 </div> <p>moi aussi </p> <p>je vois pas du tout l’architecture MVC </p> <p>??</p> </div> </li> <li id="comment-608" class="comment c8 c-y2009 c-m11 c-d04 c-h17 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=608#respond' onclick='return addComment.moveForm("comment-608", "608", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>jarmino</strong> <div class="comment-meta">Posté le 04/11/2009 à 17h00 </div> <p>pas compris!!</p> </div> </li> <li id="comment-595" class="comment c9 c-y2009 c-m10 c-d23 c-h16 depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://1.gravatar.com/avatar/d17993fb3542c35b610542efcea2ba05?s=70&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='photo avatar avatar-70 photo' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=595#respond' onclick='return addComment.moveForm("comment-595", "595", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>Fred</strong> <div class="comment-meta">Posté le 23/10/2009 à 16h25 </div> <p>Je confirme les autres commentaire, rien à voir avec une structure MVC !!!!!</p> </div> </li> <li id="comment-525" class="comment c10 c-y2009 c-m08 c-d21 c-h23 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=525#respond' onclick='return addComment.moveForm("comment-525", "525", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>Neuromancien</strong> <div class="comment-meta">Posté le 21/08/2009 à 23h04 </div> <p>Ce n’est pas du tout une architecture MVC…</p> </div> </li> <li id="comment-445" class="comment c11 c-y2009 c-m07 c-d02 c-h17 depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://1.gravatar.com/avatar/d4e0035b55388b9080ab48068d4d5736?s=70&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='photo avatar avatar-70 photo' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=445#respond' onclick='return addComment.moveForm("comment-445", "445", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>leknopppix</strong> <div class="comment-meta">Posté le 02/07/2009 à 17h34 </div> <p>J’ai pas trop compris l’utilité du mvc lors d’un projetn cependant je vais continuer à faire des recherches pour acquérir à 100% les connaissances suffisante pour comprendre ce système</p> </div> </li> <li id="comment-325" class="comment c12 c-y2009 c-m05 c-d04 c-h23 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=70' class='photo avatar avatar-70 photo avatar-default' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=325#respond' onclick='return addComment.moveForm("comment-325", "325", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>Axel</strong> <div class="comment-meta">Posté le 04/05/2009 à 23h32 </div> <p>Effectivement, moi non plus.</p> </div> </li> <li id="comment-310" class="comment c13 c-y2009 c-m04 c-d30 c-h17 depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/049edf4c137b4efd65efaeb8d7accdce?s=70&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='photo avatar avatar-70 photo' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=310#respond' onclick='return addComment.moveForm("comment-310", "310", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>chafouai</strong> <div class="comment-meta">Posté le 30/04/2009 à 17h30 </div> <p>Je voix pas les trois couches principales du modéle MVC( modèle, vue, contrôleur).</p> </div> </li> <li id="comment-280" class="comment c14 c-y2009 c-m04 c-d16 c-h00 alt depth-1"> <div class="comment-author vcard"><div class="avatar_img"><img alt='' src='http://0.gravatar.com/avatar/4bbcb5d92730ff473a68a5861d2b3846?s=70&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D70&r=G' class='photo avatar avatar-70 photo' height='70' width='70' /></div> <div class="comment-reply-link"><a class='comment-reply-link' href='/mon-site-en-mvc-avec-php_tutorial_10.html?replytocom=280#respond' onclick='return addComment.moveForm("comment-280", "280", "respond", "10")'>Répondre</a></div></div> <div class="comment-content"> <strong>romuz</strong> <div class="comment-meta">Posté le 16/04/2009 à 0h04 </div> <p>Je suis pas certain que t’ai saisi la mécanique du MVC : <a href="http://tahe.developpez.com/web/php/mvc/">http://tahe.developpez.com/web/php/mvc/</a></p> <p>Ce que tu proposes est juste une hierachie de dossier et des passages de variable via des $_GET (qui plus est, non sécurisé dans ton exemple) et non une architecture MVC. Valable pour un petit site en php mais pas pour une application orienté métier.</p> </div> </li> </ol> <div id="comments-nav-below" class="comment-navigation"> <div class="paginated-comments-links"><div class="navigation"></div></div> </div> </div><!-- #comments-list .comments --> <div id="respond"> <h3 id="reply-title">Laisser un commentaire <small><a rel="nofollow" id="cancel-comment-reply-link" href="/mon-site-en-mvc-avec-php_tutorial_10.html#respond" style="display:none;">Cancel reply</a></small></h3> <form action="http://www.snoupix.com/wp-comments-post.php" method="post" id="commentform"> <p class="comment-notes">Votre e-mail ne sera <em>jamais</em> publié ni communiqué. Les champs obligatoires sont indiqués par <span class="required">*</span></p> <div id="form-section-author" class="form-section"><div class="form-label"><label for="author">Nom</label> <span class="required">*</span></div><div class="form-input"><input id="author" name="author" type="text" value="" size="30" maxlength="20" tabindex="3" aria-required='true' /></div></div><!-- #form-section-author .form-section --> <div id="form-section-email" class="form-section"><div class="form-label"><label for="email">E-mail</label> <span class="required">*</span></div><div class="form-input"><input id="email" name="email" type="text" value="" size="30" maxlength="50" tabindex="4" aria-required='true' /></div></div><!-- #form-section-email .form-section --> <div id="form-section-url" class="form-section"><div class="form-label"><label for="url">Site web</label></div><div class="form-input"><input id="url" name="url" type="text" value="" size="30" maxlength="50" tabindex="5" /></div></div><!-- #form-section-url .form-section --> <div id="form-section-comment" class="form-section"><div class="form-label"><label for="comment">Commentaire</label></div><div class="form-textarea"><textarea id="comment" name="comment" cols="45" rows="8" tabindex="6" aria-required="true"></textarea></div></div><!-- #form-section-comment .form-section --> <div id="form-allowed-tags" class="form-section"><p><span>Vous pouvez utiliser ces balises et attributs <abbr title="HyperText Markup Language" lang="en">HTML</abbr> :</span> <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> </code></p></div> <p class="form-submit"> <input name="submit" type="submit" id="submit" value="Valider le commentaire" /> <input type='hidden' name='comment_post_ID' value='10' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p> <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="11110d15a6" /></p> </form> </div><!-- #respond --> </div><!-- #comments --> </section><!-- .main --> <div style="clear:both;height:0;"> </div> </section><!-- #content.body --> <footer id="footer" class="foot" role="contentinfo"> <div id="affichage_footer"> <ul class="widgets-footer"> <li id="recent-comments-3" class="widget-container widget_recent_comments"><h3 class="widget-title">Derniers commentaires</h3><ul id="recentcomments"><li class="recentcomments"><a href='http://www.parieroptionbinaire.com' rel='external nofollow' class='url'>Anthony</a> dans <a href="http://www.snoupix.com/les-techniques-de-referencement-naturel-efficaces_actu_151.html#comment-29325">Les techniques de référencement naturel efficaces</a></li><li class="recentcomments"><a href='http://www.annoncelegale.com' rel='external nofollow' class='url'>Mannon Celegale</a> dans <a href="http://www.snoupix.com/kwixo-le-concurant-francais-de-paypal_actu_738.html#comment-29322">Kwixo, le concurrent français de paypal</a></li><li class="recentcomments">wiwi dans <a href="http://www.snoupix.com/verifier-ses-formulaires-avec-jquery_tutorial_13.html#comment-28844">Vérifier ses formulaires avec Jquery</a></li><li class="recentcomments">keraichia dans <a href="http://www.snoupix.com/kwixo-le-concurant-francais-de-paypal_actu_738.html#comment-28673">Kwixo, le concurrent français de paypal</a></li></ul></li> <li id="recent-posts-6" class="widget-container widget_recent_entries"> <h3 class="widget-title">Derniers articles</h3> <ul> <li><a href="http://www.snoupix.com/kwixo-le-concurant-francais-de-paypal_actu_738.html" title="Kwixo, le concurrent français de paypal">Kwixo, le concurrent français de paypal</a></li> <li><a href="http://www.snoupix.com/nouveau-look-pour-snoupix_actu_730.html" title="Nouveau look pour Snoupix">Nouveau look pour Snoupix</a></li> <li><a href="http://www.snoupix.com/un-casse-tete-pour-ecouter-de-la-musique-sur-internet_actu_704.html" title="Un casse-tête pour écouter de la musique sur Internet ?">Un casse-tête pour écouter de la musique sur Internet ?</a></li> <li><a href="http://www.snoupix.com/themes-sur-phpmyadmin-astuce-du-jour_actu_190.html" title="Thèmes sur phpMyAdmin [astuce du jour]">Thèmes sur phpMyAdmin [astuce du jour]</a></li> </ul> </li> <li class="widget-container" id="reseaux_sociaux"> <ul> <li><a id="rss" href="http://feeds.feedburner.com/snoupix">178 <small>abonnés</small></a></li> <li><a id="facebook" href="http://www.facebook.com/pages/Snoupix/49087784853"> <small>fans</small></a></li> <li><a id="twitter" href="http://twitter.com/snoupix"> <small>followers</small></a></li> </ul> </li> <li id="tag_cloud-3" class="widget-container widget_tag_cloud"><h3 class="widget-title">Tags</h3><div class="tagcloud"><a href='http://www.snoupix.com/actu' class='tag-link-4' title='68 sujets' style='font-size: 22pt;'>Actualités</a> <a href='http://www.snoupix.com/tutorial/css' class='tag-link-8' title='6 sujets' style='font-size: 13pt;'>CSS</a> <a href='http://www.snoupix.com/actu/divers-actu' class='tag-link-16' title='3 sujets' style='font-size: 10.727272727273pt;'>Divers</a> <a href='http://www.snoupix.com/tutorial/divers' class='tag-link-10' title='3 sujets' style='font-size: 10.727272727273pt;'>Divers</a> <a href='http://www.snoupix.com/actu/developpement' class='tag-link-5' title='4 sujets' style='font-size: 11.636363636364pt;'>Développement</a> <a href='http://www.snoupix.com/tutorial/flash' class='tag-link-13' title='2 sujets' style='font-size: 9.6363636363636pt;'>Flash</a> <a href='http://www.snoupix.com/actu/inspiration' class='tag-link-6' title='1 sujet' style='font-size: 8pt;'>Inspiration</a> <a href='http://www.snoupix.com/tutorial/javascript' class='tag-link-11' title='6 sujets' style='font-size: 13pt;'>Javascript</a> <a href='http://www.snoupix.com/actu/nouveautes' class='tag-link-17' title='4 sujets' style='font-size: 11.636363636364pt;'>Nouveautés</a> <a href='http://www.snoupix.com/tutorial/photoshop' class='tag-link-12' title='4 sujets' style='font-size: 11.636363636364pt;'>Photoshop</a> <a href='http://www.snoupix.com/tutorial/php-sql' class='tag-link-9' title='8 sujets' style='font-size: 13.909090909091pt;'>PHP/SQL</a> <a href='http://www.snoupix.com/actu/ressources' class='tag-link-15' title='4 sujets' style='font-size: 11.636363636364pt;'>Ressources</a> <a href='http://www.snoupix.com/tutorial' class='tag-link-7' title='26 sujets' style='font-size: 18.272727272727pt;'>Tutoriels</a></div> </li> <div id="siteinfo"> </div><!-- #siteinfo --> </ul> <div id="site-info"> <p>Copyright www.snoupix.com - <a href="/a-propos">A propos</a> - <a href="/contact">Contact</a> - Site construit selon les standards HTML5 et CSS3, mettez à jour vos navigateurs pour en profiter!</p> </div> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-3377651-2"); pageTracker._trackPageview(); } catch(err) {} </script> </footer><!-- #footer --> <script type='text/javascript' src='http://www.snoupix.com/wp-content/plugins/contact-form-7/jquery.form.js?ver=2.52'></script> <script type='text/javascript' src='http://www.snoupix.com/wp-content/plugins/contact-form-7/scripts.js?ver=2.4.4'></script> <!-- BuySellAds.com Ad Code --> <script type="text/javascript"> (function(){ var bsa = document.createElement('script'); bsa.type= 'text/javascript'; bsa.async = true; bsa.src='//s3.buysellads.com/ac/bsa.js'; (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(bsa); })(); </script> <!-- END BuySellAds.com Ad Code --> <script type="text/javascript">FB.XFBML.parse();</script><!-- script foot --> <!-- BEGIN thematic_ifieblock --> <!-- END thematic_ifieblock --> </body> </html>