<?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>ukulele fr en coulisses</title>
	<atom:link href="http://ukulelefr.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ukulelefr.wordpress.com</link>
	<description>les rouages techniques de ukulele.fr</description>
	<lastBuildDate>Sun, 30 Aug 2009 08:43:40 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ukulelefr.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>ukulele fr en coulisses</title>
		<link>http://ukulelefr.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ukulelefr.wordpress.com/osd.xml" title="ukulele fr en coulisses" />
	<atom:link rel='hub' href='http://ukulelefr.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ça bouge&#8230;</title>
		<link>http://ukulelefr.wordpress.com/2009/08/30/ca-bouge/</link>
		<comments>http://ukulelefr.wordpress.com/2009/08/30/ca-bouge/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 08:43:40 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/2009/08/30/ca-bouge/</guid>
		<description><![CDATA[Pas mal d&#8217;activités en coulisses d&#8217;ukulele.fr. Pour le moment et sous peu on va rapidement voir quelques évolutions cosmétiques qui sont la partie émergée de l&#8217;iceberg.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=67&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Pas mal d&#8217;activités en coulisses d&#8217;ukulele.fr. Pour le moment et sous peu on va rapidement voir quelques évolutions cosmétiques qui sont la partie émergée de l&#8217;iceberg.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=67&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/08/30/ca-bouge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>SMF c&#8217;est de la balle</title>
		<link>http://ukulelefr.wordpress.com/2009/07/30/smf-est-de-la-balle/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/30/smf-est-de-la-balle/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 08:21:58 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[choix techno]]></category>
		<category><![CDATA[bbs]]></category>
		<category><![CDATA[bulletin board]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[smf]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=41</guid>
		<description><![CDATA[depuis &#8230; wow pas mal de temps &#8230; le forum de ukulele.fr tourne avec SMF (il avait commencé avec YaBB !) Si pendant un moment j&#8217;ai fait l&#8217;erreur de ne pas le tenir trop à jour (j&#8217;ai du commencer avec une 1.0.7 ou 8), depuis que la mise à jour en 1.1 a été faite [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=41&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>depuis &#8230; wow pas mal de temps &#8230; le <a href="http://www.ukulele.fr/forum/">forum</a> de <a href="http://www.ukulele.fr/">ukulele.fr</a> tourne avec <a href="http://www.simplemachines.org/">SMF</a> (il avait commencé avec YaBB !)</p>
<p>Si pendant un moment j&#8217;ai fait l&#8217;erreur de ne pas le tenir trop à jour (j&#8217;ai du commencer avec une 1.0.7 ou 8), depuis que la mise à jour en 1.1 a été faite les mises à jour sont un plaisir, avec un simple click tout bête. J&#8217;espère que la version 2 passera vite l&#8217;étape de la release candidate, et que l&#8217;upgrade sera aussi aisée ! Un choix de forum à recommander en tous cas, une équipe de développement super active, un beau produit, certes pas une licence libre mais gratuit quand même, et une API intéressante pour la gestion des utilisateurs mais j&#8217;en recauserai j&#8217;espère.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=41&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/30/smf-est-de-la-balle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>UPDATE &#8230; ON DUPLICATE DELETE</title>
		<link>http://ukulelefr.wordpress.com/2009/07/29/update-on-duplicate-delete/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/29/update-on-duplicate-delete/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 11:37:49 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[code snippet]]></category>
		<category><![CDATA[many-to-many]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=37</guid>
		<description><![CDATA[non ce que vous lisez ci dessus n&#8217;existe pas dans MySQL, mais je me suis posé la question et si vous lisez ces lignes peut-être que vous aussi. Il s&#8217;agit de remplacer dans une table d&#8217;associations many to many un membre de l&#8217;association par un autre de même nature (pour simplifier, si j&#8217;ai la table [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=37&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>non ce que vous lisez ci dessus n&#8217;existe pas dans MySQL, mais je me suis posé la question et si vous lisez ces lignes peut-être que vous aussi. Il s&#8217;agit de remplacer dans une table d&#8217;associations many to many un membre de l&#8217;association par un autre de même nature (pour simplifier, si j&#8217;ai la table a, la table b et la table ab d&#8217;associations, je veux remplacer un id de la table a dans ab par un autre id de la table a). Problème bien sûr, j&#8217;ai une clause unique sur (ida,idb) dans ab, donc mon UPDATE peut me balancer des erreurs si l&#8217;associaton que j&#8217;essaie de mettre à jour devient une association qui existe déjà.</p>
<p>Problème résolu en deux requêtes au lien d&#8217;une avec un UPDATE IGNORE suivi d&#8217;un DELETE sur le ida remplacé dans ab.</p>
<p>en résumé :</p>
<p>a:</p>
<pre>+------------+
+ id | value |
+----+-------|
| 1  | abc   |
| 2  | def   |
| 3  | ghi   |
+----+-------+
b:
<pre>+------------+
+ id | value |
+----+-------|
| 1  | pip   |
| 2  | xzu   |
| 3  | mni   |
+----+-------+</pre>
</pre>
<p>et l’association ab</p>
<pre>+---+---+---+
|id |ida|idb|
+---+---+---|
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 1 |
| 4 | 2 | 3 |
| 5 | 3 | 2 |
| 6 | 3 | 3 |
+---+---+---+ UNIQUE(ida,idb)</pre>
<p>Si je veux remplacer les ida 2 de ab par 1, je fais</p>
<p>UPDATE ab SET ida=&#8217;1&#8242; WHERE ida=&#8217;2&#8242;</p>
<p>mais MySQL va me renvoyer à la gueule que j&#8217;ai la clause unique rapport par exemple à la ligne 3. Ce que je voudrais faire c&#8217;est</p>
<p>UPDATE ab SET ida=&#8217;1&#8242; WHERE ida=&#8217;2&#8242; ON DUPLICATE DELETE</p>
<p>qui n&#8217;existe pas donc</p>
<p>UPDATE IGNORE ab SET ida=&#8217;1&#8242; WHERE ida=&#8217;2&#8242;</p>
<p>bon ignore c&#8217;est pas du tout clean ok&#8230; suivi de</p>
<p>DELETE FROM ab WHERE ida=&#8217;2&#8242;</p>
<p>car les ida=&#8217;2&#8242; qui restent sont forcément des duplicata.</p>
<p>Trivial, oui sans doute, mais bon ça fera peut-être gagner 10 mn à quelqu&#8217;un !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=37&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/29/update-on-duplicate-delete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>même si on ne regarde pas il bouge (à propos de GROUP_CONCAT dans MySQL)</title>
		<link>http://ukulelefr.wordpress.com/2009/07/29/meme-si-on-ne-regarde-pas-il-bouge/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/29/meme-si-on-ne-regarde-pas-il-bouge/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 11:04:58 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[code snippet]]></category>
		<category><![CDATA[GROUP_CONCAT]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=30</guid>
		<description><![CDATA[on tourne le dos cinq minutes et la technologie fait des petits bonds furtifs et sournois, qui sont parfois des bonnes surprises comme quand je découvre le GROUP_CONCAT de mysql par exemple ! Je ne sais pas si c&#8217;est joli mais c&#8217;est pratique. Pour ceux qui comme moi ne connaissaient pas : supposons que j&#8217;ai [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=30&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>on tourne le dos cinq minutes et la technologie fait des petits bonds furtifs et sournois, qui sont parfois des bonnes surprises comme quand je découvre le GROUP_CONCAT de mysql par exemple ! Je ne sais pas si c&#8217;est joli mais c&#8217;est pratique.</p>
<p>Pour ceux qui comme moi ne connaissaient pas : supposons que j&#8217;ai</p>
<p>A:</p>
<pre>+------------+
+ id | value |
+----+-------|
| 1  | abc   |
| 2  | def   |
| 3  | ghi   |
+----+-------+

B:
<pre>+------------+
+ id | value |
+----+-------|
| 1  | pip   |
| 2  | xzu   |
| 3  | mni   |
+----+-------+</pre>
</pre>
<p>et l&#8217;association AB</p>
<pre>+---+---+---+
|id | ia| ib|
+---+---+---|
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 2 | 1 |
| 4 | 2 | 3 |
| 5 | 3 | 2 |
| 6 | 3 | 3 |
+---+---+---+
SELECT *,GROUP_CONCAT(ib) FROM A,AB WHERE A.id=AB.ia GROUP BY A.id</pre>
<p>et direct on peut récupérer des lignes façons</p>
<pre>1,"abc","1,2"
2,"def","1,3"
3,"ghi","2,3"</pre>
<p>en schématisant un peu pour le résultat parcequ&#8217;en vrai ce sont des blobs donc pas de taille infinie mais bon dans le contexte où je bosse là ça colle.</p>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_group-concat">Le lien vers la doc</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=30&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/29/meme-si-on-ne-regarde-pas-il-bouge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>Pis-aller pour un CMS</title>
		<link>http://ukulelefr.wordpress.com/2009/07/27/pis-aller-pour-un-cms/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/27/pis-aller-pour-un-cms/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 11:54:31 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[choix techno]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[smf]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=26</guid>
		<description><![CDATA[rien à voir avec les développements dont je causais dans les billets précédents. Le site ukulele.fr doit évoluer sous peu. Au programme, plus de pages, plus de rubriques, mais toujours les actualités. Dotclear 1.2 qui y est en place depuis 5 ans n&#8217;est plus tellement adapté. J&#8217;exclus toutes les usines à gaz façon Drupal ou [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=26&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>rien à voir avec les développements dont je causais dans les billets précédents.</p>
<p>Le site <a href="http://www.ukulele.fr/">ukulele.fr</a> doit évoluer sous peu. Au programme, plus de pages, plus de rubriques, mais toujours les actualités.</p>
<p>Dotclear 1.2 qui y est en place depuis 5 ans n&#8217;est plus tellement adapté.</p>
<p>J&#8217;exclus toutes les usines à gaz façon Drupal ou joomla, disproportionnées et mal adaptées. Par contre WordPress me semble assez bien &#8211; pas des plus légers mais complet et pratique justement pour ajouter des pages etc&#8230;</p>
<p>Avez-vous des expériences pour le skinner ? pour migrer un dotclear 1.2 vers WP ? Des suggestions d&#8217;alternatives ? Est-il possible d&#8217;intégrer simplement des modules php externes qui peuvent aussi tourner indépendamment ? Ou alors plutôt faire un CMS simplifié qui affiche juste un moteur de blog pour les actus (lequel ?) et les autres modules ? Ça existe ?</p>
<p>Dans les choses que j&#8217;aimerais bien faire par exemple &#8211; que je n&#8217;ai pas pris le temps de faire avec dotclear mais à peine esquissé &#8211; il y aurait l&#8217;idée d&#8217;utiliser la base d&#8217;utilisateur de SMF (que je compte garder comme forum) pour les commentaires du blog, et pour d&#8217;autres parties à venir du site (parceque la gestion des utilisateurs de SMF est vraiment pas dégueu et a une API sympa). Si ça vour parle suggestions bienvenues en commentaires ou par mail.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=26&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/27/pis-aller-pour-un-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>Du nettoyage du texte</title>
		<link>http://ukulelefr.wordpress.com/2009/07/27/du-nettoyage-du-texte/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/27/du-nettoyage-du-texte/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 11:34:04 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[code snippet]]></category>
		<category><![CDATA[ephemerid]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=18</guid>
		<description><![CDATA[Le texte est stocké doublement dans la base de données, le texte formatté que l&#8217;utilisateur entre bien sûr, et une version nettoyée pour les recherches. Bien sûr j&#8217;aurais pu faire un système d&#8217;indexation imitant les tags mais je trouve ça fastidieux et puis les tags sont là. Donc il faut la recherche sur le texte [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=18&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Le texte est stocké doublement dans la base de données, le texte formatté que l&#8217;utilisateur entre bien sûr, et une version nettoyée pour les recherches.</p>
<p>Bien sûr j&#8217;aurais pu faire un système d&#8217;indexation imitant les tags mais je trouve ça fastidieux et puis les tags sont là. Donc il faut la recherche sur le texte via mysql. Du coup le texte entrée doit être débarrassé des balises html, et puis tant qu&#8217;on y est de la ponctuation et de tous les signes non alphanumériques et des chiffres (sans garder non plus tous les nombres au sens large unicode du terme mais ce serait éventuellement modifiable pour un portage en chinois ? maybe).</p>
<p>bref ça donne ce bout de code il est vrai carrément trivial mais qui dépannera peut-être quelqu&#8217;un de pressé :</p>
<pre>function bareText($text) {
	// les majuscules/minuscules ne serviront pas :
	// &gt; tout en bas de casse
	$newtext = strtolower($text);
	// on se débarrasse aussi des retours à la ligne éventuels
	// en les remplaçants d'abord par du html
	$newtext = nl2br($newtext);
	// puis on dégage tout ce qui est balise html
	// noter qu'on remplace par un espace pas par rien
	$newtext = preg_replace('/&lt;([^&lt;&gt;]*)?&gt;/uims',' ', $newtext);
	// ceci fait on retraduit les entités en texte régulier
	$newtext = html_entity_decode($newtext,ENT_QUOTES,"UTF-8");
	// avant de supprimer tous les caractères non alphanumériques
	// c'est à dire pas des lettres (p{L}) ni des chiffres ([0-9])
	$newtext = preg_replace('/[^\pL0-9]/uims',' ',$newtext);
	// comme on a rajouté plein d'espaces
	// on les condense :
	$newtext = preg_replace('/\s+/uims',' ', $newtext);
	// du blanc au début ou à la fin ? à dégager
	$newtext = trim($newtext);
	// c'est prêt !
	return $newtext;
}</pre>
<p>Pourquoi remplacer par des espaces quand on pourrait remplacer par rien en supprimant ? Hé bien par exemple si on a :</p>
<pre>&lt;p&gt;Paragraphe 1&lt;/p&gt;&lt;p&gt;Paragraphe 2&lt;br /&gt;peut-être&lt;/p&gt;</pre>
<p>qui devrait s&#8217;afficher :</p>
<blockquote><p>Paragraphe 1</p>
<p>Paragraphe 2<br />
peut-être</p></blockquote>
<p>il serait &laquo;&nbsp;nettoyé&nbsp;&raquo; en : Paragraphe 1Paragraphe2peutêtre</p>
<p>Ce qui serait loin de l&#8217;objectif ! Alors que avec la fonction ci-dessus on obtient bien :</p>
<p>paragraphe 1 paragraphe 2 peut être</p>
<p>bien plus approprié pour le futur</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=18&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/27/du-nettoyage-du-texte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>passage à PHP5 : bonheur</title>
		<link>http://ukulelefr.wordpress.com/2009/07/27/passage-a-php5-bonheur/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/27/passage-a-php5-bonheur/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 10:44:03 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[choix techno]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/2009/07/27/passage-a-php5-bonheur/</guid>
		<description><![CDATA[je change la version de php de la 4 à la 5 et bonheur : JSON est présent, PCRE me débarrasse des fastidieux et lents mbstrings, json_encode me fait gagner pas mal de lignes de code. Nettoyage de code en route ! bonnes notes à prendre : la DB est déjà UTF8, la partie client [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=16&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>je change la version de php de la 4 à la 5 et bonheur : JSON est présent, PCRE me débarrasse des fastidieux et lents mbstrings, json_encode me fait gagner pas mal de lignes de code.</p>
<p>Nettoyage de code en route !</p>
<p>bonnes notes à prendre : la DB est déjà UTF8, la partie client aussi, juste quelques précautions à prendre côté php, ne pas oublier l&#8217;option u  dans les regexp !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=16&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/27/passage-a-php5-bonheur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>L&#8217;enfer des éditeurs de texte&#8230;</title>
		<link>http://ukulelefr.wordpress.com/2009/07/26/lenfer-des-editeurs-de-texte/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/26/lenfer-des-editeurs-de-texte/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 18:41:18 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[AJAX/Js]]></category>
		<category><![CDATA[choix techno]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=12</guid>
		<description><![CDATA[Aujourd&#8217;hui contrairement aux années précédentes, nous sommes plusieurs rédacteurs sur ukulele.fr. Du coup s&#8217;est posé le problème de rentrer du texte dans un blog. Sur le dotclear que j&#8217;utilise depuis 4 ans, pas de Rich Text Editor, du &#171;&#160;mode wiki&#160;&#187; ou du html brut. Comme je ne peux pas demander à mes corédacteurs d&#8217;apprendre le [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=12&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui contrairement aux années précédentes, nous sommes plusieurs rédacteurs sur ukulele.fr. Du coup s&#8217;est posé le problème de rentrer du texte dans un blog. Sur le dotclear que j&#8217;utilise depuis 4 ans, pas de Rich Text Editor, du &laquo;&nbsp;mode wiki&nbsp;&raquo; ou du html brut.</p>
<p>Comme je ne peux pas demander à mes corédacteurs d&#8217;apprendre le HTML et que j&#8217;utilisais moi même le mode wiki, j&#8217;ai dû leur faire un peu de rapide formation. Bilan : la syntaxe wiki est facile, c&#8217;est passé bien même avec des utilisateurs carrément pas tech-savy, mais néanmoins ça laisse un arrière goût de &laquo;&nbsp;je ne comprends pas trop ce que je fais ça passe quand même&nbsp;&raquo;, avec des ajouts involontaires (double retour chariot qui deviennent un &lt;p&gt; html etc). Rien de grave mais pas satisfaisant.</p>
<p>Donc pour le back office de éphémérid, je veux un bel éditeur HTML. Tour rapide de l&#8217;existant : <a href="http://www.fckeditor.net/">FCKEditor</a> (bientôt <a href="http://ckeditor.com/">CKEditor</a>), <a href="http://tinymce.moxiecode.com/">TinyMCE</a>, <a href="http://tinymce.moxiecode.com/"></a><a href="http://www.wymeditor.org/">WYMEditor</a>. Pour le reste, trop fancy, pas assez mature, pas assez documenté.</p>
<p>Mon besoin est simple : un éditeur de texte avec des options très basiques, gras, italique, souligné, strikethrough, bullet list, listes à nombres, hyperliens, et éventuellement je garde la possibilité de lier des images (même si je pense plutôt gérer les médias séparément et les lier aux textes par ailleurs afin de contrôler la vue finale).</p>
<p>Constat : la plupart (tous) les éditeurs de texte choisis sont des usines à gaz qui gèrent trop de choses par rapport à mon besoin. Partant de l&#8217;idée que qui peut le plus devrait pouvoir le moins je me lance &#8211; en sachant d&#8217;avance que je serai déçu sur le chemin.</p>
<p>J&#8217;opte pour TinyMCE, utilisé par pas mal de CMS, développement sérieux, API claire, customisation apparemment facile, intégration qui ne parasite pas le framework choisi, bonne documentation. Il existe une application non libre des mêmes développeurs pour éventuellement la gestion des images et une autre open source. Hélàs, je déchante. Très lourd (le temps de chargement est ignoble), sa très bonne API ne suffit pas à me le faire garder. Très chargé, manque de souplesse, les contrôle de son apparence ne sont pas clairs.</p>
<p>Ensuite WYMEditor : à priori une philosophie parfaite pour ce genre d&#8217;outil. Il est par nature limité (pas de choix de polices ou autres aberrations pour un back office possible), propose quand même de gérer éventuellement des images, etc&#8230; Première grosse déception, il utilise <a href="http://jquery.com/">Jquery</a> qui est sans doute très bien mais qui n&#8217;est pas le framework que j&#8217;ai choisi. Pas très grave (hormis la lourdeur) puisqu&#8217;il peut cohabiter sans souci avec Prototype. Ça fait un peu râler quand même. Installation et déploiement : premier essai ça va &#8211; j&#8217;en profite pour nettoyer un peu ma CSS que j&#8217;ai faite par dessus la jambe en évitant que mes div se chevauchent etc&#8230; Et j&#8217;essaie de customiser la chose. Là c&#8217;est la débacle : la doc est indigente et toutes les modifications sont d&#8217;ignobles bidouilles indignes ! Il faut taper dans les styles pour désactiver des options, pas de méthodes intégrées, du bricolage qui mélange le HTML, les CSS et les scripts pour les mises en page &#8211; c&#8217;est ce que préconisent les développeurs eux-même (qui répondent essentiellement par &laquo;&nbsp;regarder les exemples &#8211; le code source hein, il n&#8217;y a rien de bien détaillé). Une horreur d&#8217;autant plus décevante qu&#8217;elle est à l&#8217;opposée du module lui même ! Exit donc les infâmes bidouilles de WYMEditor qui n&#8217;est utilisable que si on le prend out of the box (ce qui ne me va pas). Exit aussi tout ce qui ne sera pas correctement documenté.</p>
<p>CKEditor je tente rapidement, mais version RC (utilisable et fonctionnelle quand même), absence de doc (normal le produit n&#8217;étant pas en version production), alors que l&#8217;API semble très chouette elle n&#8217;est pas du tout documentée. Dommage.</p>
<p>FCKEditor la version précédente : je prends, il a un peu des défauts et des qualités des précédents. La doc est bien comme TinyMCE. Il n&#8217;est pas d&#8217;une souplesse terrible et il faut un peu bricoler &#8211; la config ici, le lien là -mais ça marche. Il n&#8217;a pas la beauté de la simplicité de WYMEditor (en utilisateur s&#8217;entend) mais on peut le brider. Pour le moment ce sera donc FCKEditor. Reste à voir comment il s&#8217;intégrera dans la suite du dév.</p>
<p>Bilan de ces essais : si quelqu&#8217;un est dans le développement de ce genre d&#8217;outil, qu&#8217;il pense simplicité et pérennité ! Il faut un outil qui marche sur tous les browsers, qui ne cassent pas avec les changement de version, qui reprenne les bonnes idées de WYMEditor avec la possibilité de contrôler simplement l&#8217;aspect, avec une API riche et efficace surtout,où une ligne de code permette d&#8217;ajouter ou d&#8217;enlever des boutons ou de rajouter des fonctionnalités ! Il ne faut pas des machines à tout faire qui imitent des traitements de textes, c&#8217;est le défaut de tous ces éditeurs à l&#8217;exception de WYMEditor, ce sont de mauvais clônes de Word &#8211; donc ils n&#8217;ont rien à faire dans les back offices des CMS ou des blogs.</p>
<p>Et ceux qui veulent faire un traitement de texte en AJAX n&#8217;ont qu&#8217;à aller voir chez GoogleDocs !</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=12&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/26/lenfer-des-editeurs-de-texte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>Du choix des technologies suite</title>
		<link>http://ukulelefr.wordpress.com/2009/07/26/du-choix-des-technologies-suite/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/26/du-choix-des-technologies-suite/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 18:14:10 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[AJAX/Js]]></category>
		<category><![CDATA[choix techno]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=10</guid>
		<description><![CDATA[J&#8217;en suis actuellement après un premier draft fonctionnel de la base de données à développer le back-office. J&#8217;ai une vague idée pour le front, mais finalement on s&#8217;en branle je sais que ce que je produis sera facilement utilisable, et le cahier des charges étant assez simple je peux me lancer avec cette simple vague [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=10&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>J&#8217;en suis actuellement après un premier draft fonctionnel de la base de données à développer le back-office.</p>
<p>J&#8217;ai une vague idée pour le front, mais finalement on s&#8217;en branle je sais que ce que je produis sera facilement utilisable, et le cahier des charges étant assez simple je peux me lancer avec cette simple vague idée.</p>
<p>Pour le back office du tout venant, avec pour moi cette nouveauté de finalement utiliser AJAX, donc requête et tutti cuanti&#8230; nouveauté toute relative puisque c&#8217;est exactement comme ça que je codais en actionscript, en plus simple ! Aujourd&#8217;hui avec tous les bons exemples d&#8217;applis on line (chez google en particulier) on a de suite les bons réflexes.</p>
<p>Après il faut savoir éviter les mauvais plis. Je n&#8217;ai pas besoin d&#8217;utiliser une librairie à la <a href="http://script.aculo.us/">scriptaculous</a> pour faire des fondus de transparence, parceque je n&#8217;ai pas besoin de transition. Exit donc ces apparitions que mes mauvaises habitudes de flasheur me font toujours regarder (et une heure de dev perdues du coup mais bon). Je la garde sous le coude parcequ&#8217;il y a peut-être quelques trucs efficace pour l&#8217;usability comme disait le désagréable <a href="http://www.useit.com/">Jakob Nielsen</a> &#8211; qui a toujours fait croire qu&#8217;il était révolutionnaire en disant les évidences avec deux trains de retard.</p>
<p>Donc je me perfectionne un peu en CSS toutes carrées, en js, dans la librairie prototype.js, dans les aller retours AJAX style, et l&#8217;utilisation du browser comme un environnement d&#8217;exécution d&#8217;applications.</p>
<p>Et aussi je me débarasse d&#8217;un vieux principe qui m&#8217;a fait perdre des journées : j&#8217;arrête de réinventer la roue, en ne me resservant pas de mes bibliothèques parceque pas assez &laquo;&nbsp;dans le vent&nbsp;&raquo; et en n&#8217;utilisant pas les choses toutes faites &#8211; j&#8217;arrête l&#8217;open source à sens unique du coup et je me sers aussi.</p>
<p>Et les problèmes commencent</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=10&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/26/du-choix-des-technologies-suite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
		<item>
		<title>Des choix des technologies en gros</title>
		<link>http://ukulelefr.wordpress.com/2009/07/26/des-choix-des-technologies-en-gros/</link>
		<comments>http://ukulelefr.wordpress.com/2009/07/26/des-choix-des-technologies-en-gros/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 18:00:59 +0000</pubDate>
		<dc:creator>bertrand - kdus</dc:creator>
				<category><![CDATA[AJAX/Js]]></category>
		<category><![CDATA[choix techno]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ukulelefr.wordpress.com/?p=8</guid>
		<description><![CDATA[À l&#8217;ordre du jour, le développement d&#8217;une application dont le synopsis résumé est en gros de gérer pour le back office (single-user) et d&#8217;afficher une chronologie, aggrémentée d&#8217;un système de tags et éventuellement d&#8217;une gestion de médias. Quelques choix déjà pris et pourquoi : - Pas de flash : parceque j&#8217;ai fait ça exclusivement depuis [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=8&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>À l&#8217;ordre du jour, le développement d&#8217;une application dont le synopsis résumé est en gros de gérer pour le back office (single-user) et d&#8217;afficher une chronologie, aggrémentée d&#8217;un système de tags et éventuellement d&#8217;une gestion de médias.</p>
<p>Quelques choix déjà pris et pourquoi :</p>
<p>- Pas de flash : parceque j&#8217;ai fait ça exclusivement depuis huit ans pour toutes les parties clients des sites, donc lassitude, mais surtout parceque c&#8217;est une technologie dans laquelle je n&#8217;ai plus confiance. Pas confiance dans l&#8217;éditeur qui n&#8217;est pas capable de faire des versions utilisables de ses outils, pas confiances dans les bidouillages open source autour &#8211; parfois d&#8217;un niveau épatant quand même mais bidouillage non par leur fabrication, mais par la nature de la plateforme, qui évolue trop vite au gré des modes et qui se trouve aujourd&#8217;hui limitée à lire des videos dans des environnements HTML/JS. Pas confiance non plus dans l&#8217;insistance à ne pas suivre les standards. Pas utile car ce qu&#8217;on ne pouvait faire qu&#8217;avec flash est largement faisable en Ajax dès qu&#8217;on ne parle pas d&#8217;animation riche et d&#8217;eye candies pour lesquels Flash reste insurpassable.</p>
<p>-PHP/MySQL/Apache : forcément incontournable trio, qui a fait ses preuves et dispo chez quantités d&#8217;hébergeurs, donc permettant une migration facile. En outre tout ce petit monde étant open source, le développement sera toujours récupérable d&#8217;une manière ou d&#8217;une autre.</p>
<p>- AJAX : nouveauté pour moi, mais on voit tellement de bonnes choses, et c&#8217;est tellement familier, et surtout je peux continuer à coder des choses rapidement pour de petites applications sans rentrer dans des frameworks imbitables.</p>
<p>- En parlant de framework justement : je découvre Prototype.js dont la philosophie m&#8217;est assez familière (et que je t&#8217;étends allègrement les namespace existants) qui est proche aussi de la philosophie &laquo;&nbsp;développement rapide&nbsp;&raquo; inhérente à javascript, sans s&#8217;empêcher de faire les choses proprement.</p>
<p>- Du coup pour les échanges clients/server ce sera JSON, côté client c&#8217;est pris en charge pas le framework Prototype.js, côté serveur ce sera du fait main le temps de me bricoler un parser approprié en PHP (grave manque de ce côté là dans l&#8217;open source, rien de facile à utiliser dans un simple include, je ne veux pas entendre parler de PEAR). JSON aussi parceque du XML j&#8217;en ai fait plus qu&#8217;assez, donc passons à autre chose, que malgré l&#8217;aspect un peu dégueu de la spec remplie de guillemets c&#8217;est rapide à déployer et plus lisible que du XML, et parceque du XML je m&#8217;en fade avec le DOM de toutes façons.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ukulelefr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ukulelefr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ukulelefr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ukulelefr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ukulelefr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ukulelefr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ukulelefr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ukulelefr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ukulelefr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ukulelefr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ukulelefr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ukulelefr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ukulelefr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ukulelefr.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ukulelefr.wordpress.com&amp;blog=7150539&amp;post=8&amp;subd=ukulelefr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ukulelefr.wordpress.com/2009/07/26/des-choix-des-technologies-en-gros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5b786076ce6655a0889c60a6ce206fa6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bertrand - kdus</media:title>
		</media:content>
	</item>
	</channel>
</rss>
