<?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>PHP Visions</title>
	<atom:link href="http://manuel-esteban.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://manuel-esteban.com</link>
	<description>PHP, Javascript, Technos Web, etc ...</description>
	<lastBuildDate>Mon, 21 Feb 2011 13:37:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Symfony] Réduire le nombre de requêtes dans l&#8217;admin générator</title>
		<link>http://manuel-esteban.com/symfony-reduire-le-nombre-de-requetes-dans-ladmin-generator/</link>
		<comments>http://manuel-esteban.com/symfony-reduire-le-nombre-de-requetes-dans-ladmin-generator/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 13:37:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bonnes pratiques]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[tips & tools]]></category>
		<category><![CDATA[Doctrine]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=183</guid>
		<description><![CDATA[<p>Bonjour,</p>
<p>En regardant la liste des blogs parlant de Symfony cette semaine, je suis tombé sur 2 posts de blogs (sur symfony-world et sur fizyk.net) qui m&#8217;ont intéressés. Ils abordent tous les 2 un points que l&#8217;on est vite amené à rencontrer lorsque l&#8217;on commencer à utiliser l&#8217;admin-generator : la multiplication des requêtes.</p>
Trop de requêtes dans [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour,</p>
<p>En regardant <a title="They talk about Symfony" href="http://www.symfony-project.org/blog/2011/02/20/a-week-of-symfony-216-14-20-february-2011" target="_blank">la liste des blogs parlant de Symfony cette semaine</a>, je suis tombé sur 2 posts de blogs (sur <a href="http://symfony-world.blogspot.com/2011/02/less-doctrine-queries-in-symfony-admin.html" target="_blank">symfony-world</a> et sur <a href="http://www.fizyk.net.pl/blog/decrease-number-of-queries-for-admin-generated-module-the-better-way" target="_blank">fizyk.net</a>) qui m&#8217;ont intéressés. Ils abordent tous les 2 un points que l&#8217;on est vite amené à rencontrer lorsque l&#8217;on commencer à utiliser l&#8217;admin-generator : la multiplication des requêtes.</p>
<h3>Trop de requêtes dans l&#8217;admin generator.</h3>
<p>Prenons comme exemple une donnée qui pourrait être typée. Voici le schema.yml que l&#8217;on aurait :</p>
<pre>DataType:
  actAs:
    Timestampable: ~
  columns:
    name:               varchar(255)
Data:
  actAs:
    Timestampable: ~
  columns:
    name:               varchar(255)
    type_id:            integer
  relations:
    Type:
      class:            DataType
      local:            type_id
      foreign:          id
</pre>
<p>On a donc une relation simple. Générons notre admin après avoir créé une fixtures avec une dizaine de data et 5 type de data.</p>
<p><code>./symfony doctrine:generate-admin admin Data</code></p>
<p>On va maintenant modifier le generator.yml pour afficher le nom de la donnée et son type (il y a donc une jointure). Le simple fait d&#8217;afficher le type de la donnée, va rajouter un nombre conséquent de jointures. On passe de 4 requêtes (cf image 1) à 15 requêtes (4 de base + 1 par data, cf image 2). L&#8217;image 3 montre la liste obtenue.</p>
<div id="attachment_187" class="wp-caption aligncenter" style="width: 310px"><a href="http://manuel-esteban.com/wp-content/uploads/2011/02/queries0.png"><img class="size-medium wp-image-187" title="Image 1" src="http://manuel-esteban.com/wp-content/uploads/2011/02/queries0-300x58.png" alt="" width="300" height="58" /></a><p class="wp-caption-text">Image 1</p></div>
<div id="attachment_189" class="wp-caption aligncenter" style="width: 310px"><a href="http://manuel-esteban.com/wp-content/uploads/2011/02/queries1.png"><img class="size-medium wp-image-189" title="Image 2" src="http://manuel-esteban.com/wp-content/uploads/2011/02/queries1-300x167.png" alt="" width="300" height="167" /></a><p class="wp-caption-text">Image 2</p></div>
<div id="attachment_191" class="wp-caption aligncenter" style="width: 225px"><a href="http://manuel-esteban.com/wp-content/uploads/2011/02/list.png"><img class="size-medium wp-image-191" title="Image 3" src="http://manuel-esteban.com/wp-content/uploads/2011/02/list-215x300.png" alt="" width="215" height="300" /></a><p class="wp-caption-text">Image 3</p></div>
<p>On a donc beaucoup plus de requêtes rien qu&#8217;avec une simple jointure, alors imaginez les admins generators pour des tables ayant plusieurs jointures&#8230;</p>
<h3>Réduire le nombre de requêtes simplement.</h3>
<p>Heureusement, il est possible de surcharger facilement cela grâce <a title="Symfony admin generator" href="http://www.symfony-project.org/reference/1_4/en/06-Admin-Generator#chapter_06_sub_table_method" target="_blank">aux options du generator.yml</a>. Dans notre generator.yml, on va donc spécifier l&#8217;option suivante :</p>
<pre>config:
 actions: ~
 fields:  ~
 list:
 display:      [id, name, Type]
 table_method: getWholeData</pre>
<p>Il ne nous reste plus qu&#8217;à définir la fonction getWholeData() dans le fichier DataTable.class.php :</p>
<pre>public static function getWholeData()
{
  $q = self::getInstance()-&gt;createQuery('d');
  $q-&gt;leftJoin($q-&gt;getRootAlias().'.Type t');

  return $q-&gt;execute();
}</pre>
<p>Un petit symfony cc pour vider le cache et le tour est joué ! Désormais, au lieu d&#8217;exécuter 15 requêtes, l&#8217;admin generator n&#8217;en execute que 5. Et c&#8217;est tout (cf image 4).</p>
<div id="attachment_192" class="wp-caption aligncenter" style="width: 310px"><a href="http://manuel-esteban.com/wp-content/uploads/2011/02/queries_final.png"><img class="size-medium wp-image-192" title="Image 4" src="http://manuel-esteban.com/wp-content/uploads/2011/02/queries_final-300x69.png" alt="" width="300" height="69" /></a><p class="wp-caption-text">Image 4</p></div>
<p>Cette méthode simple permet ainsi de diminuer grandement le nombre de requêtes générées par l&#8217;admin generator. Préférez cette méthode à toute surcharge du buildQuery présent dans l&#8217;action.class.php de votre modèle.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = '[Symfony] Réduire le nombre de requêtes dans l&#8217;admin générator';
var flattr_dsc = 'Bonjour,  En regardant la liste des blogs parlant de Symfony cette semaine, je suis tombé sur 2 posts de blogs (sur symfony-world et sur fizyk.net) qui m\'ont intéressés. Ils abordent tous les 2 un points que l\'on est vite amené à rencontrer lorsque l\'on commencer à utiliser l\'admin-generator : la multiplication des requêtes. Trop de requêtes dans l\'admin generator. Prenons comme exemple une donnée qui pourrait être typée. Voici le schema.yml que l\'on aurait : DataType:   actAs:     Timestampable: ~   columns:     name:               varchar(255) Data:   actAs:     Timestampable: ~   columns:     name:               varchar(255)     type_id:            integer   relations:     Type:       class:            DataType       local:            type_id       foreign:          id  On a donc une relation simple. Générons notre admin après avoir créé une fixtures avec une dizaine de data et 5 type de data.  ./symfony doctrine:generate-admin admin Data  On va maintenant modifier';
var flattr_tag = 'Doctrine,Symfony';
var flattr_url = 'http://manuel-esteban.com/symfony-reduire-le-nombre-de-requetes-dans-ladmin-generator/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/symfony-reduire-le-nombre-de-requetes-dans-ladmin-generator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flattr : Une petite révolution</title>
		<link>http://manuel-esteban.com/flattr-une-petite-revolution/</link>
		<comments>http://manuel-esteban.com/flattr-une-petite-revolution/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 13:56:31 +0000</pubDate>
		<dc:creator>mestebanpro</dc:creator>
				<category><![CDATA[Infos]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=165</guid>
		<description><![CDATA[<p>Enfin !</p>
<p>Après deux mois, j&#8217;ai fini par recevoir mon invitation à Flattr. Après une premier tour de découverte, je suis désormais en train de tester le système en lui même (en témoigne l&#8217;apparition des boutons flattr au sein du blog). Mais commençons d&#8217;abord par une petit présentation de flattr.</p>
Présentation
<p>Flattr est un système de micro paiement [...]]]></description>
			<content:encoded><![CDATA[<p>Enfin !</p>
<p>Après deux mois, j&#8217;ai fini par recevoir mon invitation à Flattr. Après une premier tour de découverte, je suis désormais en train de tester le système en lui même (en témoigne l&#8217;apparition des boutons flattr au sein du blog). Mais commençons d&#8217;abord par une petit présentation de flattr.</p>
<h2>Présentation</h2>
<p>Flattr est un système de micro paiement destiné à promouvoir la création dans tous ses états. Ce projet lancé par Peter Sunde (ancien de The Pirate Bay) and Linus Olsson a pour vocation de faciliter le support des productions numériques par un large publique. A première vue, le système est plutôt simple :</p>
<p>L&#8217;internaute lambda (appelons le Bobby) s&#8217;inscrit sur Flattr et alimente un compte Flattr destiné à soutenir des producteurs/ artistes. Il rempli ce compte avec la somme qu&#8217;il souhaite. Une fois cela fait, il choisit quel montant les artistes / producteurs auront à se partager tous les mois. Bobby étant un jeune travailleur en CDI, il décide de commencer par mettre 10 euros sur son compte Flattr et de n&#8217;allouer que 2 euros par mois que les artistes / producteurs auront à se partager de manière équitable. Bobby ayant décidé de verser 2 euros par mois, chaque personne cliqué par Bobby recevra donc : 2€ / nb de clics de Bobby dans le mois.</p>
<p>Lorsque Bobby navigue sur internet, il a la possibilité de supporter un artiste, un blogeur [insert here any web contributor] en cliquant sur le bouton &#8220;flattr&#8221; du site de cette personne. Au mois de mars, Bobby a voulu testé et à cliqué sur le bouton flattr de son groupe en préféré : les bisounours de l&#8217;enfer. C&#8217;est là le seul clic qu&#8217;il a fait durant le mois. Les bisounours de l&#8217;enfer vont donc recevoir 2 euros à la fin du mois sur leur compte Flattr. Le mois suivant (avril), Bobby aime bien le système, il a donc cliqué sur 5 boutons Flattr durant cette période. Chaque personne ayant reçu un clic de Bobby va donc recevoir 0,40€ à la fin du mois (2€ / 5).</p>
<p>Facile non ?</p>
<h2>Premier retour</h2>
<p>N&#8217;écoutant que mon courage, j&#8217;ai décidé de tester le système. Je me suis inscrit pour recevoir une invitation à la béta il y a deux mois environ. Je viens à peine de recevoir mon code d&#8217;invitation, mais j&#8217;avais vraiment souhaité tester ce nouvel outil. Voici donc mon premier retour à son sujet.</p>
<p>Une fois que l&#8217;on reçoit son code d&#8217;invitation, il est nécessaire de s&#8217;inscrier sur le site et de valider son compte. Jusque là, aucun soucis, c&#8217;est assez clair et surtout rapide (anglophobes s&#8217;abstenir). Une fois votre compte activé, vous êtes invité à ajouter de l&#8217;argent sur votre compte et à définir la somme que vous souhaitez donner.</p>
<p>Voici à quoi ressemble la page de gestion de votre compte :</p>
<p style="text-align: center;"><a href="http://chroniques-lunaires.com/rsc/esteban/dossiers/flattr/screen_flattr1.png"><img class="aligncenter" title="Screenshot flattr numéro 1 : page du compte." src="http://chroniques-lunaires.com/rsc/esteban/dossiers/flattr/screen_flattr1.png" alt="Screenshot flattr numéro 1 : page du compte." width="200" height="123" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">Jusque là tout va bien. Vous êtes ensuite invité à soutenir une contribution&#8230; et là&#8230; gros blanc. Où est ce que je trouve des contributions à soutenir facilement ? Heureusement, le site de flattr propose divers type de contributions : les textes, les images, vidéos&#8230; etc &#8230;</p>
<p style="text-align: left;">Dans un premier temps, pour tester, il est donc facile de trouver une ressource à soutenir, mais par la suite, il faudra évidement avoir la chance de tomber sur un contenu à soutenir. C&#8217;est là dessus que j&#8217;ai quelques doutes pour le moment. L&#8217;idée en elle même est bonne, mais si la couverture médiatique n&#8217;est pas suffisante, la porté de Flattr sera trop courte et l&#8217;intérêt sera donc quasi nul. Pour le moment, on a une très forte chance de ne pas croiser de bouton Flattr sur un site durant tout un mois.</p>
<p style="text-align: left;">D&#8217;ailleurs, que se passe t-il si l&#8217;on ne clic sur rien du tout ? Pour le moment voici ce que dit la F.A.Q. :</p>
<dl>
<blockquote><dd>- Then your monthly amount is given to charity, we will not keep it.</dd>
</blockquote>
</dl>
<p>Littéralement : &#8220;Votre contribution mensuelle est offerte en charité, nous ne pouvons la garder&#8221;. Allez savoir ce que cela veut dire. Il va falloir que je regarde un peu si il n&#8217;y a pas plus de détails ailleurs.</p>
<p>Une fois que vous avez soutenu votre première contribution, vous êtes ensutie invité à fournir vous aussi une contribution (ce post personnellement). Et là&#8230;. j&#8217;ai bien l&#8217;impression que pour le moment nous sommes obligés de passer par le formulaire de soumission d&#8217;un contenu disponible sur le site.</p>
<p>A défaut de passer par le formulaire de soumission de contenu, vous avez la possibilité d&#8217;ajouter vous même un bouton Flattr sur votre site. Soit en ajoutant un petit bout de script dans le code source, soit en utilisant un plugin de votre gestionnaire de contenu. Pour le moment, il semble que les seuls modules développés le soient pour : mediawiki, drupal et wordpress. Mais je ne doute pas que les modules vont rapidement se multiplier.</p>
<p>Espérons donc que la portée de Flattr s&#8217;étende (ce qui au passage va imposer un passage au site multilingue) et qu&#8217;il se développe correctement. Le système est intéressant et à du potentiel. Pour le moment cela me plait, je vous en donnerais des nouvelles rapidement.</p>
<p>Et vous, avez vous testé ? Un tel système vous semble t-il viable ?</p>
<p>Edit  du 30/04/2010 :</p>
<p>Encore quelques retours au sujet de Flattr.</p>
<p>Un forum vient d&#8217;ouvrir afin d&#8217;améliorer le produit et de faire des suggestions. Nul doute qu&#8217;il va vite se remplir. Quelques optimisations et améliorations (un bouton plus petit et plus simple notamment) sont en cours et vont arriver rapidement.</p>
<p>Il y a aussi quelques bogues à corriger notamment sur la gestion des comptes / l&#8217;inscription. Espérons qu&#8217;ils réagissent rapidement.</p>
<dl>
<dd> </dd>
</dl>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'Flattr : Une petite révolution';
var flattr_dsc = 'Enfin !  Après deux mois, j\'ai fini par recevoir mon invitation à Flattr. Après une premier tour de découverte, je suis désormais en train de tester le système en lui même (en témoigne l\'apparition des boutons flattr au sein du blog). Mais commençons d\'abord par une petit présentation de flattr. Présentation Flattr est un système de micro paiement destiné à promouvoir la création dans tous ses états. Ce projet lancé par Peter Sunde (ancien de The Pirate Bay) and Linus Olsson a pour vocation de faciliter le support des productions numériques par un large publique. A première vue, le système est plutôt simple :  L\'internaute lambda (appelons le Bobby) s\'inscrit sur Flattr et alimente un compte Flattr destiné à soutenir des producteurs/ artistes. Il rempli ce compte avec la somme qu\'il souhaite. Une fois cela fait, il choisit quel montant les artistes / producteurs auront à se partager tous les mois. Bobby étant un jeune travailleur en CDI, il décide de commencer par mettre 10 eur';
var flattr_tag = '';
var flattr_url = 'http://manuel-esteban.com/flattr-une-petite-revolution/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/flattr-une-petite-revolution/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[TUTO][PhpFrance] Isset, empty et is_null</title>
		<link>http://manuel-esteban.com/tutophpfrance-isset-empty-et-is_null/</link>
		<comments>http://manuel-esteban.com/tutophpfrance-isset-empty-et-is_null/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 10:18:31 +0000</pubDate>
		<dc:creator>mestebanpro</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[tips & tools]]></category>
		<category><![CDATA[tuto]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=156</guid>
		<description><![CDATA[<p>Bonjour.</p>
<p>L&#8217;excellent site phpfrance.com a publié un tutoriel très utile pour les développeurs débutants : faire la différence entre isset, empty et is_null. Vous trouverez ce tutoriel ICI</p>
<p>Tous les 3 souvents utilisés, il faut savoir faire la différence entre ces 3 éléments du langage PHP pour ne pas tomber dans le piège de leur utilisation.</p>
<p>Voici ce [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour.</p>
<p>L&#8217;excellent site phpfrance.com a publié un tutoriel très utile pour les développeurs débutants : faire la différence entre isset, empty et is_null. Vous trouverez ce tutoriel <a title="Tutoriel PHP isset empty is_null" href="http://forum.phpfrance.com/faq-tutoriels/isset-empty-null-sont-sur-bateau-t249889.html" target="_blank">ICI</a></p>
<p>Tous les 3 souvents utilisés, il faut savoir faire la différence entre ces 3 éléments du langage PHP pour ne pas tomber dans le piège de leur utilisation.</p>
<p>Voici ce qu&#8217;il faut en retenir :</p>
<p>- isset et empty sont des éléments de langage (ou structure de langage), tandis que is_null est une fonction</p>
<p>- Il est nécessaire de bien faire attention à ce que l&#8217;on veut vérifier exactement afin de choisir parmis ces 3 élements celui que l&#8217;on veut utiliser.</p>
<p>- Savoir si l&#8217;on veut une valeur NULL ou une valeur qui est vide, ie. savoir si l&#8217;on souhaite utiliser empty ou is_null.</p>
<p>Remercions donc Hywan pour son excellent travail.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = '[TUTO][PhpFrance] Isset, empty et is_null';
var flattr_dsc = 'Bonjour.  L\'excellent site phpfrance.com a publié un tutoriel très utile pour les développeurs débutants : faire la différence entre isset, empty et is_null. Vous trouverez ce tutoriel ICI  Tous les 3 souvents utilisés, il faut savoir faire la différence entre ces 3 éléments du langage PHP pour ne pas tomber dans le piège de leur utilisation.  Voici ce qu\'il faut en retenir :  - isset et empty sont des éléments de langage (ou structure de langage), tandis que is_null est une fonction  - Il est nécessaire de bien faire attention à ce que l\'on veut vérifier exactement afin de choisir parmis ces 3 élements celui que l\'on veut utiliser.  - Savoir si l\'on veut une valeur NULL ou une valeur qui est vide, ie. savoir si l\'on souhaite utiliser empty ou is_null.  Remercions donc Hywan pour son excellent travail.';
var flattr_tag = 'Php,tuto';
var flattr_url = 'http://manuel-esteban.com/tutophpfrance-isset-empty-et-is_null/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/tutophpfrance-isset-empty-et-is_null/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Présentation de Crawltrack</title>
		<link>http://manuel-esteban.com/presentation-de-crawltrack/</link>
		<comments>http://manuel-esteban.com/presentation-de-crawltrack/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 13:36:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Infos]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[tips & tools]]></category>
		<category><![CDATA[CrawlTrack]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=136</guid>
		<description><![CDATA[<p>Bonjour.</p>
<p>Récemment, j&#8217;ai pu découvrir CrawlTrack, un petit logiciel php vous permettant de dresser des statistiques de visites / navigation sur votre site, mais aussi, de lister et bloquer certaines attaques de type injection.
Je suis pour le moment en train de tester cela, mais à première vue (et vue les retours de certains développeurs / webmaster), [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour.</p>
<p>Récemment, j&#8217;ai pu découvrir <a href="http://www.crawltrack.net/fr/">CrawlTrack</a>, un petit logiciel php vous permettant de dresser des statistiques de visites / navigation sur votre site, mais aussi, de lister et bloquer certaines attaques de type injection.<br />
Je suis pour le moment en train de tester cela, mais à première vue (et vue les retours de certains développeurs / webmaster), CrawlTrack à l&#8217;air plutôt sympathique et performant. Notamment pour quantifier / bloquer les attaques par injections sur votre site.</p>
<p>Si vous avez une expérience avec ce logiciel, ou des concurrents intéressants, n&#8217;hésitez pas à me les signaler.</p>
<p>N&#8217;hésitez pas à visiter le site de CrawlTrack pour vous faire une idée.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'Présentation de Crawltrack';
var flattr_dsc = 'Bonjour.  Récemment, j\'ai pu découvrir CrawlTrack, un petit logiciel php vous permettant de dresser des statistiques de visites / navigation sur votre site, mais aussi, de lister et bloquer certaines attaques de type injection. Je suis pour le moment en train de tester cela, mais à première vue (et vue les retours de certains développeurs / webmaster), CrawlTrack à l\'air plutôt sympathique et performant. Notamment pour quantifier / bloquer les attaques par injections sur votre site.  Si vous avez une expérience avec ce logiciel, ou des concurrents intéressants, n\'hésitez pas à me les signaler.  N\'hésitez pas à visiter le site de CrawlTrack pour vous faire une idée.';
var flattr_tag = 'CrawlTrack';
var flattr_url = 'http://manuel-esteban.com/presentation-de-crawltrack/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/presentation-de-crawltrack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quelques nouvelles</title>
		<link>http://manuel-esteban.com/quelques-nouvelles/</link>
		<comments>http://manuel-esteban.com/quelques-nouvelles/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 14:58:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=134</guid>
		<description><![CDATA[<p>Bonjour à tous.</p>
<p>Voila quelques temps que je n&#8217;ai pas posté de nouveaux billets. La principale raison tient du fait que mes journées sont actuellement plutôt denses, et que mes 3 heures de transport par jour sont des plus usantes.
Je vous invite à faire le trajet Rueil / Vélizy en transport en commun en heure de [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour à tous.</p>
<p>Voila quelques temps que je n&#8217;ai pas posté de nouveaux billets. La principale raison tient du fait que mes journées sont actuellement plutôt denses, et que mes 3 heures de transport par jour sont des plus usantes.<br />
Je vous invite à faire le trajet Rueil / Vélizy en transport en commun en heure de pointe (merci Dassault Systèmes pour ce déménagement stratégique).</p>
<p>Au programme dans les jours à venir :<br />
- Un retour d&#8217;expérience sur Ext/Js<br />
- Un tutorial pour une première prise en main d&#8217;Ext/Js</p>
<p>D&#8217;un autre coté : OBrowser est pour le moment à l&#8217;arrêt étant donné qu&#8217;il me faut réfléchir à l&#8217;orientation que je veux donner au projet. Soit continuer dans l&#8217;optique actuelle, soit partir vers une version full javascript (et perdre en accessibilité).<br />
Cruel dilemme.</p>
<p>Bref, le blog n&#8217;est pas mort, même si Dassault Systèmes me tue à petit feu.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'Quelques nouvelles';
var flattr_dsc = 'Bonjour à tous.  Voila quelques temps que je n\'ai pas posté de nouveaux billets. La principale raison tient du fait que mes journées sont actuellement plutôt denses, et que mes 3 heures de transport par jour sont des plus usantes. Je vous invite à faire le trajet Rueil / Vélizy en transport en commun en heure de pointe (merci Dassault Systèmes pour ce déménagement stratégique).  Au programme dans les jours à venir :  - Un retour d\'expérience sur Ext/Js - Un tutorial pour une première prise en main d\'Ext/Js  D\'un autre coté : OBrowser est pour le moment à l\'arrêt étant donné qu\'il me faut réfléchir à l\'orientation que je veux donner au projet. Soit continuer dans l\'optique actuelle, soit partir vers une version full javascript (et perdre en accessibilité). Cruel dilemme.  Bref, le blog n\'est pas mort, même si Dassault Systèmes me tue à petit feu.';
var flattr_tag = '';
var flattr_url = 'http://manuel-esteban.com/quelques-nouvelles/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/quelques-nouvelles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concours PHPFrance #01</title>
		<link>http://manuel-esteban.com/concours-phpfrance-01/</link>
		<comments>http://manuel-esteban.com/concours-phpfrance-01/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 08:10:28 +0000</pubDate>
		<dc:creator>mestebanpro</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Infos]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Concours]]></category>
		<category><![CDATA[Phpfrance]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=110</guid>
		<description><![CDATA[<p>Après en avoir parlé pendant un moment, l&#8217;équipe de PhpFrance a décidé de lancer un petit concours de programmation en PHP.</p>
<p>Vous retrouverez toutes les infos concernant le concours ici.</p>
<p>A noter qu&#8217;il semble que le sujet soit la gestion d&#8217;une équipe de sport et qu&#8217;il y ait 2 niveaux de programmation.</p>
<p>Le niveau accessible qui devra répondre [...]]]></description>
			<content:encoded><![CDATA[<p>Après en avoir parlé pendant un moment, l&#8217;équipe de PhpFrance a décidé de lancer un petit concours de programmation en PHP.</p>
<p>Vous retrouverez toutes les infos concernant le concours <a title="Regles Concours PHP FRance" href="http://www.phpfrance.com/forums/voir_sujet-246988.php" target="_blank">ici</a>.</p>
<p>A noter qu&#8217;il semble que le sujet soit la gestion d&#8217;une équipe de sport et qu&#8217;il y ait 2 niveaux de programmation.</p>
<p>Le niveau accessible qui devra répondre au sujet A, et le niveau supérieur qui devra répondre aux sujets A et B.</p>
<p>Cela peut donc être intéressant. Il y a d&#8217;ailleurs de bonnes chances que je participe (en fonction du sujet en fait). N&#8217;hésitez pas à participer, plus nous serons nombreux, mieux ce sera.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'Concours PHPFrance #01';
var flattr_dsc = 'Après en avoir parlé pendant un moment, l\'équipe de PhpFrance a décidé de lancer un petit concours de programmation en PHP.  Vous retrouverez toutes les infos concernant le concours ici.  A noter qu\'il semble que le sujet soit la gestion d\'une équipe de sport et qu\'il y ait 2 niveaux de programmation.  Le niveau accessible qui devra répondre au sujet A, et le niveau supérieur qui devra répondre aux sujets A et B.  Cela peut donc être intéressant. Il y a d\'ailleurs de bonnes chances que je participe (en fonction du sujet en fait). N\'hésitez pas à participer, plus nous serons nombreux, mieux ce sera.';
var flattr_tag = 'Concours,Php,Phpfrance';
var flattr_url = 'http://manuel-esteban.com/concours-phpfrance-01/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/concours-phpfrance-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlackOut</title>
		<link>http://manuel-esteban.com/blackout/</link>
		<comments>http://manuel-esteban.com/blackout/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 15:46:01 +0000</pubDate>
		<dc:creator>mestebanpro</dc:creator>
				<category><![CDATA[Infos]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[blackout]]></category>
		<category><![CDATA[hadopi]]></category>
		<category><![CDATA[quadrature]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=106</guid>
		<description><![CDATA[<p>Ce blog rejoins désormais Le black Out organisé par la quadrature du net afin d&#8217;exprimer ma totale insatisfaction et mon opposition quand au projet de loi Hadopi.</p>
<p>Vous trouverez tous les renseignements sur le site de la Quadrature du net.</p>
<p>Une ligne de Css, une image en plus, comme quoi il est facile d&#8217;exprimer sons mécontentement.</p>
]]></description>
			<content:encoded><![CDATA[<p>Ce blog rejoins désormais Le black Out organisé par la quadrature du net afin d&#8217;exprimer ma totale insatisfaction et mon opposition quand au projet de loi Hadopi.</p>
<p>Vous trouverez tous les renseignements sur le site de la <a href="http://www.laquadrature.net/fr/guide-du-blackout-HADOPI" target="_blank">Quadrature du net</a>.</p>
<p>Une ligne de Css, une image en plus, comme quoi il est facile d&#8217;exprimer sons mécontentement.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'BlackOut';
var flattr_dsc = 'Ce blog rejoins désormais Le black Out organisé par la quadrature du net afin d\'exprimer ma totale insatisfaction et mon opposition quand au projet de loi Hadopi.  Vous trouverez tous les renseignements sur le site de la Quadrature du net.  Une ligne de Css, une image en plus, comme quoi il est facile d\'exprimer sons mécontentement.';
var flattr_tag = 'blackout,hadopi,quadrature';
var flattr_url = 'http://manuel-esteban.com/blackout/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/blackout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL : utiliser SQL_CALC_FOUND_ROWS</title>
		<link>http://manuel-esteban.com/sql-utiliser-sql_calc_found_rows/</link>
		<comments>http://manuel-esteban.com/sql-utiliser-sql_calc_found_rows/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 11:14:01 +0000</pubDate>
		<dc:creator>mestebanpro</dc:creator>
				<category><![CDATA[Infos]]></category>
		<category><![CDATA[Sql]]></category>
		<category><![CDATA[tips & tools]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=98</guid>
		<description><![CDATA[<p>Bonjour.</p>
<p>Je vais aborder aujourd&#8217;hui l&#8217;utilisation de SQL_CALC_FOUND_ROWS.</p>
<p>Durant mes missions, j&#8217;ai souvent à faire de bonnes grosses requêtes avec de multiples joins afin d&#8217;afficher des contenus provenant de diverses sources en filtrant selon certains critères. Ces requêtes sont bien souvent couplée à une seconde requête qui permet de compter le nombre total d&#8217;éléments ramenés. Ce fonctionnement [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour.</p>
<p>Je vais aborder aujourd&#8217;hui l&#8217;utilisation de SQL_CALC_FOUND_ROWS.</p>
<p>Durant mes missions, j&#8217;ai souvent à faire de bonnes grosses requêtes avec de multiples joins afin d&#8217;afficher des contenus provenant de diverses sources en filtrant selon certains critères. Ces requêtes sont bien souvent couplée à une seconde requête qui permet de compter le nombre total d&#8217;éléments ramenés. Ce fonctionnement plutôt lourd peut être allégé via l&#8217;utilisation de SQL_CALC_FOUND_ROWS.</p>
<p>Voici un exemple de requêtes :</p>
<p><code><br />
&lt;?php<br />
//Récupération des résultats<br />
$qry = "SELECT t1.*, t2.*, t3.champ1, t3.champ2<br />
FROM table1 t1<br />
LEFT JOIN table2 t2 ON (t1.key2 = t2.key1)<br />
LEFT JOIN table2 t3 ON (t1.key2 = t32.key2)<br />
WHERE t1.delete = '0'<br />
LIMIT 10";<br />
$res = mysql_query($qry);<br />
// ... Traitement des résutats</code></p>
<p>//Récupération du nombre total<br />
$qry = &#8220;SELECT COUNT(*)<br />
FROM table1 t1<br />
LEFT JOIN table2 t2 ON (t1.key2 = t2.key1)<br />
LEFT JOIN table2 t3 ON (t1.key2 = t32.key2)<br />
WHERE t1.delete = &#8216;0&#8242;&#8221;;<br />
$res = mysql_query($qry);<br />
// &#8230; Sauvegarde du nombre total<br />
?&gt;</p>
<p>Cette façon de faire est encore courante et plutôt lourde car on exécute 2 fois une requête complexe, sachant que la seconde requête est en générale d&#8217;une lourdeur à toute épreuve. Beaucoup de développeurs fonctionnent encore de cette manière et entame ainsi sérieusement les performances de leur serveur.</p>
<p>Il est heureusement possible d&#8217;optimiser votre code grâce à SQL_CALC_FOUND_ROWS. Ce mot, placé en premier dans votre requête, ramènera le nombre total de ligne de la base de donnée correspondant à votre recherche <span style="text-decoration: underline;">sans la clause limit</span>.</p>
<p>Voici comment le même code sera alors mis en place :</p>
<p><code><br />
&lt;?php<br />
//Récupération des résultats<br />
$qry = "SELECT SQL_CALC_FOUND_ROWS t1.*, t2.*, t3.champ1, t3.champ2<br />
FROM table1 t1<br />
LEFT JOIN table2 t2 ON (t1.key2 = t2.key1)<br />
LEFT JOIN table2 t3 ON (t1.key2 = t32.key2)<br />
WHERE t1.delete = '0'<br />
LIMIT 10";<br />
$res = mysql_query($qry);<br />
// ... Traitement des résutats</code></p>
<p>//Récupération du nombre total<br />
$qry = &#8220;SELECT FOUND_ROWS() AS NbRows&#8221;;<br />
$res = mysql_query($qry);<br />
// &#8230; Sauvegarde du nombre total<br />
?&gt;</p>
<p>Pratique non ?<br />
Alors n&#8217;hésitez pas à utiliser ce mot clé, voir à m&#8217;en proposer d&#8217;autres.<br />
J&#8217;espère vous avoir fait gagné de précieuse micro seconde de requête <img src='http://manuel-esteban.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'SQL : utiliser SQL_CALC_FOUND_ROWS';
var flattr_dsc = 'Bonjour.  Je vais aborder aujourd\'hui l\'utilisation de SQL_CALC_FOUND_ROWS.  Durant mes missions, j\'ai souvent à faire de bonnes grosses requêtes avec de multiples joins afin d\'afficher des contenus provenant de diverses sources en filtrant selon certains critères. Ces requêtes sont bien souvent couplée à une seconde requête qui permet de compter le nombre total d\'éléments ramenés. Ce fonctionnement plutôt lourd peut être allégé via l\'utilisation de SQL_CALC_FOUND_ROWS.  Voici un exemple de requêtes :   &lt;?php //Récupération des résultats $qry = \"SELECT t1.*, t2.*, t3.champ1, t3.champ2 FROM table1 t1 LEFT JOIN table2 t2 ON (t1.key2 = t2.key1) LEFT JOIN table2 t3 ON (t1.key2 = t32.key2) WHERE t1.delete = \'0\' LIMIT 10\"; $res = mysql_query($qry); // ... Traitement des résutats  //Récupération du nombre total $qry = \"SELECT COUNT(*) FROM table1 t1 LEFT JOIN table2 t2 ON (t1.key2 = t2.key1) LEFT JOIN table2 t3 ON (t1.key2 = t32.key2) WHERE t1.delete = \'0\'\"; $res = m';
var flattr_tag = 'Infos,Sql,tips &amp; tools';
var flattr_url = 'http://manuel-esteban.com/sql-utiliser-sql_calc_found_rows/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/sql-utiliser-sql_calc_found_rows/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Premiers pas sur Ext / Js</title>
		<link>http://manuel-esteban.com/premiers-pas-sur-ext-js/</link>
		<comments>http://manuel-esteban.com/premiers-pas-sur-ext-js/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 11:09:12 +0000</pubDate>
		<dc:creator>mestebanpro</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[tips & tools]]></category>
		<category><![CDATA[Ext]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=90</guid>
		<description><![CDATA[<p>Bonjour.</p>
<p>Actuellement en mission chez Dassault Systèmes, j&#8217;ai récemment pu découvrir Ext/js, un framework javascript des plus costaud possédant de très nombreuses fonctionnalités.</p>
<p>Je vais donc vous le présenter et aborder quelques unes de ces fonctionnalités.</p>
<p>Présentation
</p>
<p>On retrouve bien évidement des fonctionnalités communes à tous les frameworks javascript, tel un gestionnaire de requêtes ajax,un event listener etc &#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour.</p>
<p>Actuellement en mission chez Dassault Systèmes, j&#8217;ai récemment pu découvrir Ext/js, un framework javascript des plus costaud possédant de très nombreuses fonctionnalités.</p>
<p>Je vais donc vous le présenter et aborder quelques unes de ces fonctionnalités.</p>
<p><strong>Présentation<br />
</strong></p>
<p>On retrouve bien évidement des fonctionnalités communes à tous les frameworks javascript, tel un gestionnaire de requêtes ajax,un event listener etc &#8230; mais ce qui caractérise avant tout Ext, c&#8217;est qu&#8217;il fournit un ensemble d&#8217;objet complexe permettant de mettre en place des éléments complets et fonctionnels.</p>
<p><strong>Fonctionnalités intéressantes</strong></p>
<p>- <span style="text-decoration: underline;">Les extensions.</span></p>
<p>Ext permet d&#8217;étendre (relativement) facilement ses objets afin de leur ajouter de nouvelles propriétés et de nouvelles données membre. Cette gestion des extensions nécessite un peu de temps de prise en main, mais permet ainsi d&#8217;étendre de manière intéressante les objets Ext fournis. Il existe d&#8217;ailleurs de nombreuses extensions fournies par les utilisateurs (cf liens utiles)</p>
<p>- <span style="text-decoration: underline;">Les grids</span></p>
<p>La grid (ou grille) est surement l&#8217;élément le plus complexe de Ext puisqu&#8217;il repose sur de nombreux autres éléments du framework. Il s&#8217;agit d&#8217;un gestionnaire de données sous forme de grille, permettant une pagination, une modification en live des éléments, divers tris des données etc &#8230;</p>
<p>Vous trouverez une démonstration des grids dans les démos du site (cf liens utiles).</p>
<p><strong>Les plus / Les moins</strong></p>
<p><span style="text-decoration: underline;">Mes plus</span></p>
<p>- Un framework complet et costaud : La force de Ext c&#8217;est bien évidemment le grand nombre d&#8217;éléments mis à disposition de l&#8217;utilisateur et la quantité d&#8217;outils complexes.</p>
<p>- Une communauté active : Après près d&#8217;un mois d&#8217;utilisation, je trouve la communauté plutôt active, le forum n&#8217;est pas déserté par les créateurs et les utilisateurs expérimentés.</p>
<p>- Les tutoriaux : On trouve sur le site plusieurs tutoriaux permettant une bonne prise en main. Ils sont en général plutôt bien détaillé et logiques.</p>
<p>- la section d&#8217;exemple : complète et variée, cette section permet de se faire une bonne idée de ce qui est réalisable avec ext et permet aussi de faire ses premiers pas lorsque l&#8217;on disséque un peu le code source utilisé.</p>
<p><span style="text-decoration: underline;">Mes moins</span></p>
<p>- Un framework trop complet ? J&#8217;ai à plusieurs reprise trouvé que ce framework était peut être trop poussé et qu&#8217;il manquait certaines fonctionnalités simple que l&#8217;on peut retrouver dans prototype par exemple. Peut être me suis-je trompé et trouverais-je ces petits plus plus tard ? Espérons.</p>
<p>- Difficulté de prise en main : De part sa complexité et sa taille, Ext peut être difficile à prendre en main. Je pense notamment à l&#8217;utilisation de la fonction &#8220;extend&#8221; ou à l&#8217;utilisation des grids. Même si on finit par arriver à notre but avec un peu de persévérance et l&#8217;aide de la communauté, faites attention, ext est dense et complexe.</p>
<p><strong>Les démos</strong></p>
<p>Vous trouverez diverses démonstrations de ce qui peut être réalisé grâce à Ext / Js. On pourra noter parmi ces démonstrations, <a title="Gestionnaire de photo Ext" href="http://extjs.com/deploy/dev/examples/organizer/organizer.html" target="_blank">le gestionnaire de photos</a> plutôt sympathique, le <a title="Le Web desktop de Ext" href="http://extjs.com/deploy/dev/examples/desktop/desktop.html" target="_blank">Web Desktop</a> plutôt bleufant. Jetez aussi un coup d&#8217;oeil du coté d&#8217;un des <a title="Exempl de grid avec Ext" href="http://extjs.com/deploy/dev/examples/grid/binding-with-classes.html" target="_blank">exemples de grid</a> qui vous permettra une première approche de cet élément complexe, sans oublier <a title="Multi layout avec ext" href="http://extjs.com/deploy/dev/examples/tabs/tabs-adv.html" target="_blank">la gestion de layout</a> et le <a title="Arborescence avec Ext" href="http://extjs.com/deploy/dev/examples/tree/two-trees.html" target="_blank">gestionnaire d&#8217;arborescence</a> avec un petit drag &amp; drop bien pratique.</p>
<p>En vous plongeant dans cette section vous trouverez de nombreux exemples des plus utiles.</p>
<p>Liens utiles</p>
<p>- <a href="http://extjs.com/" target="_blank">Le site de Ext</a></p>
<p>- <a href="http://extjs.com/deploy/dev/examples/samples.html" target="_blank">La page de démo</a></p>
<p>- <a href="http://extjs.com/forum/" target="_blank">Le forum</a></p>
<p>- <a href="http://extjs.com/learn/" target="_blank">Les tutoriaux</a></p>
<p>- <a href="http://extjs.com/learn/Ext_Extensions" target="_blank">Les extensions non officielles</a></p>
<p>- <a href="http://blog.extjs.eu/" target="_blank">Saki&#8217;s blog</a>,  un blog utile d&#8217;un master de Ext</p>
<p>J&#8217;espère vous avoir fait découvrir ce framework, n&#8217;hésitez pas à me faire vos retours ou à partager votre expérience de Ext / Js. J&#8217;ajouterais sans doute dans un futur plus ou moins proche quelques tutoriaux et démonstration plus complète.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'Premiers pas sur Ext / Js';
var flattr_dsc = 'Bonjour.  Actuellement en mission chez Dassault Systèmes, j\'ai récemment pu découvrir Ext/js, un framework javascript des plus costaud possédant de très nombreuses fonctionnalités.  Je vais donc vous le présenter et aborder quelques unes de ces fonctionnalités.  Présentation   On retrouve bien évidement des fonctionnalités communes à tous les frameworks javascript, tel un gestionnaire de requêtes ajax,un event listener etc ... mais ce qui caractérise avant tout Ext, c\'est qu\'il fournit un ensemble d\'objet complexe permettant de mettre en place des éléments complets et fonctionnels.  Fonctionnalités intéressantes  - Les extensions.  Ext permet d\'étendre (relativement) facilement ses objets afin de leur ajouter de nouvelles propriétés et de nouvelles données membre. Cette gestion des extensions nécessite un peu de temps de prise en main, mais permet ainsi d\'étendre de manière intéressante les objets Ext fournis. Il existe d\'ailleurs de nombreuses extensions fournies par';
var flattr_tag = 'Ext,Javascript';
var flattr_url = 'http://manuel-esteban.com/premiers-pas-sur-ext-js/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/premiers-pas-sur-ext-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP, 4ème langage le plus populaire en 2008</title>
		<link>http://manuel-esteban.com/php-4eme-langage-le-plus-populaire-en-2008/</link>
		<comments>http://manuel-esteban.com/php-4eme-langage-le-plus-populaire-en-2008/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 09:05:40 +0000</pubDate>
		<dc:creator>mestebanpro</dc:creator>
				<category><![CDATA[Infos]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[insolite]]></category>

		<guid isPermaLink="false">http://manuel-esteban.com/?p=87</guid>
		<description><![CDATA[<p>Bonjour à tous.</p>
<p>J&#8217;ai découvert ce matin le classement des languages les plus populaires dressé par Tiobe Software.</p>
<p>Ce classement (disponible ICI) est basé sur les résultats de moteurs de recherche : Google, MSN, Yahoo!, et même YouTube (à titre expérimental). Ce classement reprend les résultats de ces recherches depuis 2001. On peut ainsi y voir l&#8217;augmentation [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour à tous.</p>
<p>J&#8217;ai découvert ce matin le classement des languages les plus populaires dressé par Tiobe Software.</p>
<p>Ce classement (disponible <a title="classement des languages" href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank">ICI</a>) est basé sur les résultats de moteurs de recherche : Google, MSN, Yahoo!, et même YouTube (à titre expérimental). Ce classement reprend les résultats de ces recherches depuis 2001. On peut ainsi y voir l&#8217;augmentation constante de la popularité de PHP.</p>
<p>Si Java est pour le moment premier (selon les critères  de ce classement), il ne cesse de perdre de l&#8217;avance depuis le début.</p>
<p>Rappelons les 10 premiers de ce classement.</p>
<ol>
<li>Java (=)</li>
<li>C (=)</li>
<li>C++ (+2)</li>
<li>PHP (=)</li>
<li>Visual Basic (-2)</li>
<li>C# (+2)</li>
<li>Python (-1)</li>
<li>Perl (-1)</li>
<li>Javascript (+1)</li>
<li>Delphi (+1)</li>
</ol>
<p>Un classement à prendre certe avec des pincettes, mais qui permet tout de même de se faire une petite idée de la popularité de certains langages.</p>
<p>Qu&#8217;en pensez vous ?</p>
<script type="text/javascript">
var flattr_wp_ver = '0.71';
var flattr_uid = '1863';
var flattr_cat = 'text';
var flattr_tle = 'PHP, 4ème langage le plus populaire en 2008';
var flattr_dsc = 'Bonjour à tous.  J\'ai découvert ce matin le classement des languages les plus populaires dressé par Tiobe Software.  Ce classement (disponible ICI) est basé sur les résultats de moteurs de recherche : Google, MSN, Yahoo!, et même YouTube (à titre expérimental). Ce classement reprend les résultats de ces recherches depuis 2001. On peut ainsi y voir l\'augmentation constante de la popularité de PHP.  Si Java est pour le moment premier (selon les critères  de ce classement), il ne cesse de perdre de l\'avance depuis le début.  Rappelons les 10 premiers de ce classement.  	Java (=) 	C (=) 	C++ (+2) 	PHP (=) 	Visual Basic (-2) 	C# (+2) 	Python (-1) 	Perl (-1) 	Javascript (+1) 	Delphi (+1)  Un classement à prendre certe avec des pincettes, mais qui permet tout de même de se faire une petite idée de la popularité de certains langages.  Qu\'en pensez vous ?';
var flattr_tag = '';
var flattr_url = 'http://manuel-esteban.com/php-4eme-langage-le-plus-populaire-en-2008/';
var flattr_lng = 'fr_FR';
</script><script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>]]></content:encoded>
			<wfw:commentRss>http://manuel-esteban.com/php-4eme-langage-le-plus-populaire-en-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

