<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/2.3.3" --><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Hot and Spicy</title>
	<link>http://www.hotandspicy.fr</link>
	<description>Du design et du développement web, le tout bien épicé</description>
	<pubDate>Sun, 11 May 2008 15:46:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/hotandspicy" /><feedburner:info uri="hotandspicy" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Kohana: relations ORM has_one &amp; belongs_to</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/QUIqPrWLp7A/</link>
		<comments>http://www.hotandspicy.fr/2008/04/16/kohana-relations-orm-has_one-belongs_to/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 12:03:33 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[base de données]]></category>

		<category><![CDATA[database]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[orm]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/04/16/kohana-relations-orm-has_one-belongs_to/</guid>
		<description><![CDATA[Après avoir fait une courte introduction à la librairie ORM de Kohana, après avoir écrit un article vous présentant quelque astuces indispensables pour vous faciliter la vie avec l&#039;ORM, il est venu le temps d&#039;aborder l&#039;implémentation des relations (relationships) entre vos tables avec la librairie ORM.
Pour ce faire, nous allons prendre l&#039;exemple d&#039;une base contenant [...]]]></description>
			<content:encoded><![CDATA[<p>Après avoir fait une <a href="http://www.hotandspicy.fr/2008/03/30/kohana-introduction-a-la-librairie-orm/">courte introduction à la librairie ORM de Kohana</a>, après avoir écrit un article vous présentant <a href="http://www.hotandspicy.fr/2008/04/02/kohana-quelque-astuces-concernant-lorm/">quelque astuces indispensables pour vous faciliter la vie avec l&#039;ORM</a>, il est venu le temps d&#039;aborder l&#039;implémentation des relations (relationships) entre vos tables avec la librairie ORM.</p>
<p>Pour ce faire, nous allons prendre l&#039;exemple d&#039;une base contenant des étudiants (students) et des voitures (cars) appartenant chacune à un étudant. Le schéma ci-dessous présente de façon graphique les relations entre les entités. Dans cet article seules les relations has_one et belongs_to seront abordés (la première case de l&#039;image) donc une relation <b>un pour un</b> (les autres seront traitées ultérieurement).</p>
<p class="image"><a href='http://www.hotandspicy.fr/wp-content/uploads/2008/04/ruby-on-rails-data-relationships1.JPG' alt='ruby-on-rails-data-relationships1.JPG' title='Relations ORM' rel="lightbox"><img src='http://www.hotandspicy.fr/wp-content/uploads/2008/04/ruby-on-rails-data-relationships1.JPG' alt='ruby-on-rails-data-relationships1.JPG' width="450" height="450"/></a></p>
<p> <a href="http://www.hotandspicy.fr/2008/04/16/kohana-relations-orm-has_one-belongs_to/#more-198" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/04/16/kohana-relations-orm-has_one-belongs_to/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/04/16/kohana-relations-orm-has_one-belongs_to/</feedburner:origLink></item>
		<item>
		<title>Articles à venir…</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/R6U9cuXLHu4/</link>
		<comments>http://www.hotandspicy.fr/2008/04/15/articles-a-venir/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 21:53:58 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[payment]]></category>

		<category><![CDATA[paypal]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/04/15/articles-a-venir/</guid>
		<description><![CDATA[Un petit post pour annoncer les quelque articles qui sont en cours d&#039;écriture ou de traduction:

Tout d&#039;abord, un article traitant de la gestion des relations avec la librairie ORM devrait sortir sous peu
Je vais bientôt poster une librairie dédiée aux paiements Paypal. Elle permet d&#039;ajouter sur vos sites ces petits boutons paypal que vous voyez [...]]]></description>
			<content:encoded><![CDATA[<p>Un petit post pour annoncer les quelque articles qui sont en cours d&#039;écriture ou de traduction:</p>
<ul>
<li>Tout d&#039;abord, un article traitant de la gestion des relations avec la librairie ORM devrait sortir sous peu</li>
<li>Je vais bientôt poster une librairie dédiée aux paiements Paypal. Elle permet d&#039;ajouter sur vos sites ces petits boutons paypal que vous voyez partout permettant de payer un service ou un bien ou encore de faire un don. Ceux la:
<p class="imagefloat"><img src="http://www.paypal.com/en_US/i/btn/x-click-but9.gif"></p>
<p class="imagefloat"><img src="http://www.paypal.com/en_US/i/btn/x-click-but11.gif"></p>
<p class="imagefloat"><img src="http://www.paypal.com/en_US/i/btn/x-click-but12.gif"></p>
</li>
<li>Pas réellement lié à Kohana, j&#039;envisage d&#039;écrire un petit quelque chose sur google apps ou comment mettre en place un serveur mail google pour votre domaine!</li>
<li>Si je vois des bouts de code ou des librairies sympa pour Kohana, je les ajouterai sur ce site</li>
</ul>
<h4><u>Sinon toi, Visiteur, que souhaiterais tu voir être abordé concernant Kohana ?</u></h4>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/04/15/articles-a-venir/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/04/15/articles-a-venir/</feedburner:origLink></item>
		<item>
		<title>Kohana: mise en production de votre application</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/9OaM7op4TnU/</link>
		<comments>http://www.hotandspicy.fr/2008/04/15/kohana-mise-en-production-de-votre-application/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 21:38:43 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[production]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/04/15/kohana-mise-en-production-de-votre-application/</guid>
		<description><![CDATA[Vous avez crée votre application, elle est maintenant prête à être hébergée sur votre serveur de production alors il vous faut vérifier et changer quelque paramètres pour la déployer dans les meilleurs conditions. C&#039;est le propos de l&#039;article 

Deploying Kohana to Production

 qui est malheureusement en anglais mais très simple à comprendre. Si vous souhaitez [...]]]></description>
			<content:encoded><![CDATA[<p>Vous avez crée votre application, elle est maintenant prête à être hébergée sur votre serveur de production alors il vous faut vérifier et changer quelque paramètres pour la déployer dans les meilleurs conditions. C&#039;est le propos de l&#039;article </p>
<ul>
<li><a href="http://doc.kohanaphp.com/installation/deployment">Deploying Kohana to Production</a></li>
</ul>
<p> qui est malheureusement en anglais mais très simple à comprendre. Si vous souhaitez une traduction en français, ajouter un petit commentaire sur ce post et j&#039;essaierai de trouver le temps de le traduire) que vous pouvez trouver dans le guide utilisateur de Kohana .</p>
<p>En gros il faut purger les vues, contrôleurs et modèles de ceux que vous n&#039;utilisez pas et de ceux qui y sont de base à titre d&#039;exemple. Il faut aussi changer certains paramètres liés au domaine sur lequel votre application va être hébergée. Enfin il y a quelque petites variables à personnaliser pour améliorer les performances et la sécurité par rapport à un environnement de développement.</p>
<p>De plus la fin de l&#039;article détaille comment il est possible de sécuriser un peu plus votre application en changeant l&#039;arborescence de Kohana et/ou en utilisant un .htaccess pour restreindre ou permettre certains accès.</p>
<p>Quelque notes personnelles:</p>
<ul>
<li>Je trouve ça pas mal de mettre le répertoire system un niveau au-dessus du index.php: il suffit de changer <b>$kohana_system = &#039;system&#039;;</b> dans index.php en <b>$kohana_system = &#039;../system&#039;;</b>. Déjà ca peut permettre de restreindre les accès directs à system comme évoqué plus haut mais surtout ça permettra à toutes vos applications de fonctionner sur le même system, donc une seule mise à jour de ce répertoire sera nécessaire pour être à jour.</li>
<li>Grâce à la fonctionnalité de chargement des ressources en cascade de Kohana, lorsque vous avez un fichier que vous avez modifié dans system/config/xxx.php alors mettez le dans application/config. En effet le chargement s&#039;effectue dans cet ordre: </b>application > modules > system</b>. Cela permettra lors d&#039;une MAJ de system de ne pas affecter vos configurations d&#039;application</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/04/15/kohana-mise-en-production-de-votre-application/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/04/15/kohana-mise-en-production-de-votre-application/</feedburner:origLink></item>
		<item>
		<title>Kohana: Tour d'horizon des modules et librairies pour Kohana</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/k6Ih4OE_664/</link>
		<comments>http://www.hotandspicy.fr/2008/04/11/kohana-tour-dhorizon-des-modules-et-librairies-pour-kohana/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 09:51:26 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[librairies]]></category>

		<category><![CDATA[modules]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/04/11/kohana-tour-dhorizon-des-modules-et-librairies-pour-kohana/</guid>
		<description><![CDATA[Ce post est juste un listing des librairies et modules pour Kohana faites par des membres de la communauté. Certains sont glanés directement du forum d&#039;autres de blog, CMS ou sites perso. 
Le site de Kohana ne propose pas encore un moyen de partager ces ressources directement sur leur site (comme un wiki ou autre) [...]]]></description>
			<content:encoded><![CDATA[<p>Ce post est juste un listing des librairies et modules pour Kohana faites par des membres de la communauté. Certains sont glanés directement du forum d&#039;autres de blog, CMS ou sites perso. </p>
<p>Le site de Kohana ne propose pas encore un moyen de partager ces ressources directement sur leur site (comme un wiki ou autre) mais ça devrait arriver tôt ou tard. Je ferai en sorte de mettre à jour cet article avec les nouveautés le plus souvent possible en attendant la création d&#039;un dépôt officiel pour les modules.</p>
<p class="download">Module Auth</p>
<p><u>Description:</u> Permet de mettre en place des mécanismes d&#039;<b>authentification</b>. Il supporte la gestion de rôles et l&#039;auto-login (via cookies). C&#039;est un module officiel donc maintenu par les développeurs de Kohana. Il utilise l&#039;ORM.<br />
<u>Doc:</u> <a href="http://doc.kohanaphp.com/addons/auth">http://doc.kohanaphp.com/addons/auth</a><br />
<u>Téléchargement:</u> via le téléchargement du site ou le repository SVN</p>
<p class="download">Module Forge</p>
<p><u>Description:</u> Permet de créer et de gérer des formulaires. Il fournit des méthodes pour afficher, valider et filtrer les formulaires. C&#039;est un module officiel donc maintenu par les développeurs de Kohana.<br />
<u>Doc:</u> <a href="http://doc.kohanaphp.com/addons/forge">http://doc.kohanaphp.com/addons/forge</a><br />
<u>Téléchargement:</u> via le téléchargement du site ou le repository SVN</p>
<p class="download">Module Media</p>
<p><u>Description:</u> module permettant de réduire la consommation de bande passante pour vos feuilles de style CSS et codes Javascript. Il intercepte les requêtes /media/css/xxxx.css et /media/js/xxxx.js et est capable de les mettre en cache, les compresser, etc&#8230; C&#039;est un module officiel donc maintenu par les développeurs de Kohana (gregmac).<br />
<u>Doc:</u> <a href="http://doc.kohanaphp.com/addons/media">http://doc.kohanaphp.com/addons/media</a><br />
<u>Téléchargement:</u> via le téléchargement du site ou le repository SVN</p>
<p class="download">Add-on Template Controller</p>
<p><u>Description:</u> Permet de gérer en un seul endroit le template de votre site. J&#039;en ai parlé dans l&#039;article <a href="http://www.hotandspicy.fr/2008/04/04/kohana-utilisation-du-controleur-template/">Kohana: utilisation du contrôleur Template</a>. C&#039;est un module officiel donc maintenu par les développeurs de Kohana.<br />
<u>Doc:</u> <a href="http://doc.kohanaphp.com/addons/template">http://doc.kohanaphp.com/addons/template</a><br />
<u>Téléchargement:</u> <a href="http://trac.kohanaphp.com/ticket/449">ici</a></p>
<p class="download">Module GRID</p>
<p><u>Description:</u> Ce module permet de créer des tableaux plus facilement<br />
<u>Doc:</u> <a href="http://forum.kohanaphp.com/comments.php?DiscussionID=121">http://forum.kohanaphp.com/comments.php?DiscussionID=121</a><br />
<u>Téléchargement:</u> <a href="http://www.zshare.net/download/8787044526a7c8/">ici</a></p>
<p class="download">Module Scaffolding</p>
<p><u>Description:</u> Ce module permet de génèrer le code source de création, lecture, mise-à-jour et effacement (CRUD) des données d&#039;une base.<br />
<u>Doc:</u><a href="http://mhordecki.wordpress.com/2008/02/07/scaffolding-module-for-kohana-php/"> http://mhordecki.wordpress.com/2008/02/07/scaffolding-module-for-kohana-php/</a><br />
<u>Téléchargement:</u> <a href="http://rapidshare.com/files/89829877/scaffolding.zip.html">ici</a></p>
<p class="download">Librairie Formation</p>
<p><u>Description:</u> Classe permettant de faire de la validation et de la génération de formulaire. Peut même être utilisée avec un objet ORM pour directement créer le formulaire par rapport aux champs de la base de données.<br />
<u>Doc:</u><a href="http://learn.kohanaphp.com/category/formation"> http://learn.kohanaphp.com/category/formation</a><br />
<u>Téléchargement:</u> <a href="http://learn.kohanaphp.com/category/formation">ici</a></p>
<p class="download">Module Zend_ACL</p>
<p><u>Description:</u> Ce module est un portage vers Kohana de la libraire ACL du framework Zend permettant de mettre en place des listes de contrôle d&#039;accès.<br />
<u>Doc:</u><a href="http://framework.zend.com/manual/en/zend.acl.html"> http://framework.zend.com/manual/en/zend.acl.html</a><br />
<u>Téléchargement:</u> <a href="http://forum.kohanaphp.com/comments.php?DiscussionID=292">ici</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/04/11/kohana-tour-dhorizon-des-modules-et-librairies-pour-kohana/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/04/11/kohana-tour-dhorizon-des-modules-et-librairies-pour-kohana/</feedburner:origLink></item>
		<item>
		<title>Kohana: validation et upload de fichiers</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/2HKndo9J4WU/</link>
		<comments>http://www.hotandspicy.fr/2008/04/10/kohana-validation-et-upload-de-fichiers/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 15:01:06 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[form]]></category>

		<category><![CDATA[formulaires]]></category>

		<category><![CDATA[upload]]></category>

		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/04/10/kohana-validation-et-upload-de-fichiers/</guid>
		<description><![CDATA[Ce petit bout de code, fonctionnant uniquement sur une version récente du SVN (qui correspond à une 2.2 hybride où upload::save a été ajouté assez récement et utilisant la nouvelle version de la lib de validation), déniché sur le forum permet d&#039;effectuer les tâches suivantes:

Validation de certains attributs d&#039;une image uploadé
Traitement sur l&#039;image (réduction)


&#160;&#60;?php
&#160;
// On [...]]]></description>
			<content:encoded><![CDATA[<p>Ce petit bout de code, fonctionnant uniquement sur une version récente du SVN (qui correspond à une 2.2 hybride où upload::save a été ajouté assez récement et utilisant la nouvelle version de la lib de validation), déniché sur le forum permet d&#039;effectuer les tâches suivantes:</p>
<ul>
<li>Validation de certains attributs d&#039;une image uploadé</li>
<li>Traitement sur l&#039;image (réduction)</li>
</ul>

<div class="wp_syntax" id="d24643068" style="width: 100%"><a id="a24643068" href='' onclick='if(document.getElementById("d24643068").style.width == "100%") {document.getElementById("d24643068").style.width="138%";document.getElementById("a24643068").style.background="url(http://www.hotandspicy.fr/wp-content/plugins/wp-syntax/less.png) no-repeat";} else {document.getElementById("d24643068").style.width="100%";document.getElementById("a24643068").style.background="url(http://www.hotandspicy.fr/wp-content/plugins/wp-syntax/more.png)  no-repeat";} return false;' style='background: url(http://www.hotandspicy.fr/wp-content/plugins/wp-syntax/more.png) top left no-repeat; padding: 0px 7px 3px 7px; float:right'>&nbsp;</a><div class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// On mets ici les règles de validation sur l'image</span>
<span style="color: #808080; font-style: italic;">// Le tableau $_FILES doit être valide, l'image doit être de type gif, jpg ou png et ne doit pas dépasser 1 Mo</span>
<span style="color: #0000ff;">$_FILES</span> = Validation::<span style="color: #006600;">factory</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$_FILES</span><span style="color: #66cc66;">&#41;</span>
    -&gt;<span style="color: #006600;">add_rules</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'picture'</span>, <span style="color: #ff0000;">'upload::valid'</span>, <span style="color: #ff0000;">'upload::type[gif,jpg,png]'</span>, <span style="color: #ff0000;">'upload::size[1M]'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Si les règles sont validées</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$_FILES</span>-&gt;<span style="color: #006600;">validate</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">// Déplace le fichier dans le répertoire Config::item('upload.directory', TRUE);</span>
    <span style="color: #0000ff;">$filename</span> = upload::<span style="color: #006600;">save</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'picture'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">// Réduit l'image et la sauve</span>
    Image::<span style="color: #006600;">factory</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$filename</span><span style="color: #66cc66;">&#41;</span>
        -&gt;<span style="color: #006600;">resize</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, Image::<span style="color: #006600;">WIDTH</span><span style="color: #66cc66;">&#41;</span>
        -&gt;<span style="color: #006600;">save</span><span style="color: #66cc66;">&#40;</span>DOCROOT.<span style="color: #ff0000;">'media/pictures/'</span>.<span style="color: #000066;">basename</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$filename</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">'.jpg'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">// Supprime le fichier temporaire</span>
    <span style="color: #000066;">unlink</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$filename</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">// Redirige vers une autre page</span>
    url::<span style="color: #006600;">redirect</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'account/information'</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Le code ainsi que ses mise à jour futures éventuelles peut être trouvé <a href="http://pastie.textmate.org/private/rqyiapftnr8orqwrbhivhq">ici</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/04/10/kohana-validation-et-upload-de-fichiers/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/04/10/kohana-validation-et-upload-de-fichiers/</feedburner:origLink></item>
		<item>
		<title>Kohana: utilisation du contrôleur Template</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/fj41Gov4cOc/</link>
		<comments>http://www.hotandspicy.fr/2008/04/04/kohana-utilisation-du-controleur-template/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 18:44:13 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[controller]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/04/04/kohana-utilisation-du-controleur-template/</guid>
		<description><![CDATA[Kohana dispose d&#039;un module (donc optionnel) permettant de gérer le template de votre site. Supposons que votre page soit découpée avec un en-tête, une barre de menu, du contenu et enfin un pied de page. Ce genre de structure est monnaie courante, mais sa gestion est quelquefois fastidieuse; en effet, de façon conventionnelle, sur chacun [...]]]></description>
			<content:encoded><![CDATA[<p>Kohana dispose d&#039;un module (donc optionnel) permettant de gérer le template de votre site. Supposons que votre page soit découpée avec un en-tête, une barre de menu, du contenu et enfin un pied de page. Ce genre de structure est monnaie courante, mais sa gestion est quelquefois fastidieuse; en effet, de façon conventionnelle, sur chacun de vos controleurs vous devrez avoir un code permettant de créer cette structure.</p>
<p>C&#039;est là ou le module <strong>&#039;Template Controler&#039;</strong> intervient, il permet de:</p>
<ul>
<li>gérer en un et un seul endroit le template de votre site tout en gardant la possibilité de faire des extensions dans des controleurs fils. Evite les redondances et améliore la clarté et la qualité du code.</li>
<li>afficher la page automatiquement (auto-render)</li>
</ul>
<p> <a href="http://www.hotandspicy.fr/2008/04/04/kohana-utilisation-du-controleur-template/#more-197" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/04/04/kohana-utilisation-du-controleur-template/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/04/04/kohana-utilisation-du-controleur-template/</feedburner:origLink></item>
		<item>
		<title>Kohana: quelque astuces concernant l'ORM</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/qfRmAgxb9HI/</link>
		<comments>http://www.hotandspicy.fr/2008/04/02/kohana-quelque-astuces-concernant-lorm/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 20:18:40 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[actuces]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[orm]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/04/02/kohana-quelque-astuces-concernant-lorm/</guid>
		<description><![CDATA[J&#039;ai déjà couvert, dans un article précédent, les bases de l&#039;ORM. Un autre article viendra pour traiter les relations avec la librairie ORM. Le présent article présente quelque astuces sympathiques pour faciliter certains traitements avec l&#039;ORM au travers d&#039;exemples simples. Alors au menu:

Surcharge de la méthode __get() afin de faire des traitements sur les attributs [...]]]></description>
			<content:encoded><![CDATA[<p>J&#039;ai déjà couvert, dans un <a href="http://www.hotandspicy.fr/2008/03/30/kohana-introduction-a-la-librairie-orm/">article précédent</a>, les bases de l&#039;ORM. Un autre article viendra pour traiter les relations avec la librairie ORM. Le présent article présente quelque astuces sympathiques pour faciliter certains traitements avec l&#039;ORM au travers d&#039;exemples simples. Alors au menu:</p>
<ul>
<li><b>Surcharge de la méthode __get()</b> afin de faire des traitements sur les attributs d&#039;un objet récupéré de la base</li>
<li><b>Surcharge de la méthode __set()</b> afin de faire des traitements sur les attributs d&#039;un objet avant de l&#039;insérer en base</li>
<li>Présentation d&#039;une fonction permettant de <b>tester l&#039;existence de l&#039;élément dans la base</b></li>
<li>Présentation d&#039;une fonction permettant d&#039;<b>initialiser un objet ORM plus rapidement</b></li>
</ul>
<p> <a href="http://www.hotandspicy.fr/2008/04/02/kohana-quelque-astuces-concernant-lorm/#more-196" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/04/02/kohana-quelque-astuces-concernant-lorm/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/04/02/kohana-quelque-astuces-concernant-lorm/</feedburner:origLink></item>
		<item>
		<title>Kohana: personnaliser la page 404 (page not found)</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/PAyvkyG1iaw/</link>
		<comments>http://www.hotandspicy.fr/2008/03/31/kohana-personnaliser-la-page-404-page-not-found/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 18:37:38 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[404]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[hook]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/03/31/kohana-personnaliser-la-page-404-page-not-found/</guid>
		<description><![CDATA[Kohana est livré avec une vue permettant d&#039;afficher les pages non trouvées (c&#039;est-à-dire les pages 404 - page not found). Cette vue peut être trouvée dans system/views/kohana_error_page.php. Cependant vous souhaitez surement avoir votre propre page d&#039;erreur pour qu&#039;elle s&#039;adapte à votre design. Pour cela vous avez deux solutions:

Créer votre propre vue dans application/views/kohana_error_page.php. Le chargement [...]]]></description>
			<content:encoded><![CDATA[<p>Kohana est livré avec une vue permettant d&#039;afficher les pages non trouvées (c&#039;est-à-dire les pages 404 - page not found). Cette vue peut être trouvée dans <b>system/views/kohana_error_page.php</b>. Cependant vous souhaitez surement avoir votre propre page d&#039;erreur pour qu&#039;elle s&#039;adapte à votre design. Pour cela vous avez deux solutions:</p>
<ol>
<li>Créer votre propre vue dans <b>application/views/kohana_error_page.php</b>. Le <a href="http://upload.wikimedia.org/wikipedia/en/1/1c/Kohana-modules.png" target="_blank">chargement en cascade</a> des fichiers va faire que c&#039;est la vue dans application qui sera prise en compte.</li>
<li><b><u>ou bien</u></b> on peut aussi créer un hook pour cette tâche pour associer l&#039;évènement system.404 à la redirection vers votre propre page 404 et en voici le code:</li>
</ol>

<div class="wp_syntax" id="d51867894" style="width: 100%"><a id="a51867894" href='' onclick='if(document.getElementById("d51867894").style.width == "100%") {document.getElementById("d51867894").style.width="138%";document.getElementById("a51867894").style.background="url(http://www.hotandspicy.fr/wp-content/plugins/wp-syntax/less.png) no-repeat";} else {document.getElementById("d51867894").style.width="100%";document.getElementById("a51867894").style.background="url(http://www.hotandspicy.fr/wp-content/plugins/wp-syntax/more.png)  no-repeat";} return false;' style='background: url(http://www.hotandspicy.fr/wp-content/plugins/wp-syntax/more.png) top left no-repeat; padding: 0px 7px 3px 7px; float:right'>&nbsp;</a><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000066;">defined</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SYSPATH'</span><span style="color: #66cc66;">&#41;</span> or <span style="color: #000066;">die</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'No direct script access.'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// This hook makes 404 errors redirect to a custom page</span>
&nbsp;
Event::<span style="color: #006600;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'system.404'</span>, <span style="color: #000066;">array</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Kohana'</span>, <span style="color: #ff0000;">'show_404'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
Event::<span style="color: #006600;">add</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'system.404'</span>, <span style="color: #ff0000;">'my_404'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> my_404<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    url::<span style="color: #006600;">redirect</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'error/404'</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/03/31/kohana-personnaliser-la-page-404-page-not-found/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/03/31/kohana-personnaliser-la-page-404-page-not-found/</feedburner:origLink></item>
		<item>
		<title>Kohana: un exemple de contrôleur pour un formulaire (validation, ORM)</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/QCs55ifSPtM/</link>
		<comments>http://www.hotandspicy.fr/2008/03/31/kohana-un-exemple-de-controleur-pour-un-formulaire-validation-orm/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 13:11:17 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[débuter]]></category>

		<category><![CDATA[form]]></category>

		<category><![CDATA[orm]]></category>

		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/03/31/kohana-un-exemple-de-controleur-pour-un-formulaire-validation-orm/</guid>
		<description><![CDATA[Geert, un membre très actif du projet Kohana a posté sur le forum un exemple de contrôleur et de vue permettant de créer un formulaire avec:

Pré remplissage des champs avec des valeurs
Validation des données
Ré-affichage du formulaire avec les données entrées si la validation échoue
Insertion en base en ORM si la validation est un succès

]]></description>
			<content:encoded><![CDATA[<p>Geert, un membre très actif du projet Kohana a posté sur le forum un exemple de contrôleur et de vue permettant de créer un formulaire avec:</p>
<ul>
<li>Pré remplissage des champs avec des valeurs</li>
<li>Validation des données</li>
<li>Ré-affichage du formulaire avec les données entrées si la validation échoue</li>
<li>Insertion en base en ORM si la validation est un succès</li>
</ul>
<p> <a href="http://www.hotandspicy.fr/2008/03/31/kohana-un-exemple-de-controleur-pour-un-formulaire-validation-orm/#more-194" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/03/31/kohana-un-exemple-de-controleur-pour-un-formulaire-validation-orm/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/03/31/kohana-un-exemple-de-controleur-pour-un-formulaire-validation-orm/</feedburner:origLink></item>
		<item>
		<title>Kohana: Créer son propre "helper"</title>
		<link>http://feedproxy.google.com/~r/hotandspicy/~3/POPY1DtfUdc/</link>
		<comments>http://www.hotandspicy.fr/2008/03/31/kohana-creer-son-propre-helper/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 11:36:00 +0000</pubDate>
		<dc:creator>hotandspicy</dc:creator>
		
		<category><![CDATA[Kohana]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[débuter]]></category>

		<guid isPermaLink="false">http://www.hotandspicy.fr/2008/03/31/kohana-creer-son-propre-helper/</guid>
		<description><![CDATA[Cet article est traduit de l&#039;article suivant avec l&#039;accord de son auteur
Kohana, à l&#039;instar de Code Igniter, propose un certain nombre de &#034;helper&#034;. Les helpers sont en fait des classes php contenant un certain nombre de fonctions statiques qui vont vous faciliter la vie. 
Kohana propose par défaut les helpers suivants: Array, Cookie, Date, Download, [...]]]></description>
			<content:encoded><![CDATA[<p class="info">Cet article est traduit de l&#039;article <a href="http://learn.kohanaphp.com/2008/03/29/tutorial-writing-a-helper/">suivant</a> avec l&#039;accord de son auteur</p>
<p>Kohana, à l&#039;instar de Code Igniter, propose un certain nombre de &#034;helper&#034;. Les helpers sont en fait des classes php contenant un certain nombre de fonctions statiques qui vont vous faciliter la vie. </p>
<p>Kohana propose par défaut les helpers suivants: Array, Cookie, Date, Download, Email, Expires, Feed, Form, HTML, Inflector, Num, Security, Text, URL, Valid. Pour plus d&#039;informations sur leurs fonctionnalités rendez vous sur la <a href="http://doc.kohanaphp.com/">documentation</a>. Par exemple, l&#039;helper &#034;array&#034; propose des fonctions pour manipuler les tableaux. Les fonctions sont indépendantes et de ce fait ne dépendent de rien.</p>
<p>Ce tutorial va montrer comment créer un helper. Comme vous allez pouvoir le constater c&#039;est très simple. Ce tutorial ce base sur l&#039;implémentation d&#039;un helper permettant de savoir d&#039;où provient une requête web. Il sera nommé request. On souhaite créer une méthode <strong>request::is_ajax()</strong> permettant de déterminer si la requête courante est une requête ajax.</p>
<p> <a href="http://www.hotandspicy.fr/2008/03/31/kohana-creer-son-propre-helper/#more-193" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hotandspicy.fr/2008/03/31/kohana-creer-son-propre-helper/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.hotandspicy.fr/2008/03/31/kohana-creer-son-propre-helper/</feedburner:origLink></item>
	</channel>
</rss>
