<?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 de la société EmisFR</title>
	<atom:link href="http://emisfr.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://emisfr.info</link>
	<description>Blog officiel de la société de développement sur mesure et d infogérance EmisFR basée à Nancy en Lorraine</description>
	<lastBuildDate>Wed, 01 Jun 2011 09:38:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Patch exec_dir pour php-5.3.4</title>
		<link>http://emisfr.info/2010/12/23/patch-exec_dir-pour-php-5-3-4/</link>
		<comments>http://emisfr.info/2010/12/23/patch-exec_dir-pour-php-5-3-4/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 08:33:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Général]]></category>
		<category><![CDATA[exec_dir]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 5.3.4]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php5.3]]></category>

		<guid isPermaLink="false">http://cedric.emisfr.info/?p=228</guid>
		<description><![CDATA[Bonjour à tous, Voici le patch exec_dir pour PHP 5.3.4 php-exec-dir.5.3.4.patch MD5SUM: f6974e6702819dbebe8c464dc4906307]]></description>
			<content:encoded><![CDATA[<p>Bonjour à tous,<br />
Voici le patch <strong>exec_dir</strong> pour PHP 5.3.4</p>
<p><a href="http://emisfr.info/files/2010/12/php-exec-dir.5.3.4.patch.gz">php-exec-dir.5.3.4.patch</a><br />
MD5SUM: f6974e6702819dbebe8c464dc4906307</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/12/23/patch-exec_dir-pour-php-5-3-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patch exec_dir for php-5.3.4</title>
		<link>http://emisfr.info/2010/12/22/patch-exec_dir-for-php-5-3-4/</link>
		<comments>http://emisfr.info/2010/12/22/patch-exec_dir-for-php-5-3-4/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 15:48:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Général]]></category>
		<category><![CDATA[exec_dir]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 5.3.4]]></category>
		<category><![CDATA[php5]]></category>

		<guid isPermaLink="false">http://cedric.emisfr.info/?p=218</guid>
		<description><![CDATA[Hello, This is the patch to enabled exec_dir on PHP 5.3.4. php-exec-dir.5.3.4.patch MD5SUM: f6974e6702819dbebe8c464dc4906307]]></description>
			<content:encoded><![CDATA[<p>Hello,<br />
This is the patch to enabled <strong>exec_dir</strong> on PHP 5.3.4.</p>
<p><a href="http://emisfr.info/files/2010/12/php-exec-dir.5.3.4.patch.gz">php-exec-dir.5.3.4.patch</a><br />
MD5SUM: f6974e6702819dbebe8c464dc4906307</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/12/22/patch-exec_dir-for-php-5-3-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pourquoi migrer vers PHP 5 ?</title>
		<link>http://emisfr.info/2010/08/26/pourquoi-migrer-vers-php-5/</link>
		<comments>http://emisfr.info/2010/08/26/pourquoi-migrer-vers-php-5/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 09:25:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Général]]></category>
		<category><![CDATA[comment migrer]]></category>
		<category><![CDATA[conception]]></category>
		<category><![CDATA[injection SQL]]></category>
		<category><![CDATA[migrer]]></category>
		<category><![CDATA[objet]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php4]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[pourquoi migrer]]></category>
		<category><![CDATA[sécurité]]></category>

		<guid isPermaLink="false">http://cedric.emisfr.info/?p=209</guid>
		<description><![CDATA[Un peu d&#8217;histoire PHP est un langage de script orienté web, et massivement utilisé avec le serveur web apache et la base de données MySQL ; cet ensemble de technologies est connu sous le nom de AMP ou lorsqu&#8217;il est basé sur un système d&#8217;exploitation à base Linux, LAMP. C&#8217;est la version 3 qui a [...]]]></description>
			<content:encoded><![CDATA[<h2>Un peu d&#8217;histoire</h2>
<p>PHP est un langage de script orienté web, et massivement utilisé avec le serveur web apache et la base de données MySQL ; cet ensemble de technologies est connu sous le nom de AMP ou lorsqu&#8217;il est basé sur un système d&#8217;exploitation à base Linux, LAMP.</p>
<p>C&#8217;est la version 3 qui a amorcé la popularité de PHP, mais c&#8217;est à la version 4 qu&#8217;il a réellement été adopté en masse. Ces versions sorties en 1998 et 2000 ont aujourd&#8217;hui plus de 10ans, mais sont encore très utilisées, en particulier la 4. Certes cette dernière a subi de nombreuses mises à jour jusqu&#8217;en Août 2008 avec la version 4.4.9 mais elle n&#8217;est aujourd&#8217;hui plus maintenue officiellement (<a href="http://www.php.net/archive/2007.php#2007-07-13-1">http://www.php.net/archive/2007.php#2007-07-13-1</a>), et la dernière version date donc de plus de deux ans, une « éternité » en informatique.</p>
<p>PHP 5 est né le 13 juillet 2004 et a introduit la notion d&#8217;objet, cette version est mise à jour régulièrement. La version 5.2 a été considérée par la communauté comme une version mature (2006) et une version 5.2.14 est d&#8217;ailleur sortie il y a quelques semaines . La version 5.2.x est donc actuellement la version recommandée par de nombreux experts.</p>
<p>Plus récemment, l&#8217;équipe de PHP a sorti la version 5.3 qui apporte de nombreuses nouveautés, en particulier les espaces de nommage ou encore les archives PHP (phar). Cette dernière version signe aussi l&#8217;arrêt de la compatibilité avec PHP4. Et oui, car jusqu&#8217;à la branche 5.2.x, PHP permettait d&#8217;exécuter des applications PHP4 avec PHP5, mais avec PHP 5.3 ceci est révolu.</p>
<h2>PHP 5 une maturité accrue</h2>
<p>Il faut dire que les spécialistes attendaient cela depuis un moment. En effet PHP4 est moins rapide que PHP5, ensuite il utilise une ancienne version du langage qui permet des directives qui lorsqu&#8217;elles sont mal utilisées provoquent des failles de sécurité (le fameux &laquo;&nbsp;register globals&nbsp;&raquo; par exemple). C&#8217;est bien là tout l&#8217;enjeu du passage à PHP5, mais au delà de failles de sécurité et d&#8217;options de PHP mal utilisées, il y a la façon de programmer. Je l&#8217;ai dit tout à l&#8217;heure PHP4 à eu un franc succès, et de nombreux développeurs se sont lancés dans la création de sites internet, il ne faut pas oublier qu&#8217;à ce moment-là on était au début des années 2000 et qu&#8217;Internet était en plein essor ; beaucoup d&#8217;entreprises moyennes et grandes voulaient avoir une visibilité sur internet, c&#8217;était aussi le début du e-commerce et de la démocratisation des achats en ligne.</p>
<h2>Un manque de formation à la sécurité et à PHP</h2>
<p>Mais les développeurs ne sont pas réellement formés à ce genre de langage ou du moins aux types d&#8217;attaques et de failles auxquelles les sites et programmes peuvent être exposés. On citera par exemple la technique dite « SQL Injection » dont le célèbre site &laquo;&nbsp;thepiratebay.org&nbsp;&raquo; a été la cible il y a quelques semaines (<a href="http://www.pcinpact.com/actu/news/58165-the-pirate-bay-pirate-donnees-utilisateurs-e.htm">http://www.pcinpact.com/actu/news/58165-the-pirate-bay-pirate-donnees-utilisateurs-e.htm</a>), ou encore cette université indienne (Sikkim Manipal University http://portal.smude.edu.in/ ,<a href="http://seclists.org/fulldisclosure/2010/Jul/258"> http://seclists.org/fulldisclosure/2010/Jul/258</a>).</p>
<p>PHP 5 propose PDO qui permet non seulement de s&#8217;abstraire du type de base de données (mysql, sqlite, postgresql&#8230;), mais surtout incorpore un système d&#8217;échappement permettant d&#8217;éviter ce genre d&#8217;attaques.</p>
<p>Avec PHP 5 le style de programmation a évolué, le langage PHP s&#8217;est nettement inspiré de Java, et la notion d&#8217;objet permet au développeur de concevoir son site ou son application, comme il le ferait pour une application dite &laquo;&nbsp;lourde&nbsp;&raquo;. Cela apporte normalement un gage d&#8217;évolutivité incontestable et évite le bien connu &laquo;&nbsp;plat de spaghettis&nbsp;&raquo; (<a href="http://fr.wikipedia.org/wiki/Syndrome_du_plat_de_spaghettis">http://fr.wikipedia.org/wiki/Syndrome_du_plat_de_spaghettis</a>).</p>
<h2>Un langage mort encore très utilisé</h2>
<p>On l&#8217;a vu PHP 4 est un langage mort depuis plusieurs années (2007) et pourtant de nombreuses applications et sites internet continuent à se baser dessus, citons par exemple osCommerce (<a href="http://www.oscommerce.com/">http://www.oscommerce.com/</a>), outil permettant de déployer un site de vente en ligne rapidement. De plus les applications PHP4 sont souvent très mal programmées exposant les sites et applications à des failles de sécurité importantes. Enfin PHP 5.3 signe la fin de la compatibilité avec PHP4.</p>
<p>Il est donc nécessaire, presque vital maintenant, de migrer les applications PHP4 vers la version PHP5. Il existe pour cela deux approches que nous allons exposer juste après.</p>
<h2>Rafistoler ou repenser</h2>
<p>La première consiste à rafistoler le code PHP4 pour le rendre compatible PHP5, c&#8217;est une tâche qui nécessitera de comprendre le fonctionnement de l&#8217;application et de corriger le code, c&#8217;est un travail long, d&#8217;analyse et d&#8217;optimisation, cela pourra convenir pour un site ou une application de moins de 10 000 lignes de code, mais c&#8217;est une solution que je qualifierai de temporaire.</p>
<p>La deuxième solution est plus radicale et consiste à reprendre les choses entièrement, d&#8217;abord en évaluant les besoins, les applications PHP4 ayant logiquement au moins 5 ans, les besoins ont sans doute changé. Ensuite parce que refaire tout depuis le début permet de concevoir l&#8217;application correctement en utilisant des méthodes de modélisation (UML) et de programmer en Objet. Enfin il est paradoxalement plus rentable de tout recommencer depuis zéro, le rafistolage peut prendre plus de temps que de tout refaire pour des projets dépassant 10 000 lignes de code et surtout ne pas être sur d&#8217;aboutir à quelque chose de viable, d&#8217;où les couts supplémentaires « cachés ».</p>
<p>La programmation objet offre des avantages indéniables par rapport à la programmation procédurale, le code est mieux ordonné, on peut plus facilement représenter l&#8217;application sous forme de schémas, et cela permet de rationaliser l&#8217;application. Cela passe par une phase d&#8217;étude qui permettra de déterminer les besoins et de réaliser diverses représentations telles que les bien connus diagramme de classe ou encore cas d&#8217;utilisations.</p>
<p>PHP 5 offre de nombreuses fonctionnalités pour la programmation objet (SPL) encore une fois inspirées du monde Java.</p>
<h2>Urgent et vital, mais couteux</h2>
<p>Il est donc urgent de migrer les applications PHP4 vers des versions PHP5 plus robustes, mieux pensées, sécurisées et plus facilement évolutives. Cela a évidement un cout, mais il ne sera pas possible de repousser cette migration indéfiniment. De plus PHP4 n&#8217;est plus maintenu, les éventuelles failles de sécurité ne sont donc plus corrigées, et continuer à l&#8217;utiliser implique une prise de risque loin d&#8217;être négligeable. Le code est généralement obsolète et mal conçu ce qui pose des problèmes pour son évolution. PHP5 offre des avantages non négligeables (objets, SPL, PDO) et une sécurité accrue. Il est clair que c&#8217;est un investissement, si votre site est un site vitrine, cela pourra peut-être encore attendre un tout petit peu, mais pensez à prévoir un budget pour le refaire à moyen terme et surtout assurez-vous que votre prestataire a les compétences techniques pour réaliser un site bien conçu. Si votre application est du type intranet/extranet et que des données y sont traitées, il est urgent de migrer vers PHP5, assurez-vous que votre prestataire informatique a de l&#8217;expérience dans la conception et dans la réalisation d&#8217;une telle application, car même en PHP5 il est possible de faire du mauvais travail, c&#8217;est donc primordial de s&#8217;assurer de votre prestataire dans la réalisation d&#8217;applications bien conçues et sécurisée.</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/08/26/pourquoi-migrer-vers-php-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EmisFR rejoint Nancy Numérique</title>
		<link>http://emisfr.info/2010/06/02/emisfr-rejoint-nancy-numerique/</link>
		<comments>http://emisfr.info/2010/06/02/emisfr-rejoint-nancy-numerique/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 10:16:18 +0000</pubDate>
		<dc:creator>sberthelot</dc:creator>
				<category><![CDATA[Collaborations]]></category>
		<category><![CDATA[Général]]></category>
		<category><![CDATA[ADUAN]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[cobiz]]></category>
		<category><![CDATA[covalor]]></category>
		<category><![CDATA[EmisFR]]></category>
		<category><![CDATA[Nancy]]></category>
		<category><![CDATA[nancy numérique]]></category>
		<category><![CDATA[partenaires]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[TIC sur Nancy]]></category>

		<guid isPermaLink="false">http://emisfr.info/?p=17</guid>
		<description><![CDATA[Après plusieurs mois de présence en 2005 et 2006 lorsque nous nous appelions encore Hybrid Perception, nous avions mis de côté, faute de temps et peut-être de convergence avec les objectifs et moyens de l&#8217;époque de Nancy Numérique notre participation au cluster. Suite à une impulsion de Denys Levassort de COVALOR et à juste titre [...]]]></description>
			<content:encoded><![CDATA[<p>Après plusieurs mois de présence en 2005 et 2006 lorsque nous nous appelions encore Hybrid Perception, nous avions mis de côté, faute de temps et peut-être de convergence avec les objectifs et moyens de l&#8217;époque de <a href="http://www.nancynumerique.net/" target="_blank">Nancy Numérique</a> notre participation au cluster.</p>
<p>Suite à une impulsion de Denys Levassort de <a href="http://www.covalor.fr" target="_blank">COVALOR</a> et à juste titre semble-t-il, il nous est apparu plus que judicieux de rejoindre &laquo;&nbsp;à nouveau&nbsp;&raquo; donc le cluster <a href="http://www.nancynumerique.net/" target="_blank">Nancy Numérique</a>. La nouvelle dynamique insufflée par Nicolas Bauer et Daniel Vigneau (Cobiz) marque clairement un tournant pour le cluster.</p>
<p>Il regroupe à l&#8217;heure actuelle 33 membres et va se former sous statut associatif pour plus de visibilité et plus d&#8217;impact sur le bassin de vie de Nancy.</p>
<p>C&#8217;est avec plaisir donc que nous allons y participer, en particulier <a href="http://stephane.emisfr.info" target="_blank">Stéphane Berthelot</a> qui y représentera <a href="http://www.emisfr.com" target="_blank">EmisFR</a>, afin d&#8217;y apporter notre vision et notre expérience avec bien entendu un envie de partager nos connaissances et nos compétences en matière de <a href="http://www.emisfr.com/developpement-logiciel-sur-mesure-creation-logiciels/" target="_blank">développement sur mesure de projets type extranet / intranet et web 2.0</a> mais aussi de notre activité d&#8217;<a href="http://www.emisfr.com/infogerance-serveurs" target="_blank">infogérance de serveurs dédiés</a> ou de <a href="http://www.emisfr.com/installation-et-maintenance-parc-informatique-d-entreprise-sauvegarde-a-distance-tarif/" target="_blank">maintenance de parc informatique sur la région de Nancy</a> (et également sur Paris via nos partenariats)</p>
<p>N&#8217;hésitez donc pas à venir participer aux réunions et présentations du cluster <a href="http://www.nancynumerique.net/" target="_blank">Nancy Numérique</a>. Que vous soyez entreprise utilisatrice de l&#8217;informatique en quête de modernité et de partenaires compétents à proximité ou bien prestataire des TIC près de Nancy il y aura forcément au moins un des aspects du cluster qui vous fera progresser !</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/06/02/emisfr-rejoint-nancy-numerique/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nouveau Site EmisFR en ligne !</title>
		<link>http://emisfr.info/2010/06/01/nouveau-site-emisfr-en-ligne/</link>
		<comments>http://emisfr.info/2010/06/01/nouveau-site-emisfr-en-ligne/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 14:06:48 +0000</pubDate>
		<dc:creator>sberthelot</dc:creator>
				<category><![CDATA[Site web EmisFR]]></category>

		<guid isPermaLink="false">http://emisfr.info/?p=14</guid>
		<description><![CDATA[Vous n&#8217;aurez certainement pas manqué de le constater : le nouveau site EmisFR est en ligne depuis le 30 Mai. Tout n&#8217;est pas encore complètement rodé et certaines démos techniques y seront ajoutées par la suite (un petit peu de Google Apps, Twitter, et autres mais je garde la surprise d&#8217;ici-là &#8230;) Bien entendu si [...]]]></description>
			<content:encoded><![CDATA[<p>Vous n&#8217;aurez certainement pas manqué de le constater : le nouveau site EmisFR est en ligne depuis le 30 Mai. Tout n&#8217;est pas encore complètement rodé et certaines démos techniques y seront ajoutées par la suite (un petit peu de Google Apps, Twitter, et autres mais je garde la surprise d&#8217;ici-là &#8230;)</p>
<p>Bien entendu si vous constatez des comportements étranges ou anormaux sur des navigateurs qui ne datent pas de la préhistoire (comme IE6 qui serait comme boire du lait périmé depuis 9 ans &#8230;) vous pouvez nous en faire part ici.</p>
<p>Merci à nouveau à tous pour votre soutien pendant ces 5 années qui nous motivent toujours pour apporter de nouveaux projets, un nouveau site et des services adaptés et sur mesure.</p>
<p>Bonne lecture : <a href="http://www.emisfr.com" target="_blank">http://www.emisfr.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/06/01/nouveau-site-emisfr-en-ligne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nouveau site EmisFR en approche</title>
		<link>http://emisfr.info/2010/05/24/nouveau-site-emisfr-en-approche/</link>
		<comments>http://emisfr.info/2010/05/24/nouveau-site-emisfr-en-approche/#comments</comments>
		<pubDate>Mon, 24 May 2010 16:08:34 +0000</pubDate>
		<dc:creator>sberthelot</dc:creator>
				<category><![CDATA[Site web EmisFR]]></category>
		<category><![CDATA[Démonstration Web 2.0]]></category>
		<category><![CDATA[Démonstrations Javascript et AJAX]]></category>
		<category><![CDATA[EmisFR]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Nouveau site Développement sur mesure]]></category>
		<category><![CDATA[Nouveau site Infogérance parc informatique]]></category>
		<category><![CDATA[Nouveau site Infogérance Totale]]></category>
		<category><![CDATA[Références clients EmisFR]]></category>
		<category><![CDATA[Site sur mesure EmisFR]]></category>

		<guid isPermaLink="false">http://emisfr.info/?p=7</guid>
		<description><![CDATA[Bonjour à tous et merci de me lire sur le blog d&#8217;EmisFR. Vous ne l&#8217;aurez pas manqué le site EmisFR actuel est un peu passé et surtout nous avons retiré beaucoup de contenus qui n&#8217;étaient plus à jour, notamment suite à la refonte de nos offres pour ajouter davantage de services au meilleur prix en [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour à tous et merci de me lire sur le blog d&#8217;EmisFR.</p>
<p>Vous ne l&#8217;aurez pas manqué le <a title="Site web EmisFR" href="http://www.emisfr.com" target="_blank">site EmisFR</a> actuel est un peu passé et surtout nous avons retiré beaucoup de contenus qui n&#8217;étaient plus à jour, notamment suite à la refonte de nos offres pour ajouter davantage de services au meilleur prix en tout début 2010.</p>
<p>Nos clients habituels le savent déjà, mais nos futurs clients pas forcément, donc pour faire court : oui nos offres ont changé, non nous n&#8217;avons pas encore eu le temps de mettre à jour le site web (mais c&#8217;est promis ca arrive !) et oui nos offres 2010 méritent vraiment le détour, donc n&#8217;hésitez pas à nous les demander (<a title="E-mail de contact EmisFR" href="mailto:contact@emisfr.com">contact@emisfr.com</a>)</p>
<p>Evidemment, la rançon du succès c&#8217;est également de ne plus passer suffisamment de temps sur certains de nos outils dont le site web, n&#8217;ayant pas prévu il y a quelques mois que nos nouvelles offres séduiraient autant.</p>
<p>Nous gardons le cap bien entendu mais avec moins de temps pour faire ces choses &laquo;&nbsp;annexes à la production&nbsp;&raquo; et évidemment plus de temps consacré à nos clients.</p>
<p>Bon, malgré tout cela nous avons trouvé le temps de vous concocter un nouveau <a title="Site web EmisFR" href="http://www.emisfr.com" target="_blank">site EmisFR</a>, qui je l&#8217;espère vous plaira et sera clair. Il exposera de façon plus explicite nos deux métiers d&#8217;aujourd&#8217;hui qui sont le <a title="Développement sur mesure EmisFR" href="http://www.emisfr.com" target="_blank">développement sur mesure</a> et l&#8217;<a title="Infogérance EmisFR" href="http://www.emisfr.com" target="_blank">infogérance</a> et j&#8217;espère que vous y percevrez notre volonté de nous réimplanter durablement dans le tissu économique local (Nancy, Lorraine, Grand Est de la France), même si nous ne renions pas, bien entendu, nos clients Parisiens !</p>
<p>Le <a title="Site web EmisFR" href="http://www.emisfr.com" target="_blank">site EmisFR</a> est en version béta à l&#8217;heure où j&#8217;écris ces quelques lignes, et après quelques projets que nous devons boucler rapidement nous devrions pouvoir mettre en ligne la version définitive avant fin mai (2010), en tout cas nous allons tout faire pour y arriver.</p>
<p>En attendant vous pouvez consulter notre <a title="Site web EmisFR" href="http://www.emisfr.com" target="_blank">site EmisFR</a> actuel (qui sera automatiquement remplacé quand le nouveau sera prêt, bientôt) et nous contacter pour toutes vos demandes, n&#8217;hésitez pas sur ce point par téléphone au 03 83 32 25 75 ou par e-mail sur <a title="E-mail de contact EmisFR" href="mailto:contact@emisfr.com">contact@emisfr.com</a> , vous aurez une réponse rapide.</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/05/24/nouveau-site-emisfr-en-approche/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smarty 2.6, 3.0beta and Dwoo Performances</title>
		<link>http://emisfr.info/2010/03/25/smarty-2-6-3-0beta-and-dwoo-performances/</link>
		<comments>http://emisfr.info/2010/03/25/smarty-2-6-3-0beta-and-dwoo-performances/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 08:50:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tests]]></category>
		<category><![CDATA[bench]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[dwoo]]></category>
		<category><![CDATA[performances]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[smarty 2.6 vs Smarty 3]]></category>
		<category><![CDATA[smarty 3]]></category>
		<category><![CDATA[smarty vs dwoo]]></category>
		<category><![CDATA[tempalte engine]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://cedric.emisfr.info/?p=58</guid>
		<description><![CDATA[UPDATE : July 20, 2010 New tests on Smarty 3.0 : RC1, RC2 and RC3 shows same performances as Smarty 3.0b9, no major change. These Release Candidate fix some bug and security issue and give a better stability. Smarty 2.6, 3.0beta and Dwoo Performances The aim of this test is to evaluate which template engine [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE : July 20, 2010</strong><br />
New tests on Smarty 3.0 : RC1, RC2 and RC3 shows same performances as Smarty 3.0b9, no major change. These Release Candidate fix some bug and security issue and give a better stability.</p>
<h1>Smarty 2.6, 3.0beta and Dwoo Performances</h1>
<p>The aim of this test is to evaluate which template engine is the more efficient in professionnal environment. I selected only Smarty and Dwoo. Smarty is the template engine which we use at Emisfr since 3 years, we know it and we have many application working with. Dwoo is a Smarty &laquo;&nbsp;fork&nbsp;&raquo; but with a great Oriented Objet improvement. Smarty 3.0 is currently in developpement and one of its aim is to bring Smarty totaly Object and support Objet inside template, Smarty 2.x is likely PHP4 oriented, functional not really object. There is some other template engines like Template Lite (it&#8217;s also a Smarty &laquo;&nbsp;fork&nbsp;&raquo;).</p>
<h3>Test environment</h3>
<p>dual core Athlon 4200+<br />
3.3Gb RAM<br />
Apache : 2.2.13<br />
Mod_PHP : 5.2.11 + APC<br />
Apache Bench : 2.3</p>
<h3>Tested versions</h3>
<p>Smarty 2.6.26 : current stable<br />
Smarty 3.0b7 : previous beta, usefull to compare evalution between betas<br />
Smarty 3.0b8 : current beta<br />
Dwoo 1.1.1 : current stable</p>
<h3>The tests</h3>
<p>Display of a template with and without template engine cache. We are talking about Template engine cache, not APC. When template engine cache is enable, the template engine have not to re-generate PHP code from Template file (tpl).<br />
We will have a look on Memory peak and display time.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Cache enabled</strong><br />
Optimized Site</td>
<td><strong>Force compile</strong><br />
Only to get performances<br />
but this configuration never use<br />
in production</td>
<td><strong>Force Compile Check</strong><br />
Developpment configuration<br />
no cache</td>
<td><strong>No Compile Check</strong><br />
Production Site<br />
most common configuration</td>
</tr>
<tr>
<td>cache_lifetime=-1<br />
caching=1<br />
force_compile=false</td>
<td>cache_lifetime=0<br />
caching=0<br />
force_compile=true</td>
<td>cache_lifetime=0<br />
caching=0<br />
check_compile=true</td>
<td>cache_lifetime=0<br />
caching=0<br />
check_compile=false</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0">
<tbody>
<tr>
<td>KINDTEST</td>
<td>s3b8_rps</td>
<td>s3b8_tpr</td>
<td>s3b7_rps</td>
<td>s3b7_tpr</td>
<td>s2_rps</td>
<td>s2_tpr</td>
<td>dwoo_rps</td>
<td>dwoo_tpr</td>
</tr>
<tr>
<td>cache_enabled</td>
<td>167,98</td>
<td>29,77</td>
<td>186,67</td>
<td>26,79</td>
<td>247,05</td>
<td>20,24</td>
<td>187,85</td>
<td>26,62</td>
</tr>
<tr>
<td>force_compile</td>
<td>16,33</td>
<td>306,24</td>
<td>16,72</td>
<td>299,05</td>
<td>62,38</td>
<td>80,15</td>
<td>37,2</td>
<td>134,41</td>
</tr>
<tr>
<td>force_checkcompile</td>
<td>126,96</td>
<td>39,38</td>
<td>131,83</td>
<td>37,93</td>
<td>187,37</td>
<td>26,69</td>
<td>108,49</td>
<td>46,09</td>
</tr>
<tr>
<td>no_checkcompile</td>
<td>127,39</td>
<td>39,25</td>
<td>132,69</td>
<td>37,68</td>
<td>184,89</td>
<td>27,04</td>
<td>111,99</td>
<td>44,65</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Libraries Size</td>
</tr>
<tr>
<td>Template Engine</td>
<td>Size (ko)</td>
<td>File count</td>
</tr>
<tr>
<td>Smarty 2.6.26</td>
<td>223Ko</td>
<td>69 files</td>
</tr>
<tr>
<td>Smarty 3.0b7</td>
<td>627,8Ko</td>
<td>177 files</td>
</tr>
<tr>
<td>Smarty 3.0b8</td>
<td>635,4Ko</td>
<td>103 files</td>
</tr>
<tr>
<td>Dwoo 1.1.2</td>
<td>396,2Ko</td>
<td>101 files</td>
</tr>
</tbody>
</table>
<p>Next we will test performances with hight access to the test page. For theses tests I will use &laquo;&nbsp;ab&nbsp;&raquo; (apache bench) with the following parameters : 1000 requests, 5 concurrency. We shall study requests per second, time per request and failed requests.</p>
<h2>Execution time for the test page</h2>
<div id="attachment_159" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/03/smarty_exec_time.jpg"><img class="size-medium wp-image-159" src="http://cedric.emisfr.info/files/2010/03/smarty_exec_time.jpg" alt="Execution time" width="600" height="280" /></a><p class="wp-caption-text">Execution time</p></div>
<p>When the cache is enable the results are closed, Smarty 2.6 have an advantage over others. But all are above 50ms. Smarty 2.6 and Smarty 3.0beta are very closed, with less than 15ms, it&#8217;s the best score.</p>
<p>When force compile is enabled, we can see Dwoo and Smarty 2.6 are the better, above 60ms. But Smarty 3.0beta is 3times slower than Smarty 2.6 with an execution time higher than 110ms. Don&#8217;t forget Template Engine force compile option is never enabled in production, this is a test to know &laquo;&nbsp;who is the best&nbsp;&raquo;.<br />
In &laquo;&nbsp;developpment&nbsp;&raquo; configuration, result are good, lower than 15ms for evryones, Smarty 2.6 keeps head with 8ms.<br />
In &laquo;&nbsp;common production&nbsp;&raquo; (no compile check), results looks like &laquo;&nbsp;developpment&nbsp;&raquo;. The deferencies between them are insignifiant.</p>
<h2>Memory print</h2>
<div id="attachment_160" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/03/smarty_mem.jpg"><img class="size-medium wp-image-160" src="http://cedric.emisfr.info/files/2010/03/smarty_mem.jpg" alt="Memory" width="600" height="270" /></a><p class="wp-caption-text">Memory</p></div>
<p>Previously we see that Smarty 2.6 is the faster Template Engine, now what is there memory prints.<br />
Dwoo and Smarty 2.6 are below than 1,7Mo is a good score.<br />
But like execution time the more important is when the cache is enabled. The template engines are below than 850 Ko, Smarty 2.6.26 is about 590 Ko this is the better score Smarty 3.0beta and Dwoo are about 800Ko.</p>
<p>When a Template Engine is configured in &laquo;&nbsp;force compile&nbsp;&raquo; mode, the Engine have to compile the templates files each time. We can see Smarty 3.0beta consum 2 times more than Smarty 2.6 : 2,4 Mo. Dwoo is juste behind Smarty 2.6 with 1,5Ko</p>
<p>When force check compile is enabled all are above 760ko (the bests scores), why Smarty use less memory than &laquo;&nbsp;cache enabled&nbsp;&raquo; ? I have no response yet.</p>
<p>When force compile si disabled, results are exactly sames.</p>
<h2>Request per seconde</h2>
<div id="attachment_117" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/04/smarty_req_per_sec.jpg"><img class="size-medium wp-image-117" src="http://cedric.emisfr.info/files/2010/04/smarty_req_per_sec.jpg" alt="Request per second" width="600" height="310" /></a><p class="wp-caption-text">Request per second</p></div>
<p>To simulate a high traffic on the test page I use apache bench, first when force compile is enabled, the results are likely Execution time test above. We can see Smarty 2.6 is the faster Template Engine with about 60 request per second, Dwoo is behind with 40 request per second and Smarty 3.0beta lag behind with 20 requests per seconde (3 time slower than Smarty 2.6).<br />
When the Template Engine Cache is enabled all performances are satisfactory with more than 160 request per second. Smarty 2.6 is still the better with 247 request per second. Dwoo and Smarty 3.0beta are closed with 180 request per second.<br />
In &laquo;&nbsp;force check compile&nbsp;&raquo; results are good, with more than 125 request per second. But Smarty 2.6 is 30% Faster than Smarty 3.0b. There is no major differencies when &laquo;&nbsp;No check compile&nbsp;&raquo; is enabled.</p>
<p>Theses results are the reflection of the previous Execution time test</p>
<h2>Time per request</h2>
<div id="attachment_118" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/04/smarty_time_per_req.jpg"><img class="size-medium wp-image-118" src="http://cedric.emisfr.info/files/2010/04/smarty_time_per_req.jpg" alt="Time per request" width="600" height="280" /></a><p class="wp-caption-text">Time per request</p></div>
<p>To finish this study, we have a look to the average time per request. Like others tests, When force compile is enabled, Smarty 2.6 is still the faster, with 80ms per request, dwoo is behin with about 135ms per request, Smarty 3.0beta are in the dust with more than 290ms per request.<br />
When cache is enabled all competitor are closed, with a good score below than 30ms per request, Smarty 2.6 takes head with less than 21ms per request.<br />
In force check compile configuration, the results are good with less than 40ms for Smarty, but Smarty 2.6 is the better. When check compile is disabled, the results are close with &laquo;&nbsp;force check compile&nbsp;&raquo;, no major differencies.</p>
<p>To conclude, Smarty 2.6.26 is the better, faster and lighter template engine. Dwoo is a good alternative but its performances are worst than Smarty 2.6.26 and it&#8217;s not totally compatible with current Emisfr Software. Smarty 3.0 is good, but is a consume some more memory, but it&#8217;s very good score for a beta. The results of Smarty 3.0b are very close with Smarty 2.6.26. The developpment team do a good job ! But, don&#8217;t forget Smarty 3.0 is beta, may be some improvement will come.<br />
This test will be updated with Template Engine evolution and release.<br />
Emisfr is using Smarty 2.6.x but hope switch to Smarty 3.0 when it will be released as stable.</p>
<p>Test Files :<br />
<a href="http://cedric.emisfr.info/files/2010/03/SmartyTestFiles.zip">Smarty Test  Files Package</a></p>
<p>Follow discution about this test on <a href="http://www.smarty.net/forums/viewtopic.php?p=63716">Smarty forum</a></p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/03/25/smarty-2-6-3-0beta-and-dwoo-performances/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Performances de Smarty 2.6, 3.0beta et Dwoo</title>
		<link>http://emisfr.info/2010/03/23/performance-de-smarty-2-6-3-0beta-et-dwoo/</link>
		<comments>http://emisfr.info/2010/03/23/performance-de-smarty-2-6-3-0beta-et-dwoo/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 11:25:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Général]]></category>
		<category><![CDATA[dwoo]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[smarty]]></category>
		<category><![CDATA[smarty 2.6 vs Smarty 3]]></category>
		<category><![CDATA[smarty 3]]></category>
		<category><![CDATA[smarty vs dwoo]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[template engine]]></category>

		<guid isPermaLink="false">http://cedric.emisfr.info/?p=32</guid>
		<description><![CDATA[MISE A JOUR : 22 juillet 2010 les tests des versions de smarty 3.0 : RC1, RC2 et RC3 montre les mêmes performances que smarty 3.0b9, aucune changement notable. Ces Release Candidate apporte essentiellement de la stabilité et corrige des problèmes de sécurité. Performances de Smarty 2.6, 3.0beta et Dwoo Le but de ce test [...]]]></description>
			<content:encoded><![CDATA[<p><strong>MISE A JOUR : 22 juillet 2010</strong><br />
les tests des versions de smarty 3.0 : RC1, RC2 et RC3 montre les mêmes performances que smarty 3.0b9, aucune changement notable. Ces Release Candidate apporte essentiellement de la stabilité et corrige des problèmes de sécurité.</p>
<h1>Performances de Smarty 2.6, 3.0beta et Dwoo</h1>
<p>Le but de ce test est d&#8217;évaluer quel moteur de template est le plus adapté dans un environnement professionnel. Ici je m&#8217;intéresse exclusivement à Smarty et Dwoo. Smarty est le gestionnaire de template que nous utilisons depuis déjà 3 ans, avec lequel l&#8217;équipe Emisfr est à l&#8217;aise. Dwoo quant à lui est un « fork » de Smarty mais orienté Objet. Smarty 3.0 est la version en cours de développement et qui a pour but de passer Smarty en PHP Objet, Smarty 2.x étant encore assez orienté PHP4, cette version 3.0 est la réponse aux problématiques PHP5 et PHP Objet. D&#8217;autres moteurs de template existent, comme Template Lite, également dérivé de Smarty.</p>
<h3>Environnement :</h3>
<p>dual core Athlon 4200+<br />
Ram : 3.3Go<br />
Apache : 2.2.13<br />
Mod_PHP : 5.2.11 + APC<br />
Apache Bench : 2.3</p>
<h3>Les versions testées seront les suivantes :</h3>
<p>Smarty 2.6.26 : actuellement stable<br />
Smarty 3.0b7 : version beta précédente, elle nous permettra de voir l&#8217;évolution d&#8217;une beta à l&#8217;autre<br />
Smarty 3.0b8 : dernière version beta<br />
Dwoo 1.1.1 : actuellement stable</p>
<h3>Les tests :</h3>
<p>Rendu d&#8217;une page sans le cache du moteur de template activé. On ne parle pas ici de APC ou autre, mais bien du moteur de cache du moteur de template. Son but est de transformer le code « tpl » en code PHP.<br />
On ressortira la mémoire maximum consommée (memory peak), et également le temps de rendu de cette page.</p>
<table border="0">
<tbody>
<tr>
<td><strong>Cache activé</strong><br />Site a forte charge</td>
<td><strong>Force compilation</strong><br />jamais utilisé en production<br />juste pour avoir une idée<br />des performances</td>
<td><strong>Vérification de la compilation</strong><br />configuration en développement</td>
<td><strong>Pas de vérification de la compilation</strong><br />configuration en production<br />la plus utilisée</td>
</tr>
<tr>
<td>cache_lifetime=-1<br />
caching=1<br />
force_compile=false</td>
<td>cache_lifetime=0<br />
caching=0<br />
force_compile=true</td>
<td>cache_lifetime=0<br />
caching=0<br />
check_compile=true</td>
<td>cache_lifetime=0<br />
caching=0<br />
check_compile=false</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0">
<tbody>
<tr>
<td>KINDTEST</td>
<td>s3b8_rps</td>
<td>s3b8_tpr</td>
<td>s3b7_rps</td>
<td>s3b7_tpr</td>
<td>s2_rps</td>
<td>s2_tpr</td>
<td>dwoo_fail</td>
<td>dwoo_rps</td>
<td>dwoo_tpr</td>
</tr>
<tr>
<td>cache_enabled</td>
<td>167,98</td>
<td>29,77</td>
<td>186,67</td>
<td>26,79</td>
<td>247,05</td>
<td>20,24</td>
<td>1</td>
<td>187,85</td>
<td>26,62</td>
</tr>
<tr>
<td>force_compile</td>
<td>16,33</td>
<td>306,24</td>
<td>16,72</td>
<td>299,05</td>
<td>62,38</td>
<td>80,15</td>
<td>569</td>
<td>37,2</td>
<td>134,41</td>
</tr>
<tr>
<td>force_checkcompile</td>
<td>126,96</td>
<td>39,38</td>
<td>131,83</td>
<td>37,93</td>
<td>187,37</td>
<td>26,69</td>
<td>866</td>
<td>108,49</td>
<td>46,09</td>
</tr>
<tr>
<td>no_checkcompile</td>
<td>127,39</td>
<td>39,25</td>
<td>132,69</td>
<td>37,68</td>
<td>184,89</td>
<td>27,04</td>
<td>121</td>
<td>111,99</td>
<td>44,65</td>
</tr>
</tbody>
</table>
<p>Ensuite on testera la montée en charge des moteurs, toujours avec et sans cache. Le test est effectué avec « ab » (apache bench) dont les paramètres sont : 1000 requêtes, 5 requêtes concurrentes. On ressortira le nombre de requêtes servies par seconde, le nombre de requêtes ayant amené à une erreur (Fail), et le temps moyen pour une requête.</p>
<h2>Analyse du temps d&#8217;exécution</h2>
<div id="attachment_159" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/03/smarty_exec_time.jpg"><img src="http://cedric.emisfr.info/files/2010/03/smarty_exec_time.jpg" alt="Execution time" width="600" height="280" class="size-medium wp-image-159" /></a><p class="wp-caption-text">Execution time</p></div>
<p>Analysons le comportement des moteurs lorsque le cache est activé. On peut voir qu&#8217;à l&#8217;exeption de Dwoo, les moteurs sont en dessous de 15ms, avec un avantage pour Smarty 2.6 qui est à 9ms ce qui constitue le meilleur temps, mais suivis de très près par Smarty 3.0beta avec 13ms. La question qui se pose est pourquoi une fois compilé les pages PHP générées par Smarty 2.6 sont-elles plus rapides à charger. Pour avoir la réponse à cette question il faudra regarder dans le code source. On peut en déduire que c&#8217;est certainement le chargement du moteur en lui même qui est le plus long sur Dwoo et Smarty 3.0b.</p>
<p>Voyons quels sont les résultats lorsque l&#8217;on force la compilation. On peut voir que Dwoo et Smarty 2.6 sont les meilleurs avec respectivement 55ms et 27ms. Par contre les deux versions de Smarty 3.0b, sont trois fois plus lentes avec un temps supérieur à 100ms. On peut donc penser que l&#8217;équipe de Smarty n&#8217;a pas encore fait de phase d&#8217;optimisation sur la génération de template. Ces chiffres sont à relativiser, car la génération sans cache n&#8217;intervient qu&#8217;une seule fois : lors du premier accès à la page en question, ceci n&#8217;est donc pas problématique en soi, mais il faudra penser à ne pas forcer la compilation des templates (ce qui est normalement jamais le cas).</p>
<p>C&#8217;est danse les configuration &laquo;&nbsp;développement&nbsp;&raquo; et &laquo;&nbsp;production commune&nbsp;&raquo; que l&#8217;on obtien les meilleures temps avec moins de 15ms pour l&#8217;ensemble des participant. On peut alors se demander pourquoi avec le cache activé les performances ne sont pas les meilleures.</p>
<p>Taille des bibliothèques :<br />
Smarty 2.6 : 74,7 Ko (2classes) + 44,1 (22 sysplugins) + 104.6Ko (45 plugins) = 223,4Ko (69 fichiers)<br />
Smarty 3.0b7 : 19Ko (1 classe) + 511 Ko (134 sysplugins) + 97,8 Ko (42 plugins) = 627,8Ko (177 fichiers)<br />
Smarty 3.0b8 : 26,6Ko (1 classe) + 511Ko (60 syspluigns) + 97,8Ko (42 plugins) = 635,4Ko (103 fichiers<br />
Dwoo 1.1.1 : 42,5 (1 classe) + 223Ko (37 syspluigns) +130,7Ko (63 plugins) = 396,2Ko (101 fichiers)</p>
<p>On peut voir que Smarty 2.6 est la bibliothèque la plus légère. Et Smarty 3.0b la plus lourde (plus de 2 fois plus lourde). Dwoo est quand à lui 50% plus lourd que Smarty 2.6, cela explique certainement la différence de temps d&#8217;affichage d&#8217;un template compilé mais pas seulement. Le nombre de fichiers à lire est également important pour Dwoo est Smarty 3.0b, le temps d&#8217;accès au disque peut expliquer également cela. Il existe des versions « compilées » de Smarty et Dwoo (non utilisé pour ces tests) qui permettent le chargement d&#8217;un seul fichier, le temps d&#8217;accès disque ainsi que le parsing sont réduits. Cependant Smarty 2.6 restera plus rapide compte tenu de son faible poids.</p>
<h2>Analysons maintenant l&#8217;empreinte mémoire de ces moteurs de template</h2>
<div id="attachment_160" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/03/smarty_mem.jpg"><img src="http://cedric.emisfr.info/files/2010/03/smarty_mem.jpg" alt="Memory" width="600" height="270" class="size-medium wp-image-160" /></a><p class="wp-caption-text">Memory</p></div>
<p>Précédemment nous avons pu voir que l&#8217;avantage allait indéniablement à Smarty 2.6 qui s&#8217;avère être le plus rapide, voyons maintenant ce qu&#8217;il en est pour l&#8217;empreinte mémoire.</p>
<p>Quelle est la consommation de mémoire lorsque le cache est activé ? Lorsqu&#8217;une application est en production le cache est activé pour éviter de compiler les templates à chaque appel, cette valeur à donc une certaine importance.<br />
Dans cette configuration, tous les moteurs sont en dessous de 850Ko, ce qui est un bon point, on remarquera que Smarty 2.6 est à 585Ko ce qui constitue le meilleure score. Dwoo et Smarty 3.0beta ont une consomation un peut supérieur à celle de Smarty 2.6 mais rien d&#8217;alarmant.</p>
<p>Lorsque le moteur de template est configuré sans cache, le moteur doit compiler entièrement le fichier template, pour cela il passe par plusieurs phases, comme l&#8217;analyse syntaxique, puis la transformation en code php à proprement parler. On peut voir que Smarty 3.0b consomme deux fois plus de mémoire que Smarty 2.6 avec 2,4Mo utilisés. L&#8217;explication est assez simple, lors de la compilation, le moteur analyse le code qui peut potentiellement utiliser des plugins, nous avons vu plus haut que Smarty 3.0b a une centaine de fichiers « plugins » et « sysplugins » qu&#8217;il doit charger pour compiler les templates ; ils représentent environ 600Ko, contre 140Ko pour Smarty 2.6 et 350Ko pour Dwoo. Intéressons nous maintenant aux bons élèves que sont Dwoo et Smarty 2.6. Dwoo est à 1,5Mo ce qui constitue un bon score, mais qui évidement s&#8217;il est revu à la baisse sera un atout. Smarty 2.6 est le moteur qui consomme le moins de mémoire avec 1,0 Mo. On peut expliquer cela par son faible poids, et des optimisations plus poussée.<br />
Comme pour les tests sur le temps tout à l&#8217;heure, la consommation de mémoire lorsque le cache est désactivé n&#8217;est pas la valeur la plus importante car en production le cache est activé et on arrive dans cette situation uniquement lors du premier appel à la page.</p>
<p>En mode &laquo;&nbsp;développement&nbsp;&raquo; et &laquo;&nbsp;production commune&nbsp;&raquo;, la consomation de mémoire est strictement identique. avec des valeurs en dessous de 760Ko. Comme toujours Smarty 2.6 est le plus légé avec 525Ko.</p>
<p>Dans cette première partie de tests nous avons pu voir que Smarty 2.6 est le meilleur moteur de template aussi bien en terme de consommation mémoire qu&#8217;en terme de rapidité de traitement, que le cache soit activé ou non. Dwoo est bien placé également. Smarty 3.0b a des résultats assez proches de ceux de son grand frère Smarty 2.6, mais il n&#8217;est malheureusement pas meilleur et a une consommation mémoire trop importante lorsque l&#8217;on force la compilation. Dwoo quant à lui a des résultats corrects et se situe entre Smarty 2.6 et Smarty 3.0.</p>
<h2>Nombre de requêtes servies par seconde</h2>
<div id="attachment_117" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/04/smarty_req_per_sec.jpg"><img src="http://cedric.emisfr.info/files/2010/04/smarty_req_per_sec.jpg" alt="Request per second" width="600" height="310" class="size-medium wp-image-117" /></a><p class="wp-caption-text">Request per second</p></div>
<p>Voyons maintenant comment ces moteurs supportent la charge. En environnement de production certains sites à forte charge peuvent recevoir des milliers de requêtes il est important de connaitre le comportement de ces moteurs de template dans ce cas précis.</p>
<p>Nous allons nous intéresser dans un premier temps au nombre de requêtes servies par seconde, tout d&#8217;abord lorsque la compilation est forcée. Les courbes reflètent les résultats que nous avons pu analyser précédemment sur le temps d&#8217;exécution. Encore une fois Smarty 2.6 est en tête avec environ 60 requêtes par secondes. Dwoo le talonne avec environ 40 requêtes par seconde suivi de Smarty 3.0b avec moins de 20 requêtes par seconde.<br />
Lorsque le cache est activé, on obtient des performances satisfaisantes, avec plus de 165 requêtes par seconde pour l&#8217;ensemble des concurrents. Smarty 2.6 est encore une fois le meilleur élève avec près de 250 requêtes par seconde. Dwoo et Smarty 3.0 sont à peu près équivalents aux alentours de 180 requêtes par seconde.<br />
En mode &laquo;&nbsp;développement&nbsp;&raquo; (force check compile), les performances sont satisfaisantes avec environ 130 requêtes par seconde pour Smarty 3.0beta, mais Smarty 2.6 tire son épingle du jeu avec plus de 185 requêtes par secondes. Les résultats sont similaires lors que la vérification de compilation est désactivée. On peut d&#8217;ailleur se demander si elle a vraiment un intérêt.</p>
<p>Ces résultats reflètent donc exactement les mesures relevées lors de l&#8217;étude des temps d&#8217;exécution.</p>
<h2>Temps moyen de traitement pour une requête</h2>
<div id="attachment_118" class="wp-caption aligncenter" style="width: 610px"><a href="http://cedric.emisfr.info/files/2010/04/smarty_time_per_req.jpg"><img src="http://cedric.emisfr.info/files/2010/04/smarty_time_per_req.jpg" alt="Time per request" width="600" height="280" class="size-medium wp-image-118" /></a><p class="wp-caption-text">Time per request</p></div>
<p>Pour finir étudions le temps moyen nécessaire pour servir une requête.<br />
Lorsque le la compilation est forcée, Smarty 2.6 est fidèle à lui même et prend la tête avec environ 80ms, il est suivi par Dwoo avec environ 135ms. Smarty 3.0b est largement à la traine avec plus de 290ms pour servir une requête soit près de 4 fois plus lent que son grand frère.<br />
Lorsque le cache est activé les tendances sont bonnes avec un score inférieur à 30ms pour l&#8217;ensemble des concurrents. Smarty 2.6 est toujours en tête avec moins de 21ms pour générer une page, Smarty 3.0b et Dwoo sont à peu près équivalents avec 30ms environ.<br />
Dans la configuration de &laquo;&nbsp;développement&nbsp;&raquo; avec la vérification de la compilation activé, les performances sont bonnes avec moins de 40ms pour l&#8217;ensemble des moteurs testé, Smarty 2.6 est toujours en tête. lorsque la vérification de la compilation est désactivé, les performances restent similaire à la configuration en &laquo;&nbsp;développement&nbsp;&raquo;.</p>
<p>Pour conclure, Smarty 2.6.26 est actuellement le meilleur moteur de template parmi ceux testés ici. Il est à la fois celui qui consomme le moins de mémoire et le plus rapide, que le cache soit activé ou non. Dwoo est une bonne alternative puisque ses performances talonnent très souvent Smarty 2.6. Smarty 3.0b est assez décevant en terme de consommation de mémoire lors de la compilation, mais mis à part celà, ses performances sont très bonnes et sont proches de celle de Smarty 2.6. N&#8217;oublions pas que c&#8217;est une version beta et que l&#8217;équipe de développement travaille activement, puisque l&#8217;on a droit à une nouvelle version beta toutes les trois à quatre semaines environ. Espérons qu&#8217;il feront une grosse passe d&#8217;optimisation en particulier sur la consommation mémoire. Ce test sera mis à jour au fil des évolutions de ces trois moteurs de template. A ce jour EmisFR continue d&#8217;utiliser Smarty 2.6.x en attendant de pouvoir passer sur Smarty 3.0. Dwoo est pour le moment écarté car non compatible avec les logiciels déjà produits, de plus le langage de template est un peu différent et étant donné que ses performances sont moins bonnes que celles de Smarty 2.6.x il présente peu d&#8217;intérêt de changer.</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2010/03/23/performance-de-smarty-2-6-3-0beta-et-dwoo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Test d&#8217;outils de e-commerce OpenSource</title>
		<link>http://emisfr.info/2009/10/14/tests-e-commerce-opensource/</link>
		<comments>http://emisfr.info/2009/10/14/tests-e-commerce-opensource/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:38:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tests]]></category>
		<category><![CDATA[boutique en ligne]]></category>
		<category><![CDATA[commerce en ligne]]></category>
		<category><![CDATA[comparaison boutiques en ligne]]></category>
		<category><![CDATA[comparaison e-commerce]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[freeway]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[magento vs prestashop]]></category>
		<category><![CDATA[oscommerce]]></category>
		<category><![CDATA[oscommerce vs magento]]></category>
		<category><![CDATA[oscommerce vs prestashop]]></category>
		<category><![CDATA[oscommerce vs virtuemart]]></category>
		<category><![CDATA[prestashop]]></category>
		<category><![CDATA[test e-commerce]]></category>
		<category><![CDATA[tests EmisFR]]></category>
		<category><![CDATA[vendre en ligne]]></category>
		<category><![CDATA[vente en ligne]]></category>
		<category><![CDATA[virtuemart]]></category>
		<category><![CDATA[virtuemart vs magento]]></category>
		<category><![CDATA[virtuemart vs prestashop]]></category>

		<guid isPermaLink="false">http://cedric.emisfr.info/?p=6</guid>
		<description><![CDATA[Le but de ce test est d&#8217;évaluer les différents outils de e-commerce présents sur le marché. On s&#8217;intéressera aux outils les plus aptes à répondre à des besoins de e-commerce professionnel, proposant un module de paiement et une interface traduite en français. Chaque logiciel à été testé en prenant en compte plusieurs approches : côté [...]]]></description>
			<content:encoded><![CDATA[<p><em>Le but de ce test est d&#8217;évaluer les différents outils de e-commerce présents sur le marché. On s&#8217;intéressera aux outils les plus aptes à répondre à des besoins de e-commerce professionnel, proposant un module de paiement et une interface traduite en français. Chaque logiciel à été testé en prenant en compte plusieurs approches : côté marchand, côté client, et côté développeur.</em></p>
<p><em><br />
</em></p>
<h3>Freeway : un manque de pérennité</h3>
<p>URL : <a href="http://www.openfreeway.org/">http://www.openfreeway.org/</a><br />
+ installation simple et bien faite<br />
+ supporte la vente de services, il est possible par exemple de louer un cours de tennis à une heure précise, cela apparait sur un planning<br />
- dernière version stable datant de septembre 2008<br />
- version en développement inactive depuis novembre 2008<br />
- peu utilisé</p>
<p>Freeway, est un logiciel de e-commerce écrit en PHP. Ce logiciel n&#8217;est plus actif depuis septembre 2008, il a donc été écarté malgré quelques fonctions intéressantes comme la &laquo;&nbsp;prise de rendez-vous&nbsp;&raquo;, via un planning affichant les horaires disponibles. Il n&#8217;est cependant pas sérieux de proposer à des professionnels un logiciel qui n&#8217;est plus actif car cela signifie qu&#8217;il n&#8217;est pas possible de garantir que le logiciel sera mis à jour, et bénéficiera de patchs de sécurité. Enfin, ce logiciel est très peu utilisé, il est donc difficile de trouver des modules complémentaires.</p>
<h3>VirtueMart : du site vitrine à la vente en ligne</h3>
<p>URL : <a href="http://www.virtuemart.net/">http://www.virtuemart.net/</a><br />
+ Joomla<br />
+ module de paiement Atos<br />
+ traduction en Français<br />
+ cache<br />
- logiciel lié a Joomla dont le e-commerce n&#8217;est pas son métier<br />
- sécurité</p>
<p>VirtueMart est un module pour Joomla ou Mambo. De part sa relation directe avec Joomla, cela en fait un outil moins attirant que ceux que nous verront plus loin, pour la simple et bonne raison que Joomla est à la base un CMS, et que VirtueMart transforme ce CMS en boutique en ligne, ce qui n&#8217;est pas son métier. VirtueMart dispose cependant de modules supplémentaires tel qu&#8217;un module de paiement Atos, mais aussi d&#8217;une traduction en français. Joomla disposant d&#8217;une fonction de Cache, VirtueMart en hérite. Cet outil est très ergonomique, on trouve rapidement ce que l&#8217;on cherche. Il conviendra pour une petite boutique en ligne, dont le site vitrine est déjà sous Joomla. Les utilisateurs de Joomla s&#8217;y retrouveront rapidement. Le développement est actif mais la dernière version date de janvier 2009. Enfin Joomla est régulièrement la cible d&#8217;attaques des pirates qui font suite à la découverte de failles de sécurité, il sera donc inévitable de se tenir au courant des dernières versions de Joomla afin de garantir la sécurité de la boutique.</p>
<h3>Magento : la boutique qui monte mais en manque d&#8217;ergonomie</h3>
<p>URL: <a href="http://www.magentocommerce.com/fr">http://www.magentocommerce.com/fr</a><br />
+ système de cache<br />
+ supporté par des grands nom (Samsung, 3M&#8230;)<br />
+ bien programmé<br />
+ communauté active<br />
- modules de paiement Atos (beta)<br />
- localisation en français imparfaite<br />
- pas d&#8217;éditeur WYSIWYG<br />
- ergonomie<br />
- templates = mélange entre PHP et HTML</p>
<p>Magento, est un nouvel entrant sur le marché de la boutique en ligne. Il est déjà supporté par de grands noms, comme Samsung, 3M ou encore Nesspresso. Une large communauté est présente, et on trouvera rapidement une solution à un problème, en consultant les forums. Magento dispose d&#8217;un &laquo;&nbsp;Language Pack Français&nbsp;&raquo;, mais celui-ci n&#8217;est pas maintenu officiellement, on trouvera donc quelques termes anglais après l&#8217;installation de celui-ci. Il dispose de plusieurs modules de paiement dont le module Atos mais en bêta, d&#8217;autres modules de paiement existent, certains d&#8217;entre eux sont payants.<br />
Le système d&#8217;installation de module est très simple, mais directement lié au site de Magento, en effet pour installer un module il est nécessaire de copier/coller une &laquo;&nbsp;clef&nbsp;&raquo; et Magento s&#8217;occupe de télécharger le module et de l&#8217;installer, apparemment il y a une gestion des dépendances entre modules et le système avertit l&#8217;utilisateur lors de l&#8217;installation d&#8217;un module non stable (beta).<br />
Magento dispose d&#8217;une option cache qui permettra d&#8217;accroitre les performances en limitant les accès à la base de données. L&#8217;interface graphique est plutôt attirante aussi bien du coté boutique que du coté arrière boutique (backoffice).<br />
Par contre, l&#8217;ergonomie est à revoir, si certaines informations sont à portée de clic, d&#8217;autres demanderont à l&#8217;utilisateur de parcourir plusieurs menu et de vraiment chercher pour enfin trouver ce qu&#8217;il souhaite. Par exemple pour gérer les fournisseurs, il faudra aller dans l&#8217;édition des attributs de produits et choisir manufacturer, puis à l&#8217;intérieur, ajouter des fournisseurs.<br />
Un système de personnalisation de l&#8217;interface graphique de la boutique est disponible au sein de la partie admin et permettra de préparer le pages &laquo;&nbsp;template&nbsp;&raquo;. Il faudra par contre que l&#8217;utilisateur revoit ses cours de HTML, car il n&#8217;y a pas d&#8217;éditeur wysiwyg. Les pages sont basées sur le classique &laquo;&nbsp;PHP-HTML&nbsp;&raquo; mix, qui n&#8217;est pas des plus simples, mais qui à le mérite de séparer en partie le code HTML du code PHP. Les webdesigners ne seront donc pas perdus. Il sera également possible de faire participer les visiteurs en proposant des sondages, le module étant installé par défaut. Un utilisateur de la communauté à développé un module de migration depuis osCommerce 2.2, mais il ne migre que les produits et catégories. La base de données est bien construite et possède des index. Le moteur utilisé est innoDB. Cet outil a donc de grandes qualités, même s&#8217;il y a encore des choses à améliorer, il pourra être proposé pour une utilisation professionnelle.</p>
<h3>OsCommerce : Un dinosaure en peine de renouvèlement</h3>
<p>URL : <a href="http://www.oscommerce.com/">http://www.oscommerce.com/</a><br />
+ installation rapide et simple (moins de 3minutes)<br />
+ traduction en français<br />
+ gestion du stock<br />
+ cache<br />
+ module de paiement Atos<br />
+ quelques rapports<br />
+ communauté<br />
+ version 3.0 prometteuse<br />
- thème graphique par défaut<br />
- système d&#8217;installation des extensions<br />
- qualité du code<br />
- sécurité<br />
- version proposée non stable</p>
<p>osCommerce, est le plus ancien outil de e-commerce, il a une large communauté autour de lui, et un nombre de modules impressionnant. Utilisé par plus de 12000 boutiques référencées, il pourrait être une valeur sure. Cependant le développement a un rythme assez lent, et les versions proposées pour la mise en production sont parfois des Release Candidate (des versions pas totalement finies). L&#8217;installation se fera en quelques minutes. L&#8217;interface graphique est ergonomique, et même les nouveaux venus trouveront rapidement leurs marques. Le thème graphique par défaut est vraiment horrible, mais des thèmes graphiques existent sous forme de contributions. Les nombreux modules pour osCommerce permettront de personnaliser la boutique, mais leur installation nécessitant bien souvent de modifier du code, il faudra avoir quelques notions de PHP.  La version testée est une 2.2RC2a, le code est de type php3. Et c&#8217;est bien là tout le problème avec osCommerce. En effet le code spécifique php3 pose de très nombreux problèmes de sécurité et de maintien en production. De part son utilisation mondiale et ces problèmes de code, osCommerce connait souvent des découvertes de failles de sécurité qui sont alors exploitées. L&#8217;équipe de développement a tardé à prendre en compte ce problème avec la version 3.0 qui est en cours de préparation (en alpha5) et qui sera compatible PHP 5.2.x alors que PHP 5.2 est sorti en 2006&#8230; Le code de la version 3.0 est objet et on peut donc espérer que le passage à PHP 5.3 se fera en douceur. Dans l&#8217;état actuel des choses, il n&#8217;est pas recommandable d&#8217;utiliser la version 2.2, en particulier pour une nouvelle boutique, d&#8217;ici peu de temps cette version 2.2 sera complètement obsolète du fait de l&#8217;utilisation de fonctions supprimées, des register_globals et autre short_open_tags. L&#8217;équipe de développement de la version 3.0 prépare un script de migration, mais aucune date de sortie n&#8217;est encore prévue.</p>
<h3>Prestashop : La boutique française bien pensée</h3>
<p>URL: <a href="http://www.prestashop.com">http://www.prestashop.com</a><br />
+ installation en moins de 3minutes<br />
+ traduction en Français disponible<br />
+ jolis effets graphiques boutique et arrière boutique<br />
+ sécurité (mot de passe + renommage du dossier admin et suppression du dossier install)<br />
+ interface ergonomique<br />
+ rapports et statistiques avancés agrémentés de graphiques<br />
+ templates avec Smarty<br />
- module de paiement Atos Payant (300euros)<br />
- tous les modules complémentaires sont payant ou presque (compter 70 à 400euros)</p>
<p>Prestashop, est un nouvel arrivant sur la scène de la boutique électronique. Développé par des Français, l&#8217;outil regroupe déjà 30000 membres. Ce qui frappe avec Prestashop, c&#8217;est la qualité de la finition, l&#8217;interface graphique d&#8217;administration est agréable et ergonomique, elle est plaisante à utiliser. Les nouveaux utilisateurs trouveront ce qu&#8217;ils cherchent naturellement. Prestashop dispose de nombreux modules qui s&#8217;installent facilement via un système packages zip, le système s&#8217;occupe de télécharger, décompresser et installer le module. On trouvera par exemple le module de paiement Atos.<br />
L&#8217;ensemble de l&#8217;application est parfaitement traduite en français (sauf dans la partie statistiques). L&#8217;équipe de développement à utilisé AJAX à bon escient ce qui est très agréable autant du coté client que du coté marchand. Le marchand appréciera les rapports agrémentés par des graphiques représentant les volumes de ventes, de visites, les articles les plus vendus et complété par un commentaire du graphique.<br />
L&#8217;accent à été mis sur la sécurité, ainsi les mots de passe doivent contenir des lettres et des chiffres, et le dossier de la partie admin doit être renommé après l&#8217;installation.<br />
Prestashop est basé des technologies éprouvées comme le système de template Smarty, qui ravira les webdesigners comme les développeurs, mais aussi des modules PEAR. Le code est de très bonne qualité avec un découpage par objet. On peut regretter qu&#8217;il n&#8217;y ait pas de système de cache autre que celui de Smarty qui cache ses templates, il aurait été intéressant de cacher également toute la partie boutique en HTML, de manière a ne pas reconstruire entièrement les pages. Cependant les performances semblent être au rendez-vous car les pages sont générées en général en moins de 1 seconde. La base de données a bien été pensée, des indexes sont présents et la taille des champs à été définie. C&#8217;est un outil parfaitement recommandable à des professionnels.</p>
<p><em>Nous l&#8217;avons vu qu&#8217;il existe des outils de plus ou moins bonne qualité suivant le type de boutique que l&#8217;on souhaite mettre en place. Les deux boutiques sortantes sont Magento et PrestaShop qui, développés récemment (depuis 2007-2008) ont su répondre aux problématiques web 2.0 et programmation Objet. Cela assure à ces projets une ergonomie, mais surtout une pérennité. La programmation objet permet à un projet d&#8217;être canalisé et rationnel, elle permet de centraliser les fonctions et donc de simplifier la tâche des développeurs. Il reste a savoir si ces solutions arriveront à s&#8217;imposer en particulier face à osCommerce qui détient près de la moitié du marché français, l&#8217;un des enjeux pourra donc être de proposer une procédure de migration depuis osCommerce, ce que pour le moment ni Magento, ni PrestaShop ne proposent. Il se pourrait même qu&#8217;EmisFR soit déjà sur le coup &#8230;<br />
</em></p>
<div id="attachment_27" class="wp-caption aligncenter" style="width: 310px"><a href="http://cedric.emisfr.info/files/2009/10/pdm_eshop_fr.png"><img src="http://cedric.emisfr.info/files/2009/10/pdm_eshop_fr-300x193.png" alt="Part de marché pour les boutiques en ligne enregistré par e-komerco (source des données http://www.e-komerco.fr/ octobre 2009)" width="300" height="193" class="size-medium wp-image-27" /></a><p class="wp-caption-text">Part de marché pour les boutiques en ligne enregistré par e-komerco (source des données http://www.e-komerco.fr/ octobre 2009)</p></div>
<p>Cédric FERRY &#8211; EmisFR</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2009/10/14/tests-e-commerce-opensource/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bonjour tout le monde !</title>
		<link>http://emisfr.info/2009/04/30/bonjour-tout-le-monde/</link>
		<comments>http://emisfr.info/2009/04/30/bonjour-tout-le-monde/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 10:08:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Général]]></category>

		<guid isPermaLink="false">http://emisfr.info/2009/04/30/bonjour-tout-le-monde/</guid>
		<description><![CDATA[Bonjour à tous et bien venue sur mon blog professionel. Vous trouverez ici essentiellement des tests et des tutos sur des technos ou des logiciels que l&#8217;ont à mis en place au sein de Emisfr. Développeur depuis bientôt 3ans pour le compte d&#8217;Emisfr, nous utilisons principalement les technologies suivantes Apache, PHP, CSS, JavaScript couplé à [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour à tous et bien venue sur mon blog professionel.</p>
<p>Vous trouverez ici essentiellement des tests et des tutos sur des technos ou des logiciels que l&#8217;ont à mis en place au sein de <a href="http://www.emisfr.com" target="_blank">Emisfr</a>.</p>
<p>Développeur depuis bientôt 3ans pour le compte d&#8217;<a href="http://www.emisfr.com" target="_blank">Emisfr</a>, nous utilisons principalement les technologies suivantes Apache, PHP, CSS, JavaScript couplé à MySQL et PostGreSQL. Comme vous le remarquez essentiellement des logiciels libres.</p>
<p>Je vous invite donc a découvrir ces technologies et leur écosystème tout au long de mes futurs posts !</p>
<p>à très bientôt</p>
<p>Cédric</p>
]]></content:encoded>
			<wfw:commentRss>http://emisfr.info/2009/04/30/bonjour-tout-le-monde/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

