<?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>FoxMaSk - Le Grin de Sable &#187; MVC</title>
	<atom:link href="http://www.foxmask.info/tag/mvc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.foxmask.info</link>
	<description>La passion de la liberté et le Free de la passion</description>
	<lastBuildDate>Tue, 07 Feb 2012 21:37:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HaveFnuBB.Org a 1an</title>
		<link>http://www.foxmask.info/post/2010/04/05/havefnubb-a-1an/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=havefnubb-a-1an</link>
		<comments>http://www.foxmask.info/post/2010/04/05/havefnubb-a-1an/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 00:00:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[ApacheMySqlPHP]]></category>
		<category><![CDATA[GPL]]></category>
		<category><![CDATA[HaveFnuBB]]></category>
		<category><![CDATA[Jelix]]></category>
		<category><![CDATA[LAMP-WAMP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=254</guid>
		<description><![CDATA[Comme chacun sait, à présent, il y a à peu près 2ans que j&#8217;ai découvert Jelix, et pour me faire la main avec ce framework PHP5, j&#8217;ai commencé par me pencher sur des modules prêts à l&#8217;emploi, à commencer par &#8230; <a href="http://www.foxmask.info/post/2010/04/05/havefnubb-a-1an/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://havefnubb.org/themes/emplode/images/havefnubb.png" alt="havefnubb" /> <img src="http://jelix.org/design/logo_jelix_moyen.png" alt="Jelix" /></p>
<p>Comme chacun sait, <a href="http://www.foxmask.info/post/2010/02/25/La-passion-du-Monde-des-Logiciels-Libres">à présent</a>, il y a à peu près 2ans que j&#8217;ai découvert <a href="http://www.jelix.org">Jelix</a>, et pour me faire la main avec ce <a href="http://fr.wikipedia.org/wiki/Framework">framework</a> PHP5, j&#8217;ai commencé par me pencher sur des modules prêts à l&#8217;emploi, à commencer par <a  href="http://forge.jelix.org/projects/jcommunity">jCommunity</a>.</p>
<p>De fil en aiguille, au vue de la déconcertante facilité de développement avec <a href="http://www.jelix.org">Jelix</a>, je me suis lancé dans l&#8217;écriture d&#8217;un forum pur <a  href="http://www.jelix.org">Jelix</a>, intégrant à mes propres modules, ceux réalisés par la communauté, pour produire donc <a  href="http://www.havefnubb.org">HaveFnuBB</a>.</p>
<p>la première ligne de code fut écrite en décembre 2008, puis 12 mois plus tard, la version 1.3.5 se retrouve sur la toile pour qui souhaite monter son site avec un forum produit à l&#8217;aide d&#8217;un <a  href="http://fr.wikipedia.org/wiki/Framework">framework</a> performant et éprouvé.</p>
<p><a  href="http://www.forummatrix.org/show/HaveFnuBB%21">aujourd&#8217;hui il est comparé aux plus grands sur forum matrix</a></p>
<p>Happy Birthday &#038; HaveFnu !</p>
<p>PS : joyeuse pâques<br />
<img src="http://foxmask.info/public/Easter-Eggs" alt="Paques" /></p>
<p><strong>EDIT:</strong><br />
pss : <a href="http://www.jelix.org">Jelix</a> a mis en prod <a href="http://www.havefnubb.org">HaveFnuBB!</a> depuis ce week-end :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2010/04/05/havefnubb-a-1an/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Framework PHP5 &#8211; Comparatif &#8211; Conclusion 15mois plus tard.</title>
		<link>http://www.foxmask.info/post/2009/01/11/framework-php5-comparatif-conclusion-15mois-plus-tard/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=framework-php5-comparatif-conclusion-15mois-plus-tard</link>
		<comments>http://www.foxmask.info/post/2009/01/11/framework-php5-comparatif-conclusion-15mois-plus-tard/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 16:17:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[ApacheMySqlPHP]]></category>
		<category><![CDATA[Jelix]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=247</guid>
		<description><![CDATA[<p><a aa4f88e7595263a6="true" href="/post/2007/11/11/Framework-PHP5-Comparatif">Dans mon précédent comparatif</a>, j'arrivais à la conclusion que CakePHP était dans la mouvance.</p> <p>9mois après l'avoir testé en long en large et en travers en produisant un CMS nommé <a aa4f88e7595263a6="true" href="http://www.googlecode/p/puncake" hreflang="fr">PunCake</a> (un portail reposant sur <a aa4f88e7595263a6="true" href="http://www.fluxbb.fr" hreflang="fr">FluxBB</a>), j'arrivais à la triste conclusion que CakePHP n'a rien de léger&#160;!</p> <a href="http://www.foxmask.info/post/2009/01/11/framework-php5-comparatif-conclusion-15mois-plus-tard/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.foxmask.info/post/2007/11/11/Framework-PHP5-Comparatif">Dans mon précédent comparatif</a>, j&#8217;arrivais à la conclusion que CakePHP était dans la mouvance.</p>
<p>9mois après l&#8217;avoir testé en long en large et en travers en produisant un CMS nommé <a  href="http://www.googlecode/p/puncake" hreflang="fr">PunCake</a> (un portail reposant sur <a  href="http://www.fluxbb.fr" hreflang="fr">FluxBB</a>), j&#8217;arrivais à la triste conclusion que CakePHP n&#8217;a rien de léger&nbsp;!</p>
<p><span id="more-247"></span></p>
<p>En parcourant RoR, je m&#8217;aperçus que tous les préceptes étaient repris/copiés&nbsp;; mais loin d&#8217;être aussi performant que l&#8217;original.</p>
<p>Par ailleurs un gros point noir concernant le staff anglais du <em>gateau</em>PHP&nbsp;: un ego surdimentionné&nbsp;! Et un déni, des bugs identifiés, ahurissant.</p>
<p>Donc de guerre lasse je fini par stopper PunCake, abandonner le projet cakephp-fr.org et toute production de CMS, pour me tourner simplement vers un vrai framework PHP5&nbsp;: <a  href="http://www.jelix.org" hreflang="fr">Jelix</a>.</p>
<p>Le leitmotiv de ce &laquo;&nbsp;vrai&nbsp;&raquo; framework PHP5&nbsp;: rapidité et simplicité&nbsp;!</p>
<p>Et il tient ses engagements.</p>
<p>De plus il est fully franco-français ;-) avec une <a  href="http://jelix.org/forums/index.php?14" hreflang="fr">communauté</a> plus qu&#8217;active , et des <a  href="http://forge.jelix.org" hreflang="fr">projets </a> de toute sorte vous permettant de créer un site facilement en utilisant l&#8217;armada de modules disponibles sur <a  href="" title="fr">la forge</a> ou <a  href="http://projets.foxmask.info">par ici</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2009/01/11/framework-php5-comparatif-conclusion-15mois-plus-tard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J&#8217;ai l&#8217;X !</title>
		<link>http://www.foxmask.info/post/2008/09/10/j-ai-l-x/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=j-ai-l-x</link>
		<comments>http://www.foxmask.info/post/2008/09/10/j-ai-l-x/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 12:00:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[Jelix]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=245</guid>
		<description><![CDATA[Non le titre n&#8217;a rien à voir avec des films pour adultes ni avec l&#8217;école Polytechnique, découvrez ici ce qu&#8217;il en est réellement. Il y a presque un an de cela je faisais un comparatif des frameworks PHP(5), et m&#8217;étais &#8230; <a href="http://www.foxmask.info/post/2008/09/10/j-ai-l-x/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Non le titre n&#8217;a rien à voir avec des films pour adultes ni avec l&#8217;<a  href="www.polytechnique.fr/" hreflang="fr">école Polytechnique</a>, découvrez ici ce qu&#8217;il en est réellement.</p>
<p>Il y a presque un an de cela je faisais un <a  href="http://www.foxmask.info/post/2007/11/11/Framework-PHP5-Comparatif" hreflang="fr">comparatif des frameworks PHP(5)</a>, et m&#8217;étais lancé avec CakePHP sur un projet libre à la clé que <a  href="http://code.google.com/p/puncake/" hreflang="fr">j&#8217;ai produit</a> jusqu&#8217;à présent.</p>
<p>Aujourd&#8217;hui, la bataille fait rage entre les frameworks par le biais de comparatifs de tout bord&nbsp;:</p>
<ol>
<li><a  href="http://talks.php.net/show/froscon08/25" hreflang="en">PHP.net</a></li>
<li><a  href="http://xhtml.net/php/pluf-framework-php/494-Pluf-Framework-PHP-le-plus-rapide-du-marche" hreflang="fr">XML.net</a></li>
</ol>
<p>Comme je suis un éternel insatisfait et surtout toujours curieux de tout, je me suis tourné cette fois ci vers <a  href="http://www.jelix.org" hreflang="fr">JELIX</a>, un vrai Framework MVC en <strong>PHP5</strong> .</p>
<p>Rapide Prés&#8217; de la bête&nbsp;:</p>
<blockquote><p>Jelix est un framework open-source pour PHP5 qui permet de développer tout type d&#8217;application&nbsp;:</p>
<p> * Performant&nbsp;: conçu pour les sites à forte charge.<br />
 * Entièrement objet, fortement modulaire et extensible.<br />
 * Basé sur des modèles de conception connus dont MVC, DAO..<br />
 * Prend en charge de nombreux formats de sortie&nbsp;: XHTML, XUL, RSS, ATOM, RDF, ZIP, XML, PDF, etc.<br />
 * Facilite le développement des services web de type XML-RPC, JSON, et autres contenus pour Ajax.<br />
 * Intègre un puissant système de formulaires, notamment pour faire des formulaires de type CRUD.<br />
 * Inclus bien d&#8217;autres fonctionnalités et facilités&#8230;</p>
</blockquote>
<p>dès que j&#8217;aurai le temps je publierai quelques petits bouts de code de ci de là ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2008/09/10/j-ai-l-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP (1.2.0.6311) sorti tout chaud du four</title>
		<link>http://www.foxmask.info/post/2008/01/03/cakephp-sorti-tout-chaud-du-four/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cakephp-sorti-tout-chaud-du-four</link>
		<comments>http://www.foxmask.info/post/2008/01/03/cakephp-sorti-tout-chaud-du-four/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 17:36:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=237</guid>
		<description><![CDATA[En cette période d&#8217;épiphany, CakePHP tire (non pas les rois) une version beta 1.2.0.6311 de son zoli :D framework MVC . Au menu plein d&#8217;améliorations et corrections de bugs ( dont voici la liste complète ) dont une amélioration qui &#8230; <a href="http://www.foxmask.info/post/2008/01/03/cakephp-sorti-tout-chaud-du-four/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En cette période d&#8217;épiphany, <a  href="http://cakephp.org/" hreflang="en">CakePHP</a> tire (non pas les rois) une version beta 1.2.0.6311 de son zoli :D framework MVC .</p>
<p>Au menu plein d&#8217;améliorations et corrections de bugs ( dont voici <a  href="https://trac.cakephp.org/wiki/changelog/1.2.x.x" hreflang="en">la liste complète</a> ) dont une amélioration qui me fait plaisir concernant la gestions des plugins et des controllers ;-)</p>
<p>Pour ceux qui douterait de l&#8217;utilité/fiabilité de ce framework, sachez que celui ci est &laquo;&nbsp;juste&nbsp;&raquo; utilisé par le petit site <a  href="http://addons.mozilla.org/" hreflang="en">Mozilla Addons</a> ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2008/01/03/cakephp-sorti-tout-chaud-du-four/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP &#8211; PunBB &#8211; statistique du forum</title>
		<link>http://www.foxmask.info/post/2007/12/26/cakephp-punbb-statistique-du-forum/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cakephp-punbb-statistique-du-forum</link>
		<comments>http://www.foxmask.info/post/2007/12/26/cakephp-punbb-statistique-du-forum/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 00:00:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PunBB]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=236</guid>
		<description><![CDATA[Quelques conceptes de bases. Pour pouvoir afficher des info réutilisables dans ses Views CakePHP fourni des &#171;&#160;Helpers&#160;&#187; et des Elements Le Helper étend les possibilités des Vues et les Elements sont des petits bouts de code php/html qui peuvent étre &#8230; <a href="http://www.foxmask.info/post/2007/12/26/cakephp-punbb-statistique-du-forum/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Quelques conceptes de bases.</p>
<p>Pour pouvoir afficher des info réutilisables dans ses Views CakePHP fourni des &laquo;&nbsp;Helpers&nbsp;&raquo; et des Elements Le Helper étend les possibilités des Vues et les Elements sont des petits bouts de code php/html qui peuvent étre affichés plusieurs fois dans la même page.</p>
<p>Ainsi donc le &laquo;&nbsp;bloc de stats&nbsp;&raquo; pourrait très bien être affiché dans plusieurs pages pour chacun des plugins news/articles/lexique etc..</p>
<p>Donc nous allons faire un element &laquo;&nbsp;app/views/elements/stats.ctp&nbsp;&raquo; comme suit&nbsp;:</p>
<pre>&lt;?php$bloc-&gt;startBloc(__('Forums statistics',true), 'stats');				

$pt_total_users = $this-&gt;requestAction('users/nbUsers');$pt_last_user 	= $this-&gt;requestAction('users/lastUser');	$pt_total_posts = $this-&gt;requestAction('forum/stats');?&gt;&lt;ul&gt;&lt;li&gt;&lt;?php echo __('Total numbers of members:',true).' '.$pt_total_users['0']['0']['total_user']?&gt;&lt;/li&gt;&lt;li&gt;&lt;?php echo __('Newest resgistered user:',true).' &lt;a href="'.pt_forum_url.'profile.php?id='.$pt_last_user['0']['User']['id'].'"&gt;'.$pt_last_user['0']['User']['username']?&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;?php echo __('Total numbers of topics:',true).' '.$pt_total_posts['0']['0']['total_topics']?&gt;&lt;/li&gt;&lt;li&gt;&lt;?php echo __('Total numbers of posts:',true).' '.$pt_total_posts['0']['0']['total_posts']?&gt;&lt;/li&gt;&lt;/ul&gt;&lt;?php$bloc-&gt;endBloc();?&gt;</pre>
<p>comment tout cela fonctionne&nbsp;:</p>
<p>dans le script app/app_controller.php de notre applications nous faisons ceci&nbsp;:</p>
<pre>class AppController extends Controller {public $helpers = array ('Bloc','Html');...}</pre>
<p>et le helper bloc contient ceci (app/views/helpers/bloc.php):</p>
<pre>&lt;?phpclass BlocHelper extends Helper {

 	function startBloc($title='',$id='') {			static $i;			$id = $id != '' ? $id : $i;				$res = '';		$res .= "\t".'&lt;div class="block" id="'.$id.'"&gt;'."\n";				if ($title!='')			$res .= "\t".'&lt;h2&gt;&lt;span&gt;'.$title.'&lt;/span&gt;&lt;/h2&gt;'."\n";				$res .= 		"\t\t".'&lt;div class="box" id="box_'.$id.'"&gt;'."\n";

		if (PT_DEFAULT_THEME == 'punbb') 			$res .= "\t\t\t".'&lt;div class="inbox"&gt;'."\n";

		echo $res;		$i++;	}	function endBloc() { 		if (PT_DEFAULT_THEME == 'punbb') {					echo 			"\t\t\t".'&lt;/div&gt;'."\n".			"\t\t".'&lt;/div&gt;'."\n".			"\t".'&lt;/div&gt;'; 		}  		else { 			echo 			"\t\t".'&lt;/div&gt;'."\n".			"\t".'&lt;/div&gt;'; 			 		}	} 

}?&gt;</pre>
<p>Ainsi paré&nbsp;: le controlleur principal dispose d&#8217;un helper bloc <br />
 donc la vue peut utiliser $bloc-&gt;endBloc et -&gt;startBloc</p>
<p>ceci est une premiere etape :<br />
 suit ensuite dans notre element les 3 lignes&nbsp;: </p>
<pre>$pt_total_users = $this-&gt;requestAction('users/nbUsers');$pt_last_user 	= $this-&gt;requestAction('users/lastUser');	$pt_total_posts = $this-&gt;requestAction('forum/stats');</pre>
<p>ces 3 lignes effectuent des &laquo;&nbsp;requestAction&nbsp;&raquo; lequelles permettent d&#8217;accèder aux methodes <em>nbUser</em> et <em>lastUser</em> de la class   <strong>UsersController </strong> et à la methode <em>stats</em> de la class <strong>ForumControllers</strong>, en voici le détail :</p>
<pre>&lt;?phpclass UsersController extends AppController {	public $name 	= 'Users';[...]	public function lastUser () {				$strQuery =  'SELECT id, username FROM '.DB_PREFIX.'users as User' .						' ORDER BY registered DESC LIMIT 1';		$resultset = $this-&gt;User-&gt;query($strQuery);		return $resultset; 										}		public function nbUsers () {

		$strQuery = 'SELECT COUNT(id)-1 AS total_user FROM '.DB_PREFIX.'users AS User ';		  		$resultset = $this-&gt;User-&gt;query($strQuery);		return $resultset; 	     }[...]}</pre>
<p>ceci nous permet donc d&#8217;avoir facilement les information de stats de notre forum de manière utlra simplissime dans un bloc qui s&#8217;affichera ou bon vous semble comme suit&nbsp;:</p>
<pre>&lt;?php  echo $this-&gt;renderElement('stats');?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2007/12/26/cakephp-punbb-statistique-du-forum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP &#8211; PunBB &#8211; architecture generale</title>
		<link>http://www.foxmask.info/post/2007/12/24/cakephp-punbb-architecture-generale/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cakephp-punbb-architecture-generale</link>
		<comments>http://www.foxmask.info/post/2007/12/24/cakephp-punbb-architecture-generale/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 10:30:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PunBB]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=235</guid>
		<description><![CDATA[Voici l&#8217;architecture générale avec la liste des répertoires de son application - app &#8212; config contient les fichiers de config de son application tel database.php, bootstrap.php etc.. &#8212; controllers contient les controllers de votre application &#8212; locales contient les traductions &#8230; <a href="http://www.foxmask.info/post/2007/12/24/cakephp-punbb-architecture-generale/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Voici l&#8217;architecture générale avec la liste des répertoires de son application</p>
<p>- <strong>app</strong><br />
 &#8212; <strong>config</strong> contient les fichiers de config de son application tel database.php, bootstrap.php etc..</p>
<p>&#8212; <strong>controllers</strong> contient les controllers de votre application</p>
<p>&#8212; <strong>locales</strong> contient les traductions </p>
<p>&#8212; <strong>models</strong> contient les models</p>
<p>&#8212; <strong>plugins</strong> contient des applications nommé plugins (détail plus bas)</p>
<p>&#8212; <strong>vendors</strong> contient des librairies externes à CakePHP et nécéssaire à son application</p>
<p>&#8212; <strong>views</strong> contient les views de votre application</p>
<p>&#8212; <strong>webroot</strong> contient la partie &laquo;&nbsp;web&nbsp;&raquo; de votre application &#8212; <strong>webroot</strong>/forum/ l&#8217;endroit où est installé punBB !</p>
<p>le répertoire <strong>plugins</strong> reprend l&#8217;integralité de l&#8217;arborscence MVC ce qui donne&nbsp;:</p>
<ol>
<li><strong>plugins</strong> </li>
<li>- <strong>news</strong> </li>
<li>- <strong>news</strong>/news_app_controller.php class du controller du plugins news </li>
<li>- <strong>news</strong>/news_app_model.php  class du mdel du module du plugin news</li>
<li>- <strong>news</strong>/<em>controllers</em>/news_controller.php le controlleur du plugin news</li>
<li>- <strong>news</strong>/<em>models</em>/news.php le model du plugin news</li>
<li>- <strong>news</strong>/<em>views</em>/themed/punbb/news/index.ctp la vue principale du module news</li>
</ol>
<p>La configuration apache devra donc définir un VirtualHost sur le répertoire app/webroot/ comme DOCUMENT_ROOT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2007/12/24/cakephp-punbb-architecture-generale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP &#8211; débuter son projet avec &#171;&#160;Bake&#160;&#187;</title>
		<link>http://www.foxmask.info/post/2007/12/22/cakephp-debuter-son-projet-avec-bake/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cakephp-debuter-son-projet-avec-bake</link>
		<comments>http://www.foxmask.info/post/2007/12/22/cakephp-debuter-son-projet-avec-bake/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 11:32:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=234</guid>
		<description><![CDATA[CakePHP permet de générer son application en quelques petites minutes grâce à &#171;&#160;bake&#160;&#187;&#160;! Pour ce faire on ouvre une console (windows ou linux c&#8217;est kifkif) et on se fait&#160;: cake bake foxmask pour créer l&#8217;arboresence du projet &#171;&#160;foxmask&#160;&#187; ensuite on &#8230; <a href="http://www.foxmask.info/post/2007/12/22/cakephp-debuter-son-projet-avec-bake/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a  href="http://cakephp.org/" hreflang="en">CakePHP</a> permet de générer son application en quelques petites minutes grâce à &laquo;&nbsp;bake&nbsp;&raquo;&nbsp;!</p>
<p>Pour ce faire on ouvre une console (windows ou linux c&#8217;est kifkif) et on se fait&nbsp;:</p>
<p><code>cake bake foxmask</code></p>
<p>pour créer l&#8217;arboresence du projet &laquo;&nbsp;foxmask&nbsp;&raquo;</p>
<p>ensuite on créé le répertoire config dans le répertoire &laquo;&nbsp;foxmask&nbsp;&raquo; on défini les paramètre de connexion à sa/ses base(s) de données et on peut se lancer dans la création des Models Views Controller comme suit&nbsp;:</p>
<p><code>cake bake -app foxmask</code></p>
<p>Il vous suffira donc de suivre les choix des menus dans la console et en quelques instants vous aurez achevé votre projet ;)</p>
<p>Il restera alors à fignoler des détails mais vous pouvez dores et déjà accéder à votre application via http://localhost/foxmask/</p>
<p>Plus de détails sur le <a  href="http://www.cakephp.org/screencasts/view/3">Tuto de creation de blog en vidéo</a></p>
<p>Poursuivre avec <a  href="http://www.foxmask.info/post/2007/12/06/CakePHP-et-PunBB-%3A-introduction">CakePHP intégrant PunBB</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2007/12/22/cakephp-debuter-son-projet-avec-bake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP et PunBB : introduction</title>
		<link>http://www.foxmask.info/post/2007/12/06/cakephp-et-punbb-introduction/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cakephp-et-punbb-introduction</link>
		<comments>http://www.foxmask.info/post/2007/12/06/cakephp-et-punbb-introduction/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 14:00:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PunBB]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=233</guid>
		<description><![CDATA[Après l&#8217;édpisode des comparatifs de framework PHP, voici une astuce pour vous permettre de franchir le pas vers CakePHP (un bon framework PHP utilisant MVC) tout en utilisant PunBB comme outil de forum. L&#8217;idée de base est la suivante&#160;: je &#8230; <a href="http://www.foxmask.info/post/2007/12/06/cakephp-et-punbb-introduction/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Après l&#8217;édpisode des <a  href="http://www.foxmask.info/post/2007/11/11/Framework-PHP5-Comparatif" hreflang="fr">comparatifs de framework PHP</a>, voici une astuce pour vous permettre de franchir le pas vers CakePHP (un bon framework PHP utilisant MVC) tout en utilisant PunBB comme outil de forum.</p>
<p>L&#8217;idée de base est la suivante&nbsp;: je veux créer un portail basé sur le framework CakePHP mais en utilisant une seul et unique session entre mon portail et mon forum.</p>
<p>Donc pour y parvenir, dans le script dispatcher.php de CakePHP je fais le classique include du script common.php de punbb comme suit :</p>
<p>j&#8217;edite le script cake/dispatcher.php et au dessus de</p>
<pre> class Dispatcher extends Object {</pre>
<p>j&#8217;ajoute&nbsp;:</p>
<pre> define('PUN_ROOT',WWW_ROOT. 'forums/'); require PUN_ROOT.'include/common.php';</pre>
<p>de là, partout dans CakePHP nous avons la &laquo;&nbsp;main&nbsp;&raquo; sur les variables punBB et la gestion de la session.</p>
<p>Donc dans mon controlleur gérant l&#8217;utilisateur contiendra ni plus ni moins qu&#8217;un copier/coller du code de gestion de la fonction login (avec l&#8217;action = in et out selon le cas)</p>
<pre>  class UsersController extends AppController {      public function login ()    {    	global $pun, $db, $pun_config, $db_type, $lang_login;        $this-&gt;set('error', false);       #soumission du formulaire de login        if (!empty($this-&gt;data))        {      #analyse du login/pass ; recherche dans la base et creation du cookie       }     }   }</pre>
<p>évidement on n&#8217;oubliera pas d&#8217;ajouter un global $pun_user  par exemple, dans la fonction login, pour manipuler les données que cette variable contient.</p>
<p>Dans un prochain billet, j&#8217;aborderai les vues (le <strong>V</strong> de <em>MVC</em> ;) et comment produire un menu et recuperer dans un bloc de son portail les &#8216;n&#8217; derniers sujets recents du forum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2007/12/06/cakephp-et-punbb-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Framework PHP5 &#8211; Comparatif</title>
		<link>http://www.foxmask.info/post/2007/11/11/framework-php5-comparatif/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=framework-php5-comparatif</link>
		<comments>http://www.foxmask.info/post/2007/11/11/framework-php5-comparatif/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 18:30:00 +0000</pubDate>
		<dc:creator>foxmask</dc:creator>
				<category><![CDATA[Langage Programmation]]></category>
		<category><![CDATA[ApacheMySqlPHP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.foxmask.info/?p=232</guid>
		<description><![CDATA[A la recherche d&#8217;un Framwork PHP5 utilisant l&#8217;architecture bien connu qu&#8217;est le &#171;&#160;Modèle &#8211; Vue &#8211; Controleur&#160;&#187; ou MVC pour coder un logiciel libre &#171;&#160;dernière génération&#160;&#187; :) , j&#8217;ai croisé sur mon chemin nombre de ceux cités sur wikipedia Pour &#8230; <a href="http://www.foxmask.info/post/2007/11/11/framework-php5-comparatif/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A la recherche d&#8217;un Framwork PHP5 utilisant l&#8217;architecture bien connu qu&#8217;est le <a  href="http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur" hreflang="fr">&laquo;&nbsp;Modèle &#8211; Vue &#8211; Controleur&nbsp;&raquo; ou MVC</a> pour coder un logiciel libre &laquo;&nbsp;dernière génération&nbsp;&raquo; :) , j&#8217;ai croisé sur mon chemin nombre de ceux <a  href="http://fr.wikipedia.org/wiki/Liste_de_frameworks_PHP" hreflang="fr">cités sur wikipedia</a></p>
<p>Pour ceux ne connaissant pas le MVC, le principe est le suivant&nbsp;: le <strong>M</strong>odèle gère la logique métier et les accès aux bases de données, la <strong>V</strong>ue gère l&#8217;affichage de ce que voit l&#8217;utilisateur avec l&#8217;écran, le <strong>C</strong>ontroleur gère les evenements déclenchés par l&#8217;utilsateur. La <strong>force</strong> de cette architecture est sa <strong>modularité</strong>.</p>
<ul>
<li><a  href="http://jelix.org/" hreflang="en">Jelix</a> écrit en PHP5 &#8211; projet jeune et dynamique.</li>
</ul>
<ol>
<li><strong>Avantage</strong>&nbsp;: pour ceux codant déjà en POO&nbsp;; tout y est&nbsp;; DAO, CRUD et tout le toutim.</li>
<li><strong>Inconvénient</strong>&nbsp;: un peu &laquo;&nbsp;jeune&nbsp;&raquo; et pas si facile que cela à apréhender à prime abord mais en prennant bien son temps on fini par arriver à faire ce qu&#8217;on veut.</li>
<li><strong>Cible</strong>&nbsp;: Tout developpeur, webmaster, pas de restriction pour projet de logiciel libre</li>
</ol>
<ul>
<li><a  href="http://www.cakephp.org" hreflang="en">CakePHP</a> écrit en PHP (tout court) et supportant PHP5 parfaitement &#8211; on peut donc coder en PHP5 en utilisant celui ci.</li>
</ul>
<ol>
<li><strong>Avantage</strong>&nbsp;: <strong>très</strong> complet&nbsp;; communauté active&nbsp;; projet dynamique.</li>
<li><strong>Inconvénient</strong>&nbsp;: pas préhemptif (à mon goût), manque cruellement de doc &#8230; version beta &#8230;</li>
<li><strong>Cible</strong>&nbsp;: Tout developpeur, webmaster, pas de restriction pour projet de logiciel libre</li>
</ol>
<ul>
<li><a  href="http://codeigniter.com/tutorials/" hreflang="en">CodeIgniter</a> écrit en PHP </li>
</ul>
<ol>
<li><strong>Avantage</strong>&nbsp;: <strong>très</strong> facile de mise en oeuvre &#8211; tuto videos de 9et 20mn bleuffant&nbsp;!</li>
<li><strong>Inconvénient</strong>&nbsp;: &#8230; pas encore trouvé &#8230;</li>
<li><strong>Cible</strong>&nbsp;: les developpeurs de site web ne publiant pas de soft sous GPL &#8230;.</li>
</ol>
<ul>
<li><a  href="http://www.symfony-project.com/" hreflang="en">Symfony</a> écrit en PHP5 &#8211; le mastodonte</li>
</ul>
<ol>
<li><strong>Avantage</strong>&nbsp;: complet et adapté pour un milieu pro ou pour un hébergement permettant de toucher à la config PHP. Dispose de scripts permettant de generer les class modèle via des scripts de CRUD (Create Request Update Delete).</li>
<li><strong>Inconvénient</strong>&nbsp;: on ne peut pas coder un logiciel libre &laquo;&nbsp;portable&nbsp;&raquo; d&#8217;hebergeur à hébergeur pour la raison évoquer ci dessus &#8230; on doit pouvoir toucher au include_path dans le php.ini. Même si certains directive apache le permette&nbsp;; tous les hébergeurs ne l&#8217;autorisent pas.</li>
<li><strong>Cible</strong>&nbsp;: les developpeurs en entreprise</li>
</ol>
<ul>
<li><a  href="http://framework.zend.com/" hreflang="en">Zend Framework</a> écrit en PHP5 &#8211; la reference.</li>
</ul>
<ol>
<li><strong>Avantage</strong>&nbsp;: la référence&nbsp;? :D</li>
<li><strong>Incovénient</strong>&nbsp;: je réitèrerai l&#8217;inconvénient pour Symfony. Si vous pouvez toucher au include_path de php.ini alors le coeur balance entre ZF ou Symfony.</li>
<li><strong>Cible</strong>&nbsp;: les developpeurs en entreprise</li>
</ol>
<p><em><strong>Addendum </strong></em>&nbsp;: après avoir approfondi l&#8217;histoire de licence pour CodeIgniter, il apparait <a  href="http://codeigniter.com/forums/viewthread/44788/P15/" hreflang="en">que CI permette de releaser son soft sous GPL</a> tant qu&#8217;on ne touche pas au core ou bien qu&#8217;on en averti son auteur.</p>
<p>Conclusion&nbsp;:</p>
<p>mon choix se porterait sur&nbsp;:</p>
<ol>
<li>CakePHP pour les avantages évoqués ;)</li>
<li>CodeIgniter (puisque utilisable à souhait !)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.foxmask.info/post/2007/11/11/framework-php5-comparatif/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

