<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Compléments pour les formations</title>
	<atom:link href="http://formatrice.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://formatrice.wordpress.com</link>
	<description>Symfony, Sensio Labs</description>
	<lastBuildDate>Mon, 30 Nov 2009 09:11:52 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='formatrice.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f3f1f0ae6978c7d66de07cb43b343bb2?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Compléments pour les formations</title>
		<link>http://formatrice.wordpress.com</link>
	</image>
			<item>
		<title>Doctrine vs Propel</title>
		<link>http://formatrice.wordpress.com/2009/11/30/doctrine-vs-propel/</link>
		<comments>http://formatrice.wordpress.com/2009/11/30/doctrine-vs-propel/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 09:11:52 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[Propel]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=142</guid>
		<description><![CDATA[Durant les formations Symfony, on me pose régulièrement la question : mais quel est le meilleur ORM, Propel ou Doctrine ?
La réponse, mon ami, est soufflée dans le vent,
La réponse est soufflée dans le vent.
J&#8217;ai donc décidé de commencer ma réponse par les liens des gens qui en parlent :

Passage de Propel à Doctrine, retour [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=142&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Durant les formations Symfony, on me pose régulièrement la question : mais quel est le meilleur ORM, Propel ou Doctrine ?</p>
<p>La réponse, mon ami, est soufflée dans le vent,<br />
La réponse est soufflée dans le vent.</p>
<p>J&#8217;ai donc décidé de commencer ma réponse par les liens des gens qui en parlent :</p>
<ul>
<li><a href="http://www.ze-technology.com/2009/11/29/passage-de-propel-a-doctrine-retour-dexperience/">Passage de Propel à Doctrine, retour d&#8217;XP</a> (Ze Technology)</li>
<li><a href="http://totalement.geek.oupas.fr/article/2009/02/14/symfony-bench-des-orm-propel-et-doctrine">Benchmark des deux ORM</a> (Totalement Geek)</li>
<li><a href="http://www.lafermeduweb.net/billet/symfony-quel-orm-choisir-propel-ou-doctrine-302.html">Quel ORM choisir ?</a> (La Ferme Du Web)</li>
</ul>
<p>Une petite <a href="http://www.google.fr/search?q=doctrine+propel">recherche Google</a> vous aidera pas mal aussi (et vous retrouverez ceux que je viens de vous citer).</p>
<p>Et comme il faut toujours aller chercher l&#8217;information à la source, je vous enjoins de lire l&#8217;article (d&#8217;il y a 6 mois déjà) du blog de Symfony Project : <a href="http://www.symfony-project.org/blog/2009/06/11/new-in-symfony-1-3-what-s-up-with-propel-and-doctrine">What&#8217;s up with Propel and Doctrine ?</a> (1.3)</p>
Posted in Outils, PHP, Symfony Tagged: Doctrine, orm, Propel, symfony <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/142/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=142&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2009/11/30/doctrine-vs-propel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Fonctions de callback : objet possible</title>
		<link>http://formatrice.wordpress.com/2009/09/03/fonctions-de-callback-objet-possible/</link>
		<comments>http://formatrice.wordpress.com/2009/09/03/fonctions-de-callback-objet-possible/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 15:30:23 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=123</guid>
		<description><![CDATA[Pour définir un gestionnaire d&#8217;erreurs personnalisé en PHP (il faut en avoir l&#8217;intérêt, car le système par défaut peut permettre déjà pas mal d&#8217;utilisations intéressantes), on utilise la fonction set_error_handler() dont voici la signature : mixed set_error_handler  ( callback $error_handler  [, int $error_types= E_ALL &#124; E_STRICT  ] )
On remarque le callback en premier [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=123&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Pour définir un gestionnaire d&#8217;erreurs personnalisé en PHP (il faut en avoir l&#8217;intérêt, car le système par défaut peut permettre déjà pas mal d&#8217;utilisations intéressantes), on utilise<a href="http://fr.php.net/set_error_handler"> la fonction set_error_handler()</a> dont voici la signature : <code>mixed set_error_handler  ( callback $error_handler  [, int $error_types= E_ALL | E_STRICT  ] )</code></p>
<p>On remarque le callback en premier argument, j&#8217;ai toujours imaginé y préciser une fonction, surtout que dans le cas de <a href="http://fr.php.net/set_error_handler">set_error_handler()</a> la description des arguments enfonce le clou :</p>
<blockquote><p>La fonction utilisateur doit accepter deux paramètres : le code d&#8217;erreur et une chaîne décrivant le code d&#8217;erreur.</p></blockquote>
<p>Mais <a href="http://fr.php.net/manual/fr/language.pseudo-types.php#language.types.callback">on peut aussi utiliser une méthode d&#8217;un objet</a> (ce à quoi je n&#8217;avais jamais prêté attention).</p>
<blockquote><p>Une méthode d&#8217;un objet instancié est passée comme étant un tableau, contenant un objet à l&#8217;index 0 et le nom de la méthode à l&#8217;index 1.</p></blockquote>
<p>On se retrouve donc avec la possibilité de faire :</p>
<p><code><br />
class Error{<br />
   public function errorHandle()<br />
  {<br />
     //do some stuff<br />
  }<br />
}</p>
<p>$myErr = new Error('myrtilles');<br />
set_error_handler(array($myErr, 'errorHandle'));</code></p>
<p>Vous le saviez, je parie ?</p>
Posted in PHP  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=123&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2009/09/03/fonctions-de-callback-objet-possible/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Tutoriel sur la syntaxe Xpath en PHP5</title>
		<link>http://formatrice.wordpress.com/2009/05/15/tutoriel-xpath-php5/</link>
		<comments>http://formatrice.wordpress.com/2009/05/15/tutoriel-xpath-php5/#comments</comments>
		<pubDate>Fri, 15 May 2009 16:10:23 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=109</guid>
		<description><![CDATA[Article paru dans Programmez
Sommaire

Qu&#8217;est-ce qu&#8217;XPath ?
Comment l&#8217;utiliser en PHP5 ?
Comment accéder aux éléments ?

La syntaxe XPath appliquée à la recherche d&#8217;éléments

Notation complète :
Notation abrégée :
Arborescence des noeuds :
Désigner plusieurs noeuds à la fois :


La syntaxe XPath appliquée à la recherche d&#8217;attributs
La syntaxe XPath appliquée à la recherche de texte

Syntaxe d&#8217;un flux RSS 2.0 dans du [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=109&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Article paru dans Programmez</p>
<h2>Sommaire</h2>
<ol>
<li>Qu&#8217;est-ce qu&#8217;XPath ?</li>
<li>Comment l&#8217;utiliser en PHP5 ?</li>
<li>Comment accéder aux éléments ?
<ol>
<li>La syntaxe XPath appliquée à la recherche d&#8217;éléments
<ol>
<li>Notation complète :</li>
<li>Notation abrégée :</li>
<li>Arborescence des noeuds :</li>
<li>Désigner plusieurs noeuds à la fois :</li>
</ol>
</li>
<li>La syntaxe XPath appliquée à la recherche d&#8217;attributs</li>
<li>La syntaxe XPath appliquée à la recherche de texte
<ol>
<li>Syntaxe d&#8217;un flux RSS 2.0 dans du XML</li>
<li>Exemple : afficher les titres de flux RSS contenant le mot PHP</li>
</ol>
</li>
</ol>
</li>
<li>Sources</li>
<li>En savoir plus</li>
</ol>
<ol>
<li>
<h2><a name="Qu_27est-ce_qu_27XPath__3F"><br />
Qu&#8217;est-ce qu&#8217;XPath ?</a></h2>
<p><span class="T1"><br />
XPath</span><br />
est un langage pour désigner une portion d&#8217;un document <a href="http://fr.wikipedia.org/wiki/Extensible_markup_language"><br />
XML</a><br />
.<br />
Au départ, XPath a été créé pour uniformiser une syntaxe entre XSL (feuilles de style pour documents XML) et XPointer (désigneurs de documents XML à  distance). Donc XPath permet d&#8217;accéder précisément à un élément d&#8217;un document XML.<br />
XPath est utilisé par les développeurs comme une syntaxe de tri et de recherche dans les documents XML, grâce à ses expressions régulières. En effet, couplé à un langage de programmation, par les boucles, on peut donc extraire des données précises d&#8217;un document XML. Une utilisation, par exemple  pourrait être de trier des titres de nouvelles arrivant dans un flux RSS, par un mot-clef.</li>
<li>
<h2><a name="Comment_l_27utiliser_en_PHP5__3F"><br />
Comment l&#8217;utiliser en PHP5 ?</a></h2>
<p>En PHP5, les fonctions DOMDocument ont été complétées par l&#8217;extension simpleXML qui ajoute une manière simple et orientée objet d&#8217;accéder à des arbres DOM, donc à tout document XML, ou XHTML.</li>
<li>
<h2><a name="Comment_acc_C3_A9der_aux__C3_A9l_C3_A9ments__3F"><br />
Comment accéder aux éléments ?</a></h2>
<p>Nous nous intéresserons aux noeuds de trois types :</p>
<ol style="margin-left:1.25cm;list-style-type:decimal;">
<li class="P4">
<p class="P4" style="margin-left:.25cm;">les noeuds d&#8217;éléments, c&#8217;est-à-dire les balises XML</p>
</li>
<li class="P4">
<p class="P4" style="margin-left:.25cm;">les noeuds d&#8217;attributs, qui ajoutent des informations aux balises</p>
</li>
<li class="P4">
<p class="P4" style="margin-left:.25cm;">les noeuds de texte, les données du document</p>
</li>
</ol>
<p>Notez que simpleXML propose déjà des méthodes pour accéder aux éléments et attributs.</p>
<ol>
<li>
<h2><a name="La_syntaxe_XPath_appliqu_C3_A9e__C3_A0_la_recherche_d_27_C3_A9l_C3_A9ments"><br />
La syntaxe XPath appliquée à la recherche d&#8217;éléments</a></h2>
<p>Il existe deux syntaxes pour noter le chemin à travers les éléments du DOM XML : la méthode complète, qui garantit le moins d&#8217;erreurs possibles et le plus de précision, et la méthode abrégée qui est plus rapide à écrire.<br />
Soient des balises, et je veux désigner l&#8217;élément c:</p>
<blockquote>
<p class="Code">&lt;a&gt;</p>
<p>&lt;b&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;/b&gt;</p>
<p>&lt;/a&gt;</p></blockquote>
<ol>
<li>
<h3 class="Heading3"><a name="Notation_compl_C3_A8te__3A"><br />
Notation complète :</a></h3>
<p class="Code">a/child::b/child::c</p>
</li>
<li>
<h3 class="Heading3"><a name="Notation_abr_C3_A9g_C3_A9e__3A"><br />
Notation abrégée :</a></h3>
<p class="Code">a/b/c</p>
<p>A retenir : on sépare les éléments par un slash, comme les répertoires Unix.<br />
On sépare les mots-clés de désignation du nom de l&#8217;élément par ::</li>
<li>
<h3 class="Heading3"><a name="Arborescence_des_noeuds__3A"><br />
Arborescence des noeuds :</a></h3>
<p>Pour accéder au noeud racine, on peut utiliser le signe /</p>
<p>Pour désigner le noeud sur lequel on travaille, on utilise la notation ./</p>
<p>Pour désigner le noeud parent, on utilise la notation ../</li>
<li>
<h3 class="Heading3"><a name="D_C3_A9signer_plusieurs_noeuds__C3_A0_la_fois__3A"><br />
Désigner plusieurs noeuds à la fois :</a></h3>
<p>Les caractères spéciaux permettent de choisir plusieurs éléments en une seule notation. On utilise l&#8217;étoile * comme caractère joker, et // pour outrepasser la désignation de l&#8217;arborescence.<br />
Exemples :<br />
Soit le XML</p>
<blockquote>
<p class="Code">&lt;a&gt;</p>
<p>&lt;b&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;/b&gt;</p>
<p>&lt;/a&gt;</p>
<p>&lt;a&gt;</p>
<p>&lt;b&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;/b&gt;</p>
<p>&lt;/a&gt;</p>
<p>&lt;a&gt;</p>
<p>&lt;b&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;/b&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;c&gt;&lt;/c&gt;</p>
<p>&lt;/a&gt;</p></blockquote>
<p>Je désigne tous les noeuds enfants de a par a/* (je récupère donc les noeuds b et c).</p>
<p>Je désigne tous les c contenus dans un élément b par b//c, si je souhaite au contraire tous les éléments c<br />
quel que soit le noeud parent, je ferais //c<br />
Attention, on postule que la DTD autorise des éléments c<br />
qui ne seraient pas dans &lt;b&gt;<br />
On peut également combiner les choix dans les fonctions par le caractère | (pipe).</li>
</ol>
</li>
<li>
<h2><a name="La_syntaxe_XPath_appliqu_C3_A9e__C3_A0_la_recherche_d_27attributs"><br />
La syntaxe XPath appliquée à la recherche d&#8217;attributs</a></h2>
<p>La notation longue des attributs se fait par le mot clef attribute, et la notation abrégée par le caractère @.</p>
<p class="Code">&lt;personne&gt;</p>
<p>&lt;yeux couleur =&#8221;bleu&#8221;&gt;</p>
<p>&lt;/yeux&gt;</p>
<p>&lt;cheveux couleur=&#8221;blond&#8221;&gt;longs&lt;/cheveux&gt;</p>
<p>&lt;/personne&gt;</p>
<p>&lt;personne&gt;</p>
<p>&lt;yeux couleur =&#8221;gris&#8221;&gt;</p>
<p>&lt;/yeux&gt;</p>
<p>&lt;cheveux couleur=&#8221;blond&#8221;&gt;en brosse&lt;/cheveux&gt;</p>
<p>&lt;/personne&gt;</p>
<p>&lt;personne&gt;</p>
<p>&lt;yeux couleur =&#8221;brun&#8221;&gt;</p>
<p>&lt;/yeux&gt;</p>
<p>&lt;cheveux couleur=&#8221;noir&#8221;&gt;courts&lt;/cheveux&gt;</p>
<p>&lt;/personne&gt;</p>
<p>Pour désigner les attributs de couleurs d&#8217;yeux, je note :</p>
<blockquote>
<p class="Code">/child::personne/child::yeux/attribute::couleur (complète)<br />
/personne/yeux/@couleur (abrégée)</p></blockquote>
</li>
<li>
<h2><a name="La_syntaxe_XPath_appliqu_C3_A9e__C3_A0_la_recherche_de_texte"><br />
La syntaxe XPath appliquée à la recherche de texte</a></h2>
<p>On utilise la fonction contains(chaine, motif). Depuis PHP, notre chaîne sera le titre de la nouvelle qu&#8217;on souhaite examiner. On peut examiner aussi bien les noeuds que leurs attributs, que le texte contenu dans le noeud élément.</p>
<h3 class="Heading3"><a name="Syntaxe_d_27un_flux_RSS_2.0_dans_du_XML"></a><br />
Syntaxe d&#8217;un flux RSS 2.0 dans du XML</h3>
<blockquote>
<p class="Code">&lt;rss version=&#8221;2.0&#8243;&gt;</p>
<p>&lt;channel&gt;</p>
<p>&lt;title&gt;Titre du channel&lt;/title&gt;</p>
<p>&lt;link&gt;http://www.monsite.com&lt;/link&gt;</p>
<p>&lt;description&gt;Description du channel&lt;/description&gt;</p>
<p>items&#8230;</p>
<p>&lt;/channel&gt;</p>
<p>&lt;/rss&gt;</p></blockquote>
<h3 class="Heading3"><a name="Exemple__3A_afficher_les_titres_de_flux_RSS_contenant_le_mot_PHP"><br />
Exemple : afficher les titres de flux RSS contenant le mot PHP</a></h3>
<blockquote>
<p class="PHP">//On spécifie les sources RSS</p>
<p>$tablo_flux[0] = &#8216;http://afup.org/backend.php3&#8242;;</p>
<p>$tablo_flux[1] = &#8216;http://www.nexen.net/index2.php?option=com_rss&amp;feed=RSS0.91&amp;no_html=1&#8242;;</p>
<p>$tablo_flux[2] = &#8216;http://news.google.fr/news?oe=utf-8&amp;client=firefox-a&amp;rls=org.mozilla:fr:official&amp;tab=dn&amp;ned=fr&amp;topic=t&amp;output=rss&#8217;;</p>
<p>// Nous connaissons l&#8217;arborescence de ces flux, car c&#8217;est spécifié</p>
<p>for($i=0;$i &lt; count($tablo_flux);$i++)</p>
<p>{</p>
<p>$racine[$i] = simplexml_load_file($tablo_flux[$i]);</p>
<p>//sensible à la casse</p>
<p>$recherche = &#8216;/rss/channel/item[contains(title,"PHP")]/title&#8217;;</p>
<p>$titres = $racine[$i]-&gt;xpath($recherche);</p>
<p>// Quand il n&#8217;y a pas de résultat, $titres vaut FALSE</p>
<p>if($titres)</p>
<p>{</p>
<p>foreach($titres as $actu)</p>
<p>{</p>
<p>echo &#8216;&lt;a href=&#8221;&#8216;.htmlentities((string)$actu-&gt;link).&#8217;&#8221;&gt;&#8217;.utf8_decode($actu).&#8221;&lt;/a&gt;&lt;br /&gt;&#8221;;</p>
<p>}</p>
<p>}</p>
<p>}</p></blockquote>
</li>
</ol>
</li>
<li>
<h2><a name="Sources"><br />
Sources </a></h2>
<p><a href="http://fr.wikipedia.org/wiki/XPath"><br />
http://fr.wikipedia.org/wiki/XPath</a><br />
<a href="http://xmlfr.org/w3c/TR/xpath/"><br />
http://xmlfr.org/w3c/TR/xpath/</a><br />
<a href="http://www.w3.org/TR/xpath20/"><br />
http://www.w3.org/TR/xpath20/</a><br />
<a href="http://fr.selfhtml.org/xml/representation/syntaxexpath.htm"></a></p>
<p><a href="http://fr.selfhtml.org/xml/representation/syntaxexpath.htm">http://fr.selfhtml.org/xml/representation/syntaxexpath.htm</a><br />
<a href="http://jerome.developpez.com/xmlxsl/xpath/?lpage=&amp;rpage=1"><br />
http://jerome.developpez.com/xmlxsl/xpath/?lpage=&amp;rpage=1</a><br />
<a href="http://www.oreilly.com/catalog/xmlnut/chapter/ch09.html"><br />
http://www.oreilly.com/catalog/xmlnut/chapter/ch09.html</a><br />
<a href="http://www.oreilly.com/catalog/xmlnut/chapter/ch09.html"><br />
http://www.stervinou.com/projets/rss/</a></li>
<li>
<h2><a name="En_savoir_plus"><br />
En savoir plus</a></h2>
<p>Article de Wikipedia sur Xpath<br />
<a href="http://fr.wikipedia.org/wiki/XPath"><br />
http://fr.wikipedia.org/wiki/XPath</a><br />
Norme du W3C sur XPath<br />
<a href="http://www.w3.org/TR/xpath"></a></p>
<p><a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a><br />
Manuel PHP sur SimpleXML<br />
<a href="http://fr2.php.net/manual/fr/ref.simplexml.php"><br />
http://fr2.php.net/manual/fr/ref.simplexml.php</a></p>
<p class="Standard">Extrait d&#8217;un ouvrage O&#8217;Reilly (XML in a Nutshell <span class="T2"><br />
By Elliotte Rusty Harold &amp; W. Scott Means</span><br />
)<br />
<a href="http://www.oreilly.com/catalog/xmlnut/chapter/ch09.html"><br />
http://www.oreilly.com/catalog/xmlnut/chapter/ch09.html</a><br />
Les fonctions Xpath <a href="http://fr.selfhtml.org/xml/representation/fonctionsxpath.htm"></a></p>
<p><a href="http://fr.selfhtml.org/xml/representation/fonctionsxpath.htm">http://fr.selfhtml.org/xml/representation/fonctionsxpath.htm</a><br />
Former des flux RSS 2.0 http://ghostdogpr.developpez.com/articles/rss/</li>
</ol>
Posted in PHP  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=109&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2009/05/15/tutoriel-xpath-php5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Utiliser un champ BLOB dans Symfony 1.2 (Propel 1.3)</title>
		<link>http://formatrice.wordpress.com/2009/04/10/utiliser-un-champ-blob-dans-symfony-12-propel-13/</link>
		<comments>http://formatrice.wordpress.com/2009/04/10/utiliser-un-champ-blob-dans-symfony-12-propel-13/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 00:00:47 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Question]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=103</guid>
		<description><![CDATA[Le contexte : une application PHP/MySQL, un champ BLOB dans l&#8217;application avec Symfony. Par défaut, nous avions laissé Propel pour faire nos tests.
Le souci d&#8217;un champ BLOB est sa contenance. Lorsque je veux lister tous mes enregistrements, si un des champs est BLOB, il est difficile de l&#8217;afficher directement dans le listing. Au niveau de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=103&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Le contexte :</strong> une application PHP/MySQL, un champ BLOB dans l&#8217;application avec Symfony. Par défaut, nous avions laissé Propel pour faire nos tests.</p>
<p>Le souci d&#8217;un champ BLOB est sa contenance. <strong>Lorsque je veux lister tous mes enregistrements, si un des champs est BLOB, il est difficile de l&#8217;afficher directement dans le listing.</strong> Au niveau de la modélisation, j&#8217;ai donc intérêt à prévoir que ce champ sera ramené plus tard.<br />
Symfony-Propel me propose une technique : préciser dans le YAML que ce champ sera rapporté à la demande.<br />
<code> commentaires_longs: {type: blob, lazyLoad: true}</code></p>
<p>Ensuite, lors de la récupération, j&#8217;ai tout intérêt à proposer un lien vers le contenu long (en saupoudrant éventuellement d&#8217;Ajax pour fournir à l&#8217;utilisateur une prévisualisation au survol). Il serait en effet trop coûteux de rapporter ce champ, en performance et en place sur la page web.<br />
Au moment où je souhaite obtenir le commentaire, je pourrais faire :<br />
<code>$criteria-&gt;clearSelectColumns();<br />
$criteria-&gt;addSelectColumn(ObjetPeer::COMMENTAIRES_LONG);<br />
$rs =ObjetPeer::doSelectStmt($criteria);</code><br />
Attention : actuellement, la méthode est doSelectStmt() et plus doSelectRS(), ne vous faites pas avoir.<br />
Ensuite, vous récupérez un objet de la classe PDOStatement, il faut ensuite l&#8217;exploiter avec un fetch().</p>
<p>Au niveau de la conception de l&#8217;application, on peut imaginer mettre ces champs longs dans des tables séparées, puisqu&#8217;il sera rare qu&#8217;on les reprenne en même temps que les autres.</p>
Posted in Outils, PHP, Question Tagged: PHP, programming, symfony <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=103&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2009/04/10/utiliser-un-champ-blob-dans-symfony-12-propel-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Les nouvelles façons de faire depuis symfony 1.1</title>
		<link>http://formatrice.wordpress.com/2009/01/09/les-nouvelles-facons-de-faire-depuis-symfony-11/</link>
		<comments>http://formatrice.wordpress.com/2009/01/09/les-nouvelles-facons-de-faire-depuis-symfony-11/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 09:04:17 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Frameworks Ajax]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=99</guid>
		<description><![CDATA[Petit aide-mémoire que je complète au fur et à mesure.
Les nouvelles commandes sont bien plus agréables et bien plus logiques. Elles ont été regroupées en espaces de noms.
symfony generate:module nomprojet nommodule
symfony propel:build-all
Enfin l&#8217;information que je cherchais depuis une heure, à savoir, comment supprimer le champ created_at de mon formulaire (généré automatiquement) de création d&#8217;item :
Pour [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=99&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><em>Petit aide-mémoire que je complète au fur et à mesure.</em></p>
<p>Les nouvelles commandes sont bien plus agréables et bien plus logiques. Elles ont été regroupées en espaces de noms.</p>
<blockquote><p>symfony generate:module nomprojet nommodule</p></blockquote>
<blockquote><p>symfony propel:build-all</p></blockquote>
<p>Enfin l&#8217;information que je cherchais depuis une heure, à savoir, <a href="http://www.symfony-project.org/book/forms/1_1/fr/04-Propel-Integration#La suppression d'un champ">comment supprimer le champ created_at</a> de mon formulaire (généré automatiquement) de création d&#8217;item :</p>
<blockquote><p>Pour supprimer un champ, il est nécessaire de supprimer son validateur et son widget.</p></blockquote>
<p>Une autre façon, qui n&#8217;est pas nouvelle, mais qui rejoint les difficultés de symfony : il ne faut pas mettre de else aux if isValid(), car sinon le flux de validation du formulaire ne s&#8217;effectue pas.<br />
<code><br />
if($request-&gt;isMethod('post'))<br />
{<br />
$this-&gt;form-&gt;bind($request-&gt;getParameter('unbug'));<br />
if($form-&gt;isValid())<br />
{<br />
$form-&gt;save();<br />
$this-&gt;redirect('bugs/lister');<br />
}<br />
}<br />
</code></p>
<p>Et ce qu&#8217;il y a de bon à savoir avec les formulaires, c&#8217;est que les classes liées (relation 1-N) doivent avoir une méthode toString() pour pouvoir être utilisable via la génération automatique de CRUD.<br />
En mode dev (appli_dev.php/module/action) le message s&#8217;affiche clairement.</p>
Posted in Outils, PHP Tagged: Frameworks Ajax, symfony <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=99&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2009/01/09/les-nouvelles-facons-de-faire-depuis-symfony-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Comment formater un résultat dans une Macro OpenOffice ?</title>
		<link>http://formatrice.wordpress.com/2008/12/23/comment-formater-un-resultat-dans-une-macro-openoffice/</link>
		<comments>http://formatrice.wordpress.com/2008/12/23/comment-formater-un-resultat-dans-une-macro-openoffice/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 10:58:49 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[Question]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=70</guid>
		<description><![CDATA[Le résultat est toujours retourné tronqué de ses décimales.
Sub FormaterCorrectement()
rem question : Comment formater
Const EURO As Double = 6.55957
Dim mesFrancs As Double
Dim Resultat As Double
mesFrancs = InputBox("Saisissez la somme en francs")
Resultat = CDbl(Format(mesFrancs / EURO, "##.00"))
' Je convertis en Double le formatage à deux décimales du résultat
'     sinon le résultat avant [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=70&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Le résultat est toujours retourné tronqué de ses décimales.<br />
<code>Sub FormaterCorrectement()<br />
rem question : Comment formater</p>
<p>Const EURO As Double = 6.55957<br />
Dim mesFrancs As Double<br />
Dim Resultat As Double</p>
<p>mesFrancs = InputBox("Saisissez la somme en francs")<br />
Resultat = CDbl(Format(mesFrancs / EURO, "##.00"))<br />
' Je convertis en Double le formatage à deux décimales du résultat<br />
'     sinon le résultat avant l'affichage est casté et la partie décimale tombe</p>
<p>MsgBox(Resultat, 64 ,  "Résultat de la conversion")</p>
<p>End Sub</code></p>
Posted in OpenOffice, Question Tagged: programming, Question <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=70&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2008/12/23/comment-formater-un-resultat-dans-une-macro-openoffice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Astuce : créer des valeurs pour un tableau PHP avec son éditeur de code</title>
		<link>http://formatrice.wordpress.com/2008/10/15/astuce-creer-des-valeurs-pour-un-tableau-php-avec-son-editeur-de-code/</link>
		<comments>http://formatrice.wordpress.com/2008/10/15/astuce-creer-des-valeurs-pour-un-tableau-php-avec-son-editeur-de-code/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 10:30:11 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=87</guid>
		<description><![CDATA[J&#8217;ai une liste de valeur, une par ligne, et je souhaite déclarer un tableau PHP contenant ces valeurs.
Voici comment procéder (j&#8217;ai utilisé Scintilla, donc je mets les options que j&#8217;ai utilisées, mais c&#8217;est transposable à n&#8217;importe quel outil).

Lancer le Rechercher/Remplacer avec CTRL + H
Inscrire \n et cocher &#8216;Transform backslah expressions&#8217;
Remplacer par &#8216;,&#8217;
\r et laisser coché [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=87&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>J&#8217;ai une liste de valeur, une par ligne, et je souhaite déclarer un tableau PHP contenant ces valeurs.<br />
Voici comment procéder (j&#8217;ai utilisé Scintilla, donc je mets les options que j&#8217;ai utilisées, mais c&#8217;est transposable à n&#8217;importe quel outil).</p>
<ol>
<li>Lancer le Rechercher/Remplacer avec CTRL + H</li>
<li>Inscrire <strong>\n</strong> et cocher &#8216;Transform backslah expressions&#8217;</li>
<li>Remplacer par <strong>&#8216;,&#8217;</strong></li>
<li><strong>\r</strong> et laisser coché &#8216;Transform backslah expressions&#8217;</li>
<li>Remplacer par <strong>chaîne vide</strong></li>
<li>Ajouter la quote du début, et celle de fin</li>
</ol>
Posted in Outils, PHP Tagged: howto, tip <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=87&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2008/10/15/astuce-creer-des-valeurs-pour-un-tableau-php-avec-son-editeur-de-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Questions sans réponses</title>
		<link>http://formatrice.wordpress.com/2008/10/13/questions-sans-reponses/</link>
		<comments>http://formatrice.wordpress.com/2008/10/13/questions-sans-reponses/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 15:31:11 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Question]]></category>
		<category><![CDATA[Talend]]></category>
		<category><![CDATA[bonnes pratiques]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=85</guid>
		<description><![CDATA[Malgré les faibles mises à jour sur ce blog, il y a encore quelques visites, et parfois de gens plutôt calés. Je me propose donc de publier les questions sans réponse explicite (avec tests, code qui le prouve) que j&#8217;ai en stock.
Si vous avez de l&#8217;aide à apporter pour répondre à ces données, manifestez vous, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=85&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Malgré les faibles mises à jour sur ce blog, il y a encore quelques visites, et parfois de gens plutôt calés. Je me propose donc de publier les questions sans réponse explicite (avec tests, code qui le prouve) que j&#8217;ai en stock.</p>
<p>Si vous avez de l&#8217;aide à apporter pour répondre à ces données, manifestez vous, via les commentaires ou en me contactant  : sarah (point) haim (at) anaska (point) com.</p>
<h3>PHP</h3>
<ul>
<li>Pourquoi avoir choisi __construct() et ne pas avoir gardé la manière PHP4 ?</li>
<li>Vaut-il mieux utiliser __FILE__ ou la variable d’environnemet ($_SERVER) ?</li>
<li>Désactiver var_dump pour gérer des contextes</li>
<li>Est-ce que je devrais ré-écrire tous mes scripts pour passer à PHP6 ?</li>
<li>Puis-je utiliser une classe abstraite, pour des méthodes statiques ?</li>
<li>Flux et sockets : dois-je refaire mon wrapper pour utiliser les sockets ?</li>
</ul>
<h3>Talend</h3>
<ul>
<li>Faire un diff sur des fichiers</li>
<li>Transformer des fichiers : plusieurs lignes à partir d’une seule</li>
</ul>
<h3>Javascript</h3>
<ul>
<li>Est-ce que continue sert dans les boucles labellisées ?</li>
<li>Peut-on utiliser AND au lieu de &amp;&amp; et OR au lieu de || en Javascript ?</li>
<li>Eclipse existe-t-il en français ?</li>
</ul>
<h3>OpenOffice</h3>
<ul>
<li>Comment paramétrer OpenOffice pour qu’il ressemble à MS Word ?</li>
<li>Comment voir le contrôle de repérage dans OpenOffice ?</li>
<li>Comment organiser ses modèles dans OpenOffice ?</li>
</ul>
Posted in Ajax, OpenOffice, Outils, PHP, Question, Talend Tagged: bonnes pratiques, Question <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=85&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2008/10/13/questions-sans-reponses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Que se passe-t-il quand je caste un tableau en objet ?</title>
		<link>http://formatrice.wordpress.com/2008/05/18/que-se-passe-t-il-quand-je-caste-un-tableau-en-objet/</link>
		<comments>http://formatrice.wordpress.com/2008/05/18/que-se-passe-t-il-quand-je-caste-un-tableau-en-objet/#comments</comments>
		<pubDate>Sun, 18 May 2008 16:02:10 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Question]]></category>
		<category><![CDATA[poo]]></category>
		<category><![CDATA[transtypage]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=56</guid>
		<description><![CDATA[Quand je force un tableau associatif en objet, il devient un objet ayant les propriétés qui étaient les clefs du tableau.
Quand je caste un objet en tableau, le nom des propriétés deviennent des clés du tableau, prenant leur valeur.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=56&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Quand je force un tableau associatif en objet, il devient un objet ayant les propriétés qui étaient les clefs du tableau.</p>
<p>Quand je caste un objet en tableau, le nom des propriétés deviennent des clés du tableau, prenant leur valeur.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/formatrice.wordpress.com/56/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/formatrice.wordpress.com/56/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=56&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2008/05/18/que-se-passe-t-il-quand-je-caste-un-tableau-en-objet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
		<item>
		<title>Est-il possible d&#8217;obtenir les dimensions d&#8217;un tableau sans le parcourir ?</title>
		<link>http://formatrice.wordpress.com/2008/05/16/tableau-obtenir-les-dimensions-sans-le-parcourir/</link>
		<comments>http://formatrice.wordpress.com/2008/05/16/tableau-obtenir-les-dimensions-sans-le-parcourir/#comments</comments>
		<pubDate>Fri, 16 May 2008 09:03:05 +0000</pubDate>
		<dc:creator>Sarah Haïm-Lubczanski</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Question]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[depth]]></category>
		<category><![CDATA[dimension]]></category>
		<category><![CDATA[doc]]></category>
		<category><![CDATA[tableaux]]></category>

		<guid isPermaLink="false">http://formatrice.wordpress.com/?p=55</guid>
		<description><![CDATA[On connaît la fonction count() en PHP, qui permet de connaître le nombre d'éléments d'un tableau. Mais si je veux savoir à quelle profondeur je risque d'être conduit en parcourant récursivement mon tableau, comment faire ?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=55&subd=formatrice&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>On connaît la fonction count() en PHP, qui permet de connaître le nombre d&#8217;éléments d&#8217;un tableau. Mais si je veux savoir à quelle profondeur je risque d&#8217;être conduit en parcourant récursivement mon tableau, comment faire ?</p>
<p>J&#8217;en profite pour vous faire découvrir le deuxième argument de la fonction count(), qui mis à la valeur COUNT_RECURSIVE prendra en compte  les éléments internes du tableau.</p>
<p>Je reprends l&#8217;exemple de la doc PHP pour éclairer mon propos.<br />
<code>$food = array(<br />
'fruits' =&gt; array(<br />
'orange', 'banana', 'apple' =&gt; array('verte', 'jaune', 'rouge')<br />
),<br />
'veggie' =&gt; array(<br />
'carrot', 'collard', 'pea'<br />
)<br />
);<br />
// count récursif<br />
echo count($food, COUNT_RECURSIVE); // affiche 11 et non 8<br />
</code></p>
<p>Parmi <a href="http://fr2.php.net/manual/fr/ref.array.php">les fonctions de tableau</a>, il n&#8217;en existe aucune qui permet de juste obtenir la profondeur d&#8217;un tableau.<br />
La raison, à mon avis,  est qu&#8217;un tableau peut-être multi-dimensionnel de manière inégale, comme dans mon exemple ci-dessus.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/formatrice.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/formatrice.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/formatrice.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/formatrice.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/formatrice.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/formatrice.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/formatrice.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/formatrice.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/formatrice.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/formatrice.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/formatrice.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/formatrice.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=formatrice.wordpress.com&blog=1935751&post=55&subd=formatrice&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://formatrice.wordpress.com/2008/05/16/tableau-obtenir-les-dimensions-sans-le-parcourir/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">sarahhaim</media:title>
		</media:content>
	</item>
	</channel>
</rss>