<?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>Blog AppliBox &#187; Non classé</title>
	<atom:link href="http://www.creation-site-lyon.com/category/non-classe/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.creation-site-lyon.com</link>
	<description>Création de sites internet à Lyon</description>
	<lastBuildDate>Thu, 12 Jan 2012 14:21:07 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Magento &#8211; Mise à jour version 1.51.0 à 1.6.1</title>
		<link>http://www.creation-site-lyon.com/2011/12/27/magento-mise-a-jour-version-1-51-0-a-1-6-1/</link>
		<comments>http://www.creation-site-lyon.com/2011/12/27/magento-mise-a-jour-version-1-51-0-a-1-6-1/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 13:05:09 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=722</guid>
		<description><![CDATA[Mettre à jour un Magento, çà semble facile comme ça&#8230;et ça l&#8217;est&#8230;du moment qu&#8217;on a tous les éléments en main ! Je vais décrire ici une mise à jour depuis une version 1.5.1.0 à 1.6.1.0 Faites une Backup ! Ce paragraphe pour vous dire faites une backup de votre site et aussi&#8230;faites une backup de]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F12%2F27%2Fmagento-mise-a-jour-version-1-51-0-a-1-6-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F12%2F27%2Fmagento-mise-a-jour-version-1-51-0-a-1-6-1%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Mettre à jour un Magento, çà semble facile comme ça&#8230;et ça l&#8217;est&#8230;du moment qu&#8217;on a tous les éléments en main ! Je vais décrire ici une mise à jour depuis une version 1.5.1.0 à 1.6.1.0</p>
<h2>Faites une Backup !</h2>
<p>Ce paragraphe pour vous dire faites une backup de votre site et aussi&#8230;faites une backup de votre base de données&#8230;bref tout çà pour vous dire : faites une backup !!!</p>
<h2 id="droits-mise-a-jour-magento-1.6.1">Droits devant !</h2>
<p>Comme l&#8217;avait <a title="Résoudre les problèmes de droits pour Magento Connect" href="http://www.creation-site-lyon.com/2010/05/26/resoudre-les-problemes-de-droits-sur-magento-connect/">dit</a> Raphael, il faut mieux donner les bons droits pour nous permettre de bien accéder à Magento Connect [Admin&gt; System &gt; Magento Connect &gt; Magento Connect Manager ]. Je vous invite à effectuer ces commandes sur votre répertoire où se trouve votre Magento.</p>
<p>A faire <strong>avant</strong> votre manipulation</p>
<ul>
<li>
<pre>cd &lt;votre_dossier_contenant_votre_magento&gt;;
find . -type d -exec chmod 777 {}\;
chmod 666 downloader/config.ini;</pre>
</li>
</ul>
<p>A faire <strong>après</strong> votre manipulation (pour éviter de laisser trop de fichiers sans protections)</p>
<ul>
<li>
<pre>find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
#il est possible que cette dernière ligne ne fonctionne pas
chmod o+w var media app/etc/use_cache.ser ;</pre>
</li>
</ul>
<h2 id="mise-a-jour-magento-1.6.1">Mise à jour via Magento Connect en 1.6.1</h2>
<p>On suppose maintenant que vous avez bien accès à Magento Connect et que vous êtes prêt à mettre à jour. Pourquoi ne pas tenter ?</p>
<p>Collez ce chemin dans les &laquo;&nbsp;clefs d&#8217;extensions&nbsp;&raquo; une fois sur la Connect Manager et appuyez sur Installer :</p>
<pre>http://connect20.magentocommerce.com/community/Mage_All_Latest</pre>
<p>Si tout marche, tant mieux pour vous ! N&#8217;oubliez pas de vider le cache et enjoy !</p>
<p>Sinon&#8230;</p>
<h2>Package &#8230; is invalid</h2>
<p>Si comme l&#8217;indique cet <a title="Package 'Mage_all_Latest' is invalid" href="http://kb.magenting.com/content/22/59/en/package-mage_all_latest-is-invalid.html">article</a>, vous obtenez un ensemble d&#8217;erreurs du type &laquo;&nbsp;Package Mage_All_Latest is invalid&nbsp;&raquo; alors procédez comme suit :</p>
<ol>
<li>Télécharger ce <a href="http://kb.magenting.com/images/attachments/magento-1.5.0.1-package-files.zip">fichier</a> ( ou miroir <a href="http://www.creation-site-lyon.com/wp-content/uploads/2011/12/magento-1.5.1.0-package-files.zip">ici</a> )</li>
<li>Décompressez le et copiez les fichiers dans var/package [ ceci indique les modules enregistrés dans votre ConnectManager]</li>
<li>Retournez dans Magento Connect / ou resortez et retournez ici pour actualiser la liste des packages</li>
<li>Retester ensuite le paragraphe <a href="#mise-a-jour-magento-1.6.1">ci-dessus</a></li>
</ol>
<p>Peut-être qu&#8217;il vous faudra-t-il mettre à jour &laquo;&nbsp;manuellement&nbsp;&raquo; les différents packages. Pour celà, cliquez sur Check For Upgrade (toujours dans Magento Connect) et prenez les dernières versions stables. Retentez ensuite l&#8217;installation avec le paragraphe <a href="#mise-a-jour-magento-1.6.1">ci-dessus</a> si votre version n&#8217;a pas été mis à jour.</p>
<p>Oufff&#8230;c&#8217;est réussi. N&#8217;oubliez pas de <a href="#droits-mise-a-jour-magento-1.6.1">repassez</a> les droits en mode sécurité si vous les aviez changé.</p>
<p>N&#8217;hésitez pas à nous <a title="Contactez-nous !" href="http://www.applibox.com/">contacter</a> pour plus d&#8217;informations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2011/12/27/magento-mise-a-jour-version-1-51-0-a-1-6-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Merchant Center et Magento</title>
		<link>http://www.creation-site-lyon.com/2011/06/29/google-merchant-center/</link>
		<comments>http://www.creation-site-lyon.com/2011/06/29/google-merchant-center/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 12:50:23 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[Applications web]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Référencement]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=671</guid>
		<description><![CDATA[Lorsqu&#8217;on a un site e-commerce, il est important de travailler le référencement. Nous allons découvrir comment booster ses ventes grâce à l&#8217;outil Google Shopping (ou Merchant Center) Création de compte Google Merchant Center Afin de vous lancer dans l&#8217;aventure Google Shopping, il vous faut tout d&#8217;abord un compte chez Google. Une fois celui-ci créé avec]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F06%2F29%2Fgoogle-merchant-center%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F06%2F29%2Fgoogle-merchant-center%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Lorsqu&#8217;on a un site e-commerce, il est important de travailler le <a title="Comment référencer son site ?" href="http://www.applibox.com/referencement-webmarketing-lyon">référencement</a>. Nous allons découvrir comment booster ses ventes grâce à l&#8217;outil Google Shopping (ou Merchant Center)</p>
<h2>Création de compte Google Merchant Center</h2>
<p>Afin de vous lancer dans l&#8217;aventure Google Shopping, il vous faut tout d&#8217;abord un compte chez Google. Une fois celui-ci créé avec l&#8217;ensemble des informations de votre entreprise, vous pouvez commencer à utiliser l&#8217;outil en vous rendant sur <a href="http://www.google.fr/merchants/dashboard">http://www.google.fr/merchants/dashboard</a> . Vour retrouverez dans vos paramètres les différentes informations que vous avez préalablement rempli. Pas de panique, vous pourrez les changer !</p>
<h2>Formatages des flux</h2>
<p>Google Merchant Center travaille avec les flux pour inscrire dans ses bases de données vos différents produits. Vous devez donc être capable de lui fournir un formattage précis afin qu&#8217;il puisse le lire. Nous détaillerons ci-dessous le formatage texte. Pour d&#8217;autres, notamment xml, je vous renvoie vers leur <a title="API Google pour Merchant Center" href="http://www.google.com/support/merchants/bin/answer.py?answer=160567" target="_self">API</a>.</p>
<p><strong>Configuration</strong> de votre flux texte</p>
<ol>
<li>Rendez-vous dans <a href="http://www.google.fr/merchants/merchantdashboard">votre tableau de bord</a> Merchant Center</li>
<li>Sélectionnez l&#8217;onglet &laquo;&nbsp;flux de données&nbsp;&raquo; dans le menu de gauche</li>
<li>Cliquez sur <strong>Nouveaux flux de données</strong></li>
<li>Remplir le Pays cible ainsi que le nom de votre flux (sans espaces)</li>
<li>Enregistrer les modifications. Votre flux sera <strong>créé</strong> !</li>
</ol>
<p>Afin de minimiser les erreurs, vous pouvez lui indiquer comment vous aller formater votre fichier en cliquant sur le bouton <strong>Modifier</strong> a coté du nom de votre flux. Vous pourrez ainsi sélectionner le format du fichier, l&#8217;encodage, la langue, etc&#8230;Référer vous à l&#8217;API pour connaître le libéllé des champs en français. En détection automatique anglais, c&#8217;est assez simple !</p>
<p>Voici un exemple avec les champs obligatoires :</p>
<pre>id    title    link    price    description    condition
1    "Niveau laser rotatif automatique"    http://www.topographie-laser.eu/nouveau-telemetre-leica-disto-d5/laser-de-chantier/laser-interieurexterieur-rotatif/niveau-laser-rotatif-automatique-grl300-hv-bosch-trepied-alu-mire-4m    795.00    "Niveau laser rotatif automatique"    new</pre>
<p>On constate que :</p>
<ul>
<li>La tabulation est le caractère de délimitation</li>
<li>les champs textes peuvent être entourés de quotes</li>
<li>Il est nécessaire d&#8217;indiquer les colonnes sur la première ligne</li>
</ul>
<p>Cliquer maintenant sur <strong>Importation manuelle</strong> (sur le flux) &gt; Sélectionner le fichier et Importer ! Vous pouvez constater les erreurs (ou pas) dans l&#8217;onglet Produit. La validation par Google de vos produits peut-être longue (sablier sur ligne produit).</p>
<p>Vous pouvez aussi programmer une <strong>importation automatique</strong>. Pour cela, sur le flux de donnés, cliquez sur Créer (à coté de Aucun) et renseignez l&#8217;adresse du fichier.</p>
<h2>Merchant Center et Magento</h2>
<p>L&#8217;outil d&#8217;e-commerce que <a title="Votre site Magento avec AppliBox" href="http://www.applibox.com/">nous proposons</a>, propose d&#8217;interfacer directement le site internet avec la base Google (Google Base). <strong>Plus besoin de configurer les flux</strong> et formatter les fichiers ! Magento se charge de le faire pour vous.</p>
<p>Comment réaliser cette liaison ?</p>
<ol>
<li>Tout d&#8217;abord, assurez vous d&#8217;avoir configurer votre Merchant Center comme vu ci-dessus.</li>
<li>Suivre ce <a title="Magento et Google Base France" href="http://www.jbcreation.fr/2011/02/22/google-base-et-pourquoi-pas-la-france-2/">tutoriel</a> si vous souhaitez inscrire des produits avec Pays = France pour Magento. Oui, c&#8217;est obligatoire sinon vos prix seront en $ !</li>
</ol>
<p>Ensuite toutes les manipulations se font du coté de Magento.</p>
<ol>
<li>Se rendre dans l&#8217;administration du site</li>
<li>Système &gt; Configuration &gt; API Google &gt; Onglet Google Base</li>
<li>Renseignez vos identifiants. Pour pouvoir sélectionner la <strong>France</strong> comme pays <strong>cible</strong>, (si vous avez bien suivi ce <a title="La france pour Google Base" href="http://www.jbcreation.fr/2011/02/22/google-base-et-pourquoi-pas-la-france-2/">tutoriel</a>).</li>
</ol>
<p>Vous êtes donc prêt à créer le mapping pour la synchronisation avec Google Merchant Center. Pour celà :</p>
<ol>
<li>Assurez vous que vos jeux d&#8217;attributs possèdent tous les champs minimums (<a title="Champs requis Google Base" href="http://www.google.com/support/merchants/bin/answer.py?answer=188494" target="_blank">rappel</a>). Généralement il manque l&#8217;attribut &laquo;&nbsp;condition&nbsp;&raquo; &#8211; mettez le à &laquo;&nbsp;new&nbsp;&raquo; par défaut.</li>
<li>Puis Catalogue &gt; Google Base &gt; Gérer les Attributs : créez en un.<strong> Sur la version 1.4.0.1</strong>, en mettant France, le site plante. <strong>Laissez</strong> donc <strong>USA</strong>. Pas de soucis, vos prix seront tout de même en € ! Choisissez Products ensuite.</li>
<li>Créez le mapping des champs que vous souhaitez lui transmettre. Pas besoin de préciser l&#8217;URL, Google la trouve tout seul <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Validez puis Catalogue &gt; Google Base &gt; Gérer les articles : sélectionnez en bas les articles que vous souhaitez synchroniser puis cliquer sur ajouter (liste déroulante à droite)</li>
</ol>
<p><strong><em>Problèmes rencontrés avec Magento</em></strong></p>
<p>Page blanche dans Google Base &gt; Gérer les attributs =&gt; réindexer la base ( Configuration &gt; Index management ) et vider le cache !</p>
<h2>Ressources pour Magento Google Base</h2>
<p>http://www.ehumeurs.com/google-base-et-shopping-sur-magento.html</p>
<p>http://www.jbcreation.fr/2011/02/22/google-base-et-pourquoi-pas-la-france-2/</p>
<p><a href="http://www.google.com/support/merchants/bin/answer.py?answer=188494">http://www.google.com/support/merchants/bin/answer.py?answer=188494</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2011/06/29/google-merchant-center/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Import Magento en arrière plan</title>
		<link>http://www.creation-site-lyon.com/2011/03/03/import-magento-en-arriere-plan/</link>
		<comments>http://www.creation-site-lyon.com/2011/03/03/import-magento-en-arriere-plan/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 16:01:10 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=651</guid>
		<description><![CDATA[Parfois Magento peut être lent à s&#8217;éxécuter. C&#8217;est d&#8217;ailleurs le cas sur les profils avancés d&#8217;import , export&#8230; Pour palier à cet obstacle voilà un petit script, pouvant être lancé sans être connecté pour lancer l&#8217;import/export indépendamment de l&#8217;application. Attention à la sécurité tout de même&#8230; Pour lancer ce script : http://monsite.fr/monscript.php/?file=NomDuFichier.csv Vous devez avoir]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F03%2F03%2Fimport-magento-en-arriere-plan%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F03%2F03%2Fimport-magento-en-arriere-plan%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Parfois Magento peut être <strong>lent</strong> à s&#8217;éxécuter. C&#8217;est d&#8217;ailleurs le cas sur <strong>les profils avancés d&#8217;import</strong> , export&#8230;</p>
<p>Pour palier à cet obstacle voilà un <strong>petit script</strong>, pouvant être lancé sans être connecté pour lancer l&#8217;import/export indépendamment de l&#8217;application. Attention à la sécurité tout de même&#8230;</p>
<p>Pour lancer ce script :</p>
<p>http://monsite.fr/monscript.php/?file=<strong>NomDuFichier.csv</strong></p>
<p><strong>Vous devez avoir au préalable placer votre fichier d&#8217;import dans /var/import/ ou un chemin particulier en fonction de votre profil</strong></p>
<pre>
<div id="_mcePaste">require_once 'app/Mage.php';</div>
<div id="_mcePaste">umask(0);</div>
<div id="_mcePaste">Mage::app();</div>
<div id="_mcePaste">$profileId = 17; <strong>//Insérer ici le profil d'import /export ( Système &gt; Importer/Exporter &gt; Colonne Id )</strong></div>
<div id="_mcePaste">$filename = Mage::app()-&gt;getRequest()-&gt;getParam('files'); // set the filename that is to be imported - file needs to be present in var/import directory</div>
<div id="_mcePaste">if (!isset($filename))  {</div>
<div id="_mcePaste">   die("No file has been set!");</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">$logFileName= $filename.'.log';</div>
<div id="_mcePaste">$recordCount = 0;</div>
<div id="_mcePaste">Mage::log("Import Started",null,$logFileName);</div>
<div id="_mcePaste">$profile = Mage::getModel('dataflow/profile');</div>
<div id="_mcePaste">$userModel = Mage::getModel('admin/user');</div>
<div id="_mcePaste">$userModel-&gt;setUserId(0);</div>
<div id="_mcePaste">Mage::getSingleton('admin/session')-&gt;setUser($userModel);</div>
<div id="_mcePaste">if ($profileId) {</div>
<div id="_mcePaste">    $profile-&gt;load($profileId);</div>
<div id="_mcePaste">    if (!$profile-&gt;getId()) {</div>
<div id="_mcePaste">       Mage::getSingleton('adminhtml/session')-&gt;addError('The profile you are trying to save no longer exists');</div>
<div id="_mcePaste">    }</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">Mage::register('current_convert_profile', $profile);</div>
<div id="_mcePaste">$profile-&gt;run();</div>
<div id="_mcePaste">$batchModel = Mage::getSingleton('dataflow/batch');</div>
<div id="_mcePaste">if ($batchModel-&gt;getId()) {</div>
<div id="_mcePaste">      if ($batchModel-&gt;getAdapter()) {</div>
<div id="_mcePaste">      $batchId = $batchModel-&gt;getId();</div>
<div id="_mcePaste">      $batchImportModel = $batchModel-&gt;getBatchImportModel();</div>
<div id="_mcePaste">      $importIds = $batchImportModel-&gt;getIdCollection();</div>
<div id="_mcePaste">      $batchModel = Mage::getModel('dataflow/batch')-&gt;load($batchId);</div>
<div id="_mcePaste">      $adapter = Mage::getModel($batchModel-&gt;getAdapter());</div>
<div id="_mcePaste">      foreach ($importIds as $importId) {</div>
<div id="_mcePaste">        $recordCount++;</div>
<div id="_mcePaste">        try{</div>
<div id="_mcePaste">            $batchImportModel-&gt;load($importId);</div>
<div id="_mcePaste">            if (!$batchImportModel-&gt;getId()) {</div>
<div id="_mcePaste">                $errors[] = Mage::helper('dataflow')-&gt;__('Skip undefined row');</div>
<div id="_mcePaste">                continue;</div>
<div id="_mcePaste">            }</div>
<div id="_mcePaste">            $importData = $batchImportModel-&gt;getBatchData();</div>
<div id="_mcePaste">            try {</div>
<div id="_mcePaste">                $adapter-&gt;saveRow($importData);</div>
<div id="_mcePaste">            } catch (Exception $e) {</div>
<div id="_mcePaste">            Mage::log($e-&gt;getMessage(),null,$logFileName);</div>
<div id="_mcePaste">            continue;</div>
<div id="_mcePaste">            }</div>
<div id="_mcePaste">            if ($recordCount%20 == 0) {</div>
<div id="_mcePaste">                Mage::log($recordCount . ' - Completed!!',null,$logFileName);</div>
<div id="_mcePaste">            }</div>
<div id="_mcePaste">        } catch(Exception $ex) {</div>
<div id="_mcePaste">        Mage::log('Record# ' . $recordCount . ' - SKU = ' . $importData['sku']. ' - Error - ' . $ex-&gt;getMessage(),null,$logFileName);</div>
<div id="_mcePaste">    }</div>
<div id="_mcePaste">  }</div>
<div id="_mcePaste">        foreach ($profile-&gt;getExceptions() as $e) {</div>
<div id="_mcePaste">            Mage::log($e-&gt;getMessage(),null,$logFileName);</div>
<div id="_mcePaste">        }</div>
<div id="_mcePaste">   }</div>
<div id="_mcePaste">}</div>
</pre>
<p>Voilà pour votre prochain import <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <strong>Enjoy</strong> !</p>
<p>Liens <strong>en rapport</strong> avec Magento</p>
<p><a href="http://www.creation-site-lyon.com/tag/magento/">http://www.creation-site-lyon.com/tag/magento/</a></p>
<p>Besoin d&#8217;un <strong>site magento</strong> ?</p>
<p><a title="Site Magento e-commerce ?" href="http://www.applibox.com">http://www.applibox.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2011/03/03/import-magento-en-arriere-plan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Changer le design du back end Magento</title>
		<link>http://www.creation-site-lyon.com/2011/01/25/changer-le-design-du-back-end-magento/</link>
		<comments>http://www.creation-site-lyon.com/2011/01/25/changer-le-design-du-back-end-magento/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 11:48:54 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=632</guid>
		<description><![CDATA[Vous avez déja modifier le design de votre frontend Magento ? Vous souhaitez à présent modifier l&#8217;administration du site ? Voilà un tutoriel expliquant les étapes à suivre. Commencez par créer l&#8217;arborescence app/code/local/MonInterfaceAdmin/Adminhtml/Block et copiez le fichier Page.php présent dans /app/code/core/Mage/Adminhtml/Block/ Une fois copié, modifiez le nom de la classe en modifiant Mage_Adminhtml_Block_Page par MonInterfaceAdmin_Adminhtml_Block_Page et vider]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F01%2F25%2Fchanger-le-design-du-back-end-magento%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F01%2F25%2Fchanger-le-design-du-back-end-magento%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Vous avez déja modifier le design de votre frontend Magento ? Vous souhaitez à présent modifier l&#8217;administration du site ? Voilà un tutoriel expliquant les étapes à suivre.</p>
<p>Commencez par créer l&#8217;arborescence</p>
<pre>app/code/local/<strong>MonInterfaceAdmin</strong>/Adminhtml/Block</pre>
<p>et copiez le fichier Page.php présent dans</p>
<pre>/app/code/core/Mage/Adminhtml/Block/</pre>
<p>Une fois copié, modifiez le nom de la classe en modifiant</p>
<pre><strong>Mage_Adminhtml_Block_Page</strong> par <strong>MonInterfaceAdmin_Adminhtml_Block_Page</strong></pre>
<p>et vider le contenu de la classe et <strong>insérer uniquement le constructeur</strong></p>
<pre>public function __construct(){
   Mage::getDesign()-&gt;setTheme('MonInterfaceAdmin');
}</pre>
<p>On indique donc à Magento où aller chercher le dossier de design. Il se basera ainsi sur le dossier app/design/adminhtml/MonInterfaceAdmin.</p>
<p>Il faut aussi copier le dossier dans <strong>skin/adminhtml</strong></p>
<p>Je vous conseille de copier le contenu du dossier default de adminhtml et de repartir de là.</p>
<p>La dernière étape consiste à <strong>rediriger</strong> magento sur votre classe Page.php. Je ne suis pas sur des modifications à effectuer selon les versions</p>
<p>Soit on <strong>surcharge</strong> le fichier Action.php dans app/code/local/Mage/Adminhtml/Controller et on change</p>
<pre>Mage::getDesign()
 -&gt;setArea($this-&gt;_currentArea)
 -&gt;setPackageName((string)Mage::getConfig()-&gt;getNode('stores/admin/design/package/name'))
 -&gt;setTheme((string)Mage::getConfig()-&gt;getNode('stores/admin/design/theme/default'))
 ;</pre>
<p>par</p>
<pre>Mage::getDesign()-&gt;setArea('MonInterfaceAdmin')
 -&gt;setPackageName('MonInterfaceAdmin')
 -&gt;setTheme('default');</pre>
<p>Soit j&#8217;ai trouvé une autre solution (non testée)</p>
<p>Pour celà ouvrez le fichier<strong> /app/etc/local.xml</strong></p>
<p>Dans le block adminhtml</p>
<pre>&lt;adminhtml&gt;
          &lt;rewrite&gt;
                &lt;page&gt;Ami2CVAdmin_Adminhtml_Block_Page&lt;/page&gt;
	&lt;/rewrite&gt;          
&lt;/adminhtml&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2011/01/25/changer-le-design-du-back-end-magento/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Site Internet avec Django</title>
		<link>http://www.creation-site-lyon.com/2011/01/06/site-internet-avec-django/</link>
		<comments>http://www.creation-site-lyon.com/2011/01/06/site-internet-avec-django/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 13:49:03 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[Applications web]]></category>
		<category><![CDATA[développement web]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=587</guid>
		<description><![CDATA[Après Magento, eZPublish, Symfony nous voilà lancé dans l&#8217;aventure Django CMS. Ce logiciel s&#8217;appuie sur le framework Django écrit en python . Comment installer le framework Django ? L&#8217;installation du Framework est rapide. Il faut au préalable avoir installé un version de python ( déja installée sous Ubuntu ). Commençons par télécharger et installer Django]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F01%2F06%2Fsite-internet-avec-django%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F01%2F06%2Fsite-internet-avec-django%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Après <a title="Articles sur Magento" href="http://www.creation-site-lyon.com/?s=magento">Magento</a>, <a title="eZPublish chez AppliBox" href="http://www.creation-site-lyon.com/?s=eZPublish">eZPublish</a>, Symfony nous voilà lancé dans l&#8217;aventure Django CMS. Ce logiciel s&#8217;appuie sur le framework Django écrit en <a title="Qu'est-ce que python ?" href="http://www.creation-site-lyon.com/2010/12/21/bien-debuter-avec-python/">python </a>.</p>
<h2>Comment installer le framework Django ?</h2>
<p>L&#8217;installation du Framework est rapide. Il faut au préalable avoir installé un version de python ( déja installée sous Ubuntu ).</p>
<p>Commençons par télécharger et installer Django</p>
<pre>#Après téléchargement ici <a href="http://www.djangoproject.com/download/1.2.4/tarball/">http://www.djangoproject.com/download/1.2.4/tarball/</a>
tar xzvf Django-1.2.4.tar.gz
cd Django-1.2.4
sudo python setup.py install</pre>
<p>L&#8217;installation se fait dans <strong>/usr/local/lib/python2.6/dist-package/</strong></p>
<p>Si vous n&#8217;etes pas sur que l&#8217;installation s&#8217;est bien déroulée, lancer python dans un terminal</p>
<pre>python
# puis tapez
&gt;&gt;&gt; import django
&gt;&gt;&gt; print django.get_version()</pre>
<p>Si aucun message d&#8217;erreur s&#8217;affiche, la version de Django installée devrait etre affichée.</p>
<p>Si vous souhaitez installer le <strong>mod_python pour apache</strong> ( plus d&#8217;informations : <a id="internal-source-marker_0.14247773533503405" href="http://www.howtoforge.com/embedding-python-in-apache2-with-mod_python-debian-etch" target="_blank">http://www.howtoforge.com/embedding-python-in-apache2-with-mod_python-debian-etch</a>)</p>
<pre>apt-get install libapache2-mod-python</pre>
<p>Pour avoir des interactions avec la base de données vous aurez besoin du paquet <strong>python-mysqldb.</strong></p>
<h2>Installation de Django CMS</h2>
<p>Maintenant que le framework est installé, il nous faut télécharger les plugins pour le module CMS</p>
<p>Avant celà, on va créér le dossier qui hébergera le site</p>
<pre>#Se placer là où vous souhaiter installer le site
django-admin.py startproject MonPremierDjangoCms</pre>
<p>Il faut maintenant télécharger le module CMS<a id="internal-source-marker_0.14247773533503405" href="http://www.django-cms.org/en/downloads/"> :http://www.django-cms.org/en/downloads/</a></p>
<p>Une fois téléchargé et décompressé, placez vous dans le dossier puis</p>
<pre>sudo python setup.py install</pre>
<p>Toutes les dépendances seront installées. (mptt, south, publisher, etc&#8230;)</p>
<p>Modifiez ensuite les fichiers de configuration (settings.py), <a title="Configuration des fichiers pour installer Django CMS !" href="http://www.creation-site-lyon.com/2011/01/06/configuration-de-django-cms/ ">comme dans cet article</a>, pour lui indiquer quels plugins le projet doit utiliser.</p>
<p>Pour tester que tout fonctionne, lancer le serveur</p>
<pre>#Lancement du serveur <strong>après s’etre placé</strong> dans le nouveau dossier
python manage.py runserver</pre>
<p>Puis rendez-vous sur</p>
<pre>http://localhost:8000</pre>
<p>Si vous souhaitez démarer le serveur sur un autre port (ex : 8500 )</p>
<pre>python manage.py runserver 8500</pre>
<h2>Liens pour Django</h2>
<p><a title="Documentation officielle Django" href="http://docs.djangoproject.com/en/1.2/" target="_blank">http://docs.djangoproject.com/en/1.2/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2011/01/06/site-internet-avec-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration de Django CMS</title>
		<link>http://www.creation-site-lyon.com/2011/01/06/configuration-de-django-cms/</link>
		<comments>http://www.creation-site-lyon.com/2011/01/06/configuration-de-django-cms/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 13:48:46 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[Applications web]]></category>
		<category><![CDATA[développement web]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=602</guid>
		<description><![CDATA[Après avoir installé le framework Django et téléchargé les plugins adéquats, il nous faut configurer les fichiers du projet settings.py et urls.py. Si vous ne modifiez par ces fichiers, rien ne fonctionnera. Pensez à bien installer toutes les dépendances en utilisant easy_install ou pip. http://django-cms.readthedocs.org/tutorial.html#templates Le fichier settings.py C&#8217;est le fichier principal de configuration du]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F01%2F06%2Fconfiguration-de-django-cms%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2011%2F01%2F06%2Fconfiguration-de-django-cms%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Après avoir installé <a title="Installer Django et plugins" href="http://www.creation-site-lyon.com/2011/01/03/site-internet-avec-django/">le framework Django</a> et téléchargé les plugins adéquats, il nous faut configurer les fichiers du projet settings.py et urls.py. Si vous ne modifiez par ces fichiers, rien ne fonctionnera. Pensez à bien installer toutes les dépendances en utilisant easy_install ou pip. <a href="http://django-cms.readthedocs.org/tutorial.html#templates">http://django-cms.readthedocs.org/tutorial.html#templates</a></p>
<h2>Le fichier settings.py</h2>
<p>C&#8217;est le <strong>fichier principal</strong> de configuration du projet. Il permet à Django de connaitre les paramètres de connexion, de connaitre les plugins installés,etc&#8230;</p>
<h3>Configuration de la connexion à la base de données ( PhpMyAdmin &#8211; MySql )</h3>
<pre>DATABASES = {
 'default': {
      'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
      'NAME': 'djangocms',   # Or path to database file if using sqlite3.
      'USER': 'utilisateuradmin',                      # Not used with sqlite3.
      'PASSWORD': 'motdepasseAdmin',                  # Not used with sqlite3.
      'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
 'PORT': '', # Set to empty string for default. Not used with sqlite3.
    }
}</pre>
<h3>Ajout de nouvelle application</h3>
<p><tt>Par exemple pour le module CMS, vous pouvez ajouter </tt><tt>'cms'</tt><tt>,'mptt'</tt></p>
<pre>INSTALLED_APPS = (
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
....
 # Décommentez bien cette ligne pour avoir l'interface d'adminstration
 'django.contrib.admin',
...
 # Puis ajouter vos applications
 <tt>'cms'</tt><tt>,'mptt'</tt>
)</pre>
<pre>MIDDLEWARE_CLASSES = (

 'django.middleware.cache.UpdateCacheMiddleware',    'django.contrib.sessions.middleware.SessionMiddleware',    'django.contrib.auth.middleware.AuthenticationMiddleware',    'django.middleware.common.CommonMiddleware',    'django.middleware.doc.XViewMiddleware',    'django.middleware.csrf.CsrfViewMiddleware',    'cms.middleware.page.CurrentPageMiddleware',    'cms.middleware.user.CurrentUserMiddleware',    'cms.middleware.toolbar.ToolbarMiddleware',    'cms.middleware.media.PlaceholderMediaMiddleware',    'django.middleware.cache.FetchFromCacheMiddleware',)</pre>
<h2>Le fichier urls.py</h2>
<p>Je vous suggère de commencer avec le urls.py suivant, auquel on a ajouté le plugin cms</p>
<pre>from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)</pre>
<h2>Envoyer votre configuration en base de données</h2>
<p>Pour que votre projet soit utilisable, il faut insérer ces modèles en base de données. Pour celà :</p>
<pre>python manage.py syncdb</pre>
<p>Si vous obtenez l&#8217;erreur<span style="color: #ff0000;"> Error loading MySQLdb module</span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;">&#8211;&gt;</span> </span>Installer mysqldb pour python.</p>
<address> </address>
<h2>Lancement de votre serveur</h2>
<pre>#Dans le dossier où est installé votre projet
python manage.py runserver</pre>
<p><span style="color: #000000;">Pour accéder à l&#8217;administration </span></p>
<pre><span style="color: #ff0000;"><span style="color: #000000;">http://localhost:8000</span>
</span></pre>
<h2>Liens utiles</h2>
<p><a title="Documentation pour Django CMS" href="http://django-cms.readthedocs.org/tutorial.html" target="_blank">http://django-cms.readthedocs.org/tutorial.html</a></p>
<p><a href="http://fantomas.willbreak.it/blog/2009/03/10/un-cms-en-django-la-suite/">http://fantomas.willbreak.it/blog/2009/03/10/un-cms-en-django-la-suite/</a></p>
<p><a href="http://jagdeepmalhi.blogspot.com/2010/10/django-cms-installation-error.html">http://jagdeepmalhi.blogspot.com/2010/10/django-cms-installation-error.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2011/01/06/configuration-de-django-cms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bien débuter avec Python</title>
		<link>http://www.creation-site-lyon.com/2010/12/21/bien-debuter-avec-python/</link>
		<comments>http://www.creation-site-lyon.com/2010/12/21/bien-debuter-avec-python/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 12:57:41 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=559</guid>
		<description><![CDATA[Dans le cadre du développement d&#8217;un ERP, nous avons choisi le langage Python&#8230;Quels avantages représente-il ? Quelles sont ses limites ? Où trouver des informations ? Historique Non Python n&#8217;a pas été inventé ces dernières jours&#8230;En effet il a été créé par Guido van Rossum dans les années 1980. La première version publique publiée a été nommée]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F12%2F21%2Fbien-debuter-avec-python%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F12%2F21%2Fbien-debuter-avec-python%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">Dans le cadre du développement d&#8217;un ERP, nous avons choisi le langage Python&#8230;Quels avantages représente-il ? Quelles sont ses limites ? Où trouver des informations ?</p>
<h2 style="text-align: justify;">Historique</h2>
<p style="text-align: justify;">Non Python n&#8217;a pas été inventé ces dernières jours&#8230;En effet il a été créé par <a title="Guido van Rossum" href="http://fr.wikipedia.org/wiki/Guido_van_Rossum">Guido van Rossum</a> dans les années 1980. La première version publique publiée a été nommée 0.9.0 en 1991. Nous sommes actuellement en version 3.1 parue le 27 Juin 2009.</p>
<p style="text-align: justify;">Une association à but non lucratif ( <a title="Python Software Foundation" href="http://fr.wikipedia.org/wiki/Python_Software_Foundation">Python Software Foundation</a> ) se charge de suivre l&#8217;avancement du langage. Tout code, documentations et spécifications ajoutées est sujette à la licence <a title="Python Software Foundation License" href="http://fr.wikipedia.org/wiki/Python_Software_Foundation_License">Python Software Foundation License</a>.</p>
<h2 style="text-align: justify;">Avantages</h2>
<p style="text-align: justify;">Le langage Python sait se différencier par plusieurs points :</p>
<ul style="text-align: justify;">
<li>Clarté du code avec des syntaxes lisibles</li>
<li>OpenSource</li>
<li>la librairie standard offre une grande variété de services ( protocoles Internet, expressions régulières, pipes, signaux, sockets, interface graphique,&#8230;)</li>
<li>Capacité de Multithreading</li>
<li>N&#8217;a pas été conçu pour le web uniquement donc est plus généraliste</li>
<li>Tout est référence !</li>
</ul>
<h2 style="text-align: justify;">Limites</h2>
<p style="text-align: justify;">Et non ! Python n&#8217;est pas parfait, il possède ses défauts :</p>
<ul style="text-align: justify;">
<li>Communauté beaucoup moin grande que PHP par exemple</li>
<li>Le logo pour les phobiques des serpents</li>
</ul>
<h2 style="text-align: justify;">Liens</h2>
<p style="text-align: justify;"><a href="http://zigazou.wordpress.com/2009/06/05/petit-duel-python-vs-php/ " target="_blank">http://fr.wikipedia.org/wiki/Python_%28langage%29#La_communaut.C3.A9_Python</a></p>
<p style="text-align: justify;"><a href="http://zigazou.wordpress.com/2009/06/05/petit-duel-python-vs-php/ " target="_blank">http://igm.univ-mlv.fr/~dr/XPOSE/PerlVsPython/</a></p>
<p style="text-align: justify;"><a href="http://zigazou.wordpress.com/2009/06/05/petit-duel-python-vs-php/ " target="_blank">http://www.linux-center.org/articles/9812/python.html</a></p>
<p style="text-align: justify;"><a href="http://wiki.python.org/moin/PythonVsPhp" target="_blank">http://wiki.python.org/moin/PythonVsPhp</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2010/12/21/bien-debuter-avec-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forum Php 2010 2ème journée</title>
		<link>http://www.creation-site-lyon.com/2010/11/12/forum-php-2010-2eme-journee/</link>
		<comments>http://www.creation-site-lyon.com/2010/11/12/forum-php-2010-2eme-journee/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 08:12:31 +0000</pubDate>
		<dc:creator>Johann</dc:creator>
				<category><![CDATA[Intégration continue]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=513</guid>
		<description><![CDATA[Deuxième journée du forum qui a débuté (pour moi) sur une super présentation du framework Symfony. Introduction à symfony (Hugo Hamon) Tout d’abord, présentation du framework, son histoire, ses commandes utiles, son arborescence bien pensée. Le framework est basé sur le modèle MVC et met à disposition des développeurs tout un tas d’outils : Configuration]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F11%2F12%2Fforum-php-2010-2eme-journee%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F11%2F12%2Fforum-php-2010-2eme-journee%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Deuxième journée du forum qui a débuté (pour moi) sur une super présentation du framework Symfony.</p>
<h3>Introduction à symfony (Hugo Hamon)</h3>
<p>Tout d’abord, présentation du framework, son histoire, ses commandes utiles, son arborescence bien pensée. Le framework est basé sur le modèle MVC et met à disposition des développeurs tout un tas d’outils :</p>
<ul>
<li><strong> </strong>Configuration des URLs via des fichier yaml,</li>
<li><strong> </strong>Possibilité d’utiliser Propel ou Doctrine pour la gestion de BDD,</li>
<li><strong> </strong>Gestion des formulaires simplifiées,</li>
<li><strong> </strong>Gestion d&#8217;authentification et des droits,</li>
<li><strong> </strong>Gestion des normes i18n et l10n pour les langues,</li>
<li><strong> </strong>Génération de BackOffice.</li>
<li><strong> </strong>Gestion de l’envoi des mails avec la librairie swiftmailer qui gère les files d’attentes.</li>
</ul>
<p>Le framework est très sécurisé, notamment contre les failles XSS et les injections SQL. Il est même possible (et recommandé) d’exposer qu’un seul dossier de l’application au web en modifiant la config Apache.</p>
<p>Il y a un millier de plugins disponibles pour apporter de nouvelles fonctionnalités.</p>
<p>Des frameworks pour les tests unitaires et fonctionnels sont incorporés et facilite la vie des développeurs.</p>
<p>Un inconvénient du framework est qu’il est très gourmand en ressources. Pour palier à ce problème il existe une batterie d’accessoires comme le cache APC, le cache de config yaml et le cache de requête SQL Doctrine.</p>
<p>La communauté est énorme et par conséquent on peut retrouver énormément de ressources sur la toile.</p>
<p>Quelques mots sur Symfony 2. Il utilisera nécesserement php 5.3 et utilisera un conteneur d’injection de dépendances qui permettra entre autre d’instancier uniquement les objets que l’on désire et donc de gagner en mémoire.</p>
<h3>Introduction à Zend Framework (Gauthier Delamarre)</h3>
<p>Contrairement à la précédente, j’ai trouvé beaucoup moins intéressant cette conférence.</p>
<p>Par principe nous avons eu droit à une présentation de l&#8217;histoire du Framework et son fonctionnement. Comme Symfony il utilise un design MVC et exploite au mieux php 5. Le couplage du code est faible et cela donne une extrême aisance aux développeurs.</p>
<p>ZF met à disposition un ensemble de fonctionnalités (Zend_Form, Zend_Db, Zend_ACl).</p>
<p>Le script Zf.sh (ou zf.bat pour les windows) permet, tout comme symfony, de créer sa structure de code. ZF met aussi à disposition une gestion d’erreurs qui récupère toutes les exceptions soulevées.</p>
<p>ZF 2 est prévu pour bientôt. Il sera lui aussi basé sur php 5.3 et il y aura normalement un moyen «facile» de faire migrer son code depuis l’ancienne version.</p>
<p>Et maintenant direction les nuages <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Le Cloud Computing pour PHP (Guillaume Plessis)</h3>
<p>Un interlocuteur très captivant nous attendait à cette conférence.</p>
<p>Le cloud est très en vogue en ce moment mais suscite beaucoup d’interrogations.</p>
<p>Il existe 3 modèles de Cloud :</p>
<p><strong>IaaS</strong> : Infrastructure As A Service</p>
<p>Souvent basé sur la virtualisation, il s’agit en fait d’instances virtuelles jetables type Amazon que l’on utilise lorsque la demande est trop élevée en terme de montée en charge. Les avantages d’une telle solution sont que le système est totalement scalable. Les coûts sont ajouté avec en général une facturation à l’heure utilisée. De même on se décharge de la gestion du matériel. Cependant il est indispensable d’avoir un architecte pour gérer l’ensemble.</p>
<p>Dans tout ceci Php joue un rôle de pilotage (ex durant la conférence avec Amazon et quelques lignes de codes).</p>
<p>D’autres acteurs sont sur le marché : RockSpace, Gandi, SoPrivé</p>
<p><strong>PaaS</strong> : Platform As A Sevice</p>
<p>C’est un serveur d’application clé en main. Ici on ajoute la couche logiciel système c’est à dire que les offres sont dédiées à un certain langage.</p>
<p>Les acteurs dans le milieu sont Heroku, Google App Engine, Windows Azure et bientôt Baobapp (Inscription gratuite pour la beta : <a href="http://www.baobapp.com">http://www.baobapp.com</a> Profitez-en !)</p>
<p><strong>SaaS</strong> : Software As A Service</p>
<p>On ajoute encore une couche, cette fois-ci la couche application. C’est en général des applications dédiées en ligne (ex : Gmail).</p>
<p>Dans le cas de SaaS le language Php est assez restreint il possède juste un rôle de pilotage (exemple avec Zend_GData et Google Apps).</p>
<p><strong>Le cloud c’est bien</strong>, mais <strong>attention</strong> à quelques points :</p>
<ul>
<li><strong> </strong>Pas de support,</li>
<li>Attention à la sécurité, les données se «baladent» sur la toile,</li>
<li><strong> </strong>Grosse dépendance vis à vis des fournisseurs, attention au taux d’indisponibilité</li>
</ul>
<p>Le conseil de Guillaume est d’avoir un système hybride et donc des applications php capables d’être utilisées sur tous les types de cloud. Bien entendu cela nécessite un grand travail de réflexion avant d’avoir son application «cloud ready» <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Suivi de qualité &#8211; PIC, Plate-forme d&#8217;Intégration Continue (Gabriele Santini)</h3>
<p><strong> </strong></p>
<p>Présentation d’un membre de chez SQLi sur le travail qu’ils ont mené sur un projet de la Gendarmerie nationale.</p>
<p>Mr Santini a commencé par mettre  en avant toute la phase de réflexion qu&#8217;ils ont mené. Notamment de gros problèmes de code et de régressions au moment des livraisons. De même beaucoup de problèmes de maintenance sur l’application.</p>
<p>Une fois leur travail de réflexion terminé ils ont mis en place une plateforme d’intégration continue basée sur PhpUnderControl avec un ensemble de tests unitaires et fonctionnels exécutés à chaque build de l’application. Une grosse infrastructure a été mis en place pour l’occasion avec séparation des rôles sur les serveurs : seveur d’intégration, serveur PIC, serveur de versionning&#8230; L’objectif étant d’avoir un projet stable et sans régressions sur lequel la gendarmerie nationale peut avoir entièrement confiance. De même l’équipe doit avoir en temps réel des infos immédiates sur la structure du code.</p>
<p>Pour ce projet ils ont travaillé avec des partenaires comme Zend pour le côté structuration du code et AlterWay pour l’hébergement et la gestion des ressources matérielles.</p>
<p>Ils ont utilisé l’ensemble des modules présents dans PhpUnderControl (phpUnit, PMD, PHPCodeSniffer..) afin d’avoir des rapports quotidiens en xml adaptables en graph.</p>
<p>L’installation a été très difficile (cela me rappelle de bon souvenir chez <a href="http://www.applibox.com">Applibox</a> <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) avec une documentation d’installation dépassant les 100 pages ! Ils ont aussi développé un applicatif afin d’avoir aussi des résultats sur les performances des équipes.</p>
<p>L’ensemble a été «débianisé» de manière à ce que tout leur travaille s’installe en deux lignes de commandes (pas bête !).</p>
<p>A ce jour l’application n’est pas totalement livrée mais est en phase de test. Les risques devraient être mieux maitrisés et les équipes ont gagné en compétence de façon extraordinaire.</p>
<p>Certains parlent de migrer l’application sous Hudson avec l’utilisation du module Sonar.</p>
<h3>HTML 5 : prêt à l&#8217;usage ? (Stéphane Deschamps, Julien Wajsberg)</h3>
<p><strong> </strong></p>
<p>Une présentation fort intéressante ayant pour but de faire le point sur cette nouvelle technologie dont tout le monde parle. Nous avons pu ainsi aborder rapidemment quelques notions :</p>
<ul>
<li><strong> </strong>Possibilité d’utiliser des balises de structure (&lt;header&gt;&lt;/header&gt;..) et non plus des divs,</li>
<li><strong> </strong>Il existe des indicateurs de progression (barres de chargement),</li>
<li><strong> </strong>Apparition de nouveaux champs de type date, tel.. qui s’avère très utiles (exemple un Champ Téléphone sur Iphone affiche le clavier numérique),</li>
<li><strong> </strong>De même il est possible de donner des attributs de validation à ces nouveaux champs,</li>
<li><strong> </strong>Possibilité d’utiliser des canvas,</li>
<li><strong> </strong>Gestion Audio, Vidéo,</li>
<li><strong> </strong>Possibilité d’utiliser des bases de données côté client (je ne me souviens plus du nom <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</li>
</ul>
<p>Le bon conseil est de commencer à &laquo;&nbsp;saupoudrer&nbsp;&raquo; nos sites d’html5, même si les navigateurs ne le gère pas tous, le code est conçu de telle manière que celà ne peut pas nuire à un site (un champ téléphone sera transformer en champ texte sur IE6).</p>
<h3>Présentation de Doctrine 2 (Juozas Kaziukenas)</h3>
<p>Salle comble pour la présentation de Juozas. Full english bien entendu ! Voilà ce qu’il en est resté :</p>
<p>Juozas a mis en avant le fait que Doctrine 1 était basé sur Active Record et que celà était très lent ! Malgré ceci Doctrine 1 est à ce jour et selon lui le meilleur ORM. Cette version était aussi très facile d’utilisation et surtout très stable.</p>
<p>Dans la version 2 tout est revu. Il est nécessaire d’utiliser php 5.3. Le découplage est parfait : «Doctrine2 is more clever than you» <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Le fonctionnement est basé sur JPA 2 et donc fortement inspiré de Java.</p>
<p>4 points importants :</p>
<ul>
<li><strong> </strong>Utilisation de Common : Collection de classe de caching event. Avec le passage d’information directement dans les commentaires comme dans Symfony.</li>
<li><strong> </strong>Utilisation de DBAL</li>
<li><strong> </strong>EntityManager : Plus besoins du «extends» pour les classes Model. On utilise directement un composant EntityManager pour traiter les données. De ce fait il est aussi plus simple de réaliser des tests unitaires sur les classes models. Grâce à ce procéder une seule transaction peut générer un grand nombre de requêtes.</li>
<li><strong> </strong>ODM NoSQL: Enfin il est aussi possible de lier des objets à une base NoSQL comme MongoDB par exemple en utilisant le composant DocumentManager.</li>
</ul>
<p>La migration de 1 vers 2 risque d’être difficile et le refactoring sera nécessaire.</p>
<h3>APC &amp; Memcached the High Performance Duo (Ilia Alshanetsky)</h3>
<p>Encore une fois une conférence de qualité (toujours in english <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Ilia nous a présenté APC et Memcached. Voici ce que j’ai pu retenir :</p>
<p>APC est très simple à utiliser, stable et puissant. Cependant il n’est utilisable que pour Php, seulement en local. De plus il met dans le même panier le cache d’upcode et le cache utilisateur.</p>
<p>Memcached est une amélioration de Memcache. Comme APC il peut directement être utilisé depuis le code PHP. Il est cependant utilisé uniquement pour le cache Utilisateur. Il est aussi capable de gérer plusieurs serveurs en utilisant des sockets (et non pas le protocole TCP).</p>
<p>Memcached peut aussi utiliser IgBinary qui permet de sérialiser le code. Cet outil permet de gagner 45% de rapidité par rapport aux méthodes PHP Classique. A l’inverse d’APC il est aussi utilisable par d’autres langages.</p>
<h3>State of the MySQL Ecosystem (Kaj Arnö &amp; Rasmus Johansson)</h3>
<p>Je n’ai pu assister qu’à la moitié de cette conférence (mon train m’attendait <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Comme pour l’ouverture, gros problème d’affichage des slides, donc uniquement basé sur l’écoute. Kaj Arnö (SkySQL) a mis en avant le statut de Mysql depuis sont &laquo;&nbsp;transfert&nbsp;&raquo; chez Oracle.</p>
<p>Présentation des divers partenaires et des autres technos comme MariaDb.</p>
<h3>The End</h3>
<p>Fin de ce forum. Superbe édition, avec beaucoup de retours d’expérience très intéressants. Merci <a href="http://www.afup.org" target="_blank">l’AFUP</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2010/11/12/forum-php-2010-2eme-journee/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Forum PHP 2010 : 1ère journée</title>
		<link>http://www.creation-site-lyon.com/2010/11/10/forum-php-2010-1ere-journee/</link>
		<comments>http://www.creation-site-lyon.com/2010/11/10/forum-php-2010-1ere-journee/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 23:26:33 +0000</pubDate>
		<dc:creator>Johann</dc:creator>
				<category><![CDATA[développement web]]></category>
		<category><![CDATA[Intégration continue]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=504</guid>
		<description><![CDATA[Nous voici donc le jour du fameux Forum PHP. Après quelques embuches sur le parcours, je suis arrivé entier à la Cité des Sciences et de l&#8217;industrie ou attendait toute l&#8217;équipe AFUP pour nous remettre nos badges et un petit sac rempli de choses &#171;&#160;phpunny&#160;&#187;. Le temps de poser la veste et j&#8217;arrive juste après]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F11%2F10%2Fforum-php-2010-1ere-journee%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F11%2F10%2Fforum-php-2010-1ere-journee%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Nous voici donc le jour du fameux Forum PHP.</p>
<p>Après quelques embuches sur le parcours, je suis arrivé entier à la Cité des Sciences et de l&#8217;industrie ou attendait toute l&#8217;équipe AFUP pour nous remettre nos badges et un petit sac rempli de choses &laquo;&nbsp;phpunny&nbsp;&raquo;.</p>
<p>Le temps de poser la veste et j&#8217;arrive juste après la KeyNote d&#8217;ouverture. Pour la présentation de Mr Rasmus Lerdorf (Le créateur de Php lui même).</p>
<h3>PHP, son ecosystème : passé, présent et futur (Rasmus Lerdorf)</h3>
<p>Début difficile avec des problèmes d&#8217;ordinateurs pendant une petite demi-heure, Mr PHP nous a présenté son parcours et l&#8217;ensemble des versions de php en relatant pour chacune d&#8217;elles les évolutions majeures.</p>
<p>Aux questions concernant l&#8217;avenir,  PHP a atteint selon lui sa maturité et son évolution (PHP 6) s&#8217;annonce difficile. Notamment dû à un manque de développeurs et à la gestion unicode pas super nécessaire..</p>
<h3>Industrialisation PHP, l&#8217;exemple de Canal+ (Raphaël Carles)</h3>
<p>Cette conférence a été très intéressante. Nous avons appris comment la société Interakting à utiliser l&#8217;industrilation du php afin de répondre aux besoins de la société Canal +.</p>
<p>Ceux-ci sont énormes, le taux de défaillance doit être faible avec des grands pics de visites et une multitude de sites à gérer. Pour celà la société Interacting à utiliser divers outils comme la virtualisation, la sélection de frameworks connus et de plateforme comme EzPublish et ZendPlateform. Beaucoup d&#8217;audits de sécurité et d&#8217;audits d&#8217;experts php (société Zend) afin d&#8217;obtenir des délais corrects avec un rendu de qualité (10 livraisons par semaine).</p>
<p>L&#8217;ensemble des applications est surveillé par un système de monitoring et des tests de montée en charge.</p>
<p>Le nombre de livraisons étant important ils utilisent un outil de workflow relié à chaque personne susceptible de valider la livraison. Ils gagnent ainsi un temps considérable.</p>
<p>Enfin pour terminer, ils sont en train de tester Hudson comme plateforme d&#8217;intégration continue.</p>
<h3>Ligne de commande sous Linux : effrayant ? Non : indispensable ! (Pascal Martin)</h3>
<p>Un petit passage dans cette conférence reprenant l&#8217;ensemble des commandes utiles linux. N&#8217;apprenant pas énormément plus, j&#8217;ai décidé de migrer pour la conf Prestathop.</p>
<h3>e-commerce : Prestashop (Alain Folletête &amp; Lucas Cherifi)</h3>
<p>Présentation de la plateforme et surtout des dernières fonctionnalités. Etant arrivé en cours de route voici ce que j&#8217;ai retenu :</p>
<ul>
<li>Prestashop met à disposition des développeurs des WebServices,</li>
<li>Gros boulot côté performances :
<ul>
<li>Nombre de requêtes divisé par 2 sur la Homepage,</li>
<li>Possibilité de mettre en place de la réplication SQL,</li>
<li>Possibilité de configurer memcache.</li>
</ul>
</li>
<li>Travail aussi sur les perfomances navigateurs :
<ul>
<li>Objectif améliorer le google Page Speed à 98 dans la version 1.4,</li>
<li>Possibilité d&#8217;utiliser des serveurs de média différents pour les css, javascripts..</li>
<li>Smart Cache comme sous EzPublish,</li>
<li>Compression de css et JS.</li>
</ul>
</li>
<li>Back Office Themable</li>
<li>Système d&#8217;onglet du Back Office revu</li>
<li>Facilité de modification du core. Un dossier est prévu à cet effet en surchageant simplement les classes.</li>
</ul>
<p>A la question &laquo;&nbsp;Avez-vous une partie CMS efficace ?&nbsp;&raquo;, Les intervenant ont répondu que oui et un système très simple à utiliser. Peut être plus simple que celle de magento !</p>
<h3>Déjeuner</h3>
<p>Petit break Quick avec la team de la Ferme du Web et M6 Web et direction la conférence sur Magento.</p>
<h3>Magento, un framework de E-Commerce (Hubert Desmarest, Guillaume Babik &amp; Roy Rubin !)</h3>
<p>Un peu déçu de cette présentation mis à part l&#8217;intervention du fondateur Roy Rubin. Les interlocuteurs ont présentés les caractéristiques de Magento.</p>
<p>Magento est ainsi construit à l&#8217;aide du Zend Framework et sur le modèle EAV.</p>
<p>L&#8217;architecture de l&#8217;applicaition est modulaire et il est possible de surcharger les modules existants afin de les utiliser/modifier.</p>
<p>Petite présentation des avantages :</p>
<ul>
<li>Modèle très souple,</li>
<li>Utilisation avec un large choix possible de types de catalogues produits,</li>
<li>Vente croisée, incitative.. génial pour les marketeux qui ont la main directement sur le backoffice.</li>
</ul>
<p>Inconvénients :</p>
<ul>
<li>Solution peu documentée,</li>
<li>Difficile à prendre en main (4 mois minimum pour un bon développeur),</li>
<li>Il faut un hébergement adapté à la solution. Le modèle EAV nécessite beaucoup de ressources pour l&#8217;accès en base.</li>
</ul>
<p>Nous avons eu droit ensuite à la présentation d&#8217;un cas, celui de la start-up SmartBox. Il me semble que c&#8217;était la même présentation que pour le Bargento ? Puis à la présentation des projets futurs, notamment l&#8217;apparition d&#8217;application mobile, bref rien de nouveau à se mettre sous la dent <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Comprendre pour choisir son hébergement (Sébastien Lucas)</h3>
<p>Petit tour ensuite dans cette conférence dont le but était d&#8217;aider à choisir un bon hébergement pour son application web. Rien de bien spécifique mis à part quelques conseils et une démarcation des offres d&#8217;infrastuctures (type Ovh) et des offres de Services (Type Alterway) ou les sociétés sont là pour amener un réel service à l&#8217;entreprise et la conseiller. Un petit chiffre marquant : un taux de disponibilité de 99% correspond à une indisponibilité des sites pendant 7h18 dans un mois. Soyez donc prudent et visez les 99,99% <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Optimisation des performances LAMP (Guillaume Plessis &amp; Cyril Pierre de Geyer)</h3>
<p>Conférence super intéressante sur les optimisations des solutions LAMP. En parallèle une présentation d&#8217;un site drupal hébergé sur Amazon pour l&#8217;occasion. Les intervenants ont ajoutés des optimisations et fait augmenter le nombre de requêtes possibles sur le site drupal.</p>
<p>Ainsi au premier test le nombre de requêtes par seconde sans optimisations était de 15 requêtes.</p>
<p>Après l&#8217;ajout de cache d&#8217;upcode avec des solutions comme APC, Xcache et Zend Optimizer le nombre de requêtes est passé à 45 (x3) !</p>
<p>Ensuite à l&#8217;aide des optimisations spécifiées par Yahoo (Compression Gzip, Expiration dans les en têtes, Etags, Server limit..) nous sommes arrivés à 55 requêtes.</p>
<p>Un tas de conseils a été donné durant cette conférence, en voici quelques uns :</p>
<ul>
<li>Utiliser des profiler pour améliorer les performances des applications,</li>
<li>Utiliser des caches de code,</li>
<li>Desinstaller les modules apache et extensions linux qui ne sont pas utilisées,</li>
<li>Selon l&#8217;usage (serveur medias) utiliser des serveur comme nGinx,</li>
<li>Améliorer la BDD et utiliser un noyau Linux 2.6 en 64 bits pour allouer au mieux la mémoire de mysql (limiter sous les autres noyaux).</li>
</ul>
<h3>Introduction au monde No-SQL (Damien Tournoud)</h3>
<p>Pour terminer je suis aller voir la conférence sur les technos dites &laquo;&nbsp;No-SQL&nbsp;&raquo;. Damien Tournoud nous a montré les avantages de Mongo DB. Base de données non relationnelle ou l&#8217;on stocke les objets directement (sans structure relationnelle).  Cet outil va être utilisé dans la nouvelle de version de Drupal qui devrait être sortie d&#8217;ici la fin de l&#8217;année.</p>
<p>D&#8217;autres outils on été présentés ; couchDb, pheantalk, Redis.. L&#8217;attention n&#8217;était plus trop présente <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Voilà pour cette première journée. Je pense avoir fait un résumé assez succinct montrant les principales idées dévoilées. Il est temps d&#8217;aller se coucher pour une présentation du framwork Symfony demain à 9h <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>N&#8217;oubliez pas rendez vous sur notre <a href="http://www.twitter.com/applibox" target="_blank">twitter</a> <img src='http://www.creation-site-lyon.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2010/11/10/forum-php-2010-1ere-journee/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Magento Cron &amp; APC &#8211; Solution</title>
		<link>http://www.creation-site-lyon.com/2010/11/02/magento-cron-apc-solution/</link>
		<comments>http://www.creation-site-lyon.com/2010/11/02/magento-cron-apc-solution/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 09:41:16 +0000</pubDate>
		<dc:creator>fabrice</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[apc]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://www.creation-site-lyon.com/?p=493</guid>
		<description><![CDATA[A la suite de cet article, nous avons effectué des modifications dans les configurations apache et php5. Ce post nous indiquait au préalable de vérifier l&#8217;état de la variable apc.enable_cli . Après vérification, le problème ne venait pas de là. Nous avons donc vérifier les configurations du module APC pour php5-cli. Nous avons dupliqué les]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F11%2F02%2Fmagento-cron-apc-solution%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.creation-site-lyon.com%2F2010%2F11%2F02%2Fmagento-cron-apc-solution%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>A la suite de cet <a title="Problème APC &amp; Magento" href="http://www.creation-site-lyon.com/2010/10/28/magento-cron-et-apc/">article</a>, nous avons effectué des modifications dans les configurations apache et php5.</p>
<p>Ce <a title="Problème avec apc.enable_cli" href="http://www.magentocommerce.com/boards/viewthread/180339/#t249626" target="_blank">post</a> nous indiquait au préalable de vérifier l&#8217;état de la variable apc.enable_cli . Après vérification, le problème ne venait pas de là.</p>
<p>Nous avons donc vérifier les configurations du module APC pour php5-cli. Nous avons dupliqué les configurations apache pour ce module.</p>
<p>A présent, le cron du site fonctionne parfaitement, hormis la présence de warnings lors de l&#8217;exécution de :</p>
<pre>php cron.php</pre>
<pre>Warning : Potential cache slam averted for key 'SITE_CONFIG_GLOBAL_LOCK'  in path/lesite.fr/lib/Zend/Cache/Backend/Apc.php  on line 112.
 [Thu Oct 28 10:22:09 2010] [apc-warning] Potential cache slam averted  for key 'SITE_CONFIG_GLOBAL' in  path/lib/Zend/Cache/Backend/Apc.php on  line 112.
 [Thu Oct 28 10:22:10 2010] [apc-warning] Potential cache slam averted  for key 'SITE_DB_PDO_MYSQL_DDL_cron_schedule_1' in  path/lib/Zend/Cache/Backend/Apc.php on  line 112.
 [Thu Oct 28 10:22:11 2010] [apc-warning] Potential cache slam averted  for key 'SITE_CRON_LAST_SCHEDULE_GENERATE_AT' in  path/lib/Zend/Cache/Backend/Apc.php on  line 112.
 [Thu Oct 28 10:22:11 2010] [apc-warning] Potential cache slam averted  for key 'SITE_CRON_LAST_HISTORY_CLEANUP_AT' in  path/lib/Zend/Cache/Backend/Apc.php on  line 112.</pre>
<p>Ces warnings, semble-t-il, apparaissent à cause d&#8217;un conflit entre les variables apc.slam_defense et apc.write_lock. Nous avons désactivé la première.</p>
<p>Les tâches régulières de Magento marche maintenant correctement.</p>
<p>Si vous souhaitez plus de détails sur nos configurations, n&#8217;hésitez pas à nous contacter via <a title="Site AppliBox" href="http://www.applibox.com" target="_blank">www.applibox.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.creation-site-lyon.com/2010/11/02/magento-cron-apc-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

