<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Du code et du libre</title>
	<atom:link href="https://blog.developpez.com/ducodeetdulibre/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/ducodeetdulibre</link>
	<description></description>
	<lastBuildDate>Thu, 13 Nov 2014 08:14:19 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Le cahier de dessin animé</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12789/crowfounding/le-cahier-de-dessin-anime</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12789/crowfounding/le-cahier-de-dessin-anime#comments</comments>
		<pubDate>Thu, 13 Nov 2014 08:14:19 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[crowfounding]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=874</guid>
		<description><![CDATA[La réalité augmentée est pour moi sous exploitée depuis des années, j&#8217;avais déjà écrit un billet sur le sujet. J&#8217;ai découvert avec plaisir une initiative qui exploite cette technologie pour le bonheur de nos enfants. Cette projet se nomme le &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12789/crowfounding/le-cahier-de-dessin-anime">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/11/cahierDessinAnime600x300.jpg" alt="cahierDessinAnime600x300" width="600" height="300" class="alignnone size-full wp-image-877" /></p>
<p>La réalité augmentée est pour moi sous exploitée depuis des années, j&rsquo;avais déjà écrit un billet sur le sujet. J&rsquo;ai découvert avec plaisir une initiative qui exploite cette technologie pour le bonheur de nos enfants.<br />
Cette projet se nomme le cahier de dessin animé.</p>
<p><strong>Le concept</strong><br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/11/cachierDessinAnimeDetail600x300.jpg"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/11/cachierDessinAnimeDetail600x300.jpg" alt="cachierDessinAnimeDetail600x300" width="600" height="278" class="alignnone size-full wp-image-875" /></a><br />
L&rsquo;idée est simple: vous avez un cahier, comportant une dizaine de pages l&rsquo;enfant le colorie avec crayons/feutres habituels.<br />
Puis, un des parent le prend en photo avec l&rsquo;application (iOS/Android gratuite) et son coloriage va s&rsquo;animer sous ses yeux.</p>
<p>Magique, non ?</p>
<p>Ce projet fait l&rsquo;objet d&rsquo;un financement participatif sur KissKissBankBank, ils ont pour l&rsquo;instant (à l&rsquo;heure ou j&rsquo;écrit) récolté 55% de la somme demandée (25 000 euros)</p>
<p><strong>Vous souhaitez l&rsquo;acheter ?</strong><br />
Vous pouvez pré-commander votre cahier pour 25 euros, et celui-ci vous sera livré sous le sapin.<br />
Je pense que ça peut être une bonne idée de cadeau pour les fêtes <img src="https://blog.developpez.com/ducodeetdulibre/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>Le site: http://www.kisskissbankbank.com/le-cahier-de-dessin-anime</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework: formulaire modification &#8211; Symfony 2</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12723/developpement/comment-choisir-son-framework-formulaire-modification-symfony-2</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12723/developpement/comment-choisir-son-framework-formulaire-modification-symfony-2#comments</comments>
		<pubDate>Sun, 24 Aug 2014 20:25:47 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=833</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l’initiative de grafikart: Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet : Symfony 2 Dans ce billet, nous &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12723/developpement/comment-choisir-son-framework-formulaire-modification-symfony-2">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l’initiative de grafikart:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php" target="_blank"></a><br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet : <a href="https://github.com/Grafikart/BlogMVC/tree/master/Symfony2" target="_blank">Symfony 2</a></strong><br />
Dans ce billet, nous allons essayer de comprendre comment s’organise un formulaire, l&rsquo;enregistrement en base de données et éventuellement la vérification de certains champs.</p>
<p>Voilà la page que l&rsquo;on va analyser ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png" alt="siteWeb" width="1156" height="504" class="alignnone size-full wp-image-799" /></a></p>
<p><strong>Le controlleur</strong><br />
/src/Acme/BlogBundle/Controller/AdminPostController.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post3.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post3.png" alt="tree-module-post" width="252" height="147" class="alignnone size-full wp-image-834" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post1.png" alt="code-module-post" width="676" height="597" class="alignnone size-full wp-image-835" /></a></p>
<p><strong>La vue</strong><br />
/src/Acme/BlogBundle/Resources/views/AdminPost/manage.html.twig<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view4.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view4.png" alt="tree-view" width="240" height="396" class="alignnone size-full wp-image-838" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view3.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view3.png" alt="code-view" width="594" height="596" class="alignnone size-full wp-image-839" /></a></p>
<p><strong>Les controles</strong><br />
/src/Acme/BlogBundle/Form/PostType.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-form1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-form1.png" alt="tree-form" width="231" height="211" class="alignnone size-full wp-image-841" /></a></p>
<p>On a ici une classe par type de formulaire, où l&rsquo;on a les différents controles effectuées.</p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-form1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-form1.png" alt="code-form" width="591" height="822" class="alignnone size-full wp-image-842" /></a></p>
<p>Dans le controlleur, on voit l&rsquo;utilisation de cette classe ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-formCheck.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-formCheck.png" alt="code-formCheck" width="676" height="597" class="alignnone size-full wp-image-843" /></a></p>
<p>note: si il y a une erreur, il n&rsquo;y a pas de retour <img src="https://blog.developpez.com/ducodeetdulibre/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /></p>
<p><strong>L&rsquo;enregistrement en base de données</strong><br />
Toujours dans le controlleur, et dans la même méthode, on enregistre via le code suivant:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-formCheckSave.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-formCheckSave.png" alt="code-formCheckSave" width="676" height="597" class="alignnone size-full wp-image-845" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification">Retour au sommaire</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework: formulaire modification &#8211; Zend framework 2</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12722/developpement/comment-choisir-son-framework-formulaire-modification-zend-framework-2</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12722/developpement/comment-choisir-son-framework-formulaire-modification-zend-framework-2#comments</comments>
		<pubDate>Sun, 24 Aug 2014 20:24:49 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=801</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l’initiative de grafikart: Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet : Zend framework 2 Dans ce billet, &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12722/developpement/comment-choisir-son-framework-formulaire-modification-zend-framework-2">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l’initiative de grafikart:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php" target="_blank"></a><br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet : <a href="https://github.com/Grafikart/BlogMVC/tree/master/ZendFramework2" target="_blank">Zend framework 2</a></strong><br />
Dans ce billet, nous allons essayer de comprendre comment s’organise un formulaire, l&rsquo;enregistrement en base de données et éventuellement la vérification de certains champs.</p>
<p>Voilà la page que l&rsquo;on va analyser ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png" alt="siteWeb" width="1156" height="504" class="alignnone size-full wp-image-799" /></a></p>
<p><strong>Le controlleur</strong><br />
/module/Blog/src/Blog/Controller/PostController.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post1.png" alt="tree-module-post" width="270" height="232" class="alignnone size-full wp-image-803" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-edit.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-edit.png" alt="code-module-post-edit" width="803" height="598" class="alignnone size-full wp-image-804" /></a></p>
<p><strong>La vue</strong><br />
/module/Blog/view/blog/post/edit.phtml<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view-edit.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view-edit.png" alt="tree-view-edit" width="231" height="311" class="alignnone size-full wp-image-805" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view-edit.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view-edit.png" alt="code-view-edit" width="459" height="574" class="alignnone size-full wp-image-806" /></a></p>
<p><strong>Les controles</strong><br />
/module/Blog/src/Blog/Form/EditPostForm.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-form.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-form.png" alt="tree-form" width="255" height="357" class="alignnone size-full wp-image-808" /></a></p>
<p>On a ici une classe par type de formulaire, où l&rsquo;on a les différents controles effectuées.</p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-form.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-form.png" alt="code-form" width="482" height="1006" class="alignnone size-full wp-image-809" /></a></p>
<p>Dans le controlleur, on voit l&rsquo;utilisation de cette classe ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-edit-form1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-edit-form1.png" alt="code-module-post-edit-form" width="803" height="598" class="alignnone size-full wp-image-811" /></a><br />
note: si il y a une erreur, on affiche un flash message unique</p>
<p><strong>L&rsquo;enregistrement en base de données</strong><br />
Toujours dans le controlleur, et dans la même méthode, on enregistre via le code suivant:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-edit-form-save.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-edit-form-save.png" alt="code-module-post-edit-form-save" width="803" height="598" class="alignnone size-full wp-image-813" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification">Retour au sommaire</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework: formulaire modification &#8211; mkFramework</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12721/developpement/comment-choisir-son-framework-formulaire-modification-mkframework</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12721/developpement/comment-choisir-son-framework-formulaire-modification-mkframework#comments</comments>
		<pubDate>Sun, 24 Aug 2014 20:21:34 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=815</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l’initiative de grafikart: Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet : MkFramework Dans ce billet, nous allons &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12721/developpement/comment-choisir-son-framework-formulaire-modification-mkframework">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l’initiative de grafikart:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php" target="_blank"></a><br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet : <a href="https://github.com/Grafikart/BlogMVC/tree/master/mkFramework" target="_blank">MkFramework</a></strong><br />
Dans ce billet, nous allons essayer de comprendre comment s’organise un formulaire, l&rsquo;enregistrement en base de données et éventuellement la vérification de certains champs.</p>
<p>Voilà la page que l&rsquo;on va analyser ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png" alt="siteWeb" width="1156" height="504" class="alignnone size-full wp-image-799" /></a></p>
<p><strong>Le controlleur</strong><br />
/module/privatePosts/main.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post2.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post2.png" alt="tree-module-post" width="173" height="209" class="alignnone size-full wp-image-818" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post.png" alt="code-module-post" width="645" height="317" class="alignnone size-full wp-image-819" /></a></p>
<p><strong>La vue</strong><br />
/module/privatePosts/view/edit.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post-view.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post-view.png" alt="tree-module-post-view" width="164" height="272" class="alignnone size-full wp-image-820" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-view.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-view.png" alt="code-module-post-view" width="918" height="858" class="alignnone size-full wp-image-821" /></a></p>
<p><strong>Les controles</strong><br />
/model/model_posts.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-model3.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-model3.png" alt="tree-model" width="194" height="104" class="alignnone size-full wp-image-822" /></a></p>
<p>On a ici nos controles dans la classe model du post, ils sont effectué à chaque enregistrement, qu&rsquo;ils proviennent d&rsquo;un formulaire web, d&rsquo;un appel webservice ou autre.</p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-getcheck-model.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-getcheck-model.png" alt="code-getcheck-model" width="916" height="436" class="alignnone size-full wp-image-824" /></a></p>
<p>Dans le controlleur, on voit l&rsquo;utilisation de cette classe ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-saveCheck.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-saveCheck.png" alt="code-controller-saveCheck" width="812" height="597" class="alignnone size-full wp-image-825" /></a><br />
note: si il y a une erreur,<br />
on retourne une liste de message qui sont passés à la vue<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-callSave.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-callSave.png" alt="code-controller-callSave" width="645" height="317" class="alignnone size-full wp-image-828" /></a><br />
pour être enfin affiché dans la vue<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-view-tMessage.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-module-post-view-tMessage.png" alt="code-module-post-view-tMessage" width="918" height="286" class="alignnone size-full wp-image-829" /></a></p>
<p><strong>L&rsquo;enregistrement en base de données</strong><br />
Toujours dans le controlleur, on a dans l&rsquo;action d&rsquo;edition un appel à la méthode privée processSave()<br />
Celle-ci vérifie la cohérence des données + le token: si il y a une erreur, elle retourne un tableau des erreurs, si tout se passe bien, elle enregistre puis redirige:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-saveAndRedirect.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-saveAndRedirect.png" alt="code-controller-saveAndRedirect" width="812" height="597" class="alignnone size-full wp-image-831" /></a><br />
Note: si l&rsquo;enregistrement se passe bien, on met à jour le cache des catégories et derniers posts.</p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification">Retour au sommaire</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework: formulaire modification</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification#comments</comments>
		<pubDate>Sun, 24 Aug 2014 20:20:31 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Comment choisir son framework]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=796</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l’initiative de grafikart: Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet Dans ce billet, nous allons essayer de &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l’initiative de grafikart:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php" target="_blank"></a><br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet</strong><br />
Dans ce billet, nous allons essayer de comprendre comment s’organise un formulaire, l&rsquo;enregistrement en base de données et éventuellement la vérification de certains champs.</p>
<p>Voilà la page que l&rsquo;on va analyser ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png" alt="siteWeb" width="1156" height="504" class="alignnone size-full wp-image-799" /></a></p>
<p>Retrouvez un billet de détail sur les frameworks suivants:</p>
<ul>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12723/developpement/comment-choisir-son-framework-formulaire-modification-symfony-2">Symfony 2</a></li>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12722/developpement/comment-choisir-son-framework-formulaire-modification-zend-framework-2">Zend framework 2</a></li>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12719/developpement/comment-choisir-son-framework-formulaire-modification-kohana">Kohana</a></li>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12721/developpement/comment-choisir-son-framework-formulaire-modification-mkframework">MkFramework</a></li>
</ul>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12718/developpement/comment-choisir-son-framework-sommaire">Retour au menu principal</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework: formulaire modification &#8211; Kohana</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12719/developpement/comment-choisir-son-framework-formulaire-modification-kohana</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12719/developpement/comment-choisir-son-framework-formulaire-modification-kohana#comments</comments>
		<pubDate>Sun, 24 Aug 2014 20:19:58 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=847</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l’initiative de grafikart: Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet : Kohana Dans ce billet, nous allons &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12719/developpement/comment-choisir-son-framework-formulaire-modification-kohana">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l’initiative de grafikart:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php" target="_blank"></a><br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet : <a href="https://github.com/Grafikart/BlogMVC/tree/master/Kohana" target="_blank">Kohana</a></strong><br />
Dans ce billet, nous allons essayer de comprendre comment s’organise un formulaire, l&rsquo;enregistrement en base de données et éventuellement la vérification de certains champs.</p>
<p>Voilà la page que l&rsquo;on va analyser ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/siteWeb.png" alt="siteWeb" width="1156" height="504" class="alignnone size-full wp-image-799" /></a></p>
<p><strong>Le controlleur</strong><br />
/application/classes/Controller/Admin.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-controller2.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-controller2.png" alt="tree-controller" width="170" height="147" class="alignnone size-full wp-image-848" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller2.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller2.png" alt="code-controller" width="871" height="345" class="alignnone size-full wp-image-849" /></a></p>
<p><strong>La vue</strong><br />
/application/views/admin/edit.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view5.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view5.png" alt="tree-view" width="160" height="227" class="alignnone size-full wp-image-850" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view4.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view4.png" alt="code-view" width="948" height="924" class="alignnone size-full wp-image-851" /></a></p>
<p><strong>Les controles</strong><br />
/application/classes/Model/Post.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-model4.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-model4.png" alt="tree-model" width="178" height="212" class="alignnone size-full wp-image-852" /></a></p>
<p>On a ici les règles de controles dans la classe model</p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-model-check.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-model-check.png" alt="code-model-check" width="529" height="334" class="alignnone size-full wp-image-853" /></a></p>
<p>Dans le controlleur, on voit l&rsquo;utilisation de ces controles ici:<br />
Il y a un try/catch qui catch les evenetuels erreurs d&rsquo;enregistrement, controles compris<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-processCheck.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-processCheck.png" alt="code-controller-processCheck" width="863" height="599" class="alignnone size-full wp-image-855" /></a></p>
<p><strong>L&rsquo;enregistrement en base de données</strong><br />
Toujours dans le controlleur, dans la méthode action_post_edit, on enregistre via le code suivant:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-processSave.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-processSave.png" alt="code-controller-processSave" width="863" height="599" class="alignnone size-full wp-image-856" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification">Retour au sommaire</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework: sommaire</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12718/developpement/comment-choisir-son-framework-sommaire</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12718/developpement/comment-choisir-son-framework-sommaire#comments</comments>
		<pubDate>Sat, 23 Aug 2014 21:35:03 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Comment choisir son framework]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=790</guid>
		<description><![CDATA[Introduction Depuis quelques années, nous avons vu se developper sur notre plateforme php de nombreux frameworks. Le plus difficile aujourd’hui est de choisir parmi eux. Jusque là, vous aviez à votre disposition un tableau comparatif: http://socialcompare.com… Aujourd’hui grâce à l’initiative &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12718/developpement/comment-choisir-son-framework-sommaire">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Depuis quelques années, nous avons vu se developper sur notre plateforme php de nombreux frameworks.<br />
Le plus difficile aujourd’hui est de choisir parmi eux.<br />
Jusque là, vous aviez à votre disposition un tableau comparatif: http://socialcompare.com…<br />
Aujourd’hui grâce à l’initiative du site grafikart, vous avez une autre manière de comparer: le projet blogmvc.com (<a href="http://blogmvc.com" target="_blank">http://blogmvc.com</a>)</p>
<p><strong>Sommaire</strong></p>
<ul>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php">Présentation du projet</a></li>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12711/developpement/comment-choisir-son-framework-liste-admin">Liste admin</a></li>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12714/developpement/comment-choisir-son-framework-view-layout">Vue / layout</a></li>
<li><a href="http://blog.developpez.com/ducodeetdulibre/p12720/developpement/comment-choisir-son-framework-formulaire-modification">Formulaire de modification</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework : view / layout &#8211; mkFramework</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12717/developpement/comment-choisir-son-framework-view-layout-mkframework</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12717/developpement/comment-choisir-son-framework-view-layout-mkframework#comments</comments>
		<pubDate>Sat, 23 Aug 2014 21:18:57 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=714</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l&#8217;initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet : MkFramework Dans ce billet, nous &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12717/developpement/comment-choisir-son-framework-view-layout-mkframework">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l&rsquo;initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php<br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet : <a href="https://github.com/Grafikart/BlogMVC/tree/master/mkFramework" target="_blank">MkFramework</a></strong><br />
Dans ce billet, nous allons essayer de comprendre comment s&rsquo;organise la création de page avec chaque framework:<br />
Pour rappel, dans un site web, on à un template général, appelé &laquo;&nbsp;layout&nbsp;&raquo;, qui contient notre bandeau/logo, nos menus de navigation ainsi qu&rsquo;une partie dynamique: le contenu de notre site.<br />
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l&rsquo;affichage de notre contenu.</p>
<p>Voilà la page que nous allons étudier ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite.png" alt="layoutViewSite" width="898" height="520" class="alignnone size-full wp-image-700" /></a></p>
<p>On peut voir 4 zones:</p>
<ul>
<li>Le bandeau</li>
<li>La navigation des catégories</li>
<li>La navigation des derniers posts</li>
<li>Le contenu dynamique</li>
</ul>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite2.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite2.png" alt="layoutViewSite2" width="898" height="520" class="alignnone size-full wp-image-701" /></a></p>
<p><strong>Le layout</strong><br />
Pour afficher la page d&rsquo;accueil, on appelle la classe controller module_default:<br />
/module/default/main.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-default.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-default.png" alt="tree-module-default" width="150" height="146" class="alignnone size-full wp-image-739" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/controller.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/controller.png" alt="controller" width="430" height="363" class="alignnone size-full wp-image-715" /></a><br />
On voit ici que l&rsquo;on instancie un objet layout &laquo;&nbsp;template1&Prime;, on voit également qu&rsquo;il instancie deux modules, un pour les catégories et l&rsquo;autre pour les derniers posts qu&rsquo;il ajoute à l&rsquo;emplacement &laquo;&nbsp;sidebar&nbsp;&raquo;<br />
Voyons à quoi ce layout ressemble:<br />
Pour information, il se situe ici:<br />
/layout/template1.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout-tpl1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout-tpl1.png" alt="tree-layout-tpl1" width="150" height="153" class="alignnone size-full wp-image-740" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layout2.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layout2.png" alt="layout" width="909" height="1206" class="alignnone size-full wp-image-716" /></a></p>
<p>On retrouve ici le bandeau écrit directement dans le layout, un emplacement pour le contenu dynamique  (qui contiendra le contenu) plus un autre pour la sidebar qui contiendra la navigation des catégories + celle des derniers posts</p>
<p><strong>La/les vues</strong><br />
Lorsque l&rsquo;on regarde l&rsquo;action appelée pour afficher cette page d&rsquo;accueil:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/viewDefaultIndex1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/viewDefaultIndex1.png" alt="viewDefaultIndex" width="414" height="242" class="alignnone size-full wp-image-719" /></a><br />
On voit que l&rsquo;on assigne à l&rsquo;emplacement &laquo;&nbsp;main&nbsp;&raquo; la vue retournée par le module posts.<br />
Ce framework permet en effet d&rsquo;appeler des modules &laquo;&nbsp;embedded&nbsp;&raquo;, et de récupérer leur vues pour les imbriquer où bon nous semble.<br />
Allons jetez un oeil à cette méthode _index() du module posts<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-posts.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-posts.png" alt="tree-module-posts" width="150" height="189" class="alignnone size-full wp-image-741" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/postEmbeddedIndex.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/postEmbeddedIndex.png" alt="postEmbeddedIndex" width="398" height="71" class="alignnone size-full wp-image-721" /></a><br />
Ceci est un controller de module embarqué, on inclue pas uniquement une vue de ce module mais tout le module posts: ainsi si on clique sur le lien d&rsquo;un post (de la liste), le module embarqué affichera naturellement le détail de celui-ci. (il est autonome)<br />
Par défaut, on voit que le second argument est &laquo;&nbsp;list&nbsp;&raquo;: on affichera donc par défaut la liste des posts avec la méthode _list() du module en question.<br />
Regardons à quoi celle-ci ressemble:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/postEmbeddedList.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/postEmbeddedList.png" alt="postEmbeddedList" width="651" height="448" class="alignnone size-full wp-image-722" /></a><br />
Il instancie une vue post::lists, située ici :<br />
/module/posts/view/list.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-postViewList.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-postViewList.png" alt="tree-module-postViewList" width="168" height="251" class="alignnone size-full wp-image-743" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/postViewList.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/postViewList.png" alt="postViewList" width="1006" height="432" class="alignnone size-full wp-image-723" /></a></p>
<p>Revenons à la méthode before() qui permettait d&rsquo;ajouter les catégories et les derniers posts.<br />
Les modules categories et posts étant des modules &laquo;&nbsp;embedded&nbsp;&raquo;, vous comprenez mieux maintenant l&rsquo;inclusion des vues de ces modules à l&rsquo;emplacement de la sidebar.<br />
Voici le code de la méthode list du module embarqué categories, on voit ainsi comment est géré le cache du menu <img src="https://blog.developpez.com/ducodeetdulibre/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /><br />
/module/categories/main.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-categories.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-categories.png" alt="tree-module-categories" width="148" height="190" class="alignnone size-full wp-image-744" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/categoriesList.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/categoriesList.png" alt="categoriesList" width="555" height="277" class="alignnone size-full wp-image-725" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12714/developpement/comment-choisir-son-framework-view-layout">Retour au sommaire</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework : view / layout &#8211; Kohana</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12716/developpement/comment-choisir-son-framework-view-layout-kohana</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12716/developpement/comment-choisir-son-framework-view-layout-kohana#comments</comments>
		<pubDate>Sat, 23 Aug 2014 21:18:00 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=704</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l&#8217;initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet : MkFramework Dans ce billet, nous &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12716/developpement/comment-choisir-son-framework-view-layout-kohana">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l&rsquo;initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php<br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet : <a href="https://github.com/Grafikart/BlogMVC/tree/master/mkFramework" target="_blank">MkFramework</a></strong><br />
Dans ce billet, nous allons essayer de comprendre comment s&rsquo;organise la création de page avec chaque framework:<br />
Pour rappel, dans un site web, on à un template général, appelé &laquo;&nbsp;layout&nbsp;&raquo;, qui contient notre bandeau/logo, nos menus de navigation ainsi qu&rsquo;une partie dynamique: le contenu de notre site.<br />
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l&rsquo;affichage de notre contenu.</p>
<p>Voilà la page que nous allons étudier ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite.png" alt="layoutViewSite" width="898" height="520" class="alignnone size-full wp-image-700" /></a></p>
<p>On peut voir 4 zones:</p>
<ul>
<li>Le bandeau</li>
<li>La navigation des catégories</li>
<li>La navigation des derniers posts</li>
<li>Le contenu dynamique</li>
</ul>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite2.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite2.png" alt="layoutViewSite2" width="898" height="520" class="alignnone size-full wp-image-701" /></a></p>
<p><strong>Le layout</strong><br />
Pour afficher la page d&rsquo;accueil, on appelle la classe controller:<br />
/application/classes/Controller/Posts.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-controller-post.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-controller-post.png" alt="tree-controller-post" width="172" height="145" class="alignnone size-full wp-image-729" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/controllerLayout.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/controllerLayout.png" alt="controllerLayout" width="426" height="67" class="alignnone size-full wp-image-705" /></a><br />
On voit ici, que la propriété publique &laquo;&nbsp;template&nbsp;&raquo; indique le nom du layout &laquo;&nbsp;layouts/blog&nbsp;&raquo;<br />
Voyons à quoi il ressemble:<br />
Pour information, il se situe ici:<br />
/application/views/layouts/blog.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout.png" alt="tree-layout" width="147" height="211" class="alignnone size-full wp-image-731" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layout1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layout1.png" alt="layout" width="924" height="1064" class="alignnone size-full wp-image-708" /></a><br />
On retrouve ici le bandeau écrit directement dans le layout, et un emplacement pour le contenu dynamique qui contiendra le contenu + la navigation des catégories + celle des derniers posts</p>
<p><strong>La/les vues</strong><br />
Lorsque l&rsquo;on regarde l&rsquo;action appelée pour afficher cette page d&rsquo;accueil:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/controllerAction.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/controllerAction.png" alt="controllerAction" width="573" height="247" class="alignnone size-full wp-image-710" /></a><br />
On voit que l&rsquo;on assigne au contenu la vue blog/index</p>
<p>On note également que la classe étend Controller_Template, une classe située ici:<br />
/application/classes/Controller/Template.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-classTemplate.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-classTemplate.png" alt="tree-classTemplate" width="174" height="148" class="alignnone size-full wp-image-735" /></a></p>
<p>Dans laquelle une méthode before() initialise &laquo;&nbsp;en global&nbsp;&raquo; les tableaux contenant les catégories et les derniers posts:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/before.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/before.png" alt="before" width="931" height="408" class="alignnone size-full wp-image-712" /></a><br />
On voit également comment est géré l&rsquo;affichage du cache de ce menu qui change rarement.</p>
<p>Revenons à notre vue blog/index, cette vue est situé ici:<br />
/application/views/blog/index.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view-blogIndex.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view-blogIndex.png" alt="tree-view-blogIndex" width="170" height="292" class="alignnone size-full wp-image-733" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/vueBlogIndex.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/vueBlogIndex.png" alt="vueBlogIndex" width="383" height="243" class="alignnone size-full wp-image-711" /></a><br />
On remarque que celle-cifait appel à la vue blog/posts et blog/sidebar<br />
Qui permettront d&rsquo;afficher la liste des posts et les deux navigations: catégories et derniers posts</p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12714/developpement/comment-choisir-son-framework-view-layout">Retour au sommaire</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment choisir son framework : view / layout &#8211; zend framework 2</title>
		<link>https://blog.developpez.com/ducodeetdulibre/p12715/developpement/comment-choisir-son-framework-view-layout-zend-framework-2</link>
		<comments>https://blog.developpez.com/ducodeetdulibre/p12715/developpement/comment-choisir-son-framework-view-layout-zend-framework-2#comments</comments>
		<pubDate>Sat, 23 Aug 2014 21:17:02 +0000</pubDate>
		<dc:creator><![CDATA[imikado]]></dc:creator>
				<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/ducodeetdulibre/?p=748</guid>
		<description><![CDATA[Introduction Dans un précédent billet, je vous ai présenté l&#8217;initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework. But de ce billet : Zend Framework 2 Dans ce &#8230; <a href="https://blog.developpez.com/ducodeetdulibre/p12715/developpement/comment-choisir-son-framework-view-layout-zend-framework-2">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Dans un précédent billet, je vous ai présenté l&rsquo;initiative de grafikart: http://blog.developpez.com/ducodeetdulibre/p12482/outilsweb/comment-choisir-son-framework-php<br />
Sur les prochains billets, nous allons détailler, analyser et comparer la manière de faire de chaque framework.</p>
<p><strong>But de ce billet : <a href="https://github.com/Grafikart/BlogMVC/tree/master/ZendFramework2" target="_blank">Zend Framework 2</a></strong><br />
Dans ce billet, nous allons essayer de comprendre comment s&rsquo;organise la création de page avec chaque framework:<br />
Pour rappel, dans un site web, on à un template général, appelé &laquo;&nbsp;layout&nbsp;&raquo;, qui contient notre bandeau/logo, nos menus de navigation ainsi qu&rsquo;une partie dynamique: le contenu de notre site.<br />
Nous allons voir ici, comment ont choisi le layout à utiliser (on peut en avoir plusieurs), puis comment on intègre la navigation, et comment on choisit quel template de vue utiliser pour l&rsquo;affichage de notre contenu.</p>
<p>Voilà la page que nous allons étudier ici:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite.png" alt="layoutViewSite" width="898" height="520" class="alignnone size-full wp-image-700" /></a></p>
<p>On peut voir 4 zones:</p>
<ul>
<li>Le bandeau</li>
<li>La navigation des catégories</li>
<li>La navigation des derniers posts</li>
<li>Le contenu dynamique</li>
</ul>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite2.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/layoutViewSite2.png" alt="layoutViewSite2" width="898" height="520" class="alignnone size-full wp-image-701" /></a></p>
<p><strong>Le layout</strong><br />
Pour afficher la page d&rsquo;accueil, on appelle la classe controller PostController:<br />
/module/Blog/src/Blog/Controller/PostController.php<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-module-post.png" alt="tree-module-post" width="259" height="376" class="alignnone size-full wp-image-749" /></a></p>
<p>Il n&rsquo;y a pas d&rsquo;indication sur le layout à charger, par défaut c&rsquo;est : layout.phtml<br />
Pour le modifier:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/codeSelectLayout.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/codeSelectLayout.png" alt="codeSelectLayout" width="495" height="36" class="alignnone size-full wp-image-793" /></a><br />
Revenons à notre layout par défaut, voyons à quoi il ressemble:<br />
Pour information, il se situe ici:<br />
/module/Blog/view/layout/layout.phtml<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout1.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout1.png" alt="tree-layout" width="222" height="314" class="alignnone size-full wp-image-750" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-layout.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-layout.png" alt="code-layout" width="882" height="972" class="alignnone size-full wp-image-751" /></a></p>
<p>On retrouve ici un appel partiel au layout &laquo;&nbsp;navbar&nbsp;&raquo;, , un emplacement pour le contenu dynamique  (qui contiendra le contenu) plus un autre appel partiel à &laquo;&nbsp;sidebar&nbsp;&raquo; qui contiendra la navigation des catégories + celle des derniers posts (+ une condition pour gérer le cache de ce menu)</p>
<p>Le layout partiellement chargé layout/navbar<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout-navbar.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout-navbar.png" alt="tree-layout-navbar" width="228" height="317" class="alignnone size-full wp-image-757" /></a></p>
<p>Mais ce qui est plus intéressant c&rsquo;est layout/sidebar (notre fameux menu des catégories et derniers posts)<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout-sidebar.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-layout-sidebar.png" alt="tree-layout-sidebar" width="223" height="317" class="alignnone size-full wp-image-758" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view-sidebar.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view-sidebar.png" alt="code-view-sidebar" width="937" height="531" class="alignnone size-full wp-image-759" /></a></p>
<p>Note: par défaut, ces menus sont vides car chargé à partir du layout principal avec tableau posts et categories à vide (simple array)<br />
note 2:  je ne sais pas comment on pourrait lui passer la vrai liste des posts et categories <img src="https://blog.developpez.com/ducodeetdulibre/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /></p>
<p><strong>La/les vues</strong><br />
Lorsque l&rsquo;on regarde l&rsquo;action appelée pour afficher cette page d&rsquo;accueil:<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-index.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-controller-index.png" alt="code-controller-index" width="691" height="445" class="alignnone size-full wp-image-753" /></a></p>
<p>On suppose par convention qu&rsquo;il appelle la vu du même nom<br />
/module/Blog/view/blog/post/index.phtml<br />
<a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view-iindex.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/tree-view-iindex.png" alt="tree-view-iindex" width="226" height="316" class="alignnone size-full wp-image-754" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view-index.png"><img src="http://blog.developpez.com/ducodeetdulibre/files/2014/08/code-view-index.png" alt="code-view-index" width="963" height="587" class="alignnone size-full wp-image-755" /></a></p>
<p><a href="http://blog.developpez.com/ducodeetdulibre/p12714/developpement/comment-choisir-son-framework-view-layout">Retour au sommaire</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
