<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://uetac.6mablog.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>uetac corner</title>
  <link>http://uetac.6mablog.com/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 02 Dec 2008 16:54:48 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Configuration d'un pool de connection Tomcat v5.x sous Eclipse v3.3</title>
    <link>http://uetac.6mablog.com/post/2007/10/03/Configuration-dun-pool-de-connection-Tomcat-v5x-sous-Eclipse-v33</link>
    <guid isPermaLink="false">urn:md5:0a81bacb8278cb79484b4f2bbcddccc7</guid>
    <pubDate>Wed, 03 Oct 2007 17:43:00 +0200</pubDate>
    <dc:creator>Frank</dc:creator>
        <category>eclipse / tomcat</category>
            
    <description>    &lt;p&gt;La fondation Apache a changé le parémtrage de tomcat depuis la v4.x : le &quot;context&quot; devrait être stocké dans un fichier par application. Auparavant il était écrit dans le server.xml de Tomcat.&lt;/p&gt;
Ainsi, le fichier &lt;strong&gt;META-INF/context.xml&lt;/strong&gt; contient maintenant le noeud &lt;code&gt;&amp;lt;Context&amp;gt;&lt;/code&gt;. Voici un exemple de création d'un pool de connection Tomcat. Le SGBD est MySQL, le fichier &lt;strong&gt;META-INF/context.xml&lt;/strong&gt; contient :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;Context path=&quot;/appli&quot; reloadable=&quot;true&quot; docBase=&quot;\appli&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Resource name=&quot;jdbc/mysqlDataBase&quot; auth=&quot;Container&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; type=&quot;javax.sql.DataSource&quot; maxActive=&quot;100&quot; maxIdle=&quot;30&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; maxWait=&quot;10000&quot; username=&quot;root&quot; password=&quot;admin&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; driverClassName=&quot;org.gjt.mm.mysql.Driver&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; url=&quot;jdbc:mysql://localhost:3306/database&quot; /&amp;gt;&lt;br /&gt;&amp;lt;/Context&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Le contexte de l'application web est/appli (http://localhost:8080/appli); la référence JNDI se nomme &lt;code&gt;jdbc/mysqlDataBase&lt;/code&gt;et pointe vers une base MySQL (attribut url). A cette base, la connection s'établit en utilisant l'utilisateur marqué par l'attribut &lt;code&gt;username&lt;/code&gt;, le mot de passe étant fourni par &lt;code&gt;password&lt;/code&gt;. &lt;br /&gt;&lt;br /&gt;Le context.xml est maintenant terminé, il faut écrire dans le &lt;strong&gt;WEB-INF/web.xml&lt;/strong&gt; de l'application la référence à la ressource JNDI :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;&amp;lt;web-app id=&quot;WebApp_ID&quot; version=&quot;2.4&quot;&lt;br /&gt;&lt;br /&gt;....&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;resource-ref&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; reference a la ressource BDD pour le pool&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;res-ref-name&amp;gt;jdbc/mysqlDataBase&amp;lt;/res-ref-name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;res-type&amp;gt;javax.sql.DataSource&amp;lt;/res-type&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;res-auth&amp;gt;Container&amp;lt;/res-auth&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/resource-ref&amp;gt;&lt;br /&gt;....&lt;br /&gt;&amp;lt;/web-app&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;On retrouve le nom de la ressource JNDI &lt;code&gt;jdbc/mysqlDataBase&lt;/code&gt;. Maintenant notre application web peut accéder au pool de connection Tomcat par le bout de code suivant :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // récupération de la source de donnée&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Context initCtx = new InitialContext();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ds = (DataSource) initCtx.lookup(&quot;java:comp/env/jdbc/mysqlDataBase&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (Exception e) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://uetac.6mablog.com/post/2007/10/03/Configuration-dun-pool-de-connection-Tomcat-v5x-sous-Eclipse-v33#comment-form</comments>
      <wfw:comment>http://uetac.6mablog.com/post/2007/10/03/Configuration-dun-pool-de-connection-Tomcat-v5x-sous-Eclipse-v33#comment-form</wfw:comment>
      <wfw:commentRss>http://uetac.6mablog.com/feed/rss2/comments/830</wfw:commentRss>
      </item>
    
  <item>
    <title>Reporting pour le web (2/2) : des limitations</title>
    <link>http://uetac.6mablog.com/post/2007/10/01/Reporting-pour-le-web-2/2-%3A-des-limitations</link>
    <guid isPermaLink="false">urn:md5:b726cb55dc394770d0137250d33d53f9</guid>
    <pubDate>Mon, 01 Oct 2007 10:05:00 +0200</pubDate>
    <dc:creator>Frank</dc:creator>
        <category>Java</category>
            
    <description>    &lt;p&gt;Finissons le tour d'horizon rapide de JasperReport et Birt en décrivant les limitations.&lt;/p&gt;
On peut trouver son bonheur dans ces deux outils mais, quelques contraintes, parfois fortes, viennent douter de l'utilisation systématique de ces api.&lt;h3&gt;&lt;strong&gt;Birt &lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;très grosse api : lourde à intégrer, temps d'appropriation important;&lt;/li&gt;
&lt;li&gt;utilisation exclusive (ou presque) d'Eclipse&lt;/li&gt;
&lt;li&gt;tableaux simplistes : très difficile de faire des tableaux à la &quot;Excel&quot;;&lt;/li&gt;
&lt;li&gt;pas d'intégration de cartes&lt;/li&gt;
&lt;/ul&gt;&lt;h3 style=&quot;font-weight: bold;&quot;&gt;JasperReport&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;peu de documentation;&lt;/li&gt;
&lt;li&gt;tableaux simplistes : impossible de faire des tableaux à la &quot;Excel&quot;;&lt;/li&gt;
&lt;li&gt;pas d'intégration de cartes;&lt;/li&gt;
&lt;li&gt;extension difficile&lt;/li&gt;
&lt;li&gt;pas de svg&lt;/li&gt;
&lt;/ul&gt;Birt peut être étendu côté graphique : le chartEngine est conçu pour être évolutif. Il utilise batik, l'api de la fondation Apache pour le svg, qui offre de l'interaction aux graphiques. Mais ajouter un nouveau type de graphique relève du tour de force tant l'api semble épaisse. &lt;br /&gt;&lt;br /&gt;Ces outils de reporting sont performants, ils demandent de l'investissement, parfois beaucoup (pour Birt) à la fois pour comprendre le fonctionnement des api mais surtout pour étendre les capacités si celles ci sont ne pas suffisantes. &lt;br /&gt;&lt;br /&gt;Je cherchais un outil de reporting pour construire des tableaux de bord contenant des tableaux, graphiques et cartes. Par tableaux, j'entends des tableaux à la &quot;Excel&quot;: fusion de colonnes, le constructeur du tableau définit lui même dans chaque cellule ce qu'il y a (texte ou formule). Par cartes, j'entends afficher une représentation cartographique d'un territoire suivant des valeurs données. &lt;br /&gt;JasperReport ne permet pas de construire les tableaux et les cartes, j'ai eu du mal à trouver le bon paramétrage pour définir plusieurs sources de données. Birt offre plus de possibilités : moins orienté &quot;listing&quot;, plus proche d'une mise en page de tableau de bord mais semble lourd à étendre. Les tableaux peuvent sans doute être construits mais une requête par cellule devrait être exécutée. &lt;br /&gt;</description>
    
    
    
          <comments>http://uetac.6mablog.com/post/2007/10/01/Reporting-pour-le-web-2/2-%3A-des-limitations#comment-form</comments>
      <wfw:comment>http://uetac.6mablog.com/post/2007/10/01/Reporting-pour-le-web-2/2-%3A-des-limitations#comment-form</wfw:comment>
      <wfw:commentRss>http://uetac.6mablog.com/feed/rss2/comments/803</wfw:commentRss>
      </item>
    
  <item>
    <title>positionner une div</title>
    <link>http://uetac.6mablog.com/post/2007/10/01/positionner-une-div</link>
    <guid isPermaLink="false">urn:md5:7d2fd43e06a169d846a6ba4b834d7749</guid>
    <pubDate>Mon, 01 Oct 2007 09:11:00 +0200</pubDate>
    <dc:creator>Frank</dc:creator>
        <category>jQuery</category>
            
    <description>    Avec &lt;a hreflang=&quot;eng&quot; href=&quot;http://jquery.com/&quot;&gt;jQuery &lt;/a&gt;il est simple de trouver les coordonnées d'une div (et autre élément dans le DOM). Le plugin &lt;a hreflang=&quot;fr&quot; href=&quot;http://brandonaaron.net/docs/dimensions/&quot;&gt;dimensions &lt;/a&gt;le permet aisément :
&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var position = $(&quot;#maDiv&quot;).position();
&lt;br /&gt;var largeur = $(&quot;#maDiv&quot;).width();
&lt;br /&gt;var hauteur = $(&quot;maDiv&quot;).height();
&lt;br /&gt;&lt;br /&gt;alert( position.left );
&lt;br /&gt;alert( position.top );
&lt;br /&gt;alert( largeur );
&lt;br /&gt;alert( hauteur );&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;On peut noter que en fonction de IE ou de FireFox les valeurs retournées ne sont pas les mêmes. Pour IE (v6) le coin en haut gauche peut retourner (-2,-2) tandis que FireFox renvoie bien (0,0).&lt;br /&gt;&lt;br /&gt;L'opération inverse maintenant : comment positionner &lt;code&gt;#maDiv&lt;/code&gt; a de bonnes coordonnées ? Le plugin &lt;a hreflang=&quot;fr&quot; href=&quot;http://brandonaaron.net/docs/dimensions/&quot;&gt;dimensions.js&lt;/a&gt; ne fournit pas de fonctions pour &lt;q&gt;left &lt;/q&gt;et &lt;q&gt;top&lt;/q&gt;, mais les fonctions&lt;code&gt; height() &lt;/code&gt;et &lt;code&gt;width()&lt;/code&gt; fixent respectivement la hauteur et la largeur de l'élément DOM. Il suffit de mettre en paramètres les valeurs souhaitées.
&lt;br /&gt;&lt;br /&gt;Pour les coordonnées top et left, l'accès au style de l'élément est alors indispensable : &lt;br /&gt;&lt;br /&gt;&lt;code&gt;maDiv.style.left = nouvLeft;&lt;br /&gt;maDiv.style.top = nouvTop;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ou en utilisant JQuery :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$(&quot;#maDiv&quot;).css(&quot;top&quot;,nouvTop);&lt;br /&gt;$(&quot;#maDiv&quot;).css(&quot;left&quot;,nouvLeft);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;En faisant le test suivant on s'aperçoit que le comportement d'IE et de FireFox sont encore une fois bien différents. Positionnons nouvLeft à 0 et nouvTop à 0. IE6 affiche la div aux coordonnées absolues (0,0) en haut à gauche de l'écran, mais FireFox affice la div en coordonnées relatives dans le container parent (margin+padding inclus) !&lt;br /&gt;&lt;br /&gt;N'ayant pas de plugin sous la main pour faire le job correctement, j'ai donc utilisé une rustine en javascript :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;position = $(&quot;#maDiv&quot;).position();&lt;br /&gt;&lt;br /&gt;if (position.left != myObject.left ) &lt;br /&gt;&amp;nbsp; { $(&quot;#maDiv&quot;).css(&quot;left&quot;,myObject.left-(position.left-myObject.left));&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;if (position.top != myObject.top ) &lt;br /&gt;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(&quot;#maDiv&quot;).css(&quot;top&quot;,myObject.top-(position.top-myObject.top));&lt;br /&gt;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;myObject &lt;/code&gt;représente les coordonnées (top,left) comme elles sont demandées, l'objectif à atteindre.&lt;br /&gt;L'idée dans ce bout de code est de corriger l'écart de positionnement entre les coordonnées absolues lues depuis &lt;a hreflang=&quot;fr&quot; href=&quot;http://brandonaaron.net/docs/dimensions/&quot;&gt;dimensions.js&lt;/a&gt; et les coordonnées possiblement relatives en écriture. S'il y a écart entre l'attendu et l'observé alors on décale l'observé de ce qu'il faut.&lt;br /&gt;</description>
    
    
    
          <comments>http://uetac.6mablog.com/post/2007/10/01/positionner-une-div#comment-form</comments>
      <wfw:comment>http://uetac.6mablog.com/post/2007/10/01/positionner-une-div#comment-form</wfw:comment>
      <wfw:commentRss>http://uetac.6mablog.com/feed/rss2/comments/802</wfw:commentRss>
      </item>
    
  <item>
    <title>Reporting pour le web (1/2)</title>
    <link>http://uetac.6mablog.com/post/2007/09/21/Reporting-pour-le-web</link>
    <guid isPermaLink="false">urn:md5:5dddf212e2e0ad0166313f17ca110f6a</guid>
    <pubDate>Fri, 21 Sep 2007 21:53:00 +0200</pubDate>
    <dc:creator>Frank</dc:creator>
        <category>Java</category>
            
    <description>    Je cherchais un outil de reporting &lt;span&gt;gratuit&lt;/span&gt; pour Java j2ee. Mon ami google en a fournit deux principaux :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a hreflang=&quot;eng&quot; href=&quot;http://jasperforge.org/sf/projects/jasperreports&quot;&gt;JasperReports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;eng&quot; href=&quot;http://www.eclipse.org/birt/phoenix/&quot;&gt;BIRT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces deux projets permettent globalement :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;créer des modèles d'états;&lt;/li&gt;
&lt;li&gt;batir des tableaux, graphiques; intrégrer des images;&lt;/li&gt;
&lt;li&gt;gérer des styles;&lt;/li&gt;
&lt;li&gt;lier différentes sources de données (base de données via jdbc, fichier xml, javabeans...);&lt;/li&gt;
&lt;li&gt;encapsuler les api de visualisation des états dans des applications standalone ou web.&lt;/li&gt;
&lt;/ul&gt;
JasperReports est un projet sourceForge maintenu par une société&amp;nbsp; &lt;a hreflang=&quot;eng&quot; href=&quot;http://www.jaspersoft.com/&quot;&gt;JasperSoft&lt;/a&gt; tandis que BIRT est un projet Eclipse.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Construction des modèles&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Distinguons les deux ide Netbeans et Eclipse. Pour Eclipse,&amp;nbsp; &lt;a hreflang=&quot;eng&quot; href=&quot;http://www.jasperassistant.com/&quot;&gt;JasperAssistant&lt;/a&gt; et Birt Report Designer sont deux plugins s'intégrant parfaitement. Notons au passage que BIRT propose une version RCP pour Eclipse ce qui permet d'obtenir ainsi un outil entièrement dédié à la création d'états. &lt;br /&gt;&lt;br /&gt;&lt;a hreflang=&quot;eng&quot; href=&quot;http://www.jasperforge.org/sf/projects/ireport&quot;&gt;IReport&lt;/a&gt; permet de construire des modèles Jasper. C'est une application Java standalone et donc indépendante des IDE. A noter qu'un plugin pour Netbeans 6 est en route et devrait être disponible lors de la sortie officielle.&lt;br /&gt;</description>
    
    
    
          <comments>http://uetac.6mablog.com/post/2007/09/21/Reporting-pour-le-web#comment-form</comments>
      <wfw:comment>http://uetac.6mablog.com/post/2007/09/21/Reporting-pour-le-web#comment-form</wfw:comment>
      <wfw:commentRss>http://uetac.6mablog.com/feed/rss2/comments/743</wfw:commentRss>
      </item>
    
  <item>
    <title>new HelloWorld();</title>
    <link>http://uetac.6mablog.com/post/2007/09/21/new-HelloWorld</link>
    <guid isPermaLink="false">urn:md5:9e75d29927c744f9bcdde22e62c3716f</guid>
    <pubDate>Fri, 21 Sep 2007 21:39:00 +0200</pubDate>
    <dc:creator>Frank</dc:creator>
            
    <description>    Bonjour !
&lt;br /&gt;&lt;br /&gt;Voilà, je me jette à l'eau : un blog, l'originalité est de mise n'est ce pas?
&lt;br /&gt;&lt;br /&gt;Par cet outil, je cherche un lieu où écrire quelques essais et  expériences diverses et variées dans le développement informatique.
&lt;br /&gt;&lt;br /&gt;Ce blog n'a pas plus d'ambition que de centraliser des expériences et peut être apporter à d'autres des informations supplémentaires dans leurs tâches...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;bienvenue !&lt;br /&gt;&amp;nbsp;Frank</description>
    
    
    
          <comments>http://uetac.6mablog.com/post/2007/09/21/new-HelloWorld#comment-form</comments>
      <wfw:comment>http://uetac.6mablog.com/post/2007/09/21/new-HelloWorld#comment-form</wfw:comment>
      <wfw:commentRss>http://uetac.6mablog.com/feed/rss2/comments/742</wfw:commentRss>
      </item>
    
</channel>
</rss>