<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>tyPouypOblOg : Tag system, everything about system</title>
    <link>http://www.typouype.org/tag/system.rss</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Libre, Ruby, Objet, OpenBSD, Programmation</description>
    <item>
      <title>Drapeaux en pagaille</title>
      <description>&lt;p&gt;En disant drapeau, je pense aux eternels &lt;strong&gt;flags&lt;/strong&gt; qui font fureur dans beaucoup d&amp;#8217;applications de gestion (et peut-&#234;tre d&amp;#8217;autres). On en met un par l&#224; pour dire que &lt;em&gt;&#231;a c&amp;#8217;est fait !&lt;/em&gt;, un autre par ici pour signaler &lt;em&gt;c&amp;#8217;est &#224; faire&lt;/em&gt;, un autre l&#224; bas pour un &lt;em&gt;peut-&#234;tre qu&amp;#8217;il faudrais s&amp;#8217;en occuper&lt;/em&gt;. J&amp;#8217;avoue ne pas aimer du tout ce genre de donner. Et depuis longtemps une des question qui revient souvent dans mon esprit est &lt;strong&gt;Mais pourquoi utiliser des flags ? Et comment pourrait-on s&amp;#8217;en sortir sans ?&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Je pense que les flags sont l&#224; pour nous permettre de &lt;em&gt;mettre &#224; plus tard&lt;/em&gt; un traitement, effectuer une sorte de d&#233;synchronisation. Soit pour dire &lt;em&gt;c&amp;#8217;est &#224; faire&lt;/em&gt;, soit pour dire &lt;em&gt;c&amp;#8217;est fait&lt;/em&gt;. Alors pourquoi ne pas faire les choses tout de suite ?&lt;/p&gt;


	&lt;p&gt;Je pioche un exemple dans l&amp;#8217;application sur laquelle je travail aujourd&amp;#8217;hui: la facturation. Un facture est cr&#233;&#233;e dans le syst&#232;me, on la stock dans la base. Jusqu&amp;#8217;ici, c&amp;#8217;est classique. Mais voil&#224;, le syst&#232;me doit communiquer avec 2 voir 3 syst&#232;me externe (selon les filialles dans lesquels on installe l&amp;#8217;application). Alors on lui colle des flags logique: &lt;em&gt;0_,_1&lt;/em&gt; ou carement des flags textuel &lt;em&gt;send&lt;/em&gt;,&lt;em&gt;ready&lt;/em&gt;,&lt;em&gt;send&lt;/em&gt;. Le tout pour que lors de l&amp;#8217;execution d&amp;#8217;un batch, un peu plus tard dans la journ&#233;e, voir &#224; la fin du mois, le programme soit capable de savoir quelle facture il doit prendre en compte.&lt;/p&gt;


	&lt;p&gt;Mais finalement, pourquoi ne pas, au moment de la cr&#233;ation de la facture, de son annulation ou tout autres &#233;v&#232;nement, cr&#233;er des objets propre au batch devant s&amp;#8217;executer plus tard ? Pourquoi ne pas faire les choses tout de suite ? On pourrais me dire: &amp;#8220;Oui mais tu comprends &#231;a fait cr&#233;er une table pour chaque application externe et tout &#231;a&amp;#8221;. Bah, aujourd&amp;#8217;hui on se bat avec des flags &#224; initialiser, &#224; mettre &#224; jour, &#224; modifier sur chaque &#233;v&#232;nement, alors bon. Pourquoi ne pas travailler tout de suite sur une structure qui facilite l&amp;#8217;execution du batch ? En plus cela d&#233;couplerais la facture de notre syst&#232;me et l&amp;#8217;image d&amp;#8217;elle m&#234;me que l&amp;#8217;on doit envoyer aux autres (qui souvent n&amp;#8217;est pas vraiment la m&#234;me). On pourrais aussi du coup modifier, sans impacter le syst&#232;me courant, l&amp;#8217;image que l&amp;#8217;on doit envoyer quand l&amp;#8217;application externe change de mode de fonctionnement.&lt;/p&gt;


	&lt;p&gt;Vous en pensez quoi vous ? Il y a beaucoup de flag chez vous ? Avez vous une autre id&#233;e pour s&amp;#8217;en passer ?&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;A chaque fois que ces flags sont sources de probl&#232;me, je me l&#232;ve dans l&amp;#8217;openspace pour faire des signes, comme quand sur les portes avions, les petites mains font signe au avion avec des drapeau pour les remettre &#224; l&amp;#8217;horizontal :-), que je suis chiant des fois&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 22 Jun 2008 10:48:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:3c5a47b0-12c8-419f-a1db-2d30e8ac287e</guid>
      <comments>http://www.typouype.org/2008/06/22/drapeaux-en-pagaille#comments</comments>
      <category>conception</category>
      <category>flag</category>
      <category>drapeau</category>
      <category>system</category>
      <category>developpement</category>
      <link>http://www.typouype.org/2008/06/22/drapeaux-en-pagaille</link>
    </item>
  </channel>
</rss>
