<?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>Benjamin Agullana</title>
	<atom:link href="http://www.benjamin-agullana.fr/feed" rel="self" type="application/rss+xml" />
	<link>http://www.benjamin-agullana.fr</link>
	<description>Développeur - Intégrateur</description>
	<lastBuildDate>Sat, 25 Feb 2012 16:53:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Product Total Sales &#8211; Module prestashop</title>
		<link>http://www.benjamin-agullana.fr/prestashop/product-total-sales-module-prestashop.html</link>
		<comments>http://www.benjamin-agullana.fr/prestashop/product-total-sales-module-prestashop.html#comments</comments>
		<pubDate>Sat, 25 Feb 2012 16:53:00 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Modules payants]]></category>
		<category><![CDATA[PrestaShop]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[prestashop]]></category>
		<category><![CDATA[sales]]></category>
		<category><![CDATA[total sales]]></category>

		<guid isPermaLink="false">http://www.benjamin-agullana.fr/?p=193</guid>
		<description><![CDATA[Product Total Sales est un module Prestashop 1.4 qui vous permettra d&#8217;afficher, sur vos fiches produit, le nombre de fois que le produit a été vendu. Il est en vente sur le PrestaStore pour 30€ HT. Ce module accroîtra vos chances de ventes en apportant de la crédibilité à vos produits et votre boutique. En]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/Prestashop_Icon_57x57.png"><img class="alignleft size-full wp-image-197" title="BAProductTotalSales" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/Prestashop_Icon_57x57.png" alt="BAProductTotalSales" width="57" height="57" /></a><strong>Product Total Sales</strong> est un module <a title="PrestaShop website" href="http://www.prestashop.com/" target="_blank"><strong>Prestashop 1.4</strong></a> qui vous permettra d&#8217;afficher, sur vos fiches produit, le <strong>nombre de fois</strong> que le <strong>produit</strong> a été <strong>vendu</strong>. Il est en vente sur le <a title="Le module en vente sur le PrestaStore !" href="http://addons.prestashop.com/fr/fonctionnalites-front-office/4521-product-total-sales.html" target="_blank">PrestaStore</a> pour<strong> 30€ HT</strong>.</p>
<p>Ce module accroîtra vos chances de ventes en apportant de la crédibilité à vos produits et votre boutique. En effet, c&#8217;est un des moyens de donner confiance à votre potentiel client en ce qu&#8217;il va acheter que de lui montrer que d&#8217;autres personnes avant lui ont franchi le pas.<span id="more-193"></span></p>
<p>Bien entendu vous avez plusieurs options disponibles qui vous permettront d&#8217;afficher approximativement ou avec exactitude le nombre de vente pour un produit.</p>
<p>Ainsi, si par exemple vous n&#8217;avez vendu que 19 fois un produit et que vous estimez que le fait d&#8217;afficher ce nombre exact de ventes peu vous portez préjudice (repousser le potentiel client qui peut se dire que 19 c&#8217;est peu) vous pouvez faire en sorte d&#8217;afficher une phrase qui indiquerait avec approximation le nombre de vente. Par exemple :</p>
<blockquote><p>Presque 50 personnes ont déjà acheté ce produit ! Pourquoi pas vous ?</p></blockquote>
<p><strong>Voici la liste des options :</strong></p>
<ul>
<li>Afficher ou non le module si aucune vente n&#8217;a été effectuée sur un produit</li>
<li>Afficher un icône en fonction du nombre de vente réalisée</li>
<li>Déterminer un nombre de vente a partir duquel afficher le nombre exact de vente pour le produit</li>
<li>Déterminer une fourchette de nombre de vente dans laquelle afficher avec exactitude le nombre de vente</li>
<li>Choisir la phrase à afficher en cas d&#8217;affichage exact du nombre de vente<br />
Par exemple :</li>
</ul>
<blockquote><p>98 personnes ont acheté ce produit ! Qu&#8217;attendez-vous ?</p></blockquote>
<ul>
<li>Choisir la phrase à afficher en cas d&#8217;affichage approximatif du nombre de vente lorsque ce nombre n&#8217;atteint pas le nombre de vente à partir duquel il faut l&#8217;afficher avec exactitude<br />
Par exemple :</li>
</ul>
<blockquote><p>Presque 50 personnes ont déjà acheté ce produit ! Pourquoi pas vous ?</p></blockquote>
<ul>
<li>Choisir la phrase à afficher en cas d&#8217;affichage approximatif du nombre de vente lorsque ce nombre dépasse la fourchette dans laquelle l&#8217;afficher avec exactitude<br />
Par exemple :</li>
</ul>
<blockquote><p>Déjà plus de 100 personnes ont acheté ce produit ! Alors n&#8217;attendez plus et franchissez le pas.</p></blockquote>
<div id="attachment_209" class="wp-caption aligncenter" style="width: 74px"><a title="Demo Product Total Sales" href="http://www.benjamin-agullana.fr/prestashop/product.php?id_product=1" target="_blank"><img class="size-full wp-image-209  " title="Voir la démo" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/demo-64.png" alt="demo" width="64" height="64" /></a><p class="wp-caption-text">Voir la démo</p></div>
<div id="attachment_213" class="wp-caption aligncenter" style="width: 74px"><a title="Le module en vente sur le PrestaStore !" href="http://addons.prestashop.com/fr/fonctionnalites-front-office/4521-product-total-sales.html" target="_blank"><img class="size-full wp-image-213" title="box-download-64" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/box-download-64.png" alt="download" width="64" height="64" /></a><p class="wp-caption-text">Télécharger le module</p></div>
<p style="clear: both;">Le module en images :</p>
<p><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/bascr1.png"><img class="alignleft size-thumbnail wp-image-200" title="bascr1" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/bascr1-150x150.png" alt="Front office screen 1" width="150" height="150" /></a><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/bascr2.png"><img class="alignnone size-thumbnail wp-image-226" title="bascr2" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/bascr2-150x150.png" alt="bascr2" width="150" height="150" /></a><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/bascr3.png"><img class="alignleft size-thumbnail wp-image-203" title="Back Office Screen 3" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/bascr3-150x150.png" alt="Back Office Screen 3" width="150" height="150" /></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/prestashop/product-total-sales-module-prestashop.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/prestashop/product-total-sales-module-prestashop.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Page de démarrage Wamp personnalisée</title>
		<link>http://www.benjamin-agullana.fr/custom-developpement/page-de-demarrage-wamp-personnalisee.html</link>
		<comments>http://www.benjamin-agullana.fr/custom-developpement/page-de-demarrage-wamp-personnalisee.html#comments</comments>
		<pubDate>Mon, 10 Oct 2011 20:59:57 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Custom développement]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[homepage]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wamp]]></category>

		<guid isPermaLink="false">http://www.benjamin-agullana.fr/?p=169</guid>
		<description><![CDATA[Page d'accueil de Wampserver personnalisée et remastérisée par mes soins. N'hésitez pas à la télécharger si elle vous plait.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2011/10/WampServer-logo.png"><img class="alignright size-thumbnail wp-image-170" title="WampServer-logo" src="http://www.benjamin-agullana.fr/wp-content/uploads/2011/10/WampServer-logo-150x150.png" alt="WampServer" width="150" height="150" /></a>Aujourd&#8217;hui j&#8217;ai décidé de vous faire partager ma page d&#8217;accueil de <strong>WampServer</strong>. En effet, pour me simplifier la vie et pour pouvoir lancer plus rapidement mes projets j&#8217;ai un peu nettoyé cette page, et je l&#8217;ai totalement customisée (simplement avec du HTML et du CSS).</p>
<p style="text-align: justify;">Téléchargez l&#8217;archive ci-dessous puis <strong>décompressez</strong> là dans le dossier <strong>racine</strong> de vos sites web (par défaut le dossier www contenu dans le dossier wamp, exemple : C:\wamp\www).</p>
<h3 style="text-align: center;"><a title="Custom Wamp Server Homepage" href="http://www.benjamin-agullana.fr/fichiers/divers/Custom Wamp Homepage by BA.rar" target="_blank">Custom Wamp Homepage</a></h3>
<p style="text-align: justify;"><span id="more-169"></span></p>
<p style="text-align: justify;">Pour la configurer rien de plus simple, il vous suffit de modifier le fichier index.php et :</p>
<ul>
<li>Modifier la ligne 3 : $wampConfFile = &#8216;../wampmanager.conf&#8217;; en mettant le chemin relatif vers le fichier de configuration wamp (généralement vous n&#8217;avez pas à le changer si vous utilisez le dossier www).</li>
<li>Modifier la ligne 6 : $aliasDir = &#8216;../alias/&#8217;; en mettant le chemin relatif vers le répertoire contenant les alias (pareil ici, vous ne devriez pas avoir à le modifier).</li>
</ul>
<p style="text-align: justify;"><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2011/10/wamphome.jpg"><img class="aligncenter size-full wp-image-178" title="wamphome" src="http://www.benjamin-agullana.fr/wp-content/uploads/2011/10/wamphome.jpg" alt="Wamp Home" width="600" height="270" /></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/custom-developpement/page-de-demarrage-wamp-personnalisee.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/custom-developpement/page-de-demarrage-wamp-personnalisee.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Related Products by Product&#8217;s Tags</title>
		<link>http://www.benjamin-agullana.fr/prestashop/related-products-by-products-tags.html</link>
		<comments>http://www.benjamin-agullana.fr/prestashop/related-products-by-products-tags.html#comments</comments>
		<pubDate>Thu, 18 Aug 2011 21:20:53 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Modules payants]]></category>
		<category><![CDATA[PrestaShop]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[prestashop]]></category>
		<category><![CDATA[related product]]></category>

		<guid isPermaLink="false">http://www.benjamin-agullana.fr/?p=115</guid>
		<description><![CDATA[Related Products by Product's Tags est un module pour Prestashop 1.4 qui permet d'afficher des produits relatifs au produit que votre client est en train de visualiser. Le module se base sur les mots clés renseignés dans les fiches produits pour faire les liaisons.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2011/08/blockrelatedproductstags_logo.jpg"><img class="alignleft size-full wp-image-167" title="blockrelatedproductstags_logo" src="http://www.benjamin-agullana.fr/wp-content/uploads/2011/08/blockrelatedproductstags_logo.jpg" alt="Related Products Tags LOGO" width="57" height="57" /></a>Related Products by Product&#8217;s Tags</strong> est un module pour <strong>PrestaShop 1.4</strong> qui va <strong>afficher sous vos produits une liste de produits similaires</strong>. Il est en vente pour 30€ HT sur le <a title="Related Products by product's tags" href="http://addons.prestashop.com/fr/fonctionnalites-front-office/3351-related-products-by-productrs-tags.html" target="_blank">Prestastore ici</a>.</p>
<p style="text-align: justify;">Pour déterminer la relation entre les produits, le module récupère les<strong> mots clés</strong> du produit visualisé par votre client et tente de récupérer tous les produits possédant un mot clé similaire.<br />
Autrement dit, lorsque vous insérez des mots clés (tags) dans vos fiches produits afin d&#8217;optimiser votre référencement, le module va <strong>élargir automatiquement vos chances de convertir les visites de votre boutique en achat</strong>. Vous n&#8217;avez <strong>rien de particulier à faire</strong> une fois le module activé, vous pouvez continuer à entrer vos fiches produits comme avant, sans contrainte particulières.<span id="more-115"></span></p>
<p style="text-align: justify;">Toutefois, le module possède une administration qui vous permettra de :</p>
<ul>
<li style="text-align: justify;">retirer automatiquement des mots clés (par exemple vous avez des produits avec un mot clé &laquo;&nbsp;jaune&nbsp;&raquo; =&gt; vous pouvez empêcher le module de rechercher des relations entre produits sur ce mot clé)</li>
<li style="text-align: justify;">forcer l&#8217;utilisation de mots clés. En effet, si vous voulez que la recherche soit effectuée sur certains mots clés seulement, vous pouvez les définir dans l&#8217;admin du module. Si ils sont présents dans les mots clés d&#8217;une fiche produits ils seront utilisés pour rechercher des produits similaires. Par contre si votre fiche produit ne possède aucun des mots clés de ce paramètre, aucune recherche de produits similaires sera faite</li>
<li style="text-align: justify;">définir un nombre maximum de produits similaire à afficher</li>
<li style="text-align: justify;">définir un nombre maximum de tags à tenter de rechercher dans d&#8217;autres produits (permet d&#8217;éviter de ralentir les performances de votre site si vous avez beaucoup de mots clés par produits). Par exemple, si une fiche produit possèdent 15 mots clés et que vous avez paramétré cette option à 10, alors seulement les 10 premiers mots clés de votre produit seront utilisés pour rechercher des produits similaires</li>
<li style="text-align: justify;">restreindre la recherche de produits similaires à des catégories en particuliers</li>
<li style="text-align: justify;">choisir les catégories dans lesquelles vous souhaitez que le module s&#8217;affiche</li>
</ul>
<p>&nbsp;</p>
<div id="attachment_209" class="wp-caption alignnone" style="width: 74px"><a href="http://www.benjamin-agullana.fr/prestashop/product.php?id_product=1" target="_blank"><img class="size-full wp-image-209" title="Voir la demo" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/demo-64.png" alt="demo" width="64" height="64" /></a><p class="wp-caption-text">Voir la démo</p></div>
<div id="attachment_213" class="wp-caption alignnone" style="width: 74px"><a href="http://addons.prestashop.com/fr/fonctionnalites-front-office/3351-related-products-by-productrs-tags.html" target="_blank"><img class="size-full wp-image-213" title="box-download-64" src="http://www.benjamin-agullana.fr/wp-content/uploads/2012/02/box-download-64.png" alt="download" width="64" height="64" /></a><p class="wp-caption-text">Télécharger le module</p></div>
<p style="text-align: left; clear: both;">Le module en images :</p>
<p><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2011/08/related_products_tags_fo.jpg" target="_blank"><img class="alignleft size-thumbnail wp-image-142" title="related_products_tags_fo" src="http://www.benjamin-agullana.fr/wp-content/uploads/2011/08/related_products_tags_fo-150x150.jpg" alt="related products tags front office" width="150" height="150" /></a><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2011/08/related_products_tags_bo.jpg"><img class="alignleft size-thumbnail wp-image-144" title="related_products_tags_bo" src="http://www.benjamin-agullana.fr/wp-content/uploads/2011/08/related_products_tags_bo-150x150.jpg" alt="Related Products Tags Back Office" width="150" height="150" /></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/prestashop/related-products-by-products-tags.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/prestashop/related-products-by-products-tags.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surchage de class sur Prestashop 1.4</title>
		<link>http://www.benjamin-agullana.fr/prestashop/surchage-de-class-sur-prestashop-1-4.html</link>
		<comments>http://www.benjamin-agullana.fr/prestashop/surchage-de-class-sur-prestashop-1-4.html#comments</comments>
		<pubDate>Tue, 26 Apr 2011 12:41:40 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[PrestaShop]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[prestashop]]></category>
		<category><![CDATA[surcharge]]></category>

		<guid isPermaLink="false">http://www.benjamin-agullana.fr/?p=102</guid>
		<description><![CDATA[Prestashop 1.4 est arrivé depuis quelques semaines avec son lot de nouveautés ! Parmi elle, la possibilité de surcharger les Class du noyau de la célèbre plateforme Open Source. Une superbe nouveauté pour les développeurs puisqu&#8217;ils n&#8217;auront plus à modifier le noyau de l&#8217;outil, chose qui posait de nombreux problèmes pour le mettre à jour]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/referencement-boutiques-prestashop.jpg"><img class="alignleft size-thumbnail wp-image-60" title="Prestashop" src="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/referencement-boutiques-prestashop-150x150.jpg" alt="prestashop_logo" width="150" height="150" /></a>Prestashop 1.4 est arrivé depuis quelques semaines avec son lot de nouveautés ! Parmi elle, la possibilité de <strong>surcharger les Class du noyau</strong> de la célèbre plateforme Open Source. Une superbe nouveauté pour les développeurs puisqu&#8217;ils n&#8217;auront plus à modifier le noyau de l&#8217;outil, chose qui posait de nombreux problèmes pour le <strong>mettre à jour</strong> par la suite, sans perdre de précieuses modifications apportées.</p>
<p style="text-align: justify;">L&#8217;équipe Prestashop a donc pondue un travail énorme pour faciliter les mises à jours de sa plateforme, je vais vous détailler ici comment utiliser ce système de surcharge à travers la surchage de la class ProductSale.<span id="more-102"></span></p>
<h2 style="text-align: justify;"><strong><span style="color: #99cc00;">1/ Comprendre le mécanisme de surcharge de Class dans Prestashop 1.4</span></strong></h2>
<p><strong><span style="color: #99cc00;"><br />
</span></strong></p>
<p style="text-align: justify;">Si vous avez fouillé un peu dans les fichiers source d&#8217;une installation toute fraiche de Prestashop 1.4, vous aurez peut-être remarqué l&#8217;apparition du dossier &laquo;&nbsp;<strong>override</strong>&nbsp;&raquo; à la racine.</p>
<p style="text-align: justify;">A l&#8217;intérieur de ce dernier se trouvent 2 dossiers :</p>
<ul>
<li>classes</li>
<li>controllers</li>
</ul>
<p style="text-align: justify;">Comme vous l&#8217;aurez peut-être compris, lorsque Prestashop tente d&#8217;instancier un nouvel objet il <strong>passe en premier</strong> lieu dans ces dossiers pour voir si des surcharges existent. Si aucune n&#8217;est trouvée, il reprend son chemin habituel, à savoir la visite du dossier &laquo;&nbsp;classes&nbsp;&raquo; qui se trouve  la racine.</p>
<p style="text-align: justify;">Le premier dossier &laquo;&nbsp;classes&nbsp;&raquo; concerne donc toutes les Class utilisées par la boutique, tandis que le dossier controllers concerne les différents contrôleurs (apparus dans cette nouvelle mouture 1.4) qui vous permettront d&#8217;effectuer des actions en plus (par exemple, ajouter des hook dans un contrôleur pour y exécuter le code de votre choix, je vous conseil la lecture de cet <a title="Voir l'article de Michel Courtage sur la surchage des contrôleurs PS 1.4" href="http://www.michel-courtade.com/2011/04/11/prestashop-comment-surcharger-le-coeur/" target="_blank">article</a> de Michel Courtade).</p>
<h2><strong><span style="color: #99cc00;">2/ Un exemple : la surcharge de la Class ProductSale</span></strong></h2>
<p><strong><span style="color: #99cc00;"><br />
</span></strong></p>
<p style="text-align: justify;">Du concret ! Pour surcharger la class ProductSale rien de plus simple, il vous suffit de créer le fichier suivant dans le dossier <strong>override/classes/</strong> : <strong>ProductSale.php</strong></p>
<p>Ici on va effectuer un simple héritage de class comme ceci :</p>
<pre escaped="true" lang="php">&lt;?php

class ProductSale extends ProductSaleCore {

}</pre>
<p style="text-align: justify;">Ensuite ça fonctionne comme n&#8217;importe quel <strong>héritage de class en PHP</strong>, vous pouvez surcharger les méthodes de la class ProductSaleCore (anciennement nommée ProductSale dans Prestashop &lt; 1.4). Par exemple, si je souhaitais modifier la méthode getNbSales pour afficher le <strong>nombre de produits vendus qui sont désactivés</strong> dans ma boutique, il me suffirais de mettre ceci :</p>
<pre escaped="true" lang="php" line="1">&lt;?php

class ProductSale extends ProductSaleCore {

...

 static public function getNbSales()
 {
 $result = Db::getInstance(_PS_USE_SQL_SLAVE_)-&gt;getRow('
 SELECT COUNT(ps.`id_product`) AS nb
 FROM `'._DB_PREFIX_.'product_sale` ps
 LEFT JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = ps.`id_product`
 <strong>WHERE p.`active` = 0'</strong>);
 return (int)($result['nb']);
 }

...
}</pre>
<p style="text-align: justify;">Enfin, vous avez la possibilité d&#8217;écrire vos <strong>propres méthodes</strong>. Dès que Prestashop rencontrera des instanciations de cette class, il viendra parcourir votre nouveau fichier et y exécuter vos méthodes réécrites ou celles qui sont nouvelles. Sinon il cherchera celle de la class mère (ProductSaleCore).</p>
<p style="text-align: justify;">&nbsp;</p>
<p>Libre à vous d&#8217;utiliser ces surchages de class pour créer vos propres modules par exemple !</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/prestashop/surchage-de-class-sur-prestashop-1-4.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/prestashop/surchage-de-class-sur-prestashop-1-4.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Les fonctions de débug sur Prestashop 1.4 ne marchent pas ? Voyons pourquoi !</title>
		<link>http://www.benjamin-agullana.fr/prestashop/astuces/les-fonctions-de-debug-sur-prestash-1-4-ne-marchent-pas.html</link>
		<comments>http://www.benjamin-agullana.fr/prestashop/astuces/les-fonctions-de-debug-sur-prestash-1-4-ne-marchent-pas.html#comments</comments>
		<pubDate>Sun, 10 Apr 2011 21:27:00 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[prestashop]]></category>

		<guid isPermaLink="false">http://www.benjamin-agullana.fr/?p=87</guid>
		<description><![CDATA[En cette belle soirée, j&#8217;ai décidé de retravailler sur un petit module dont j&#8217;avais entamé le développement il y a quelques mois, lorsque Prestashop n&#8217;en était qu&#8217;à sa version 1.3.2. Faute de temps j&#8217;avais abandonné ce projet. Depuis le temps Prestashop a évolué (et ça c&#8217;est bien !) pour afficher une belle version 1.4 et]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/referencement-boutiques-prestashop.jpg"><img class="alignleft size-thumbnail wp-image-60" title="Prestashop" src="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/referencement-boutiques-prestashop-150x150.jpg" alt="prestashop_logo" width="150" height="150" /></a>En cette belle soirée, j&#8217;ai décidé de retravailler sur un petit module dont j&#8217;avais entamé le développement il y a quelques mois, lorsque Prestashop n&#8217;en était qu&#8217;à sa version 1.3.2. Faute de temps j&#8217;avais abandonné ce projet.</p>
<p style="text-align: justify;">Depuis le temps Prestashop a évolué (et ça c&#8217;est bien !) pour afficher une belle version 1.4 et toutes ses nouveautés (en détails ici sur le <a title="Voir l'article sur les nouveautés de Prestashop 1.4" href="http://www.prestashop.com/blog/article/prestashop_v14_alpha_2_est_disponible/" target="_blank">blog officiel de la boutique e-commerce</a>). De mon côté, temps retrouvé, j&#8217;ai décidé de reprendre le développement de mon petit module (un simple bloc qui affichera les derniers produits vendus), mais ce, sur la nouvelle mouture 1.4.<span id="more-87"></span></p>
<p style="text-align: justify;">J&#8217;ai directement été confronté à un problème : impossible de faire fonctionner les <strong>fonctions de débugs d() et p()</strong>&#8230; Au début je ne comprenais pas, j&#8217;exécutais par exemple un simple test comme celui-ci :</p>
<pre escaped="true" lang="php" line="1">d('je passe ici, arrête toi petit script !);</pre>
<p>ou encore</p>
<pre escaped="true" lang="php" line="1">p('affiche toi petit test !');</pre>
<p>Mais rien&#8230;</p>
<p>Dès lors je me lance dans un simple :</p>
<pre escaped="true" lang="php" line="1">die('Salut, je m'arrête ici !');</pre>
<p style="text-align: justify;">Et là ! Miracle ça fonctionne&#8230;</p>
<p style="text-align: justify;">Je décide dès lors de prendre le taureau par les cornes, et jette un oeil dans la Class Tools (<strong>classes/Tools.php</strong>), contenant les méthodes static &laquo;&nbsp;d()&nbsp;&raquo; (ligne 530) et &laquo;&nbsp;p()&nbsp;&raquo; (ligne 540). Ces méthodes appelant la méthode &laquo;&nbsp;dieObject()&nbsp;&raquo; (ligne 512) de cette même class, j&#8217;y jette un oeil aussi. Et que vois-je ?</p>
<pre escaped="true" lang="php" line="1">public static function dieObject($object, $kill = true)
{
 if (defined('<strong>_PS_MODE_DEV_</strong>') AND <strong>_PS_MODE_DEV_</strong>)
 {
 echo '&lt;pre style="text-align: left;"&gt;';
 print_r($object);
 echo '&lt;/pre&gt;&lt;br /&gt;';
 if ($kill)
 die('END');
 }
 return $object;
}</pre>
<p style="text-align: justify;">On remarquera le test sur la constante &laquo;&nbsp;<strong>_PS_MODE_DEV_</strong>&laquo;&nbsp;, qui, si elle n&#8217;est pas définie ou vaut &laquo;&nbsp;false&nbsp;&raquo;, ne permet pas d&#8217;afficher le contenu de la variable $object passée en paramètre de méthode.</p>
<p style="text-align: justify;">Après de multiples recherches infructueuses dans le back office, pensant que l&#8217;équipe de Prestashop avait mis en place un moyen de choisir la phase de développement du site, je me suis tourné vers une recherche plus classique, via un bon vieux éditeur (PSPad au passage, un de mes IDE), dans tous les fichiers source de Prestashop sur le mot &laquo;&nbsp;_PS_MODE_DEV_&nbsp;&raquo;. Et je suis tombé sur le fichier config/defines.inc.php à la ligne 28 :</p>
<pre escaped="true" lang="php" line="1">define('_PS_MODE_DEV_', false);</pre>
<p>En remplaçant false par true comme ceci :</p>
<pre escaped="true" lang="php" line="1">define('_PS_MODE_DEV_', true);</pre>
<p>On peut utiliser les fonctions de débug à souhait !</p>
<p style="text-align: justify;">Moralité de l&#8217;histoire :</p>
<p style="text-align: justify;">Malgré les belles performances et la qualité du noyau Prestashop, on regrettera toujours le manque flagrant de documentation de la boutique (si on la compare à un Joomla!, un Drupal, un WordPress etc&#8230;). Et ceci est fort regrettable ! Même si dans le cas de cet article le besoin n&#8217;est pas indispensable, de manière générale on peut le regretter, surtout avec l&#8217;arrivée de la refonte du noyau et la possibilité de surcharger les class et méthodes du noyau PS 1.4 !</p>
<p style="text-align: justify;">Sur ce, j&#8217;espère que ça aura servit à certaines personnes.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/prestashop/astuces/les-fonctions-de-debug-sur-prestash-1-4-ne-marchent-pas.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/prestashop/astuces/les-fonctions-de-debug-sur-prestash-1-4-ne-marchent-pas.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SP Order Delay ! Module Prestashop</title>
		<link>http://www.benjamin-agullana.fr/prestashop/modules-payants/sp-order-delay-module-prestashop.html</link>
		<comments>http://www.benjamin-agullana.fr/prestashop/modules-payants/sp-order-delay-module-prestashop.html#comments</comments>
		<pubDate>Wed, 27 Oct 2010 20:51:43 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Modules payants]]></category>
		<category><![CDATA[loi chatel]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[prestashop]]></category>

		<guid isPermaLink="false">http://www.benjamin-agullana.fr/?p=59</guid>
		<description><![CDATA[Le module SP Order Delay est un module pour Prestashop que j&#8217;ai développé à mon travail, son copyright revient donc à l&#8217;agence STONEPOWER. C&#8217;est un module qui conviendra pour les boutiques françaises puisqu&#8217;il permet, pour 89 € HT, à votre boutique de respecter la loi Chatel qui stipule, depuis Juin 2008, que les sites e-commerce]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/referencement-boutiques-prestashop.jpg"><img class="alignleft size-full wp-image-60" title="Prestashop" src="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/referencement-boutiques-prestashop.jpg" alt="" width="250" height="250" /></a>Le module <strong>SP Order Delay</strong> est un module pour <a title="Prestashop website" href="http://www.prestashop.fr" target="_blank">Prestashop </a>que j&#8217;ai développé à mon travail, son copyright revient donc à l&#8217;agence <a title="STONEPOWER website" href="http://www.stonepower.fr" target="_blank">STONEPOWER</a>. C&#8217;est un module qui conviendra pour les boutiques françaises puisqu&#8217;il permet, pour <strong>89 € HT</strong>, à votre boutique de respecter la loi Chatel qui stipule, depuis Juin 2008, que les sites e-commerce doivent afficher les dates et délais de livraisons prévus pour les commandes passées par des clients sur Internet.<span id="more-59"></span></p>
<h3><a title="Télécharger le module" href="http://addons.prestashop.com/fr/fonctionnalites-front-office/1274-sp-order-delay.html" target="_blank"><img class="alignleft size-full wp-image-78" style="vertical-align: middle;" title="sp_delay_logo_big" src="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/sp_delay_logo_big.png" alt="Télécharger le module" width="32" height="32" />Téléchargez le module en cliquant ici</a></h3>
<p style="text-align: justify;">
<h3 style="text-align: justify;">Description du module :</h3>
<ul>
<li>Au niveau du back office, vous avez la possibilité d&#8217;<strong>attribuer à vos produits hors stock</strong> (mais disponibles en vente, donc commandables), des <strong>délais de livraison minimaux</strong> et <strong>maximaux </strong>(les délais prévus pour que vous receviez ces produits de vos fournisseurs).</li>
<li>En plus de cela vous pouvez attribuer des <strong>délais minimaux</strong> et <strong>maximaux </strong>de livraison à vos <strong>transporteurs</strong>.</li>
<li>Tout ceci aura pour effet, sur le front office de votre boutique, d&#8217;<strong>afficher les dates prévues de livraiso</strong>n de la commande passée par le client. Ces dates seront visibles dans le <strong>tunnel de commande</strong>, au moment où le client choisira son transporteur.</li>
</ul>
<p style="text-align: justify;">NB : Il est important de noter que si un client sélectionne des produits qui ont des délais de livraison différent, le délai minimum le plus grand des 2 produits sera additionné au délai de livraison minimum du transporteur, pareil pour le délai maximum. De plus, si une des dates de livraison tombe un dimanche, le module décalera la livraison d&#8217;un jour.</p>
<h3 style="text-align: justify;">Exemple :</h3>
<p style="text-align: justify;">Un client commande un produit A le <strong>13/12/2010</strong>.<br />
Le <strong>produit </strong>A n&#8217;est disponible qu&#8217;à partir de <strong>3</strong> à <strong>5</strong> jours une fois que le client passe commande.<br />
Ce même client choisi le <strong>transporteur </strong>B, lequel délivre ses colis entre <strong>1</strong> et <strong>3</strong> jours.<br />
Au final, dans le <strong>tunnel de commande du client</strong>, sera affiché une date de <strong>livraison prévue</strong> entre le <strong><span style="color: #99cc00;">17</span>/12/2010</strong> et le <strong><span style="color: #99cc00;">21</span>/12/2010</strong> (13 + 3 + 1 = 17 et 13 + 5 + 3 = 21)</p>
<h3 style="text-align: justify;">Screenshot FO et BO :</h3>
<p style="text-align: justify;"><a rel="lightbox" href="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/sp-order-delay3.png"><img class="size-thumbnail wp-image-67 alignleft" title="sp-order-delay3" src="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/sp-order-delay3-150x150.png" alt="screenshot1 - Back office" width="150" height="150" /></a><a rel="lightbox" href="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/sp-order-delay2.png"><img class="alignleft size-thumbnail wp-image-66" title="sp-order-delay2" src="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/sp-order-delay2-150x150.png" alt="screenshot2 - Historique des commandes" width="150" height="150" /></a><a rel="lightbox" href="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/sp-order-delay.png"><img class="alignleft size-thumbnail wp-image-65" title="sp-order-delay" src="http://www.benjamin-agullana.fr/wp-content/uploads/2010/10/sp-order-delay-150x150.png" alt="screenshot3 - Tunnel de commande" width="150" height="150" /></a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/prestashop/modules-payants/sp-order-delay-module-prestashop.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/prestashop/modules-payants/sp-order-delay-module-prestashop.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla! 1.5 Plugin Related Articles Tags</title>
		<link>http://www.benjamin-agullana.fr/joomla/mes-plugins/related_articles_tags.html</link>
		<comments>http://www.benjamin-agullana.fr/joomla/mes-plugins/related_articles_tags.html#comments</comments>
		<pubDate>Mon, 27 Sep 2010 17:19:44 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Mes plugins]]></category>
		<category><![CDATA[Joomla!]]></category>
		<category><![CDATA[Joomla! 1.5]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[related articles]]></category>
		<category><![CDATA[tags]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=5</guid>
		<description><![CDATA[NOUVELLE VERSION DU PLUGIN (détails en cliquant sur lire la suite) (VERSION 1.3 du 10/10/2009) Après des semaines d&#8217;attentes voici mon dernier né : plg_relatedarticlestags version 1.0 ou Plugin Related Articles Tags, c&#8217;est plus joli je vous l&#8217;accorde ! Ce plugin est compatible Joomla! 1.5 NATIF. Une demo est disponible en cliquant ici : DEMO]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.joomla.org"><img class="alignleft" title="Joomla!" src="http://www.benjamin-agullana.fr/images/articles/joomla_logo_vert_color.gif" alt="logo joomla" width="200" height="137" /></a><strong><span style="color: #99cc00;">NOUVELLE VERSION DU PLUGIN (détails en cliquant sur lire la suite) (VERSION 1.3 du 10/10/2009)</span><br />
</strong></p>
<p>Après des semaines d&#8217;attentes voici mon dernier né : <span style="color: #99cc00;"><strong>plg_relatedarticlestags</strong></span> version 1.0  ou <span style="color: #99cc00;"><strong>Plugin Related Articles Tags</strong></span>, c&#8217;est plus joli je vous l&#8217;accorde !</p>
<p>Ce plugin est <strong><span style="color: #99cc00;">compatible Joomla! 1.5 NATIF</span>. </strong>Une demo est disponible en cliquant ici : <span style="color: #99cc00;"><a style="text-decoration: none;" href="http://joomla.benjamin-agullana.fr/index.php?option=com_content&amp;view=article&amp;id=46:want-to-try-cb-plugins-&amp;catid=1:latest-news" target="_blank"><strong>DEMO</strong></a></span><strong><br />
</strong></p>
<p>Pour le télécharger il vous suffit de cliquer ici :</p>
<h2><a style="text-decoration: none;" href="http://www.benjamin-agullana.fr/fichiers/joomla/plugins/plg_relatedarticlestags_1.3.zip"><img title="DL" src="http://www.benjamin-agullana.fr/images/articles/download.png" alt="" width="25" height="25" /><span style="color: #99cc00;">DOWNLOAD plg_relatedarticlestags_1.3.zip <img title="Lire la suite…" src="http://www.benjamin-agullana.fr/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></span></a><span id="more-5"></span></h2>
<h2>Fonctionnalités :</h2>
<p>MAJ Version 1.3 (10/10/2009) :</p>
<ul>
<li>Correction du bug pour l&#8217;affichage aléatoire des articles, la fonctionnalités fonctionnent dorénavant.</li>
<li>Implémentation du Mootools Accordion à la place de l&#8217;infobulle, pour un rendu meilleur de l&#8217;introduction des articles.</li>
</ul>
<p>MAJ 1.2 :</p>
<ul>
<li>Correction d&#8217;un bug qui faisait mal fonctionner le plugin parfois.</li>
</ul>
<p>MAJ Version 1.1 :</p>
<ul>
<li>Le plugin est maintenant traduit en français et anglais ainsi qu&#8217;en italien et espagnol (pas totalement), merci à Celena et Piko</li>
<li>Possibilité de trier les articles : les plus récents, les plus anciens ou aléatoire.</li>
<li>Possibilité d&#8217;afficher une infobulle sur chaque lien, contenant le texte d&#8217;introduction de l&#8217;article.</li>
<li>Possibilité de limiter l&#8217;affichage de cette introduction, en spécifiant un nombre de lettres à afficher.</li>
</ul>
<p>La principale fonctionnalité de ce plugin résulte dans le fait qu&#8217;il<strong> permet d&#8217;afficher</strong>, <strong>en dessous de vos articles</strong>, des <strong>liens</strong> <strong>vers d&#8217;autres articles relatifs</strong> à celui que vous visionnez. Cette corrélation s&#8217;effectue <strong>automatiquement</strong>. En fait le plugin cherche les <strong>mots clés (TAGS)</strong> de vos articles et créé des liens entre les articles possédant des <strong>mots clés similaires</strong>.</p>
<p><span style="text-decoration: underline;">A cela s&#8217;ajoutent plusieurs critères, qui vous permettront de mieux filtrer votre affichage :</span></p>
<ul>
<li>possibilité de <strong>définir le nombre de liens</strong> vers des articles relatifs <strong>à afficher</strong></li>
<li>possibilité de <strong>définir les sections</strong> dans lesquelles le plugin cherche à <strong>matcher des mots clés</strong>, par défaut le plugin cherche dans toutes les sections</li>
<li>possibilité de <strong>définir les catégories</strong> dans lesquelles le plugin cherche <strong>à matcher des mots clés</strong>, par défaut le plugin cherche dans toutes les catégories</li>
<li>possibilité de <strong>définir dans quelles sections le plugin doit apparaitre</strong>, par défaut toutes</li>
<li>possibilité de <strong>définir dans quelles catégories le plugin doit apparaitre</strong>, par défaut toutes</li>
<li>possibilité d&#8217;<strong>entrer des mots clés interdits</strong>, qui ne seront pas matché par le plugin</li>
</ul>
<h2><img title="RAT" src="http://www.benjamin-agullana.fr/images/articles/plg_relatedarticlestags.gif" alt="" width="405" height="294" /></h2>
<p>D&#8217;autre part, le plugin <strong>possède sa propre feuille de style</strong> (plugin/content/relatedArticlesTags/relatedArticlesTags.css) ainsi que <strong>ses propres fichiers de langues</strong> (disponibles de base en français et anglais), je vous laisse la joie de  le traduire et de me donner vos fichiers pour que je les ajoute au pack  d&#8217;installation, si traduction vous faites.</p>
<p>Pour toutes question ça se passe à la suite de cet article.</p>
<p>En espérant que ce plugin vous sera utile (pensez à me noter sur extensions.joomla.org, merci),</p>
<p>merci,</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/joomla/mes-plugins/related_articles_tags.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/joomla/mes-plugins/related_articles_tags.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Augmenter PHP memory_limit</title>
		<link>http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html</link>
		<comments>http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html#comments</comments>
		<pubDate>Sun, 26 Sep 2010 20:58:47 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Serveur]]></category>
		<category><![CDATA[memory_limit]]></category>
		<category><![CDATA[serveur]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=52</guid>
		<description><![CDATA[Aujourd&#8217;hui je vais étaler 3 façons très simple pour changer la valeur de &#171;&#160;memory_limit&#171;&#160;, indispensable dans l&#8217;exécution de gros script ou de grosses requêtes SQL. Les 3 astuces qui seront présentées sont toutes 3 différentes mais permettent d&#8217;arriver au même résultat. Je présenterai aussi les avantages de chacune. Ah oui mais au fait pourquoi cet]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui je vais étaler 3 façons très simple pour changer la valeur de &laquo;&nbsp;<strong>memory_limit</strong>&laquo;&nbsp;,  indispensable dans l&#8217;exécution de gros script ou de grosses requêtes  SQL. Les 3 astuces qui seront présentées sont toutes 3 différentes mais  permettent d&#8217;arriver au même résultat. Je présenterai aussi les  avantages de chacune.</p>
<p><img title="Fatal_Error" src="http://www.benjamin-agullana.fr/images/articles/fatal_error1.jpg" alt="" width="502" height="75" /><span id="more-52"></span></p>
<p>Ah oui mais au fait pourquoi cet article ? Tout simplement pour tout ceux qui en on marre des erreurs telles que :</p>
<blockquote><p>PHP Fatal error: Allowed memory size of <strong>XXX</strong> bytes exhausted (tried to allocate <strong>YYY</strong>) in un_fichier.php</p></blockquote>
<p>Allez, c&#8217;est par là que ca se passe !</p>
<p><img title="Lire la suite…" src="http://www.benjamin-agullana.fr/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p>En  fait, si vous obtenez une erreur de ce genre c&#8217;est tout simplement car  votre script est trop gros pour votre serveur Apache. Il faut savoir que  d&#8217;origine, memory_limit est définie à 8MB,dans le fichier php.ini  (c&#8217;est dans ce fichier que sont définies toutes les variables d&#8217;Apache)  ,ce qui est relativement peu quand on a une grosse base de données par  exemple et que l&#8217;on veut exécuter des requêtes importantes.</p>
<p>La solution ? Augmenter cette valeur !</p>
<h2><span style="color: #99cc00;">1ere façon : modifier php.ini</span></h2>
<p>Si vous avez accès au <strong>fichier php.ini</strong> de votre serveur ouvrez-le avec votre editeur de texte préféré (en  local par exemple, avec WAMP, il se trouve dans  wamp/Apache2/bin/php.ini).</p>
<p>Là, faites une recherche (CTRL + F généralement) avec le mot clé &laquo;&nbsp;<em>memory_limit</em>&laquo;&nbsp;. Une fois le mot trouvé, remplacé la valeur par :</p>
<blockquote><p><strong>memory_limit = 32M</strong> ; Maximum amount of memory a script may consume (8MB)</p></blockquote>
<p>(ce qui suit le ; est un commentaire, on s&#8217;en fiche <img src='http://www.benjamin-agullana.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). 32M est une valeur raisonnable.</p>
<p>Mais  vous pouvez ajustezr la valeur à vos souhaits, cependant sachez que plus  vous réglerez une valeur élevée plus votre site peut s&#8217;exposer à du  danger. En effet, avec cette méthode vous permettez l&#8217;exécution de gros  script ou grosses requêtes SQL sur tout votre site, du coup si une <span style="text-decoration: underline;">personne malveillante</span> voulez soutirer un maximum de données elle pourrait le faire.</p>
<p>Pensez à <strong>relancer</strong> votre <strong>serveur Apache</strong> pour que les modifications prennent effet !</p>
<h2><span style="color: #99cc00;">2eme façon : modifier .htaccess</span></h2>
<p>Cette méthode est souvent nécessaire <strong>si vous n&#8217;avez pas accès au fichier php.ini</strong> (la plupart du temps c&#8217;est le cas si vous êtes chez un hébergeur). La  solution est de modifier la valeur du memory_limit en insérant une petit  ligne de code dans votre fichier .htaccess (si vous n&#8217;en n&#8217;avez pas,  créez-en un avec votre éditeur de texte, renommez le .htaccess).</p>
<p>Je vous conseille de créer ce fichier <strong>spécifiquement</strong> dans le dossier où se trouve le fichier qui détient le script trop  volumineux et donc auteur de votre visite sur mon blog (j&#8217;espère que  vous me suivez :p ).</p>
<p>Bref voici la ligne à ajouter dans le fichier :</p>
<blockquote><p>php_value memory_limit 64M</p></blockquote>
<p>Ce changement sera local,  et s&#8217;appliquera donc seulement à l&#8217;ensemble des script présents dans  les fichiers enfants de votre dossier contenant le fichier .htaccess  (relisez bien c&#8217;est compréhensible, si si, je vous assure ! ).</p>
<h2><span style="color: #99cc00;">3eme façon : changer memory_limit dans votre script php !</span></h2>
<p>Cette dernière méthode est la mieux adaptée à mon sens, car c&#8217;est la moins dangereuse. En effet, nous allons allouer plus de place à l&#8217;exécution d&#8217;<strong>un</strong> <strong>script</strong> bien précis puisque nous allons insérer une ligne de code PHP qui va permettre de <strong>modifier la valeur</strong> de la <strong>variable</strong> <span style="text-decoration: underline;">seulement</span> à l&#8217;exécution dudit script ! De plus, vous pouvez la faire sans avoir besoin des permissions d&#8217;accès au php.ini ou .htaccess.</p>
<p>Voici le bout de code (à placer dans votre fichier php, au dessus du satané script volumineux) :</p>
<blockquote><p>ini_set(&#8216;memory_limit&#8217;,&#8217;64M&#8217;);</p></blockquote>
<p>Voilà c&#8217;est tout pour aujourd&#8217;hui, un grand merci à <a href="http://www.ducea.com/2008/02/14/increase-php-memory-limit/">MDLog:/sysadmin</a>. Si vous allez la moindre question posez là !</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/serveur/augmenter-php-memory_limit.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Joomla 1.5! Utiliser l’API Joomla dans n’importe quelle page PHP externe à Joomla!</title>
		<link>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html</link>
		<comments>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html#comments</comments>
		<pubDate>Sun, 26 Sep 2010 20:56:48 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Joomla! 1.5]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=49</guid>
		<description><![CDATA[Certaines personnes m’ont demandé comment faire pour intégrer l’API Joomla dans des pages PHP externes (standalone) et c’est donc tout logiquement que j’ai décidé d’écrire un petit article à ce sujet. Grâce à ces quelques lignes de codes vous pourrez utiliser pleinement l’API avec notamment les class d’accès à la Base de données, aux informations]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="joomla" src="http://www.benjamin-agullana.fr/images/articles/joomla_logo_vert_color.gif" alt="joomla" width="200" height="137" />Certaines personnes m’ont demandé  comment faire pour intégrer l’API Joomla dans des pages PHP externes  (standalone) et c’est donc tout logiquement que j’ai décidé d’écrire un  petit article à ce sujet.</p>
<p>Grâce à ces quelques lignes de codes  vous pourrez utiliser pleinement l’API avec notamment les class d’accès à  la Base de données, aux informations utilisateurs, aux informations  session etc… Bref tout ce qui existe dans Joomla pour vous faciliter la  tâche (merci JFactory).<span id="more-49"></span></p>
<p>Voici donc le code miraculeux :</p>
<div id="highlighter_107293">
<pre escaped="true">// On définie que c'est un fichier familier à Joomla
define('_JEXEC', 1 );

define('JPATH_BASE', '../../../' );

define( 'DS','/' );

// On inclue les constantes
require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
// On inclue le framework
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );

// On inclue la fameuse class JFactory
require(JPATH_BASE.DS.'libraries/joomla/factory.php');

$mainframe =&amp; JFactory::getApplication('site');
$mainframe-&gt;initialise();</pre>
</div>
<p>Cependant pour la constante JPATH c’est à  vous de trouver le bon chemin par rapport à là où vous exécutez votre  fichier (dans mon cas je suis dans dossier comme ça :  modules/mod_mon_module/dossier/mon_fichier.php)</p>
<p>Voilà j’espère que ça vous aura aidé autant que pour moi.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla! 1.5 : Utiliser son framework</title>
		<link>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html</link>
		<comments>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html#comments</comments>
		<pubDate>Sun, 26 Sep 2010 20:47:30 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Joomla! 1.5]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=45</guid>
		<description><![CDATA[Ça fait un petit moment que je n’ai pas écrit d’article, il est donc temps de reprendre le pied ! (J’avoue qu’avec les vacances ça facilite les choses !). Aujourd’hui nous allons donc voir comment utiliser le framework de Joomla! 1.5. Je ne vais pas me lancer dans un étalage complet du framework mais plutôt]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Joomla!" src="http://www.benjamin-agullana.fr/images/articles/joomla_logo_vert_color.gif" alt="" width="200" height="137" />Ça fait un petit moment que je n’ai pas écrit d’article,  il est donc temps de reprendre le pied ! (J’avoue qu’avec les vacances ça facilite les choses !).</p>
<p>Aujourd’hui nous allons donc voir <strong>comment utiliser le framework de Joomla! 1.5</strong>. Je ne vais pas me lancer dans un étalage  complet du framework mais plutôt du strict minimum, indispensable pour <strong>h</strong><strong>acker, ou même créer des modules ou composants</strong>.<span id="more-45"></span></p>
<h2><span style="color: #99cc00;">1. Se connecter à la base de données</span></h2>
<p>Rien de plus simple, il faut créer une instance de la class JFactory :</p>
<pre escaped="true">$database = &amp;JFactory::getDBO();</pre>
<h2><span style="color: #99cc00;">2. Exécuter une requête (insertion de données dans la base)</span></h2>
<p>Maintenant que nous avons notre objet $database il suffit d’appeler la méthode setQuery pour déterminer la requête à éxécuter :</p>
<pre escaped="true"><em>//j'insère dans la table users et dans le champ username, le pseudo TOTO.
</em>$database-&gt;setQuery("INSERT INTO #__users (`username`) VALUES ('TOTO')");</pre>
<p><strong>#__user</strong>s est en fait <strong>jos_users</strong> dans ma base de données, mais Joomla! reconnait <strong>#__ comme étant le préfixe de vos tables</strong> (le mien est jos, mais le votre peut être différent, cela permet donc à  Joomla! de s’adapter quelque soit le préfixe de vos tables).</p>
<p>Puis on éxécute la requête :</p>
<pre escaped="true">$database-&gt;query();</pre>
<h2><span style="color: #99cc00;">3. Exécuter une requête (sélection de données dans la base)</span></h2>
<p>C’est bien beau d’insérer des données  dans la base, mais il est parfois utile de récupérer des données, c’est  très simple encore une fois, toujours avec le même objet, il suffit  d’appeler la méthode setQuery encore une fois (cette fois je met la  requête dans une variable, que j’appelle dans la méthode setQuery :</p>
<pre escaped="true">$query = "SELECT username FROM #__user WHERE id=1"; <em>//Je sélectionne
le pseudo où le champs id vaut 1</em>
$database-&gt;setQuery($query); <em>//J'exécute la requête</em></pre>
<p>Ensuite on traite les données récupérées pour en faire quelque chose (par exemple dans ce cas précis, les afficher) :</p>
<pre escaped="true">echo $database-&gt;LoadResult(); <em>//Ce qui écrira toto si
l'utilisateur avec l'id 1 dans ma base s'appelle toto</em></pre>
<p>Par contre si vous faites une requête qui renvoie plusieurs résultats vous devez appeler la méthode loadObjectList :</p>
<pre escaped="true">$query = "SELECT * FROM #__categories"; <em>//On prépare la requête</em>
$database-&gt;setQuery($query); <em>//On éxécute la requête</em>
$rows = $database-&gt;loadObjectList(); <em>//On charge les
résultats de la requête dans l'objet $rows </em></pre>
<pre escaped="true">foreach ($rows as $row) {</pre>
<pre escaped="true">echo $row-&gt;title ." : ". $row-&gt;description."&lt;br /&gt;"; <em>//On affiche le
titre de chaque catégorie et sa description</em></pre>
<pre escaped="true">}</pre>
<p>Et voilà vous avez les cartes en main  pour effectuer des choses simples dans Joomla! 1.5 en utilisant son  Framework et donc en limitant les failles de sécurités.</p>
<p>Pour toutes questions ça se passe à la suite de l’article dans les commentaires.</p>
<p>Enjoy !</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

