<?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>NoMemorySpace</title>
	<atom:link href="http://nomemoryspace.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nomemoryspace.wordpress.com</link>
	<description>Slim Amamou's Weblog</description>
	<lastBuildDate>Fri, 30 Sep 2011 08:55:14 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='nomemoryspace.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>NoMemorySpace</title>
		<link>http://nomemoryspace.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://nomemoryspace.wordpress.com/osd.xml" title="NoMemorySpace" />
	<atom:link rel='hub' href='http://nomemoryspace.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Comment le gouvernement endoctrine</title>
		<link>http://nomemoryspace.wordpress.com/2011/05/10/comment-le-gouvernement-endoctrine/</link>
		<comments>http://nomemoryspace.wordpress.com/2011/05/10/comment-le-gouvernement-endoctrine/#comments</comments>
		<pubDate>Tue, 10 May 2011 09:06:22 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[tunisie]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=200</guid>
		<description><![CDATA[En l&#8217;absence totale de confiance, il faut la foi. J&#8217;ai foi dans ce pays. Cette histoire commence quand j’ai présenté ma démission au Président. Qu’il a refusée. M’a dit de réfléchir et que ma démission affaiblirait le gouvernement. Ce fût le mot juste pour me convaincre, car je ne voulais absolument pas que ma démission [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=200&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div><a href="http://nomemoryspace.files.wordpress.com/2009/10/drapeau.png"><img class="alignnone size-medium wp-image-131" title="Tunisie" src="http://nomemoryspace.files.wordpress.com/2009/10/drapeau.png?w=300&#038;h=90" alt="" width="300" height="90" /></a></div>
<blockquote><p>En l&#8217;absence totale de confiance, il faut la foi. J&#8217;ai foi dans ce pays.</p></blockquote>
<p>Cette histoire commence quand j’ai présenté ma démission au Président. Qu’il a refusée. M’a dit de réfléchir et que ma démission affaiblirait le gouvernement. Ce fût le mot juste pour me convaincre, car je ne voulais absolument pas que ma démission soit interprétée comme un soutien à ceux qui veulent la chute du gouvernement.</p>
<p>Quand j’ai vu la foule demander la chute du gouvernement, j’ai pensé à cette formule inventée par un ami à l’occasion de la démission de Ghanouchi “le gouvernement Sisyphe”. Condamné à un éternel recommencement. Et j’ai vu les élections s’éloigner. C’était ça la raison de ma démission.</p>
<p><strong>Ma liberté d’expression</strong></p>
<p>L’une de mes premières surprises au sein du gouvernement ce fut le fait que je sois devenu moins libre de m’exprimer. Du côté du gouvernement j’avais carte blanche, mais du coté du peuple je ne l’avais plus. Je devais le respect a mes concitoyens, même les plus cons. Je ne pouvais plus exprimer mes théories du complot qui me tenaient à coeur et qui constituaient mes croyances personnelles, j’avais des responsabilités.</p>
<p>Je vais vous dire comment la gouvernement m’a endoctriné.</p>
<p>Dés le premier jour j’ai été accueilli avec une manif. Et jusqu’a aujourd’hui j’ai tous les jours des manifs/sit ins/grèves à mon ministère. Bien sûr les gens qui manifestent ne sont pas les mêmes, ils vont, ils viennent, ils ont différentes revendications. Mais l’essentiel de mon travail depuis les premiers jours à été d’écouter ces revendications et d’essayer d’expliquer que nous n’allons pas résoudre les problèmes. Nous allons faire des éléctions.</p>
<p>Toute la difficulté est là. Pour faire des éléctions il ne suffit pas de mettre en place des bureaux de vote, il faut mettre le contexte, il faut que le climat soit sain. Il ne faut pas qu’on vote alors qu’on est stressés ou qu’on a peur. Il faut qu’on vote en pleine conscience et en toute liberté. Et pour ça il faut résoudre les problèmes.</p>
<p><strong>Comment se passe le travail au gouvernement?</strong></p>
<p>Si vous avez déjà travaillé en équipe, vous le savez déjà. Le gouvernement est un groupe,  on se réunit régulièrement pour discuter principalement de projets de décrets et de la situation du pays a partir de notes des membres. La dynamique de groupe c’est les relations humaines. On se parle. Et chaque membre du gouvernement est chargé de trouver des solutions  dans son domaine. Mais chaque ministre ou secrétaire d&#8217;état, comme moi, est confronté à la même réalité : on ne peux pas résoudre les problèmes.</p>
<p>Parce qu’on est un gouvernement transitoire et qu’on ne peux pas engager le pays au delà de quelques mois.</p>
<p>J’ai vu très tôt le problème majeur que présente le Ministère de l’intérieur. Ce Ministère représente la force publique. Et ce Ministère fut corrompu pendant des annèes au moins autant que mon Ministère. Il a pratiqué la repression et la torture pendant des annèes. Et si il y a un ministère qui doit changer maintenant c’est bien celui là. Ce ministère a besoin de réformes profondes dans les pratiques de ses employés parce que chaque employé devra être exemplaire quelque soit le résultat des élections et quelque soit sa direction. J’en ai parlé au Min. Intérieur. Mais ce n’est pas simple.</p>
<p>M. Le Ministre de l’intérieur est de bonne volonté. Il est là dans le but de servir le pays. Et tous les membres du gouvernement le sont. Je peux en attester, du moins par le peux d’occasions ou j’ai eu a les côtoyer dans ce laps de temps au demeurant très court. Ce sont des relations humaines.</p>
<p>Quand je suis entré au gouvernement c’est pour ces relations humaines essentiellement. Tout est relations humaines. Je voulais connaitre ces gens personnellement. Accèder à ce réseau social, je disais. Pour batir la confiance. Et maintenant c’est fait. J’ai confiance. C’est comme ça que j’ai été endoctriné.</p>
<p>Vous me direz on ne peux pas avoir confiance en 4 mois. Ça dépend. J’ai confiance en ce gouvernement pour organiser des élections libres et c’est tout ce dont j’ai besoin.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=200&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2011/05/10/comment-le-gouvernement-endoctrine/feed/</wfw:commentRss>
		<slash:comments>118</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2009/10/drapeau.png?w=300" medium="image">
			<media:title type="html">Tunisie</media:title>
		</media:content>
	</item>
		<item>
		<title>Un facebook comme support d&#8217;un système de responsabilité pour l&#8217;armée</title>
		<link>http://nomemoryspace.wordpress.com/2010/07/13/responsabilite-facebook-armee/</link>
		<comments>http://nomemoryspace.wordpress.com/2010/07/13/responsabilite-facebook-armee/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 17:05:00 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[confiance]]></category>
		<category><![CDATA[tunisie]]></category>
		<category><![CDATA[armée]]></category>
		<category><![CDATA[collateralmurder]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[responsabilité]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=187</guid>
		<description><![CDATA[Vous vous rappelez de la vidéo de wikileaks qui montrait des soldats américains en train de tuer des civils qui marchaient dans la rue? Cette vidéo avait déclenché une petite conversation avec quelques amis sur twitter autour du thème de la responsabilité et les systèmes d&#8217;armes. En gros @alaa disait que les talibans avec leurs [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=187&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nomemoryspace.files.wordpress.com/2010/07/capture-50.png"><img class="alignnone size-medium wp-image-189" title="Dans quelques minutes tous ces hommes vont mourir" src="http://nomemoryspace.files.wordpress.com/2010/07/capture-50.png?w=300&#038;h=90" alt="" width="300" height="90" /></a></p>
<blockquote><p>Vous vous rappelez de <a href="http://collateralmurder.com">la vidéo de wikileaks qui montrait des soldats américains en train de tuer des civils</a> qui marchaient dans la rue?</p></blockquote>
<p>Cette vidéo avait déclenché une petite conversation avec quelques amis sur twitter autour du thème de la responsabilité et les systèmes d&#8217;armes. En gros <a href="http://twitter.com/alaa">@alaa</a> disait que <strong>les talibans avec leurs Kalashnikov avaient un plus grand sens moral que ces jeunes cons</strong> que sont les soldats américains (se référant aux voix des soldats et à la manière avec laquelle ils s&#8217;amusaient visiblement a tuer des gens). <a href="http://twitter.com/jilliancyork">@jiliancyork</a> disait que<strong> la guerre avec les systèmes d&#8217;arme modernes ressemble a un jeu video</strong> et que ces jeunes soldats ne se rendaient même pas compte de la gravité de leurs actes. J&#8217;étais d&#8217;accord avec @alaa, avec une Kalachinkov comme outil de meurtre on devient forcément plus moral. Où alors on meurs très vite. Quand tous tes sens sont confrontés à la présence de la victime, même pendant quelques secondes, c&#8217;est autrement plus impliquant que des images en noir et blanc sur un petit ecran. Il est notoire qu&#8217;un outil te change l&#8217;homme.</p>
<p><span id="more-187"></span></p>
<p>Mais contrairement à @alaa, je maintenais qu&#8217;il est possible de concevoir les systèmes d&#8217;armes modernes de façon à <a href="https://nomemoryspace.wordpress.com/2008/11/15/rapprocher-la-responsabilite-de-lutilisateur/">garder la responsabilité proche</a> du tueur. Et qu<strong>&#8216;il est possible de concevoir la procédure de sélection de soldats de façon à la lier à leurs degré de responsabilité et à leurs aptitudes décisionnelles.</strong> Ce qui aura pour effet de diminuer ce genre de meurtres. Il n&#8217;est pas obligé que le système soit basé sur la mort au combat des soldats les moins aptes, le cas des Talibans. Un soldat pourrait tout simplement être responsable, juridiquement, de ses meurtres. Je rappelle que les soldat américains en question n&#8217;ont pas été inquiétés et que leurs responsabilité n&#8217;a nullement été engagée. Et que ceci est du directement au<strong> système d&#8217;endoctrinement de l&#8217;armée conventionnelle qui est spécifiquement basé sur la déresponsabilisation des recrues et sur la dilution de la prise de décision</strong>. Ce qui n&#8217;est pas le cas dans la guerrilla talibane.</p>
<p>Voyons si on peut concevoir un système décisionnel qui distribue correctement la responsabilité pour les armées.</p>
<p>La responsabilité est basée sur l&#8217;engagement. Ça consiste en une déclaration Publique sur une Action future. Une promesse publique. <strong>C&#8217;est une sorte de prêt sur l&#8217;Autorité : l&#8217;engagement donne un surplus immédiat d&#8217;autorité, mais la réalisation de l&#8217;action liée à l&#8217;engagement donne encore plus d&#8217;autorité.</strong> L&#8217;autorité reflète la valeur d&#8217;un homme dans la société. C&#8217;est une valeur directement liée au degré de confiance accordée à cet homme dans une société. Pour un soldat, comme pour tout homme, avoir très peu d&#8217;autorité dans sa société (l&#8217;armée) devrait constituer un motif d&#8217;éviction.</p>
<p>Dans une société ou la Confiance est basée sur les<a href="https://nomemoryspace.wordpress.com/2008/03/17/la-prothese-memorielle-limpact-de-la-publication-des-historiques-sur-la-societe-de-linternet/"> historiques publics</a> (ex. Internet) cela ressemblerait a une timeline ou au 15 décembre 2009 vous dites &laquo;&nbsp;j&#8217;arrête de fumer le 1er janvier 2010&#8243; et au 1er janvier 2010 vous dites &laquo;&nbsp;J&#8217;ai arrêté de fumer&nbsp;&raquo;. C&#8217;est vôtre engagement le 15 décembre qui constitue vôtre responsabilité. Ne pas réaliser vôtre engagement vous coûterait une pénalité d&#8217;autorité vis a vis de vos proches.</p>
<p>Un tel dispositif est peux être nécessaire pour l&#8217;armée vu le nombre de soldats. Mais cela dépend de la structure des unités et de la fluidité de la circulation de l&#8217;information entre les différents acteurs entrant dans la prise de décision. Des petites unités autonomes avec une structure en openspace, informelle, à la Talibane permettrais de faire à moins de ce dispositif informatique.</p>
<p>Mais le défaut central dans la procédure de l&#8217;armée est clair : celui qui appuie sur la gachette n&#8217;est pas le seul a prendre la décision de tuer. Il demande a ses supérieurs. C&#8217;est cette distance délibérément introduite entre le soldat et la responsabilité qui est à l&#8217;origine du problème. Ce problème doit être résolu procéduralement avec deux dispositions : un engagement du soldat a ne pas tuer de civils et l&#8217;exclusion de toute implication autre que celle du soldat dans le meurtre.</p>
<p>Pour rapprocher encore plus le soldat de sa responsabilité, un surplus d&#8217;information n&#8217;est pas du luxe. Les technologies sensorielles sont d&#8217;ores et déjà disponibles et non encore suffisamment utilisées à l&#8217;armée.</p>
<p>Pour l&#8217;armée il faudrait donc :</p>
<ul>
<li>Un engagement formel de la part des soldats de ne pas tuer des civils (un contrat d&#8217;engagement)</li>
<li>Une infrastructure de confiance basée sur les historiques publics. En d&#8217;autres termes un Facebook pour l&#8217;armée.</li>
<li>Un autonomie complète sur le meurtre. Le soldat ne demande jamais l&#8217;autorisation de tuer et le commandement ne donne jamais l&#8217;ordre de tuer. C&#8217;est taboo. Un peu comme la police.</li>
<li>Un armement plus performant : vision 3D, micro directionnel avec écoute surround.</li>
</ul>
<p>La mauvaise décision a toujours comme origine un manque d&#8217;information. Dans les systèmes d&#8217;information que nous construisons, quand un utilisateur se trompe, le client nous demande systématiquement de restreindre sa liberté d&#8217;action, ce qu&#8217;on fait souvent c&#8217;est lui donner plus d&#8217;information et comme par miracle il ne se trompe plus.</p>
<p>@alaa a fini par dire que les américains n&#8217;en avaient rien a foutre de tuer les civils, ce qui les intéresse c&#8217;est de vendre des armes. Ce à quoi j&#8217;ai rétorqué que effectivement tuer des civils ne les intéresse absolument pas, ce qui les intéresse c&#8217;est de vendre les armes le plus cher possible à leurs contribuables. Et par conséquent un système d&#8217;arme qui permet de tuer moins de civils et qui coûte très cher devrait allécher leurs fabricants d&#8217;armement. Il y a donc un espoir.</p>
<p>D&#8217;ailleurs au cas ou quelqu&#8217;un du <a href="http://www.defense.gov">DOD</a> est à l&#8217;écoute, j&#8217;offre nos <a href="http://alixsys.com">services de consultants en systèmes d&#8217;information web</a>. Notre facture sera à la hauteur de vos ambitions.</p>
<p>Sinon, <a href="http://wikileaks.org/wiki/Special:Support">donnez a Wikileaks</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=187&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2010/07/13/responsabilite-facebook-armee/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2010/07/capture-50.png?w=300" medium="image">
			<media:title type="html">Dans quelques minutes tous ces hommes vont mourir</media:title>
		</media:content>
	</item>
		<item>
		<title>Payer les enfants pour aller à l&#8217;école (ou L&#8217;économie de l&#8217;attention expliquée à ma femme)</title>
		<link>http://nomemoryspace.wordpress.com/2010/03/14/payer-les-enfants-pour-aller-a-lecole-ou-leconomie-de-lattention-expliquee-a-ma-femme/</link>
		<comments>http://nomemoryspace.wordpress.com/2010/03/14/payer-les-enfants-pour-aller-a-lecole-ou-leconomie-de-lattention-expliquee-a-ma-femme/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 14:27:51 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[gouvernance]]></category>
		<category><![CDATA[attention]]></category>
		<category><![CDATA[économie]]></category>
		<category><![CDATA[france]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=157</guid>
		<description><![CDATA[Vôtre Attention vaut de l&#8217;argent. C&#8217;est encore plus flagrant dans la publicité. Quand vous regardez un film à la TV et que ce film est entrecoupé par de la publicité, les gens qui ont fait le film en question sont payés par l&#8217;argent de la pub qui entrecoupe leur film. Avec ma femme on se [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=157&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nomemoryspace.files.wordpress.com/2010/03/attention.jpg"><img class="alignnone size-medium wp-image-178" title="attention" src="http://nomemoryspace.files.wordpress.com/2010/03/attention.jpg?w=300&#038;h=118" alt="" width="300" height="118" /></a></p>
<blockquote><p>Vôtre Attention vaut de l&#8217;argent. C&#8217;est encore plus flagrant dans la publicité. Quand vous regardez un film à la TV et que ce film est entrecoupé par de la publicité, les gens qui ont fait le film en question sont payés par l&#8217;argent de la pub qui entrecoupe leur film.</p></blockquote>
<p>Avec ma femme on se dispute quelques fois. A vrai dire c&#8217;est elle qui me dispute. Toujours pour les mêmes raisons :</p>
<ul>
<li>Je devais laver la vaisselle et je ne l&#8217;ai pas fait</li>
<li>Je devais changer une ampoule et je ne l&#8217;ai pas fait</li>
<li>Je devais réparer un meuble et je ne l&#8217;ai pas fait</li>
<li>Je devais sortir la poubelle et je ne l&#8217;ai pas fait</li>
<li>Etc&#8230;</li>
</ul>
<p>On peut voir clairement un motif apparaitre ici. C&#8217;est toujours quelque chose qu&#8217;elle me demande de faire, quelques fois implicitement i.e. &laquo;&nbsp;c&#8217;est pas la peine que je te dise, c&#8217;est à toi de le faire&nbsp;&raquo;, et que je ne fais pas. Et elle s&#8217;énerve. Si vous êtes un homme, vous devez savoir que toutes ces choses que je suis sensé ne pas avoir faites, j&#8217;allais les faire&#8230; mais pas tout de suite. Mais ma femme ne comprend pas ça. Elle trouve que mettre 1 mois pour réparer une ampoule c&#8217;est trop.</p>
<p><span id="more-157"></span></p>
<p>Je sais. Parfois j&#8217;abuse. Mais il faut me comprendre. J&#8217;aime pas que ma femme me donne des ordres. Je trouve cela très désagréable. Mais vous me connaissez bien maintenant, j&#8217;ai bien sûr une explication rationnelle à ça aussi.</p>
<p>Voyez vous, cela ne me dérange absolument pas que ma femme <strong>m&#8217;ordonne</strong> de faire telle ou telle chose. Ce qui me dérange c&#8217;est quand elle me dit de le faire <strong>maintenant</strong>. <strong>Interrompant</strong> ainsi mon activité courante. C&#8217;est cette obligation de porter mon <strong>Attention</strong> sur ce qu&#8217;elle veut elle, qui me procure cette sensation désagréable&#8230; d&#8217;être un esclave. Ou une machine. Un objet sans <a href="http://francois.muller.free.fr/diversifier/autonomie/tronc.htm">Autonomie</a>. Ce que ma <strong>Conscience</strong> rejette catégoriquement. Mais ma conscience est tout à fait prête a faire des concessions si on me paie.</p>
<p>Il se trouve que je suis particulièrement conscient de la <strong>Valeur</strong> de mon Attention parce que de par mon métier de consultant, <strong>je vend mon Attention tous les jours à l&#8217;heure</strong>. Il est important de comprendre ici que ce que je vend ce n&#8217;est pas mon Activité ou le résultat de mon activité &#8211; que ce soit un rapport ou un programme informatique. La preuve c&#8217;est que certains clients me paient uniquement pour être <strong>Disponible </strong>pour eux. C&#8217;est à dire pour ne rien faire (et attendre leurs ordres). Dans tous les métiers de l&#8217;économie dite &laquo;&nbsp;Immatérielle&nbsp;&raquo;, et beaucoup de métiers de service, <strong>la marchandise c&#8217;est l&#8217;Attention</strong>. Les Avocats, les agence de communication, les psychanalystes&#8230; vous pouvez aisément reconnaitre ces métiers aux conflits récurrents concernant la &laquo;&nbsp;<em>non obligation de résultat</em>&laquo;&nbsp;. Quand vous faites du support, informatique ou autre, le client vous paye pour répondre au téléphone au cas ou il appelle. Notez que s&#8217;il n&#8217;appelle pas, il est paradoxalement encore plus satisfait parce que cela voudrait dire qu&#8217;il n&#8217;a aucun problème. Ou du moins il devrait l&#8217;être, mais la &laquo;&nbsp;<em>non obligation de résultat</em>&nbsp;&raquo; a toujours du mal à passer. Et c&#8217;est principalement dû à l&#8217;ignorance de l&#8217;économie de l&#8217;Attention.</p>
<p><strong>Vôtre Attention vaut de l&#8217;argent.</strong> C&#8217;est encore plus flagrant dans la publicité. Quand vous regardez un film à la TV et que ce film est entrecoupé par de la publicité, les gens qui ont fait le film en question sont payés par l&#8217;argent de la pub qui entrecoupe leur film. C&#8217;est plus compliqué que cela : les gens qui vendent un produit payent les gens qui ont une chaine TV pour placer leurs pub dans le film, par la suite les gens de la chaine TV paient les gens qui ont fait le film. Pourquoi les gens qui vendent un produit paient pour placer leur pub dans le film? Pour avoir vôtre Attention. L&#8217;Attention des gens qui regardent le film. Ici mon esprit d&#8217;analyste-programmeur-optimisateur ne peut souffrir une telle aberration et ne peut s&#8217;empêcher de se demander : <strong>Pourquoi les gens qui vendent un produit ne paient pas directement les gens pour regarder leurs pub?</strong> Si 30s de pub vaut 300 000 dinars quand il y a 1 000 000 de personnes qui regardent, donc 1s de <strong>vôtre Attention vaut 0.010 dinars. Je sais pas vous, mais moi je regarderais bien de la pub pendant 150s (2min30s) pour gagner 1.5 dinars et aller m&#8217;acheter le film que je veux au vendeur de DVD de mon quartier.</strong></p>
<p>Vous pouvez trouver cela coccace, mais moi je crois, j&#8217;ai la foi, que dans le futur on vous payera pour vôtre Attention. Y compris pour regarder de la pub ou pour participer a des évènements sponsorisés. Et comme d&#8217;habitude <a href="http://reviews.cnet.com/4531-10921_7-6487612.html">sur internet, c&#8217;est déjà demain</a>.</p>
<p>Il y a de cela 6 mois, Jean-Michel Blanquer, recteur de l&#8217;académie de Créteil en France a décidé d&#8217;expérimenter une nouvelle approche qui consiste a <a href="http://www.lemonde.fr/societe/article/2009/10/02/une-cagnotte-pour-lutter-contre-l-absenteisme-scolaire_1248557_3224.html">rémunérer ses lycéens pour leur Attention</a>. Il va sans dire que cela a déclenché un tollé général en France. Mais éxaminons la situation à l&#8217;aune de l&#8217;économie de l&#8217;Attention. L&#8217;Attention de ces jeunes gens a de la valeur. D&#8217;ailleurs l&#8217;Attention que renferme un être humain, lui donne une valeur pragmatique, non éthique, non idéologique, quelque soit son age, son sexe ou sa race. Ce qui est assez intéressant en soi. Ces jeunes gens sont donc éduqués <strong>obligatoirement</strong> par l&#8217;état français pour l&#8217;intérét de la France. Je souligne ici le bénéficiaire qui est la France. La motivation théorique de ces jeunes gens étant la perspective d&#8217;une embauche dans un emploi qualifié (par la susdite éducation). Or éloigner temporellement le bénéfice (l&#8217;embauche) de l&#8217;acte (la présence, qui est l&#8217;acte de l&#8217;attention) est une très mauvaise manière de motiver en général et particulièrement quand il s&#8217;agit d&#8217;adolescents.</p>
<p>Il n&#8217;y a pas à tourner autour du pôt. Pour une éducation éfficace, l&#8217;éducation nationale Française devra gèrer l&#8217;Attention des étudiants d&#8217;une manière ou d&#8217;une autre. Ayant un biais pour les solutions simples et pragmatiques, je trouve que rémunérer les étudiants pour leur Attention est une solution idéale. Ne serait ce que pour son accompagnement au changement de paradigme et son altérnative au <a href="http://appelpourlerevenudevie.org">revenu de vie</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=157&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2010/03/14/payer-les-enfants-pour-aller-a-lecole-ou-leconomie-de-lattention-expliquee-a-ma-femme/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2010/03/attention.jpg?w=300" medium="image">
			<media:title type="html">attention</media:title>
		</media:content>
	</item>
		<item>
		<title>4 jours et 2 nuits de déploiement</title>
		<link>http://nomemoryspace.wordpress.com/2010/02/05/4-jours-et-2-nuits-de-deploiement/</link>
		<comments>http://nomemoryspace.wordpress.com/2010/02/05/4-jours-et-2-nuits-de-deploiement/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 12:27:03 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[projet]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[tunisie]]></category>
		<category><![CDATA[alix]]></category>
		<category><![CDATA[deploiement]]></category>
		<category><![CDATA[inventaire]]></category>
		<category><![CDATA[pgi]]></category>
		<category><![CDATA[thewar]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=159</guid>
		<description><![CDATA[Les 4 derniers jours de 2009 nous avons déployé notre progiciel de gestion intégré ALIX dans le dépôt principal de l&#8217;un des grossistes majeurs en pharmaceutiques en Tunisie. C&#8217;est une opération pour laquelle nous nous sommes préparés toute notre vie&#8230; Ou presque, étant donné qu&#8217;au décompte final le projet a duré 3 ans et demi. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=159&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nomemoryspace.files.wordpress.com/2010/02/deploy.jpg"><img class="alignnone size-medium wp-image-176" title="Tycho's Supernova" src="http://nomemoryspace.files.wordpress.com/2010/02/deploy.jpg?w=300&#038;h=90" alt="Tycho's Supernova Remnant: Tycho's Remnant Provides Shocking Evidence for Cosmic Rays (The hot, expanding debris of a supernova observed in 1572.)" width="300" height="90" /></a></p>
<blockquote><p>Les 4 derniers jours de 2009 nous avons déployé notre progiciel de gestion intégré ALIX dans le dépôt principal de l&#8217;un des grossistes majeurs en pharmaceutiques en Tunisie. C&#8217;est une opération pour laquelle nous nous sommes préparés toute notre vie&#8230; Ou presque, étant donné qu&#8217;au décompte final le projet a duré 3 ans et demi. Pour aboutir a ce déploiement qui consacre ALIX comme seul système d&#8217;information dans toute l&#8217;entreprise et sonne le glas de tous les autres logiciels utilisés de la production au recouvrement.</p></blockquote>
<p><strong>Une semaine avant&#8230;</strong></p>
<p>Je venais de rentrer de Beirut, et ce weekend nous avions un inventaire dans le petit dépôt du client. Le système ALIX était déjà en production depuis plus d&#8217;un an dans ce dépot, mais c&#8217;est toujours délicat un inventaire. Parce que justement c&#8217;est 1 fois l&#8217;an et que par conséquent on n&#8217;a pas souvent l&#8217;occasion de le tester en production. De plus, suite au dernier inventaire nous avons fait des modifications majeures sur le système et aux procédures; et c&#8217;était donc du code frais que nous allions utiliser.</p>
<p><span id="more-159"></span></p>
<p>Tout s&#8217;est bien passé. L&#8217;enjeu principal dans les inventaires, qui restent sommaires au niveau applicatif, c&#8217;est le temps. Ce jour là nous avions fini plus tôt que prévu. Ce qui nous réconfortait dans nos choix et nous rassurait sur le plus important : le déploiement final dans le grand dépôt dont la date n&#8217;était toujours pas fixée mais qui était imminent.</p>
<p>Etant donné que nous avions fini tôt, M. Bechir qui supérvise le projet ALIX pour notre client, improvise une petite réunion. Il nous éxplique qu&#8217;il est satisfait et qu&#8217;il propose de déployer la semaine prochaine dans le grand dépot. Nous allons faire le déploiement dans les règles de l&#8217;art au début de l&#8217;année fiscale, ce qui avait l&#8217;avantage de limiter de façon radicale le risques de géstion liés au changement de système en cours d&#8217;annèe fiscale et d&#8217;intègration de données à partir de l&#8217;ancien système (forcément).</p>
<p>Avec Bechir et Hassen (l&#8217;équipe ALIXSYS, au cas ou vous seriez nouveau sur ce blog. Par ailleurs, ne pas confondre Bechir avec M. Bechir le client) nous avions déjà discuté de cette éventualité et avons conclu que nous étions préts. J&#8217;ai donc accépté.</p>
<p>Or rien n&#8217;était prêt. Les stations de travail et leurs périfériques qui devaient étre changés n&#8217;étaient pas inventoriées, le matériel n&#8217;était pas encore commandé, le chantier du réseau avait à peine commencé et il fallait encore des semaines pour qu&#8217;il se termine.</p>
<p>Heureusement qu&#8217;avec ce projet, j&#8217;avais appris quelque chose d&#8217;essentiel : le zen. Les choses se passent toujours mieux que prévu&#8230; si on se prépare pour le pire. Le truc c&#8217;est de ne pas essayer d&#8217;éviter le pire, il faut économiser ses éfforts pour être prêt quand le pire arrivera. J&#8217;ai donc proposé de déployer sur le réseau en place avec le matériel en place. Le raisonnement était qu&#8217;il est trop tard pour organiser quoi que ce soit qui implique une étude ou ne serait ce qu&#8217;une simple réflexion : nous allions mettre en place le matériel essentiel, c&#8217;est a dire les 2 imprimantes industrielles et stocker des stations de travail et des périphériques de rechange prêts a être déployés dés qu&#8217;il y a un problème matériel quelque part dans le dépôt.</p>
<p>Makram, le responsable informatique du client, n&#8217;était pas d&#8217;accord. Il n&#8217;y avait rien à faire pour le réseau, mais pour le côté matériel il estimait qu&#8217;il était possible d&#8217;inventorier les machines dépassées, les remplacer et switcher toutes les stations de travail sous Linux la nuit de l&#8217;inventaire. Et comme tout ce volet est sous sa responsabilité, il avait le véto. Nous allons donc faire comme il dit. Et nous allons voir qu&#8217;il avait raison.</p>
<p>La semaine suivante je l&#8217;ai passée a préparer 3 checklists : 1 pour l&#8217;inventaire, 1 pour le déploiement et 1 timeline. Ce travail a consisté a tester le système pour les cas d&#8217;utilisation de l&#8217;inventaire et du déploiement et faire une liste des points a vérifier et les taches a faire pour que tout se passe bien. Ensuite ces points sont discutés avec Hassen et Bechir qui enrichissent la liste avec leurs remarques. Nous avons fait cela tous les jours pendant toute la semaine. La timeline était subdivisée en 4 jours et etait mise a jour au fur et a mesure avec les taches qui devaient se faire un jour précis. Bechir et Hassen s&#8217;occupaient de régler les problèmes qui pouvaient être réglés tout de suite : certains détails de la procédure de déploiement pouvaient être réglés par des changements sur les application, notamment l&#8217;application d&#8217;intégration de données avec les anciens logiciels. A vrai dire il y a des défauts que nous avons découvert à ce moment là et qu&#8217;il fallait régler aussi.</p>
<div id="attachment_167" class="wp-caption alignnone" style="width: 310px"><a href="http://nomemoryspace.files.wordpress.com/2010/02/photo0193.jpg"><img class="size-medium wp-image-167" title="Les checklists" src="http://nomemoryspace.files.wordpress.com/2010/02/photo0193.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a><p class="wp-caption-text">1 pour le déploiement, 1 pour l&#39;inventaire et 1 timeline</p></div>
<p><strong>Week-end de l&#8217;inventaire : problèmes d&#8217;intégration de données</strong></p>
<p>L&#8217;inventaire devait se faire le week-end, comme tous les ans, pour ne pas impacter la production. Le vendredi nous avons commencé a préparer le système, y compris les personnes en leurs donnant les instructions nécessaires. Les procédures d&#8217;inventaire se basaient principalement sur du papier mais avaient significativement changé et impliquaient maintenant plusieurs utilisateurs du système dans la saisie et le contrôle du déroulement en temps réel.  Nous avons fait en sorte que l&#8217;encadrement des utilisateurs soit fait par le personnel de l&#8217;entreprise qui est déjà formé. Le but étant qu&#8217;on soit disponible en cas de problème. On ne ferait donc rien. Et ça sera très bien comme ça. Et nous n&#8217;allons pas tarder a confirmer l&#8217;utilité de cette approche.</p>
<p>L&#8217;inventaire commence par le décompte des quantités physiques des articles en stock et se finit par leurs comparaison avec les quantités informatiques (prévues). Pour pouvoir commencer le décompte le plus tôt possible (lundi matin étant une date butoir : reprise d&#8217;activité) , nous avons choisi de faire une intégration des données en deux étapes. Nous allions intégrer les données des articles a partir de l&#8217;ancien logiciel de stock vendredi soir (ils ne risquaient pas de changer) et les données de l&#8217;état des stock samedi quand il n&#8217;y aurait plus d&#8217;activité dans le dépôt.</p>
<p>Samedi matin on vient, on fait rien, aucun problème. Samedi après midi, on intègre les données de l&#8217;état des stock et BANG! Nos états de vérification nous disent que les données intégrées ne correspondent pas aux informations données par l&#8217;ancien système. On a bien fait de rester disponibles. On a bien pensé que le bug serait facile a trouver au début,&#8230; à 1h du matin on était encore au bureau. Et vous savez <a href="http://nomemoryspace.wordpress.com/2008/07/12/doper-le-developpeur-avec-du-logiciel/">le PC DOS virtualisé qu&#8217;on avait mis en place il y a presque 1 an pour convertir les listings de l&#8217;ancienne application</a>? Eh bien, il nous a encore sauvé la vie. Après inspection minutieuse, il y avait au moins une dizaine de différences de plusieurs types dans les articles. Tous des problèmes d&#8217;intégration, aucun bug, et parfois des erreurs de jugement : dans le paragraphe précédent j&#8217;ai dit &laquo;&nbsp;ils ne risquaient pas de changer&nbsp;&raquo;, eh bien ils ont changé les prix des articles.</p>
<p>Le dimanche matin, nous étions là. L&#8217;état du stock informatique intégré a partir de l&#8217;ancienne application était conforme et vérifié. Tout allait bien. Dans ma timeline, je vois : &laquo;&nbsp;dimanche : Installer le matériel de déploiement&nbsp;&raquo;. Étant donné que Makram avait décidé de switcher toutes les stations de travail à Linux, ça allait être le grand soir. L&#8217;après midi l&#8217;inventaire était bouclé sans incidents, ce qui représentait un temps légèrement inférieur aux inventaires pratiqués avec l&#8217;ancien système. Les utilisateurs directs et indirects étaient satisfaits. Le soir nous étions très fatigués nous sommes arrivés a installer tout le matériel, a convertir presque toutes les stations de travail à Linux et les configurer pour qu&#8217;ils se connectent sur l&#8217;application web ALIX. A vrai dire Makram et Hassen on fait presque tout le boulot. Nous avons désigné Bechir pour venir le lendemain a 6h du matin pour le déploiement : c&#8217;est à cette heure là que commence l&#8217;activité. Il fallait que quelqu&#8217;un se dévoue.</p>
<div id="attachment_169" class="wp-caption alignnone" style="width: 310px"><a href="http://nomemoryspace.files.wordpress.com/2010/02/photo0218.jpg"><img class="size-medium wp-image-169" title="Mysql output" src="http://nomemoryspace.files.wordpress.com/2010/02/photo0218.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a><p class="wp-caption-text">Bechir est capable d&#39;analyser l&#39;output d&#39;une requête SQL en temps réel. Comme dans Matrix.</p></div>
<p><strong>Premier jour d&#8217;utilisation : 1 processus et 2 interfaces utilisateur changées à chaud</strong></p>
<p>Le 1er utilisateur du système fut M. Hmida, opérateur du centre d&#8217;appel qui commence sa journée à 6h du matin. Quand il a débarqué le paysage du dépôt avait complètement changé, sur sa station de travail aussi. Bechir était là pour le rassurer. Le premières commandes furent livrées sous la surveillance de Bechir, et en toute sérénité. C&#8217;est vers 9h quand tout le monde a débarqué, y compris Hassen et moi même, que les choses ont commencé a se corser.</p>
<p>Le serveur a commencé a échouer la baleine (en argot geek, ça veut dire avoir des problèmes de surcharge. voir <a href="http://www.cecidit.com/web-20/la-petite-histoire-du-fail-whale-de-twitter/">Fail the whale</a>). Le système était a la limite de l&#8217;inutilisable. C&#8217;était le bordel. Les commandes partaient en retard, le contrôle qualité était fait à l&#8217;emporte pièce. C&#8217;était le bordel.  Ça nous a pris 1 heure pour diagnostiquer le problème : 1 tableau de bord utilisé par ~50% des utilisateurs, notamment par les contrôleurs qualité,  bouffait les ressources comme pas possible. Réunion de crise : mesure d&#8217;urgence : rallonger le temps de rafraichissement des indicateurs. Ensuite discussion :</p>
<ol>
<li>Cette interface est irrécupérable. Elle doit afficher les commandes en cours avec leurs états en temps réel. Autant dire toute l&#8217;activité du dépôt. Elle traite énormément de données et on aura beau optimiser, on ne gagnera pas beaucoup et ça prendra du temps.</li>
<li>Cette interface est utilisée par deux rôles dans le système : les contrôleurs qualité (en large majorité) et 8 magasiniers</li>
<li>Les contrôleurs qualité (CQ) n&#8217;utilisent en fait qu&#8217;une seule fonctionnalité de l&#8217;interface et qui ne consomme pratiquement aucune ressource</li>
</ol>
<p>En 15 minutes nous avons fait une nouvelle interface pour l&#8217;armée des CQ, en 15 minutes nous l&#8217;avons testée, en 15 minutes nous l&#8217;avons déployée, en 30 minutes nous les avons formés. Ce sont les joies du <a href="http://fr.wikipedia.org/wiki/Modèle-Vue-Contrôleur">MVC</a> et de l&#8217;architecture <a href="http://fr.wikipedia.org/wiki/Representational_State_Transfer">RESTful</a>. Ce fût une réussite : la charge du serveur est tombée de moitié. Les CQ ont même préféré cette interface, évidemment : elle est plus simple.</p>
<p>Si nous avons pu faire cette interface aussi rapidement, c&#8217;est qu&#8217;elle fait partie d&#8217;une catégorie de tâche que nous avons classée dans notre wiki dans : &laquo;&nbsp;Les tâches que nous n&#8217;aurons jamais le temps de faire&nbsp;&raquo;. Nous avions bien identifié un problème d&#8217;ergonomie dans cette interface (les CQ n&#8217;utilisaient que 0.1% de cette interface), nous avions bien discuté et trouvé une solution élégante, mais rien ne justifiait de leurs faire une interface propre jusqu&#8217;à maintenant. Parce que l&#8217;ergonomie n&#8217;est pas une science exacte et :</p>
<ul>
<li>Nous n&#8217;avions reçu aucun feedback négatif de la part des utilisateurs (testeurs)</li>
<li>Du point de vue de l&#8217;expérience utilisateur, plus il y a d&#8217;utilisateurs qui utilisent une interface, mieux c&#8217;est. Ils s&#8217;entre-aident. C&#8217;est l&#8217;effet communauté. C&#8217;est pour cela que je pense, par exemple, que <strong>les interfaces personnalisées sont généralement mauvaises du point de vue de l&#8217;expérience utilisateur</strong>.</li>
</ul>
<div id="attachment_172" class="wp-caption alignnone" style="width: 310px"><a href="http://nomemoryspace.files.wordpress.com/2010/02/photo0002.jpg"><img class="size-medium wp-image-172" title="Hassen" src="http://nomemoryspace.files.wordpress.com/2010/02/photo0002.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a><p class="wp-caption-text">Hassen en vitesse de croisière</p></div>
<p><strong>Changer les procédures au nez et à la barbe de ISO9001</strong></p>
<p>Le système était redevenu utilisable, d&#8217;autant plus que l&#8217;heure de pointe pour l&#8217;activité est passée. Tout allait bien, ou presque&#8230; Malgré le fait que ALIX fonctionnait bien, les commandes continuaient à prendre un léger retard. A première vue, ça bloquait au niveau de la préparation des commandes. Une petite inspection sur place pour prendre le pouls des utilisateurs, à permis très vite d&#8217;identifier le problème. La procédure était trop lourde et les commandes s&#8217;accumulaient au milieu du magasin.</p>
<p>Par rapport au petit dépôt sur lequel ALIX s&#8217;était fait les dents, ce dépôt si est énorme. Il est subdivisé en 8 zones, dont 3 sont contiguës et numérotées 1,2,3.  La procédure imposait une validation au début et a la fin de chaque zone. Mais voilà, le zones 2 et 3 étaient dépendantes de la zone 1 : on ne pouvait commencer la zone 2 qu&#8217;après avoir fini la zone 1. Ce qui fait que dépendamment des commandes, le magasinier  de la zone 2 pouvait terminer une commande et revenir au début de sa zone pour se retrouver avec 5 commandes en attente et d&#8217;autres qui arrivent (ça peut prendre beaucoup de place). Ce qui ajoute a la confusion c&#8217;est qu&#8217;il doit aussi gérer se propres priorités et renseigner le système. Ce n&#8217;était clairement pas faisable. Et les commandes s&#8217;accumulaient en zone 2.</p>
<p>Ce qui est incroyable c&#8217;est que cette procédure était en place depuis des années et était même documentée et certifiée ISO9001, mais l&#8217;ancien système de gestion de flux &#8211; développé par nous mêmes d&#8217;ailleurs. Une ancienne version de ALIX &#8211; permettait de la contourner. Ils validaient toutes les zones qui restent à la fin de la journée!!</p>
<p>Réunion de crise : mesure d&#8217;urgence : faire sauter la zone 2. Après avoir discuté des conséquences possibles, nous avons simplement dit au magasinier de la zone 2 d&#8217;ignorer le système et de faire juste son travail de préparation des commandes. Ensuite nous avons fait sauter quelques verrous par ci, par là, et nous avons entrepris de changer l&#8217;interface des magasiniers pour que ces trois zones se comportent comme une seule zone dans certains cas. Et tant pis pour ISO90001, il suivra. Cette dernière tâche prendra le reste de la journée et le lendemain matin.</p>
<p><strong>La magie</strong></p>
<p>Le lendemain la magie à opéré. Malgré le fait que le serveur continuait a faire des pics de charge a 10 (normalement le maximum c&#8217;est 1) tout marchait, les utilisateurs &#8211; bizarrement &#8211; ne se plaignaient pas, et les commandes étaient traitées au rythme normal comme si de rien n&#8217;était. Nous n&#8217;en revenions pas. On est restés sur nos gardes toute la journée, mais rien.</p>
<p>Bien sûr, il y avait encore plein de choses à faire, une longue liste de défauts a corriger, des fonctionnalités a ajouter, mais il n&#8217;y avait plus le bordel. Il faut comprendre que le plus grand défi dans un projet qui implique autant de personnes est logistique et organisationnel. Si la sauce ne prend pas, vous aurez beau faire, le projet sera un échec. Le utilisateurs sont inter-connectés procéduralement, si une partie refuse d&#8217;utiliser le système parce qu&#8217;elle estime qu&#8217;il est inutilisable, vous n&#8217;aurez pas le temps de corriger le problème avant qu&#8217;une autre partie n&#8217;arrête de l&#8217;utiliser parce que son utilisation du système dépend de la première.</p>
<p>J&#8217;avais planifié 2 jours de bordel, et ça s&#8217;est résolu en 1 jour. J&#8217;estime que c&#8217;est un succès notable. Mais pour rendre a césar ce qui appartient à césar, ce succès n&#8217;est pas le nôtre, c&#8217;est celui de l&#8217;entreprise qui a commandé le projet avec tous ses employés et ses gestionnaires que je tiens a remercier particulièrement. A vrai dire mon impression est que toutes les conditions du succès étaient là avant qu&#8217;on arrive.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/159/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/159/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/159/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=159&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2010/02/05/4-jours-et-2-nuits-de-deploiement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2010/02/deploy.jpg?w=300" medium="image">
			<media:title type="html">Tycho's Supernova</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2010/02/photo0193.jpg?w=300" medium="image">
			<media:title type="html">Les checklists</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2010/02/photo0218.jpg?w=300" medium="image">
			<media:title type="html">Mysql output</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2010/02/photo0002.jpg?w=300" medium="image">
			<media:title type="html">Hassen</media:title>
		</media:content>
	</item>
		<item>
		<title>Point d&#8217;identité sans discrimination</title>
		<link>http://nomemoryspace.wordpress.com/2009/11/18/point-didentite-sans-discrimination/</link>
		<comments>http://nomemoryspace.wordpress.com/2009/11/18/point-didentite-sans-discrimination/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 13:02:24 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[autorité]]></category>
		<category><![CDATA[confiance]]></category>
		<category><![CDATA[identité]]></category>
		<category><![CDATA[discrimination]]></category>
		<category><![CDATA[france]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=140</guid>
		<description><![CDATA[Ou j&#8217;explique que la discrimination est le seul mécanisme par lequel on crée de l&#8217;identité. Les Collections sont des Objets fascinants. Supposons que vous soyez un collectionneur. De timbres. Vous ouvrez l&#8217;un de vos grands album, comme d&#8217;habitude, pour profiter du réconfort de la vision de vos timbres et souvenirs associés; bien rangés dans leurs [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=140&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nomemoryspace.files.wordpress.com/2009/11/besson.jpg"><img class="alignnone size-medium wp-image-146" title="besson" src="http://nomemoryspace.files.wordpress.com/2009/11/besson.jpg?w=300&#038;h=90" alt="" width="300" height="90" /></a></p>
<blockquote><p>Ou j&#8217;explique que la discrimination est le seul mécanisme par lequel on crée de l&#8217;identité.</p></blockquote>
<p>Les <strong>Collections</strong> sont des <strong>Objets</strong> fascinants. Supposons que vous soyez un collectionneur. De timbres. Vous ouvrez l&#8217;un de vos grands album, comme d&#8217;habitude, pour profiter du réconfort de la vision de vos timbres et souvenirs associés; bien rangés dans leurs pochettes. Mais voilà que cette foi, au beau milieu de l&#8217;album, vous trouvez une <a href="http://http://www.google.com/search?q=Panini+sticker+image">image autocallante panini</a>. Vous vous en offusquez : Qu&#8217;est ce que cette image fait là?</p>
<p>Mais pourquoi est ce que vous pensez que cette image n&#8217;est pas a sa place, d&#8217;abord? Parce que ce n&#8217;est pas un timbre? Comment vous le savez? Il y a bien <a href="http://www.istockphoto.com/file_thumbview_approve/5553220/2/istockphoto_5553220-close-up-of-hungarian-post-stamp-showing-soccer-players.jpg">des timbres à l&#8217;éffigie de joueurs de foot</a>, il y a bien des timbres autocollants, il y a bien <a href="http://www.stampday.com/portugal442/pic00010.jpg">des timbres de cette taille là</a>, il y a bien <a href="http://pagesperso-orange.fr/familyprevot/Dom/images/Genealogie/JeanNicolet_TimbreSansDents04.jpg">des timbres sans dents</a>. Qu&#8217;est ce qui fait que l&#8217;image autocollante est différente? Et surtout qu&#8217;est ce qui fait que les timbres sont <strong>Identiques</strong>? C&#8217;est fascinant une collection. Parce que tous les objets qui y appartiennent sont identiques; d&#8217;une certaine manière. Et en même temps, évidemment, différents.</p>
<p><span id="more-140"></span></p>
<p>En réalité pour <strong>Discriminer</strong> la simple image autocollante des timbres; vous vous référez probablement a différents <strong>Signes</strong> imprimés sur les timbres qui indiquent qu&#8217;une <strong>Autorité</strong> postale garanti leurs <strong>Authenticité</strong>.</p>
<p>Résumons :</p>
<ul>
<li>Une collection c&#8217;est fait d&#8217;objets à la fois identiques et différents, un peu comme les Hommes</li>
<li>Si vous voulez identifier un ou plusieurs objets de la collection pour les exclure ou pour les classer dans une autre collection, ça revient a les discriminer des autres objets de la collection. En somme <strong>Identifier = Discriminer</strong>.</li>
<li>Quand il est impossible de discriminer &#8211; ce qui est courant vu la dichotomie Identité-Différence au sein d&#8217;une collection &#8211; on fait appel a une Autorité qui tranche arbitrairement.</li>
</ul>
<div id="attachment_151" class="wp-caption alignnone" style="width: 310px"><a href="http://nomemoryspace.files.wordpress.com/2009/11/confiance1.png"><img class="size-medium wp-image-151" title="confiance" src="http://nomemoryspace.files.wordpress.com/2009/11/confiance1.png?w=300&#038;h=300" alt="" width="300" height="300" /></a><p class="wp-caption-text">Un modèle de société avec la personne en haut et la société en bas</p></div>
<p>Maintenant, j&#8217;ai 13 ans. Je construit mon <strong>Identité</strong> avec ce qui me tombe sous la main : musique, série télévisée, équipe de foot, religion, jeux vidéo, voir même quelques fois mes parents. C&#8217;est que je suis un être humain doué de conscience et que le mécansime d&#8217;identité est cablé dans mon cerveau par 3 000 000 d&#8217;années d&#8217;évolution. Ce n&#8217;est pas par hasard que l&#8217;évolution a séléctionné ce comportement : <strong>l&#8217;identité est le socle de la confiance et la confiance le socle de la société. </strong>Je ne peux pas faire confiance à quelqu&#8217;un que je ne reconnais pas. Par ce qu&#8217;il m&#8217;est impossible de me rappeler ce qu&#8217;il a fait dans sa vie (son <strong>Historique</strong>), ou qui est la personne qui me l&#8217;a fait connaitre (son Autorité supérieure). <a href="http://nomemoryspace.wordpress.com/2009/10/17/je-vote-sous-x-pour-les-presidentielles-de-2024/">L&#8217;historique et la délégation d&#8217;autorité sont les deux uniques mécanismes pour bâtir la confiance</a>.</p>
<p>Pour vivre en société je dois pouvoir Identifier les membres de ma société et leurs permettre de m&#8217;identifier. Pour cela j&#8217;utilise la discrimination : je commence par me discriminer moi même, construire mon Identité, ceux a qui je veux ressembler, j&#8217;émule. J&#8217;utilise les <strong>Signes</strong>.  Je porte un jean tombant, je suis un cholo. Je met du Khol, je suis un emo. Ensuite je discrimine tous ceux qui me ressemblent de ceux qui ne me ressemblent pas et je crée avec eux des liens d&#8217;Autorité. C&#8217;est cela une société.</p>
<p>Résumons:</p>
<ul>
<li>Construire son identité c&#8217;est se discriminer soi même.</li>
<li>La fonction de l&#8217;identité dans une société c&#8217;est de permettre la confiance en assurant la reconaissance.</li>
</ul>
<p>La France connait en ce moment un <a href="http://www.debatidentitenationale.fr">grand débat sur l&#8217;identité nationale</a>. Mais que signifie Identité nationale? Est ce que cela a un sens? On pourrait imaginer ce modèle : Une société des nations (ou une collection de nations). <strong>Pour construire l&#8217;identité nationale, il faudrait discriminer sa nation des autres nations. Mais sur quels critères? On pourrait choisir quelques valeurs : liberté, égalité, fraternité. Ou alors instaurer une Autorité qui discrimine arbitrairement. C&#8217;est aux français de voir. </strong>L&#8217;identité nationale a donc bien un sens.</p>
<p>Il doit vous surprendre que la question de l&#8217;immigration n&#8217;a aucune relation proche ou lointaine avec le sujet. J&#8217;en suis surpris moi même. Il est évident qu&#8217;en créant <a href="http://http://www.immigration.gouv.fr">un ministère de l&#8217;immigration et de l&#8217;identité nationale (entre autres)</a>, la France ne se facilite pas la tâche. Cela ne fait que brouiller les pistes et ajouter à la confusion.<strong> Logiquement l&#8217;identité nationale devrait être du ressort du ministère des affaires étrangères. </strong>Si on opte pour la solution de l&#8217;autorité de discrimination, bien sûr&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=140&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2009/11/18/point-didentite-sans-discrimination/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2009/11/besson.jpg?w=300" medium="image">
			<media:title type="html">besson</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2009/11/confiance1.png?w=300" medium="image">
			<media:title type="html">confiance</media:title>
		</media:content>
	</item>
		<item>
		<title>Je vote sous X pour les présidentielles de 2024</title>
		<link>http://nomemoryspace.wordpress.com/2009/10/17/je-vote-sous-x-pour-les-presidentielles-de-2024/</link>
		<comments>http://nomemoryspace.wordpress.com/2009/10/17/je-vote-sous-x-pour-les-presidentielles-de-2024/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 14:56:11 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[autorité]]></category>
		<category><![CDATA[confiance]]></category>
		<category><![CDATA[gouvernance]]></category>
		<category><![CDATA[histoire]]></category>
		<category><![CDATA[tunisie]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[elections]]></category>
		<category><![CDATA[politique]]></category>
		<category><![CDATA[rcd]]></category>
		<category><![CDATA[tnelection]]></category>
		<category><![CDATA[zine el abidine ben ali]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=128</guid>
		<description><![CDATA[En 2024 je voterais pour X. Et je poserais une seule condition à ce X : qu&#8217;il ne soit pas de la famille proche ou lointaine ou par alliance du président actuel Zine El Abidine Ben Ali. Je m&#8217;engage à répertorier comme je peux, sur internet, les personnes aptes à devenir président de la république [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=128&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-131" title="Tunisie" src="http://nomemoryspace.files.wordpress.com/2009/10/drapeau.png?w=400&#038;h=120" alt="Tunisie" width="400" height="120" /></p>
<blockquote>
<ul>
<li>En 2024 je voterais pour X. Et je poserais une seule condition à ce X : qu&#8217;il ne soit pas de la famille proche ou lointaine ou par alliance du président actuel Zine El Abidine Ben Ali.<strong></strong></li>
<li>Je m&#8217;engage à répertorier comme je peux, sur internet, les personnes aptes à devenir président de la république Tunisienne.</li>
<li>Je m&#8217;engage à me rendre disponible autant que je peux pour discuter de ces idées au prés des membres sérieux du RCD.</li>
</ul>
</blockquote>
<p>Ce qui est sûr, c&#8217;est que nous aurons un nouveau président en Tunisie en 2024. Il est possible que nous en ayons un avant, mais en 2024 c&#8217;est sûr. J&#8217;apprécie énormément le travail, la ténacité et les sacrifices que font tous ceux qui veulent <strong>un changement maintenant.</strong> Mais à mon grand désespoir, mon cerveau est cablé de telle manière que je ne peux pas répéter la même chose des milliers de fois jusqu&#8217;à ce que ça rentre dans la tête des gens, je ne suis pas tenace et je ne tiens pas tête à l&#8217;adversité naturellement.</p>
<p><span id="more-128"></span></p>
<p>Il faut savoir que <a href="http://http://alixsys.com/post/3177100/Slim-Amamou-slim-alixsys-com">je gère des projets pour vivre</a>, et en cette qualité je sais que pour atteindre un objectif non trivial, c&#8217;est à dire pour un projet qui dûre plus que quelques semaines, il y a deux types de temporalité : l&#8217;immédiateté et la prospective. Il y avait donc bien un rôle pour moi dans ce projet commun. Alors je me suis dit que j&#8217;allais aider comme je pouvais : <strong>je vais m&#8217;occuper à préparer les présidentielles de 2024.</strong> Pour assurer les arrières.</p>
<ul>
<li><strong>En 2024 je voterais pour X. Et je poserais une seule condition à ce X : qu&#8217;il ne soit pas de la famille proche ou lointaine ou par alliance du président actuel Zine El Abidine Ben Ali.</strong></li>
</ul>
<p>C&#8217;est que j&#8217;ai revu mes ambitions à la baisse. A cette étape de l&#8217;histoire de nôtre jeune Tunisie, on devrait en être au pluralisme et à l&#8217;alternance à la présidence. Or nous avons pris du retard sur notre projet commun. En gérant des projets, j&#8217;ai appris que confronté à des objectifs aux risques (incertitude) élevés, il fallait choisir le plus essentiel et ce concentrer dessus. Il vaut mieux atteindre un seul objectif que d&#8217;essayer d&#8217;atteindre plusieurs et n&#8217;en atteindre aucun. <strong>On peut toujours atteindre un seul objectif, si on le choisi bien. Notre objectif principal sous le mandat Ben Ali était le pluralisme l&#8217;alternance à la présidence.</strong> Or nous ne l&#8217;avons pas atteint. Nous avons pris du retard.</p>
<p>Quand on prend du retard, la situation change, et il faut revoir ses objectifs. C&#8217;est pour cela que <strong>mon objectif principal maintenant, c&#8217;est d&#8217;avoir un président méritant en 2024.</strong> Ensuite nous reprendrons les objectifs, et peut être que le pluralisme et l&#8217;alternance redeviendrons des objectifs principaux.</p>
<p><strong>En quoi est ce que des parents de Ben Ali ne sont pas méritants?</strong></p>
<p><a href="http://http://www.pinklemonblog.com/2009/10/mon-dieu-pardonnez-moi-car-jai.html#comment-17926007">Une petite discussion qui avait commencé sur la propriété intellectuelle avait fini sur les libertés individuelles et la philosophie de la loi</a>. Une loi est toujours une atteinte à la liberté et donc une violence. Alors on ne restreint les libertés des gens qu&#8217;après s&#8217;être assuré de deux principes :</p>
<ul>
<li>La loi est essentielle (L&#8217;absence de la loi nuit à tout le monde)</li>
<li>La loi pénalise le minimum de gens (On s&#8217;assure que les limites de la loi sont bien définies)</li>
</ul>
<p>Un parent proche ou lointain ou par alliance d&#8217;un président n&#8217;est pas éligible à la présidence de la république. Voilà une loi. <strong>Ce n&#8217;est pas une question de mérite et d&#8217;individus. C&#8217;est une question de système. C&#8217;est une loi.</strong> Avec cette loi, le système marche mieux et son absence nuit à tout le monde. En démocratie, le pouvoir devrait être distribué au mérite : plus tu est intelligent et talentueux, plus tu a du pouvoir. <a href="http://fr.wikipedia.org/wiki/Dune_(roman)">Or le pouvoir s&#8217;agglutine, il génère le pouvoir, c&#8217;est le talent d&#8217;Achille de la démocratie.</a> En l&#8217;absence de cette loi, on risque l&#8217;accumulation de pouvoir sur des critères autres que le mérite. On est même sûr, d&#8217;un point de vue historique que cela va arriver. Le dernier exemple de fiasco en date doit être celui de la famille Bush qui a laissé <a href="http://www.prosebeforehos.com/political-ironing/03/14/before-and-after-bush-became-president/">la démocratie la plus puissante du monde dans un état lamentable</a>. On ne peut pas laisser l&#8217;avenir de notre pays au hasard des individualités, nous devons avoir une protection systémique contre ces dérives : une loi. Cette loi est essentielle. Et le nombre de gens qu&#8217;elle affecte est minimal.</p>
<p><strong>Comment faire?</strong></p>
<p>Il y a quelques temps j&#8217;ai regardé un reportage sur les bédouins du Sahara Marocain. Une petite tribu qui vit dans une oasis a une fascinante démocratie nominative pour élire le gestionnaire du puit. Pendant un quart d&#8217;heure le gestionnaire sortant était là à argumenter pourquoi il ne voulait pas être reconduit, mais il à été reconduit quand même. J&#8217;ai trouvé que c&#8217;était une bonne méthode pour résoudre la pénurie de candidats et l&#8217;absence d&#8217;information qui sont des problèmes majeurs dans la situation actuelle de la Tunisie. D&#8217;ailleurs c&#8217;est la méthode adoptée par le RCD pour élire Ben Ali candidat en 2009.</p>
<ul>
<li><strong>Je m&#8217;engage à répertorier comme je peux, sur internet, les personnes aptes à devenir président de la république Tunisienne.</strong> Et je vous invite à m&#8217;aider.</li>
</ul>
<p>Vous noterez que je n&#8217;ai pas exclu un membre du parti RCD du candidat X. C&#8217;est que je suis quelqu&#8217;un de raisonnable comme vous avez pu constater. Le RCD a été pendant longtemps le parti unique en Tunisie, il a 2 500 000 adhérents et probablement 99% des compétences et éxpériences politiques Tunisiennes. Nous avons 15ans d&#8217;ici l&#8217;échéance de 2024, il n&#8217;est pas déraisonnable d&#8217;espèrer qu&#8217;un technocrate apolitique fasse ses preuves et acquiert de l&#8217;éxpérience; mais quitte à assurer nos arrières, n&#8217;excluons pas les membres du parti RCD.</p>
<p>Cela dit, <strong>cette grosse oligarchie qu&#8217;est le RCD est la cause principale de l&#8217;échec de la pluralité</strong> pendant toutes ces années. Je les tiens pour responsables. Je pense que cette grosse structure à besoin de réformes plus encore que le pays. Et si vous voulez le fond de ma pensée, <strong>cette structure a besoin d&#8217;une scission.</strong> C&#8217;est une solution qui a été éprouvée en économie, et il y a une loi pour ça : ça s&#8217;appelle <a href="http://fr.wikipedia.org/wiki/Sherman_Antitrust_Act">la Loi Anti Trust</a>.</p>
<p>Mais on n&#8217;a pas besoin d&#8217;en demander tant au RCD. Au jour d&#8217;aujourd&#8217;hui, il n&#8217;y a pas plus apte que le RCD à livrer un excellent X aux éléctions de 2024. Et c&#8217;est tout ce qu&#8217;on demande. <strong>Un candidat dont la victoire est tellement assurée, qu&#8217;il peuvent se permettre de laisser les concurrents s&#8217;activer sur le terrain et les médias. Un candidat qui affronte les autres candidats dans des débats et gagne.</strong> Et ils peuvent le faire, mais pour cela il leurs faudra réformer leurs bases (الشعب و لجان التنسيق)  pour qu&#8217;ils ne faussent pas les éléctions par simple habitude et leurs sommets pour qui&#8217;ils dégagent X.</p>
<ul>
<li><strong>Je m&#8217;engage à me rendre disponible autant que je peux pour discuter de ces idées au prés des membres sérieux du RCD. </strong>Et je vous invite à faire de même.</li>
</ul>
<p><strong>Pourquoi la situation est grave pour la Tunisie?</strong></p>
<p>Le problème majeur en réalité, n&#8217;est pas celui des éléctions, ni de la pluralité ni même de la démocratie. C&#8217;est encore plus grave que cela. C&#8217;est un problème sociétal : un problème de confiance. <strong>Faut il rappeler que sans confiance, il n&#8217;y a pas de société.</strong> Tout marche à la confiance : le transport, les banques, le commerce,&#8230; tout. Et on ne construit pas la confiance en quelques années. C&#8217;est pour cela que c&#8217;est grave. Nous avons pris du retard. Pire encore on peut perdre la confiance, en une fraction de seconde. Cette bète est très difficile à manier. En réalité il n&#8217;y a que deux manières de construire la confiance :</p>
<ul>
<li>La délégation d&#8217;autorité (Je vous fait confiance, donc je fait confiance à ceux à qui vous faites confiance)</li>
<li>L&#8217;historique (Je connais votre historique)</li>
</ul>
<p>Ce qui est problématique c&#8217;est que nous en sommes à un point ou <strong>la délégation d&#8217;autorité n&#8217;est plus applicable : il n&#8217;y a plus d&#8217;autorité. Et je ne parle même pas de politique. </strong>Le système médiatique est tellement pourri, que s&#8217;il y a des autorités (intellectuelles par exemple) il est impossible qu&#8217;on les connaisse, ou si on les connais elles ne peuvent pas s&#8217;exprimer librement, donc on les prend pour des cons. Au début de la république, Bourguiba à bénéficié d&#8217;un bonus d&#8217;autorité que nous n&#8217;avons pas sû faire fructifier, et je fais porter encore une fois la responsabilité au RCD. Mais nous n&#8217;en sommes plus là. C&#8217;est pour cela que je me propose de répertorier les autorités Tunisiennes sur internet.</p>
<p>Les problèmes de confiance affectent notre vie de tous les jours. Pendant le mois de ramadan, quand on dit au tunisien qu&#8217;il n&#8217;y aura pas peinurie d&#8217;oeufs, il sacce quand même les supermarchés et en conséquence il y a peinurie. Les taxis n&#8217;ont pas confiance, les policiers n&#8217;ont pas confiance, les juges n&#8217;ont pas confiance, les journalistes n&#8217;ont pas confiance,les hommes d&#8217;affaire n&#8217;ont pas confiance , lles hommes politiques n&#8217;ont pas confiance. Chacun pour soi. Pas de société. Le seul moyen qui reste de bâtir la confiance c&#8217;est l&#8217;historique, et ça, ça va prendre du temps. Le plus tôt on commencera, le mieux ce pays se portera.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=128&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2009/10/17/je-vote-sous-x-pour-les-presidentielles-de-2024/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2009/10/drapeau.png" medium="image">
			<media:title type="html">Tunisie</media:title>
		</media:content>
	</item>
		<item>
		<title>&#171; Leaky abstractions &#187; comme un art de vivre</title>
		<link>http://nomemoryspace.wordpress.com/2009/09/02/leaky-abstractions-comme-un-art-de-vivre/</link>
		<comments>http://nomemoryspace.wordpress.com/2009/09/02/leaky-abstractions-comme-un-art-de-vivre/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 12:11:09 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[abstractions]]></category>
		<category><![CDATA[alix]]></category>
		<category><![CDATA[base de donnees]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ror]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=95</guid>
		<description><![CDATA[La conversation a commencé juste après le barcamp . Nous sommes allés prendre un petit café, Jazem, Houeida, Hatem, Kais et moi; et la conversation avait tourné autour des bases de données. Plus tard la conversation à continué entre Kais et moi par messagerie instantanée. Et encore plus tard avec Pr. Hatem Ben Sta au [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=95&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_101" class="wp-caption alignnone" style="width: 404px"><img class="size-full wp-image-101" title="zallezz" src="http://nomemoryspace.files.wordpress.com/2009/08/zallezz.jpg?w=394&#038;h=120" alt="La plus ancienne base de données du monde : un cimetière" width="394" height="120" /><p class="wp-caption-text">La plus ancienne base de données du monde : un cimetière</p></div>
<blockquote><p>La conversation a commencé juste après le <a href="http://barcamp.org/BarcampTunisie">barcamp</a> . Nous sommes allés prendre un petit café,<a href="http://twitter.com/jazinthecity"> Jazem</a>, <a href="http://twitter.com/Houeida">Houeida</a>, <a href="http://twitter.com/tom_z">Hatem</a>, <a href="http://twitter.com/ekay">Kais</a> et <a href="http://twitter.com/slim_amamou">moi</a>; et la conversation avait tourné autour des bases de données. Plus tard la conversation à continué entre Kais et moi par messagerie instantanée. Et encore plus tard avec <a href="http://www.linkedin.com/pub/hatem-ben-sta/0/b4b/709">Pr. Hatem Ben Sta</a> au Caire. Ce que j&#8217;essayais d&#8217;expliquer, en mode non structuré mais caractéristique des conversations en direct, c&#8217;est pourquoi je me méfie des <a href="http://en.wikipedia.org/wiki/Object-relational_mapping">ORM</a>, pourquoi nous n&#8217;utilisons pas de framework à <a href="http://alixsys.com">ALIXSYS</a> et comment on fait.</p></blockquote>
<p>Quand vous écrivez une application qui, d&#8217;un côté est basée sur un modèle objet, et d&#8217;un autre côté fait appel à une base de donnée relationnelle pour stocker les données, vous avez  la désagréable impression de vous répéter et que toutes ces lignes de codes ordonnant a vos objets de s&#8217;enregistrer sont de trop. C&#8217;est normal. C&#8217;est que, comme l&#8217;expliquait Dan Ingals (à moins que ça ne soit Alan Kay, citation approximative de toutes façons) : &laquo;&nbsp;Dans la vraie vie, quand on rempli un Verre d&#8217;eau, on ne lui demande pas de se &laquo;&nbsp;mémoriser&nbsp;&raquo; juste après. ça n&#8217;a pas de sens.&nbsp;&raquo; <a href="http://markkit.net/untrusted/www.cs.virginia.edu_~evans_cs655_readings_smalltalk.html.html?s=d35e9cd567a371b1a55f184656c93c43">Un système basé sur un modèle objet devrait gèrer le stockage des données de manière transparente, sans intervention du programmeur.</a></p>
<p><span id="more-95"></span></p>
<p>Mais alors pourquoi les programmeurs persistent à utiliser des SGBDR ? Principalement par habitude, mais quelques fois aussi par souci d&#8217;intégration. En environnement d&#8217;entreprise, vous avez souvent ces conditions :</p>
<ul>
<li>Un ou plusieurs SGBDR sont déjà déployés et en production</li>
<li>Les développeurs ont l&#8217;habitude de développer des applications basées sur SGBDR</li>
<li>Des applications décisionnelles (reporting, BI, etc&#8230;) sont déployées sur les SGBDR et le personnel est formé à leurs utilisation</li>
</ul>
<p>En résumé <a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=45498">SQL est un standard</a>. Les gens ont tendance à l&#8217;oublier, mais SQL est probablement le standard le plus puissant du monde informatique. Le nombre de programmeurs qui parlent SQL doit être plus grand que ceux qui parlent HTML. SQL est plus puissant que HTML.</p>
<p>Écrire du code c&#8217;est écrire. En soi, ce n&#8217;est pas très différent d&#8217;écrire un poème, une facture ou sur un mur. Le but principal, au delà du langage, c&#8217;est de se faire comprendre; si possible par le plus grand nombre. Un standard est précisément fait dans ce but : pour que tout le monde parle la même langue. Et ça, ça n&#8217;a pas de prix.</p>
<p>Cette situation pose un dilemme : Objets ou SQL ? Et les réponses proposées sont :</p>
<ol>
<li><span style="text-decoration:line-through;">On abandonne la POO</span></li>
<li>On abandonne SQL et on adopte <a href="http://www.squeak.org/Smalltalk/">smalltalk</a></li>
<li>On abandonne SQL et  on adopte un système de stockage non relationnel</li>
<li>On adopte un ORM</li>
<li>La réponse 5 <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>Je vous déconseille de prendre le 50/50, je vous le donne en mille : ce sont toutes des mauvaises réponses. Mais ce sont là toutes les réponses envisageables à l&#8217;heure actuelle. Même si adopter smalltalk est tentant, vivre en autarcie n&#8217;est pas une option pour tous les projets. <a href="http://couchdb.apache.org/">CouchDB</a>, <a href="http://tokyocabinet.sourceforge.net/tyrantdoc/#introduction">TokyoTyrant</a>, <a href="http://labs.google.com/papers/bigtable.html">BigTable</a> et autres systèmes de stockage non relationnels ont le vent en poupe en ce moment, mais ils ne résolvent pas nôtre problème (Le stockage automatique et transparent des objets; juste pour rappeler). <strong>Il reste l&#8217;ORM. Qui résous bien partiellement le problème mais qui a l&#8217;énorme inconvénient de cacher SQL de la vue du programmeur</strong>. Ce qui est bien du point de vue des concepteurs d&#8217;ORM mais mal de mon point de vue.</p>
<p>Les standards aussi sont une écriture. Et à ce titre, je considère que leurs finalité c&#8217;est d&#8217;être lus, compris et appliqués par des hommes et non pas des machines. C&#8217;est ce qui fait la différence entre un bon standard et un mauvais comme <a href="http://www.w3.org/TR/2007/REC-soap12-part0-20070427/">SOAP</a> et ses dérivés. <strong>On n&#8217;écrit plus du code comme en 1980, c&#8217;est devenu un travail collaboratif. En 1980 écrire du code ressemblait à une conversation privée entre vous et la machine. En 2009 écrire du code ressemble à un talk show</strong> : vous avez bien un animateur-ordinateur en face de vous, mais la conversation est devenue publique. Le code est devenu public. Libre. Formellement, vous vous adressez à l&#8217;ordinateur, mais pratiquement, vous vous adressez à d&#8217;autres programmeurs. Et tous ces programmeurs parlent SQL, ça serait dommage de ne pas en profiter.</p>
<p><strong>Les &laquo;&nbsp;leaky abstractions&nbsp;&raquo; à la rescousse</strong></p>
<p>Un Objet est une abstraction de très haut niveau. Elle permet de représenter toutes les choses de l&#8217;univers. Elle permet aussi de représenter plein d&#8217;abstractions de niveau plus bas. Avec un Objet, on peut tout faire. Notamment créer un Objet/Abstraction nommé Base de données.</p>
<p>Mais construire des abstractions est un art. Une bonne abstraction doit cacher ses détails. En mathématique, si j&#8217;utilise &laquo;&nbsp;n&nbsp;&raquo; comme abstraction pour représenter un nombre entier, c&#8217;est bien pour m&#8217;éviter de raisonner sur les 1, 2, 3 et autres 4 et 5 de toute la suite individuellement. Ce qui me serait impossible de toutes façons. &laquo;&nbsp;n&nbsp;&raquo; est une bonne abstraction parce que, avec, je peux prouver que la somme de deux entiers est un entier par exemple . Maintenant, <strong>si j&#8217;utilise le symbole ☹ comme abstraction pour représenter &laquo;&nbsp;tous les nombres contenant le chiffre 7 ou multiples de 666&#8243;, outre le fait que c&#8217;est complètement débile comme vous pouvez le constater, je ne peux rien faire avec mon ☹ sans devoir me rappeler ce qu&#8217;il représente</strong>. La suite 7, 17,  27, 37, 47, 57, 67, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 87, 97, 107, 117,  127, 137, 147, 157, 167, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 187, 197, 207, 217,  227, 237, 247, 257, 267, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 287, 297, 307, 317,  327, 337, 347, 357, 367, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 387, 397, 407, 417,  427, 437, 447, 457, 467, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 487, 497, 507, 517,  527, 537, 547, 557, 567, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 587, 597, 607, 617,  627, 637, 647, 657, 666, 667, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 687, 697, 707, 717, 7 27, 737, 747, 757, 767, 770, 771, 772, 773, 774, 775, 776, 777 est bien représentée par ☹ mais pour la créer j&#8217;ai du traiter séparément les 2 cas : 7 et 666. ☹ n&#8217;est pas une bonne abstraction.</p>
<p>Ce genre d&#8217;abstractions, Joel Spolsky les appelle &laquo;&nbsp;<a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html">leaky abstractions</a>&laquo;&nbsp;, littéralement &laquo;&nbsp;les abstractions qui fuient&nbsp;&raquo; comme un robinet,  parce qu&#8217;elles laissent transparaitre leurs charpente. Il va même plus loin, il théorise : &laquo;&nbsp;Toutes les abstractions non triviales fuient&nbsp;&raquo;. Si on examine les abstractions utilisées par <a href="http://rubyonrails.org">Ruby on Rails</a> pour son ORM, cela se confirme.</p>
<p>D&#8217;abord RoR fait une simplification : 1 classe = 1 table ce qui n&#8217;est pas toujours la solution optimale. Nous avons pu constater par exemple que <strong>avoir plusieurs classes utilisant la même table est une situation assez commune de par son optimalité</strong>. Par exemple, pour la plupart des systèmes vous avez plusieurs classes d&#8217;utilisateurs : Clients, Commerciaux, Administrateurs, etc&#8230; Nous avons trouvé que utiliser 1 seule table et plusieurs Classes pour les utilisateurs est une solution optimale.</p>
<p>Ensuite RoR utilise des abstractions du genre &laquo;&nbsp;has_many:&nbsp;&raquo;, &laquo;&nbsp;has_one:&nbsp;&raquo; pour représenter les relations entre les objets. Or ces abstractions sont très peu expressives pour représenter les relations entre les objets. Les objets peuvent avoir toutes sortes de relations : une Souris:mange(Fromage) un Chat:chasse(Souris) . <strong>Ce qui est exprimé en réalité dans RoR ce sont les relations sous-jascentes dans la base de données</strong>. Vous voyez la fuite (leaky abstraction)? Cela ne m&#8217;étonnerait pas que les programmeurs RoR finissent par construire leurs modèle objet en pensant aux tables qui vont être créées dans la base.</p>
<p>Quitte à avoir un modèle conscient de sa condition d&#8217;objet informatique volatile, nous allons le faire parler carrément SQL avec la base de données. Observez ce petit bout de code PHP :</p>
<pre class="brush: php;">
$senefer = Creature::select(&quot;where name like 'Sanfour %'&quot;);
$ghadhbaan = new Creature(&quot;Sanfour Ghadhbaan&quot;);
$ghadhbaan-&gt;insert();
</pre>
<p>J&#8217;en vois certains qui sont en train de s&#8217;arracher les cheveux. Mais vous avouerez que la clareté de ce code est incontestable. Ce modèle déroge aux règles les plus élémentaires de la conception : le code est <strong>strictement</strong> lié au modèle de la base. Si on change la base on doit changer le code. Mais les autres ORM y dérogent aussi. Et j&#8217;ai horreur de faire semblant. Je préfère faire avec. Et vous verrez dans un moment que ce n&#8217;est pas si grave que cela.</p>
<p>La méthode select() est statique et c&#8217;est une <a href="http://en.wikipedia.org/wiki/Factory_method_pattern">factory</a>. Elle génère des objets de sa Classe.</p>
<pre class="brush: php;">
$senefer[0] instanceof Creature; //retourne TRUE
</pre>
<p>Ce genre de méthode dans sa plus simple expression est très simple à écrire :</p>
<pre class="brush: php;">
class Creature
{
  static function select($options = NULL)
  {
    $resultats = self::$db-&gt;query(&quot;select nom from creatures $options&quot;);
    foreach ($resultats as $ligne) {
      $creatures []= new Creature($ligne['nom']);
    }
    return $creatures;
  }
}
</pre>
<p>Ici on voit bien la liaison stricte entre le code et la base. Mais dans la pratique, il est de toutes façons impossible changer la base sans changer le code d&#8217;une manière ou d&#8217;une autre. Ce qu&#8217;on fait, généralement, c&#8217;est confiner le code qui peut changer de manière à ne pas avoir à le chercher. Et dans cette optique, je trouve que le code est assez bien confiné dans cette simple méthode select(). Si par exemple il nous vient à l&#8217;idée de changer le nom du champ &laquo;&nbsp;nom&nbsp;&raquo; en &laquo;&nbsp;nom_et_prenom&nbsp;&raquo; dans la table &laquo;&nbsp;creatures&nbsp;&raquo;. Nous aurions simplement à changer le code comme suit :</p>
<pre class="brush: php;">
class Creature
{
  static function select($options = NULL)
  {
    $resultats = self::$db-&gt;query(&quot;select nom_et_prenom as nom from creatures $options&quot;);
    foreach ($resultats as $ligne) {
      $creatures []= new Creature($ligne['nom']);
    }
    return $creatures;
  }
}
</pre>
<p>PHP est une simple couche au dessus de la base de données, comme aiment à le dire ses détracteurs. On se propose de l&#8217;utiliser comme tel et d&#8217;en tirer parti. Je ne concevrais probablement pas mon modèle de la même manière si j&#8217;écrivais du code en <a href="http://fr.wikipedia.org/wiki/Scheme">Scheme</a>.</p>
<p>La méthode insert() est dynamique. Dans sa plus simple expression l&#8217;implémentation ressemblerait à :</p>
<pre class="brush: php;">
class Creature
{
  function insert()
  {
    $nom = $this-&gt;nom;
    self::$db-&gt;query(&quot;insert into creatures (nom) values('$nom');&quot;);
    return $this;
  }
}
</pre>
<p>Pour formaliser tout cela nous pourrions faire une petite interface :</p>
<pre class="brush: php;">
interface presistance
{
  public static  function select($options = NULL);
  public function insert();
}
</pre>
<p>C&#8217;est tout ce dont on a besoin.</p>
<p><strong>Ou sont passées update() et delete() ?</strong></p>
<p>Nous avons pu constater, au bout de quelques années d&#8217;expérience quand même, que <strong>supprimer des données dans une base de données n&#8217;était pas du tout naturel</strong>. Le plus souvent les données sont plutôt marquées comme &laquo;&nbsp;supprimées&nbsp;&raquo; (ou annulé ou désactivé etc &#8230;). Dans les faits la requète &laquo;&nbsp;delete&nbsp;&raquo; est plutôt une requêtes de maintenance (optimiser la performance de la base) et de ce fait, dans la plupart des cas ne fait pas partie du système.</p>
<p>Nous avons pu constater aussi que les opérations de mise à jour des données &laquo;&nbsp;update&nbsp;&raquo; sont souvent complexes, impliquent plusieurs tables à la fois et quelques fois même transactionnelles. Une opération update() qui synchroniserait l&#8217;objet avec ses tables dans la base de données, dans la pratique, serait mieux implémentée conceptuellement comme une suppression (ou annulation ou désactivation etc&#8230;) suivie d&#8217;une nouvelle insertion. Par contre l&#8217;opération de suppression de l&#8217;objet utilisera forcément la requête  &laquo;&nbsp;update&nbsp;&raquo; formulée dans une méthode spécifique à l&#8217;opération :</p>
<pre class="brush: php;">
class Creature
{
  function tuer()
  {
    $nom = $this-&gt;nom;
    self::$db-&gt;query(&quot;update creatures set supprime='oui' where nom='$nom'&quot;);
    return $this;
  }
}
</pre>
<p>Cette méthode est capable de tuer un <a href="http://fr.wikipedia.org/wiki/Les_Schtroumpfs">sanfour</a>. Ce qui est une prouesse : on n&#8217;a jamais vu un sanfour se faire tuer. Mais tuer() est la méthode appropriée pour supprimer un sanfour.</p>
<p>Cette conception a été utilisée sur plusieurs projets et si je vous en parle maintenant c&#8217;est que nous avons pu tester son efficacité et sa simplicité. Ce dernier point est très importants pour nous. Veuillez observer ce schema illustrant notre process :</p>
<div id="attachment_121" class="wp-caption alignnone" style="width: 255px"><img class="size-full wp-image-121" title="process-ALIXSYS" src="http://nomemoryspace.files.wordpress.com/2009/09/process-alixsys.png?w=245&#038;h=445" alt="Process ALIXSYS" width="245" height="445" /><p class="wp-caption-text">Process ALIXSYS</p></div>
<p>Si j&#8217;ai mis &laquo;&nbsp;Former les développeurs&nbsp;&raquo; ostentatoirement au début du process, c&#8217;est pour insister sur la consommations de resources en amont et combien il est important d&#8217;optimiser cette activité. Vous me direz : mais vos développeurs sont déjà formés. Oui, mais on recrute.</p>
<p>Quand nous avons fait la refonte de notre progiciel de géstion intégrée ALIX, il y a quelques années <a href="http://nomemoryspace.wordpress.com/2008/06/07/une-petite-histoire-de-alixsys/">quand nous étions un département R&amp;D dans une autre société</a>, l&#8217;objectif principal identifié était de simplifier son accés aux programmeurs novices. ALIX était un système assez complexe avec une base de code assez importante qui faisait que quand on écrit du code pour ALIX on a à peine l&#8217;impression d&#8217;écrire du code PHP ou HTML : tout était caché derrière les bibliothèques et l&#8217;architecture du système elle même compliquait les choses. Nous avons tout reconçu depuis le début pour que quelqu&#8217;un qui a des connaissances rudimentaires en PHP puisse s&#8217;y retrouver dans le code et se faire utile très rapidement. C&#8217;était un impératif pour nous car nous avions un turnover assez important et nous recrutions souvent des jeunes diplômés.</p>
<p>Aujourd&#8217;hui ce n&#8217;est plus un impératif, mais cette expérience m&#8217;a permis de me rendre compte que avoir un système simple avec une base de code accessible donne un avantage compétitif certain. Prendre un frais diplômé et le rendre opérationnel comme développeur sur le système en 3 mois est certainement le trait conceptuel le plus attrayant du système ALIX. Et j&#8217;en suis très fier.</p>
<p>Cependant je ne suis toujours pas tout à fait satisfait. On peut aller plus loin. Et pour la version 3 de ALIX, je compte le débarasser de tout son code. ALIX sera alors un pur processus. Le rève.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=95&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2009/09/02/leaky-abstractions-comme-un-art-de-vivre/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2009/08/zallezz.jpg" medium="image">
			<media:title type="html">zallezz</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2009/09/process-alixsys.png" medium="image">
			<media:title type="html">process-ALIXSYS</media:title>
		</media:content>
	</item>
		<item>
		<title>L&#8217;utopie constructive de la télépathie (YAWGSBT)</title>
		<link>http://nomemoryspace.wordpress.com/2009/04/30/lutopie-constructive-de-la-telepathie-yawgsbt/</link>
		<comments>http://nomemoryspace.wordpress.com/2009/04/30/lutopie-constructive-de-la-telepathie-yawgsbt/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 11:57:43 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[developpement]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[tunisie]]></category>
		<category><![CDATA[FLOOS]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ihm]]></category>
		<category><![CDATA[systèmes d'information]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=79</guid>
		<description><![CDATA[Yet Another Why Google Should Buy Twitter. Ces derniers temps la mode et aux articles expliquant pourquoi Google devrait racheter twitter. J&#8217;ai décidé d&#8217;ajouter ma petite pierre à l&#8217;édifice. Si vous êtes un utilisateur de twitter, vous avez peut être eu l&#8217;occasion de ressentir un &#171;&#160;twitter moment&#160;&#187;. Un twitter moment, c&#8217;est quand vous réfléchissez à [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=79&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-83" title="canari-twitter" src="http://nomemoryspace.files.wordpress.com/2009/04/canari-twitter.jpg?w=400&#038;h=120" alt="canari-twitter" width="400" height="120" /></p>
<blockquote><p>Yet Another Why Google Should Buy Twitter. Ces derniers temps la mode et aux articles expliquant pourquoi Google devrait racheter twitter. J&#8217;ai décidé d&#8217;ajouter ma petite pierre à l&#8217;édifice.</p></blockquote>
<p>Si vous êtes un utilisateur de twitter, vous avez peut être eu l&#8217;occasion de ressentir un &laquo;&nbsp;twitter moment&nbsp;&raquo;. <strong>Un twitter moment, c&#8217;est quand vous réfléchissez à haute voix sur twitter et qu&#8217;une voix étrangère vient corroborer vôtre réflexion</strong>. C&#8217;est déroutant. Déroutant mais jouissif. Par exemple : Vous dites &laquo;&nbsp;J&#8217;attend le bus depuis 30min, je vais être en retard&nbsp;&raquo; et une voix étrangère @taxidriver vous répond immédiatement : &laquo;&nbsp;Je viens vous chercher?&nbsp;&raquo;. Vous ne connaissiez pas @taxidriver auparavant, mais il va vous rendre immédiatement service.</p>
<p>Il est important de souligner ici la différence dans l&#8217;expérience utilisateur entre Google et twitter. <strong>Dans Google il faut chercher une information, même formuler une recherche. Dans twitter il vous suffit de communiquer votre état pour que des options vous soient présentées</strong>. C&#8217;est comme si il suffisait d&#8217;y penser. En tout cas ce n&#8217;est pas très loin.</p>
<p><span id="more-79"></span></p>
<p>Cette faculté de télépathie c&#8217;est la force de twitter. Si on l&#8217;analyse, on trouve que cette force trouve ses racines dans la <strong>dissymétrie entrée/sortie dans les systèmes d&#8217;information</strong>. L&#8217;entrée d&#8217;information et la sortie (consultation) d&#8217;information ont des fonctions et des propriétés totalement différentes dans un même système; quelque soit le système. C&#8217;est ainsi que toute la valeur ajoutée fournie par le système se concentre dans la sortie d&#8217;information. <strong>Il n y a aucune valeur ajoutée dans l&#8217;entrée d&#8217;information</strong>. Absolument rien. Un système d&#8217;information doit tendre vers un système idéal qui ne demande aucune entrée. Un système qui devine vos pensées.</p>
<p>Cette dissymétrie a de profondes implications sur tout le système. Par exemple, <strong>dans la plupart des applications, l&#8217;entrée n&#8217;a pas le même niveau de sécurité que la sortie d&#8217;informations</strong>. Vu qu&#8217;il n y a aucune valeur ajoutée a l&#8217;entrée d&#8217;information dans un système précisément, le niveau de sécurité de l&#8217;entrée d&#8217;information pourrait être très bas si le contexte le permet. En d&#8217;autres termes si votre système opère dans un contexte ou personne ne va chercher a fausser sciemment vos données, vous pouvez carrément mettre le niveau de sécurité au plus bas. Vous pouvez ne pas demander d&#8217;authentification pour les interfaces de saisie.</p>
<p>Cela dit définir un niveau de sécurité pour une interface utilisateur n&#8217;est pas si simple, puisque dans son interaction avec le système, l&#8217;utilisateur a besoin de feedback et donc de sortie d&#8217;information. Les interface utilisateur sont donc composites. Mais ce n&#8217;est pas une obligation, c&#8217;est à vous de voir.</p>
<p>J&#8217;utilise <a href="http://buxfer.com">buxfer</a> pour gérer mes petites dépenses. La consommation d&#8217;essence de ma 4L, les factures, etc&#8230; Pour saisir mes dépenses depuis mon vieux <a href="http://www.nokia.fr/A4364043">Nokia 6610i</a> j&#8217;envoyais un mms a une adresse secrète. Jusqu&#8217;au jour ou Tunisie Telecom désactive le mms to mail sans aucune raison ni notice et que je me trouve obligé d&#8217;utiliser l&#8217;interface web mobile du service. Après quelques mois d&#8217;utilisation, je peux dire que ce n&#8217;est pas une solution idéale pour mes besoins. Le système m&#8217;oblige à m&#8217;authentifier trop souvent et c&#8217;est très pénible avec mon clavier 12 touches.</p>
<p>Je me suis dit que mes besoins sont très simples, que je n&#8217;ai pas vraiment besoin de représenter mes dépenses sous forme de camembert 3D tous les jours, et que ça serait mieux si je me faisais mon petit service sur mesure.</p>
<p>Ce dont j&#8217;ai besoin :</p>
<ul>
<li>Sélectionner une catégorie de dépenses le plus rapidement possible, sinon ça m&#8217;emmerde et je le fais pas</li>
<li>Saisir un prix et un libellé optionnel le plus rapidement possible, sinon ça m&#8217;emmerde et je le fais pas</li>
<li>Une fois par siècle, je consulte un état structuré de mes dépenses si possible manipulable avec un tableur</li>
</ul>
<p><strong>L&#8217;idée c&#8217;est que je ne vais pas demander un mot de passe pour saisir les dépenses, je vais juste demander un email comme identifiant. Quand vous voulez un état vous n&#8217;avez qu&#8217;a indiquer un email et l&#8217;état est envoyé a l&#8217;email en question</strong>. Voila pour la sécurité. A vue de nez le niveau de sécurité est amplement suffisant pour ma petite application. On verra à l&#8217;itération suivante si je devrais combattre le spam.</p>
<p>Je me suis donc retroussé les manches et le résultat c&#8217;est <a href="http://sanfoura.alixsys.com/slim/floos/">FLOOS</a> essayez la sur votre téléphone portable (ça marche aussi sur votre ordinateur, mais ça n&#8217;a pas beaucoup d&#8217;interet). Et pour vous prouver à quel point je fais confiance au niveau de sécurité que j&#8217;ai établi pour l&#8217;application voici le <a href="http://github.com/slim/floos/tree/master">code source de FLOOS</a>. Si vous trouvez des bugs, ne soyez pas avare, c&#8217;est par ici les bugs : <a href="http://github.com/slim/floos/issues">bugs FLOOS</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=79&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2009/04/30/lutopie-constructive-de-la-telepathie-yawgsbt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2009/04/canari-twitter.jpg" medium="image">
			<media:title type="html">canari-twitter</media:title>
		</media:content>
	</item>
		<item>
		<title>Rapprocher la responsabilité de l&#8217;utilisateur</title>
		<link>http://nomemoryspace.wordpress.com/2008/11/15/rapprocher-la-responsabilite-de-lutilisateur/</link>
		<comments>http://nomemoryspace.wordpress.com/2008/11/15/rapprocher-la-responsabilite-de-lutilisateur/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 01:52:28 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[confiance]]></category>
		<category><![CDATA[developpement]]></category>
		<category><![CDATA[projet]]></category>
		<category><![CDATA[risque]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[tunisie]]></category>
		<category><![CDATA[assurance]]></category>
		<category><![CDATA[économie]]></category>
		<category><![CDATA[jouet]]></category>
		<category><![CDATA[qualité]]></category>
		<category><![CDATA[responsabilité]]></category>
		<category><![CDATA[train]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=53</guid>
		<description><![CDATA[Les systèmes automatiques sont faits pour effectuer des opérations complexes tout en cachant la complexité a l&#8217;utilisateur. Si on ne fait pas attention en les concevant, ils cachent aussi la responsabilité. Pour pallier a ce problème, souvent, on ajoute des fonctionnalités de traçabilité : historiques et autres artefacts. Alors qu&#8217;il serait beaucoup plus effectif de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=53&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nomemoryspace.files.wordpress.com/2008/11/obama-you.jpeg"><img class="alignnone size-full wp-image-72" title="obama-you" src="http://nomemoryspace.files.wordpress.com/2008/11/obama-you.jpeg?w=400&#038;h=120" alt="obama-you" width="400" height="120" /></a></p>
<blockquote><p>Les systèmes automatiques sont faits pour effectuer des opérations complexes tout en cachant la complexité a l&#8217;utilisateur. Si on ne fait pas attention en les concevant, ils cachent aussi la responsabilité. Pour pallier a ce problème, souvent, on ajoute des fonctionnalités de traçabilité : historiques et autres artefacts. Alors qu&#8217;il serait beaucoup plus effectif de concevoir le système dés le départ de façon à garder la responsabilité proche de l&#8217;utilisateur.</p></blockquote>
<p>La responsabilité à un cout. C&#8217;est une sorte de taxe qu&#8217;on paie sur tous les produits qu&#8217;on en soit conscient ou pas. Quand elle est inscrite sur la facture, la responsabilité porte souvent le libellé : &laquo;&nbsp;Frais de gestion&nbsp;&raquo; ou &laquo;&nbsp;Assurance qualité&nbsp;&raquo;. Mais souvent, elle est sous évaluée. <strong>Bien évaluée, la responsabilité représentera probablement plus que 30% de la facture.</strong> Prenons un pain par exemple : c&#8217;est de l&#8217;eau, de la farine et du travail du boulanger. Dans le prix du pain, il y a le cout de la responsabilité du boulanger qui doit s&#8217;assurer que le pain est commestible et qu&#8217;il est de bonne qualité. D&#8217;ailleurs c&#8217;est principalement pour cela que les boulangers ne se valent pas. Mais il y aussi le cout de la responsabilité des services d&#8217;hygiène nationaux qui vérifient que les normes sanitaires sont respectées. Il y a le cout de la responsabilté de celui qui a vendu la farine et de celui qui a vendu l&#8217;eau et celui qui a loué le local. Chaque fois qu&#8217;il y a travail, il y a responsabilité et il y a un cout.</p>
<p><span id="more-53"></span></p>
<p>Maintenant, la responsabilité liée à un produit est fixe, elle ne peux pas être diminuée. Et la responsabilité ne se donne pas, elle se prend. Chacun est libre de prendre autant de responsabilité qu&#8217;il le désire. Mais <strong>pour l&#8217;acheteur, plus le vendeur prend de responsabilité moins il doit en prendre lui même. Parce qu&#8217;il faut bien que quelqu&#8217;un la prenne.</strong> Aussi plus de responsabilité engagée dans un produit est le seul argument de vente valable pour justifier d&#8217;un prix relativement élevé. Cet argument est souvent abusivement formulé : &laquo;&nbsp;meilleure qualité&nbsp;&raquo;. La qualité d&#8217;un produit c&#8217;est palpable, ce n&#8217;est pas un argument de vente. Et si le produit n&#8217;existe pas encore &#8211; le cas d&#8217;un logiciel ou d&#8217;une architecture &#8211; c&#8217;est qu&#8217;on parle d&#8217;<em>assurance qualité</em> et non pas de qualité.  Et l&#8217;assurance c&#8217;est précisément le produit de la responsabilité. Il y a des vendeurs de responsabilité pure. Ça s&#8217;appelle les sociétés d&#8217;assurance.</p>
<p>A l&#8217;inverse, l&#8217;acheteur peut avoir une idée de la quantité maximale de responsabilité engagée dans un produit avec un calcul aussi simple que &laquo;&nbsp;30% de la facture&nbsp;&raquo; à titre d&#8217;exemple. <strong>Si vous achetez un jouet a 5 dinars, la responsabilité maximale engagée dedans est de 1.500 dinars. Le reste c&#8217;est vous qui l&#8217;assumez, alors ne le donnez pas a un enfant.</strong></p>
<p>L&#8217;autre jour, je me suis arrêté a un passage à niveau et j&#8217;ai attendu. J&#8217;ai attendu jusqu&#8217;à me rendre compte que le passage à niveau était probablement cassé : c&#8217;était une fausse alerte, &laquo;&nbsp;<a href="http://en.wikipedia.org/wiki/Type_I_and_type_II_errors#Type_I_error">False Positive</a>&nbsp;&raquo; en anglais, il n&#8217;y avait pas de train. A ce moment là je me suis demandé si le passage à niveau ne demandait pas une intervention humaine pour fonctionner. Le chauffeur aurait il oublié d&#8217;appuyer sur le bouton pour lever la barrière? Et c&#8217;est très dangereux. Tous les experts en sécurité vous le diront : une fausse alerte est presque aussi dangereuse qu&#8217;une vraie alerte. La preuve, j&#8217;ai contourné la barrière pour traverser. Si le même problème s&#8217;était reproduit encore une ou deux fois, j&#8217;aurais probablement pris l&#8217;habitude de contourner la barrière et je me serais probablement fait écraser un jour ou l&#8217;autre. Ne vaudrait il pas mieux avoir des systèmes automatisés pour ce genre de chose? Un capteur sur les rails et un déclenchement automatique et on n&#8217;en parle plus.</p>
<p>Non. C&#8217;est une question de responsabilité. Je ne m&#8217;y connais pas en passages à niveau, et après une petite recherche sur internet à ce sujet, je ne suis toujours pas en mesure de vous dire si c&#8217;est automatique ou manuel. Mais il serait probablement plus judicieux qu&#8217;ils soient manuels et assistés. <strong>Les systèmes automatiques, y compris les systèmes informatiques, ont une fâcheuse tendance à éloigner la responsabilité de l&#8217;utilisateur.</strong> Les systèmes automatiques sont faits pour effectuer des opérations complexes tout en cachant la complexité a l&#8217;utilisateur. Si on ne fait pas attention en les concevant, ils cachent aussi la responsabilité. Pour pallier a ce problème, souvent, on ajoute des fonctionnalités de traçabilité : historiques et autres artefacts. Alors qu&#8217;il serait beaucoup plus effectif de concevoir le système des le départ de façon à garder la responsabilité proche de l&#8217;utilisateur.</p>
<p>A <a href="http://alixsys.com">ALIXSYS</a> nous construisons des progiciels de gestion. Ce sont des applications critiques et nos clients nous demandent souvent de :</p>
<ul>
<li>&laquo;&nbsp;verrouiller&nbsp;&raquo;</li>
<li>ajouter des contrôles</li>
<li>diminuer des droits d&#8217;accès</li>
<li>demander des confirmations à l&#8217;utilisateur</li>
<li>etc&#8230;</li>
</ul>
<p>Tout se passe comme si nos clients faisaient plus confiance au logiciel qu&#8217;aux utilisateurs, y compris eux mêmes. C&#8217;est que les erreurs humaines ont souvent des conséquences graves et il est tellement facile de faire en sorte que le logiciel les empêche&#8230; à première vue. Vue de notre bout de la lorgnette, la situation est différente :</p>
<ol>
<li>Le système ne peux en aucun cas empêcher l&#8217;erreur humaine.</li>
<li><a href="http://nomemoryspace.wordpress.com/2007/09/13/ron-jeffries-avait-tort/">Le système est là pour donner du pouvoir aux hommes, pas pour les brider</a>. Du pouvoir de faire des choses qu&#8217;ils ne pouvaient pas faire sans.</li>
<li>On préfère que les hommes se trompent plutôt que le système.</li>
</ol>
<p>Oui. On préfère que les hommes se trompent plutôt que le système. C&#8217;est une question de responsabilité. <strong>Quand un utilisateur se trompe, on ne l&#8217;en empêche pas, on essaye de savoir pourquoi il s&#8217;est trompé.</strong> Dans 50% des cas c&#8217;est notre logiciel qui est en cause; mais dans 50% des cas c&#8217;est la procédure qui est en cause. <strong>C&#8217;est aussi notre métier de savoir quand un problème n&#8217;est pas de notre compétence et d&#8217;en informer le client.</strong> C&#8217;est le conseil. Quand c&#8217;est notre logiciel qui est en cause, dans presque tous les cas, le problème est dans l&#8217;interface utilisateur et il y a une meilleur solution que de limiter la liberté de l&#8217;utilisateur. Il suffit de changer la position d&#8217;un bouton, pour que plus personne ne clique dessus par erreur. Il suffit de changer le libellé d&#8217;un champ de saisie de chiffre, pour que plus personne ne tape des lettres dedans.</p>
<p>Quand le système se trompe, qui porte la responsabilité à votre avis? Oui, c&#8217;est nous. Et qui paie? Oui, le client. La responsabilité liée à un produit est fixe, on a dit. Alors à ALIXSYS, nous préférons que ça soit le client qui la porte quand c&#8217;est possible. Après tout, en déléguant la responsabilité, il ne délègue pas le risque (l&#8217;histoire de la responsabilité et du risque, je vous la raconterais peut être une prochaine fois). Alors c&#8217;est tout benef pour lui aussi.  Avouez que c&#8217;est cocasse comme manière d&#8217;être compétitifs sur nos prix. D&#8217;aucuns tapent dans l&#8217;assurance qualité pour diminuer leurs part de responsabilité, nous ce qu&#8217;on fait c&#8217;est concevoir des systèmes où la responsabilité est d&#8217;emblée déléguée à l&#8217;utilisateur.</p>
<p>Voilà. Vous connaissez notre secret. Bossez maintenant.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=53&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2008/11/15/rapprocher-la-responsabilite-de-lutilisateur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2008/11/obama-you.jpeg" medium="image">
			<media:title type="html">obama-you</media:title>
		</media:content>
	</item>
		<item>
		<title>Les interfaces web de saisie rapide</title>
		<link>http://nomemoryspace.wordpress.com/2008/09/11/les-interfaces-web-de-saisie-rapide/</link>
		<comments>http://nomemoryspace.wordpress.com/2008/09/11/les-interfaces-web-de-saisie-rapide/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 10:12:55 +0000</pubDate>
		<dc:creator>slim</dc:creator>
				<category><![CDATA[alixsys]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[developpement]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[projet]]></category>
		<category><![CDATA[tunisie]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ihm]]></category>
		<category><![CDATA[interfaces]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[xmlhttprequest]]></category>

		<guid isPermaLink="false">http://nomemoryspace.wordpress.com/?p=56</guid>
		<description><![CDATA[La désynchronisation des activités est l&#8217;essence même de Ajax, c&#8217;est le &#171;&#160;A&#160;&#187; dans &#171;&#160;Ajax&#160;&#187;. Ces derniers temps, on commence a utiliser le terme &#171;&#160;Ajax&#160;&#187; pour dire &#171;&#160;XMLHttpRequest&#160;&#187; ce qui était prévisible : personne ne peux dire &#171;&#160;XMLHttpRequest&#160;&#187; sans attraper le hoquet. Comme vous le savez déjà nous sommes en train de développer un Progiciel de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=56&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://nomemoryspace.files.wordpress.com/2008/09/2340705800_d0a3708b7c.jpg"><img class="alignnone size-full wp-image-62" title="2340705800_d0a3708b7c" src="http://nomemoryspace.files.wordpress.com/2008/09/2340705800_d0a3708b7c.jpg?w=400&#038;h=120" alt="" width="400" height="120" /></a></p>
<blockquote><p>La désynchronisation des activités est l&#8217;essence même de <a href="http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML">Ajax</a>, c&#8217;est le &laquo;&nbsp;A&nbsp;&raquo; dans &laquo;&nbsp;Ajax&nbsp;&raquo;. Ces derniers temps, on commence a utiliser le terme &laquo;&nbsp;Ajax&nbsp;&raquo; pour dire &laquo;&nbsp;<a href="http://fr.wikipedia.org/wiki/XMLHttpRequest">XMLHttpRequest</a>&nbsp;&raquo; ce qui était prévisible : personne ne peux dire &laquo;&nbsp;XMLHttpRequest&nbsp;&raquo; sans attraper le hoquet.</p></blockquote>
<p>Comme vous le savez déjà nous sommes en train de <a href="http://nomemoryspace.wordpress.com/2008/07/12/doper-le-developpeur-avec-du-logiciel/">développer un Progiciel de Gestion Intégré (PGI) pour un grossiste en pharmaceutiques en Tunisie</a>. L&#8217;activité de grossiste pharmaceutique est très particulière pour deux raisons :</p>
<ol>
<li>le secteur pharmaceutique est relativement ancien et bien développé ce qui fait qu&#8217;il y a des &laquo;&nbsp;traditions&nbsp;&raquo;</li>
<li>le secteur pharmaceutique est très régulé pour des raisons de santé publique évidents</li>
</ol>
<p>L&#8217;une des particularités du secteur c&#8217;est le traitement d&#8217;un nombre de commandes élevé dans une plage horaire très restreinte. <strong>Pour vous donner un ordre d&#8217;idée, ici,  on traite à peu prés 900 commandes par jour dont 400 entre 11h et 13h.</strong> Il faut donc une logistique adéquate.</p>
<p><span id="more-56"></span></p>
<p>L&#8217;une des difficultés évidentes que nous avons identifiée depuis le début de projet, c&#8217;est l&#8217;interface de prise de commande qui allait être utilisée par les commerciaux. Les commerciaux sont généralement très peu connaisseurs en informatique : ils sont là pour appeler les clients au téléphone et saisir leurs commande le plus rapidement possible, par conséquent le niveau d&#8217;instruction est secondaire. Cela dit, vu la nature de leurs activité, ils maîtrisent parfaitement le logiciel qu&#8217;ils utilisent maintenant. <strong>Ils ont même développé des réflexes et des automatismes liés aux touches de fonction</strong>.</p>
<p>Quand nous avons présenté l&#8217;interface de prise de commande la première fois, nos interlocuteurs avaient des doutes. <strong>Pourtant la nouvelle interface etait loin devant l&#8217;ancienne en terme de fonctionnalités et même en terme d&#8217;ergonomie. </strong>Nous avons donc corrigé quelques détails par-ci par-là et donné l&#8217;application aux utilisateurs finaux pour la tester.</p>
<p>Le verdict fut unanime : <strong>la recherche des articles est trop lente.</strong> Quand vous cherchez un article dans les 7991 références, notre système met 300ms à répondre. Ce qui était beaucoup trop. Après avoir observé pendant une heure le plus expérimenté des commerciaux travailler sur l&#8217;ancienne application, j&#8217;ai été convaincu.</p>
<p>Après avoir étudié le problème et essayé différentes solutions, il n&#8217;y avait rien à faire : toute l&#8217;interface était à refaire. La seule solution était de grignoter sur les 300ms et pour cela <strong>il fallait reconcevoir l&#8217;interface.</strong></p>
<p><a href="http://nomemoryspace.files.wordpress.com/2008/09/alixcotupha-saisielignecommande-avant.png"><img class="alignnone size-full wp-image-57" title="alixcotupha-saisielignecommande-avant" src="http://nomemoryspace.files.wordpress.com/2008/09/alixcotupha-saisielignecommande-avant.png?w=445&#038;h=515" alt="" width="445" height="515" /></a></p>
<p>La saisie d&#8217;une ligne de commande se passe comme suit :</p>
<ol>
<li>L&#8217;utilisateur saisi les premières lettres de l&#8217;article recherché</li>
<li>Le système lui présente une liste d&#8217;articles qui correspondent à sa recherche</li>
<li>Il sélectionne l&#8217;article qu&#8217;il veut</li>
<li>Il saisi la quantité commandée</li>
<li>Il recommence</li>
</ol>
<p>Pour bien faire son boulot l&#8217;utilisateur a aussi besoin de feedback. Il a besoin de savoir quelle est la quantité disponible en stock et d&#8217;être notifié en cas d&#8217;erreur (article mal saisi, etc&#8230;). Dans le système tel qu&#8217;il était conçu, il y avait une seule requête, ce qui nous avait semblé être un bon choix quand on avait conçu l&#8217;interface. La logique étant que 1 seule requête (Ajax) prend toujours moins de temps que plusieurs. Mais à y regarder de plus prés, l&#8217;activité pour laquelle on conçoit l&#8217;interface a une particularité qu&#8217;on peut exploiter : <strong>quand l&#8217;utilisateur veut vraiment (vraiment!) aller rapidement, il ne regarde pas la quantité disponible, il n&#8217;a pas le temps.</strong></p>
<p><a href="http://nomemoryspace.files.wordpress.com/2008/09/alixcotupha-saisielignecommande1.png"><img class="alignnone size-medium wp-image-61" title="La nouvelle interface de saisie de commande" src="http://nomemoryspace.files.wordpress.com/2008/09/alixcotupha-saisielignecommande1.png?w=443&#038;h=346" alt="" width="443" height="346" /></a></p>
<p>Ce que nous avons fait c&#8217;est séparer la consultation de la disponibilté en stock de la recherche d&#8217;article. En fesant cela nous avons gagné du temps doublement :</p>
<ul>
<li>d&#8217;abord nous n&#8217;affichons la quantité disponible que pour l&#8217;article séléctionné et non plus pour tous les articles retournés par la recherche, ce qui décharge le serveur.</li>
<li>ensuite nous avons désynchronisé cette activité (remarquez les barres de synchro dans le diagramme) ce qui fait qu&#8217;elle se fait maintenant en parallèle avec la saisie de la quantité et donc ne prends plus de temps.</li>
</ul>
<p>Cette nouvelle conception nous a permis de faire tomber la réponse du système à 30ms, et de réduire la responsivité perçue par l&#8217;utilisateur par &#8211; a vue de nez &#8211; un facteur 100. Notez aussi que <strong>nous n&#8217;avons pas fait que désynchroniser la consultation de la disponibilité en stock, nous avons aussi désynchronisé tous les autres feedbacks du système y compris l&#8217;affichage de la ligne saisie elle même</strong> (remarquez les 3 points de fin d&#8217;activité).</p>
<p>La désynchronisation des activités est l&#8217;essence même de Ajax, c&#8217;est le &laquo;&nbsp;A&nbsp;&raquo; dans &laquo;&nbsp;Ajax&nbsp;&raquo;. Ces derniers temps, on commence a utiliser le terme &laquo;&nbsp;Ajax&nbsp;&raquo; pour dire &laquo;&nbsp;XMLHttpRequest&nbsp;&raquo; ce qui était prévisible : personne ne peux dire &laquo;&nbsp;XMLHttpRequest&nbsp;&raquo; sans attraper le hoquet. Certains disent même qu&#8217;on fait tout et n&#8217;importe quoi avec Ajax et en fait ils veulent dire qu&#8217;on fait tout et n&#8217;importe quoi avec &laquo;&nbsp;XMLHttpRequest&nbsp;&raquo;. Je ne le pense pas. Je pense que &laquo;&nbsp;XMLHttpRequest&nbsp;&raquo; ne peux pas faire de mal, même s&#8217;il est utilisé n&#8217;importe comment.</p>
<p>Nous sommes actuellement en train de tester la nouvelle interface avec les utilisateurs et vous savez quoi? Aucun feedback. Ils disent rien les utilisateurs. Ils utilisent l&#8217;application comme si tout allait de soi. Comme s&#8217;ils l&#8217;utilisaient depuis toujours. Et je me dis que faire des logiciels pour entreprise a cette différence par rapport à faire des applications grands public : l&#8217;efficacité prime sur l&#8217;effet. On n&#8217;est pas la pour faire du buzz, on ne veut impressionner personne. Et effectivement les utilisateurs ne sont pas impressionnés &#8230; mais ils ne se plaignent pas. Et c&#8217;est ça notre récompense.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/nomemoryspace.wordpress.com/56/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/nomemoryspace.wordpress.com/56/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nomemoryspace.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nomemoryspace.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nomemoryspace.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nomemoryspace.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nomemoryspace.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nomemoryspace.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nomemoryspace.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nomemoryspace.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nomemoryspace.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nomemoryspace.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nomemoryspace.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nomemoryspace.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nomemoryspace.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nomemoryspace.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nomemoryspace.wordpress.com&amp;blog=1525101&amp;post=56&amp;subd=nomemoryspace&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nomemoryspace.wordpress.com/2008/09/11/les-interfaces-web-de-saisie-rapide/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">slim</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2008/09/2340705800_d0a3708b7c.jpg" medium="image">
			<media:title type="html">2340705800_d0a3708b7c</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2008/09/alixcotupha-saisielignecommande-avant.png" medium="image">
			<media:title type="html">alixcotupha-saisielignecommande-avant</media:title>
		</media:content>

		<media:content url="http://nomemoryspace.files.wordpress.com/2008/09/alixcotupha-saisielignecommande1.png?w=300" medium="image">
			<media:title type="html">La nouvelle interface de saisie de commande</media:title>
		</media:content>
	</item>
	</channel>
</rss>
