<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.alciongroup.com/alciontech/index.php/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/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>AlcionTech</title>
  <link>http://www.alciongroup.com/alciontech/index.php/</link>
  <atom:link href="http://www.alciongroup.com/alciontech/index.php/feed/rss2" rel="self" type="application/rss+xml"/>
  <description>Réseau technique interne</description>
  <language>fr</language>
  <pubDate>Thu, 11 Mar 2010 10:45:06 +0000</pubDate>
  <copyright>(c) AlcionGroup</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>MD Days 2009 : DSL ou Domain Specific Language</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/MD-Days-2009-%3A-DSL-ou-Domain-Specific-Language</link>
    <guid isPermaLink="false">urn:md5:efcf2ac3a6b76c5d6308f224ecd2736c</guid>
    <pubDate>Fri, 27 Nov 2009 14:49:00 +0100</pubDate>
    <dc:creator>Stéphane JUTIN</dc:creator>
        <category>Visibilité internet</category>
            
    <description>    &lt;p&gt;UML est sensé pouvoir être utilisé pour modéliser n'importe quel processus métier même hors informatique.
Néanmoins, c'est un langage complexe, plutôt destiné à des informaticiens or ceux qui possèdent la connaissance métier n'en sont pas en général.&lt;/p&gt;


&lt;p&gt;Une solution à ce problème serait donc de créer un langage simplifié qui soit compréhensible par des utilisateurs finaux, et qui serait ensuite traduit en UML standard, via une transformation de modèle (cf billet précédent).&lt;/p&gt;


&lt;h4&gt;Qu'est-ce qu'un DSL ?&lt;/h4&gt;


&lt;p&gt;Plus généralement les DSL sont des langages dédiés à une tâche précise, qui se veulent plus simple d'utilisation que les langages généraliste.&lt;/p&gt;


&lt;p&gt;Un programmeur peut par exemple utiliser des DSL pour les fichiers de configuration de son application.
Les outils de génération de code type MDA qui nécessitent une configuration complexe tout en devant rester simple d'utilisation sont de bons candidats à l'usage de DSL.&lt;/p&gt;


&lt;p&gt;On peut distinguer deux types de DSL :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les DSL textuels : des mini-langages de programmation&lt;/li&gt;
&lt;li&gt;les DSL graphiques : l'information est saisie sous forme de schémas dans un éditeur&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Les DSL textuels :&lt;/h4&gt;


&lt;p&gt;Microsoft a présenté l'outil &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/dd861709%28VS.85%29.aspx&quot; hreflang=&quot;fr&quot;&gt;Intellipad&lt;/a&gt; pour créer facilement des DSL textuels.
Il s'agit d'un genre de notepad en trois colonnes, la partie de gauche stocke le texte à analyser, la partie du milieu la grammaire et la partie droite le résultat de l'analyse (dans un format nommé M-Schéma). Le développement de la grammaire se fait donc de façon itérative au fur et à mesure des besoins.&lt;/p&gt;


&lt;h5&gt;M-Schema&lt;/h5&gt;

&lt;p&gt;Ce nouveau format se veut une alternative à XML ou a JSON développée par l'équipe SQL-Server, et devrait donc être bien supporté par la future génération d'outils MS.&lt;/p&gt;


&lt;h4&gt;Les DSL graphiques&lt;/h4&gt;


&lt;p&gt;Auparavant, la création d'un éditeur graphique passait par le développement d'un plugin Eclipse (via l'API &lt;a href=&quot;http://www.eclipse.org/modeling/gmf/&quot; hreflang=&quot;fr&quot;&gt;GMF&lt;/a&gt;) ou Visual Studio.&lt;/p&gt;


&lt;p&gt;La société &lt;a href=&quot;http://www.obeo.fr/&quot; hreflang=&quot;fr&quot;&gt;OBEO&lt;/a&gt; a présenté le logiciel &lt;a href=&quot;http://www.obeo.fr/pages/obeo-designer/fr&quot; hreflang=&quot;fr&quot;&gt;OBEO-Designer&lt;/a&gt; qui permet de créer sans propre éditeur graphique pour un meta-modèle donné sans écrire de code.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/MD-Days-2009-%3A-DSL-ou-Domain-Specific-Language#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/MD-Days-2009-%3A-DSL-ou-Domain-Specific-Language#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/147</wfw:commentRss>
      </item>
    
  <item>
    <title>MD Days 2009 : Transformations de modèles</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/MD-Days-2009-%3A-Transformations-de-modeles</link>
    <guid isPermaLink="false">urn:md5:f790b768506af4bb2fbaa8bb10944e40</guid>
    <pubDate>Fri, 27 Nov 2009 13:07:00 +0100</pubDate>
    <dc:creator>Stéphane JUTIN</dc:creator>
        <category>Visibilité internet</category>
            
    <description>    &lt;h5&gt;Modèles et meta-modèles :&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Un modèle est un graphe orienté obéissant à un méta-modèle.&lt;/li&gt;
&lt;li&gt;Les méta-modèles peuvent être issus d'organisme de normalisation (comme le méta-modèle UML, défini par l'OMG), mais on peut aussi en créer soit-même.&lt;/li&gt;
&lt;li&gt;Une transformation permet de convertir automatiquement un graphe d'un méta-modèle vers un autre.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;ins&gt;Récursivité&lt;/ins&gt; :
Méta-modèles et transformations peuvent être représentés sous forme de graphe et sont donc des modèles.
Par exemple pour définir le format des meta-modèles, on utilise un méta-méta-modèle
(qui s'auto-décrit, au sens où il est lui-même son propre méta-modèle).&lt;/p&gt;



&lt;h5&gt;Analogie avec le monde XML :&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;le modèle =&amp;gt; document XML&lt;/li&gt;
&lt;li&gt;le méta-modèle =&amp;gt; DTD ou XML-schéma&lt;/li&gt;
&lt;li&gt;la transformation =&amp;gt; feuille de style XSL-T&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Néanmoins XML ne sait représenter que des arbres ce qui est moins général qu'un graphe.&lt;/p&gt;



&lt;h5&gt;Exemple de transformation :&lt;/h5&gt;

&lt;p&gt;On peut définir un méta-modèle pour représenter la syntaxe du langage Java, puis définir une transformation &lt;q&gt;diagramme de classe UML =&amp;gt; méta-modèle Java&lt;/q&gt;, afin de personaliser la génération de code de son modeleur favori.&lt;/p&gt;


&lt;h5&gt;Application au MDA&lt;/h5&gt;


&lt;p&gt;Dans une approche MDA, on a généralement un PIM (&lt;em&gt;Platform Independant Model&lt;/em&gt;) qui décrit le fonctionnel de l'application et qui est ensuite transformé en PSM (&lt;em&gt;Platform Specific Model&lt;/em&gt;) suivant la plateforme ciblée (Java Spring/Hibernate, Java J2EE, .NET), ce dernier devant être à son tour transformé pour générer le code.&lt;/p&gt;


&lt;h4&gt;Liens :&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/QVT&quot; hreflang=&quot;fr&quot;&gt; QVT : un standard de l'OMG pour définir des transformations&lt;/a&gt; :&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/m2m/atl/&quot; hreflang=&quot;fr&quot;&gt;ATLAS Transformation Language : outil du projet Eclipse pour définir des transformations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.univ-angers.fr/docs/etudquassi/MP06_17.pdf&quot; hreflang=&quot;fr&quot;&gt;Présentation sur ATL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/MD-Days-2009-%3A-Transformations-de-modeles#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/MD-Days-2009-%3A-Transformations-de-modeles#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/146</wfw:commentRss>
      </item>
    
  <item>
    <title>Compte rendu : Model Driven Days 2009</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/Compte-rendu-%3A-Model-Driven-Days-2010</link>
    <guid isPermaLink="false">urn:md5:ea3d876f8232ef8a33e0cfb19a2bb5e8</guid>
    <pubDate>Fri, 27 Nov 2009 12:56:00 +0100</pubDate>
    <dc:creator>Stéphane JUTIN</dc:creator>
        <category>Visibilité internet</category>
            
    <description>    &lt;p&gt;Hier, je suis allé au &lt;a href=&quot;http://www.mdday.fr&quot; hreflang=&quot;fr&quot;&gt;Model Driven Days&lt;/a&gt;, une série de conférences qui se tenait dans les locaux de Microsoft, sur le thème, comme son nom l'indique, du développement piloté par la modélisation (au sens UML).&lt;/p&gt;


&lt;p&gt;Bizarrement, l'essentiel des conférences concernait plutôt les développeurs Java sous Eclipse (comme quoi Microsoft n'est pas sectaire ;-) ), probablement parce que c'est sous cette plateforme que l'approche MDA plus utilisée et l'outillage le plus abouti.&lt;/p&gt;


&lt;h4&gt;Model Driven Architecture&lt;/h4&gt;


&lt;p&gt;Pas mal de conférences présentaient des outils de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Model_driven_architecture&quot; hreflang=&quot;fr&quot;&gt;MDA&lt;/a&gt;, c'est à dire de génération d'une application complète à partir du modèle métier.&lt;/p&gt;


&lt;p&gt;Il ressort que cette approche est bien adaptée aux petites entreprises ne possédant pas trop de ressources de développement en interne ou bien pour les projets de CRM (Gestion de la relation client), bref des applications où il y a beaucoup de données éventuellement reliées par des liens complexes, mais pas trop de logique métier à implémenter.&lt;/p&gt;


&lt;p&gt;La génération se fait sous forme de couches, et il est possible de re-développer soit-même certaines d'entre-elles, par exemple on peut utiliser une couche présentation faite à la main pour être conforme à la charte graphique de l'entreprise ou à des demandes d'ergonomie utilisateurs.&lt;/p&gt;


&lt;h4&gt;Conclusion&lt;/h4&gt;


&lt;p&gt;De mon point de vue, une approche MDA n'est pas adaptée à la plupart des projets à l'exception des plus simples fonctionnellement parlant.
Cependant, les deux technologies à la base du MDA peuvent avoir d'autres usages, et doivent donc figurer dans la boite à outil d'un développeur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La transformation de modèle&lt;/li&gt;
&lt;li&gt;Les langages dédiés ou DSL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Elles feront l'objet des 2 billets suivants.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/Compte-rendu-%3A-Model-Driven-Days-2010#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2009/11/27/Compte-rendu-%3A-Model-Driven-Days-2010#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/145</wfw:commentRss>
      </item>
    
  <item>
    <title>Alcion Group développe des composants pour Talend Open Studio</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2009/03/30/Alcion-Group-developpe-des-composants-pour-Talend-Open-Studio</link>
    <guid isPermaLink="false">urn:md5:8dd5e733e0ac6640c72b4deb61811b80</guid>
    <pubDate>Mon, 30 Mar 2009 16:16:00 +0200</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>DSI</category><category>ETL</category><category>Intégration de systèmes</category><category>Java-J2EE</category><category>Open source</category><category>Outils de développement</category>    
    <description>    &lt;p&gt;Il y a maintenant un peu plus de trois mois, des ingénieurs d'Alcion Group ont suivi une formation &amp;quot;Talend Foundation&amp;quot; sur l'&lt;acronym title=&quot;Extract Transform Load&quot;&gt;ETL&lt;/acronym&gt; Open Source &lt;a href=&quot;http://fr.talend.com/index.php&quot; hreflang=&quot;fr&quot;&gt;Talend Open Studio&lt;/a&gt;. Ils proposeront bientôt dans le cadre d'un Alcion Bar une conférence interne pour présenter ce produit intéressant.&lt;/p&gt;


&lt;p&gt;Mais en attendant cette soirée, ils ont mis cette formation à profit en développant de nouveaux composants pour cet ETL, afin de mieux gérer les bases de données &lt;a href=&quot;http://www.ibm.com/software/data/informix/&quot; hreflang=&quot;en&quot;&gt;Informix&lt;/a&gt; (qui sont utilisées sur un des projets au forfait actuellement développés).&lt;/p&gt;


&lt;p&gt;Alcion Group ayant décidé de jouer le jeu de l'Open Source, ces composants ont été cédés à la communauté :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talendforge.org/exchange/tos/extension_view.php?eid=128&quot; hreflang=&quot;en&quot;&gt;tInformixConnection&lt;/a&gt;, permettant d'initialiser une connexion à une base de données Informix ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talendforge.org/exchange/tos/extension_view.php?eid=129&quot; hreflang=&quot;en&quot;&gt;tInformixCommit&lt;/a&gt;, permettant de faire un &amp;quot;commit&amp;quot; des opérations effectuées sur une connexion ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talendforge.org/exchange/tos/extension_view.php?eid=130&quot; hreflang=&quot;en&quot;&gt;tInformixRollback&lt;/a&gt;, permettant de faire un &amp;quot;rollback&amp;quot; des opérations effectuées sur une connexion ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talendforge.org/exchange/tos/extension_view.php?eid=131&quot; hreflang=&quot;en&quot;&gt;tInformixInput&lt;/a&gt;, évolution du composant original permettant de récupérer des données à partir d'une connexion existante ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talendforge.org/exchange/tos/extension_view.php?eid=132&quot; hreflang=&quot;en&quot;&gt;tInformixOutput&lt;/a&gt;, évolution du composant original permettant d'insérer des données dans une table en utilisant une connexion existante ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talendforge.org/exchange/tos/extension_view.php?eid=133&quot; hreflang=&quot;en&quot;&gt;tInformixRow&lt;/a&gt;, évolution du composant original permettant d'exécuter une requête &lt;acronym title=&quot;Structured Query Language&quot;&gt;SQL&lt;/acronym&gt; quelconque en utilisant une connexion existante ;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talendforge.org/exchange/tos/extension_view.php?eid=138&quot; hreflang=&quot;en&quot;&gt;tInformixSP&lt;/a&gt;, qui permet d'exécuter des procédures stockées et fonctions d'une base de données Informix ;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2009/03/30/Alcion-Group-developpe-des-composants-pour-Talend-Open-Studio#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2009/03/30/Alcion-Group-developpe-des-composants-pour-Talend-Open-Studio#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/143</wfw:commentRss>
      </item>
    
  <item>
    <title>Acualité : Google Apps - Quotero</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2009/03/09/Acualite-%3A-Google-Apps-Quotero</link>
    <guid isPermaLink="false">urn:md5:97b1f58e204e598fd52a7d8fe33da201</guid>
    <pubDate>Mon, 09 Mar 2009 16:06:00 +0100</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>.NET</category><category>DSI</category><category>Génie logiciel</category><category>Intégration de systèmes</category><category>Java-J2EE</category><category>Open source</category><category>SOA</category><category>Webservices</category>    
    <description>    &lt;p&gt;Je reprends ici deux billets d'actualité publiés sur mon &lt;a href=&quot;http://blog.courtine.org/&quot; hreflang=&quot;fr&quot;&gt;blog personnel&lt;/a&gt; :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.courtine.org/index.php?post/2009/02/28/Est-on-trop-dependant-de-Google&quot; hreflang=&quot;fr&quot;&gt;le premier&lt;/a&gt;, qui a fait suite à l'indisponibilité des &lt;a href=&quot;http://mail.google.fr&quot; hreflang=&quot;fr&quot;&gt;mails Google&lt;/a&gt; de ce 24 février. Ce billet fait suite à &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2008/11/04/Google-Apps-disponibles-999-du-temps&quot; hreflang=&quot;fr&quot;&gt;celui posté ici même&lt;/a&gt;, qui ventait les mérites des &amp;quot;Google Apps&amp;quot; : malgré la récente indisponibilité des mails et la &amp;quot;mini-crise virtuelle&amp;quot; qui a suivi, je persiste à croire que Google offre des solutions tout à fait viables pour les PME (mails, calendriers, etc.), avec de nouvelles fonctionnalités qui vont dans ce sens (&lt;a href=&quot;http://m.google.fr&quot; hreflang=&quot;fr&quot;&gt;Google pour mobiles&lt;/a&gt;, consultation et rédaction de mails hors-ligne, etc.).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.courtine.org/index.php?post/2009/03/09/Sortie-de-Quotero-1.0&quot; hreflang=&quot;fr&quot;&gt;le deuxième&lt;/a&gt; est un résumé de la &lt;a href=&quot;http://lacantine.org/events/openday-sortie-officielle-de-quotero-1-0-la-ged-open-source-nouvelle-generation&quot; hreflang=&quot;fr&quot;&gt;conférence de lancement de Quotero 1.0&lt;/a&gt; (à laquelle j'ai assisté), une GED Open Source.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2009/03/09/Acualite-%3A-Google-Apps-Quotero#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2009/03/09/Acualite-%3A-Google-Apps-Quotero#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/142</wfw:commentRss>
      </item>
    
  <item>
    <title>Paradigme MDA : sortie de Lyria Leonardi 4.2</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2009/02/19/Paradigme-MDA-%3A-sortie-de-Lyria-Leonardi-42</link>
    <guid isPermaLink="false">urn:md5:27ac6ab803c54769e3b45d92f5aff17b</guid>
    <pubDate>Thu, 19 Feb 2009 22:26:00 +0100</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Frameworks-Composants</category><category>Génie logiciel</category><category>Open source</category><category>Outils de développement</category>    
    <description>&lt;p&gt;Je me permet de copier ici (avec quelques modifications) le contenu d'un &lt;a href=&quot;http://blog.courtine.org/index.php?post/2009/02/19/Sortie-de-Lyria-Leonardi-4.2&quot; hreflang=&quot;fr&quot;&gt;post de mon blog personnel&lt;/a&gt;... qui lui-même reprenait &lt;a href=&quot;http://blog.developpez.com/java/p7232/1-news/sortie-de-lyria-leonardi-4-2/&quot; hreflang=&quot;fr&quot;&gt;un billet&lt;/a&gt; du &lt;a href=&quot;http://blog.developpez.com/recap/java/&quot; hreflang=&quot;fr&quot;&gt;blog java&lt;/a&gt; de &lt;a href=&quot;http://www.developpez.com/&quot; hreflang=&quot;fr&quot;&gt;developpez.com&lt;/a&gt; signalant la sortie de la nouvelle version de l'outil &lt;a href=&quot;http://www.lyria.com/rubrique.php3?id_rubrique=24&quot; hreflang=&quot;fr&quot;&gt;Leonardi&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Les principales nouveautés de ce produit étant décrites dans le billet que je site, je ne les recopierai pas. En revanche, je ferai une (très) rapide présentation de l'outil (un résumé des informations que l'on peut trouver sur le &lt;a href=&quot;http://www.lyria.com/rubrique.php3?id_rubrique=24&quot; hreflang=&quot;fr&quot;&gt;site de Lyria&lt;/a&gt;), ainsi que du paradigme &lt;acronym title=&quot;Model Driven Architecture&quot;&gt;MDA&lt;/acronym&gt; auquel il se rattache.&lt;/p&gt;    &lt;p&gt;Pour simplifier, Leonardi est un générateur d'&lt;acronym title=&quot;Interface Homme-Machine&quot;&gt;IHM&lt;/acronym&gt;, qui se base sur le &lt;acronym title=&quot;Modèle Conceptuel de Données&quot;&gt;MCD&lt;/acronym&gt; de l'application : on lui donne en entrée le modèle de données, ainsi qu'un certain nombre de paramètres, et il conçoit l'interface de l'application.&lt;/p&gt;


&lt;p&gt;C'est cette idée de générer des IHM (voire de manière plus générale du code) à partir du modèle de données qui constitue le paradigme &amp;quot;Model Driven Architecture&amp;quot; (MDA).&lt;/p&gt;


&lt;p&gt;Celui-ci a maintenant plusieurs années et on voit arriver sur le marché des produits matures basés dessus : ainsi, Leonardi n'est pas le seul acteur libre du marché : il en existe au moins deux autres que sont &lt;a href=&quot;http://www.andromda.org/&quot; hreflang=&quot;en&quot;&gt;AndroMDA&lt;/a&gt; et &lt;a href=&quot;http://appfuse.org/&quot; hreflang=&quot;en&quot;&gt;Appfuse&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Cependant, même si ces produits ont le même but, ils n'ont pas la même approche technique :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Leonardi génère un code spécifique, le &amp;quot;&lt;a href=&quot;http://www.lyria.com/rubrique.php3?id_rubrique=133&quot; hreflang=&quot;fr&quot;&gt;MMI Model&lt;/a&gt;&amp;quot; (sous forme &lt;acronym title=&quot;eXtensible Markup Language&quot;&gt;XML&lt;/acronym&gt;). Celui-ci est embarqué dans l'application finale, et est parsé dynamiquement à l'exécution par un &lt;a href=&quot;http://www.lyria.com/rubrique.php3?id_rubrique=134&quot; hreflang=&quot;fr&quot;&gt;MMI Engine&lt;/a&gt;, qui générera l'interface. Le &amp;quot;MMI Model&amp;quot; est générique, il existe plusieurs &amp;quot;MMI Engines&amp;quot;, spécifiques à la cible désirée (client riche, &lt;acronym title=&quot;Personal Digital Assistant&quot;&gt;PDA&lt;/acronym&gt;, application web...).&lt;/li&gt;
&lt;li&gt;AndroMDA et Appfuse sont tous deux basés sur &lt;a href=&quot;http://maven.apache.org/&quot; hreflang=&quot;en&quot;&gt;Maven&lt;/a&gt;. Chacun dispose de plusieurs &amp;quot;connecteurs&amp;quot; de sortie (&lt;acronym title=&quot;Java Server Faces&quot;&gt;JSF&lt;/acronym&gt;, Struts, SpringMVC), et en fonction de celui qui est choisi, ils génèrent le code correspondant. Aucun moteur spécifique à ces produits n'est nécessaire à l'exécution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note : à côté de ces solutions gratuites, il existe plusieurs autres solutions &lt;acronym title=&quot;Model Driven Architecture&quot;&gt;MDA&lt;/acronym&gt; payantes, telles que &lt;a href=&quot;http://www.jaxio.com/&quot; hreflang=&quot;fr&quot;&gt;Celerio de Jaxio&lt;/a&gt;, dont nous avions &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2007/06/01/Conference-technique-animee-par-Ajaxio&quot; hreflang=&quot;fr&quot;&gt;déjà parlé&lt;/a&gt;. Il semblerait que cette solution offre beaucoup plus de fonctionnalités qu'un Appfuse (par exemple), mais le prix n'est pas du tout le même.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2009/02/19/Paradigme-MDA-%3A-sortie-de-Lyria-Leonardi-42#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2009/02/19/Paradigme-MDA-%3A-sortie-de-Lyria-Leonardi-42#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/141</wfw:commentRss>
      </item>
    
  <item>
    <title>La plate-forme décisionnelle open Source &quot;Spago BI&quot; passe en version 2.0</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2009/02/03/La-plate-forme-decisionnelle-open-Source-Spago-BI-passe-en-version-20</link>
    <guid isPermaLink="false">urn:md5:64275141893fa2fe17fee1786bb8002e</guid>
    <pubDate>Tue, 03 Feb 2009 15:41:00 +0100</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Business Intelligence</category><category>Génie logiciel</category><category>Java-J2EE</category><category>Open source</category><category>Solutions métier</category>    
    <description>&lt;p&gt;A l'occasion de la sortie de &lt;a href=&quot;http://spagobi.objectweb.org/&quot; hreflang=&quot;en&quot;&gt;Spago BI 2.0&lt;/a&gt; (une solution de Business Intelligence open Source), une &lt;a href=&quot;http://blog.developpez.com/talend?title=conference_gratuite_spagibi_2_0_a_paris_2009&quot; hreflang=&quot;fr&quot;&gt;conférence&lt;/a&gt; a eu lieu dans les locaux de la &lt;a href=&quot;http://lacantine.org/&quot; hreflang=&quot;fr&quot;&gt;Cantine&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;J'ai assisté à cette conférence, et en voici un petit compte-rendu :&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Présentation :&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&amp;quot;Spago BI&amp;quot; est développée par le pôle R&amp;amp;D d'Engineering, une SSII italienne. L'originalité de la solution est qu'elle est entièrement Open Source, et conçue pour être extensible, dans le respect de la &amp;quot;FOSS philosophy&amp;quot; (Free Open Source Software).&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Puisque la solution en elle-même est gratuite, Engineering vend du service (sous la forme de conseil, de support commercial/technique, et de développements) autour de sa solution.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Il semblerait que ce modèle économique soit en train de se développer. Ainsi, on peut citer :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://java.sun.com/&quot; hreflang=&quot;fr&quot;&gt;Sun&lt;/a&gt;, qui développe de plus en plus de produits Open Source comme par exemple le serveur LDAP &lt;a href=&quot;http://www.opends.org/&quot; hreflang=&quot;en&quot;&gt;Open DS&lt;/a&gt;, l'OS &lt;a href=&quot;http://fr.opensolaris.org/&quot; hreflang=&quot;fr&quot;&gt;Open Solaris&lt;/a&gt;, et bien sûr la future version de Java.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.talend.com/&quot; hreflang=&quot;en&quot;&gt;Talend&lt;/a&gt;, qui édite l'ETL open Source TOS (Talend Open Studio)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Fonctionnalités :&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Spago BI en version 1.9.x disposait déjà d'un certain nombre de fonctionnalités de &amp;quot;Business Intelligence&amp;quot;, parmi lesquelles :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;édition de rapports&lt;/li&gt;
&lt;li&gt;manipulation de cubes OLAP&lt;/li&gt;
&lt;li&gt;édition de tableaux de bord&lt;/li&gt;
&lt;li&gt;Data Mining&lt;/li&gt;
&lt;li&gt;intégration avec un ETL (Talend Open Studio)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cette nouvelle version majeure 2.0 enrichit cette liste de manière significative, avec principalement :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un moteur géographique&lt;/li&gt;
&lt;li&gt;un moteur QbE (Query by Example)&lt;/li&gt;
&lt;li&gt;un moteur KPI (Key Performance Indicator)&lt;/li&gt;
&lt;li&gt;un moteur de génération de graphiques&lt;/li&gt;
&lt;li&gt;un moteur &amp;quot;Interactive Dashboard&amp;quot; permettant d'agencer plusieurs rapports sur une même page, en définissant des interactions dynamiques entre eux.&lt;/li&gt;
&lt;li&gt;un moteur JPalo&lt;/li&gt;
&lt;li&gt;une nouvelle interface utilisateur plus collaborative, permettant par exemple aux utilisateurs de mémoriser leurs rapports préférés (système de favoris), de noter et de partager leurs avis sur les rapports, de recevoir des notifications automatiques...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Retour d'expérience :&lt;/strong&gt;&lt;br /&gt;
Plusieurs projets importants de business Intelligence ont déjà été développés (ou sont en cours de développement) avec Spago BI, pour des clients variés comme le Ministère de la Santé italien, Fiat, Xaltia, etc.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;A cela, j'ajouterais que la démonstration qui nous a été faite de Spago BI lors de cette journée était bien réussie : on pas ainsi pu voir les fonctionnalités et l'interface de l'outil, qui donnent vraiment l'impression d'avoir affaire à un produit abouti.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Il ne me restera plus maintenant plus qu'à tester le produit pour voir ce que cela donne quand on l'utilise soi-même...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2009/02/03/La-plate-forme-decisionnelle-open-Source-Spago-BI-passe-en-version-20#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2009/02/03/La-plate-forme-decisionnelle-open-Source-Spago-BI-passe-en-version-20#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/140</wfw:commentRss>
      </item>
    
  <item>
    <title>Javascript bouscule le modèle MVC</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/12/01/Javascript-bouscule-le-modele-MVC</link>
    <guid isPermaLink="false">urn:md5:777dd3e889e5222f58ba7d1e5d2aade2</guid>
    <pubDate>Mon, 01 Dec 2008 13:28:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>Ajax-Client riche</category><category>Design pattern</category><category>Frameworks-Composants</category><category>Génie logiciel</category><category>HTML-JS-CSS</category><category>Webservices</category>    
    <description>    &lt;p&gt;Vu sur Advogato : &lt;a href=&quot;http://advogato.org/article/993.html&quot; hreflang=&quot;fr&quot;&gt;Javascript bouscule le modèle MVC&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;''When HTML first came out, browsers could have been called &amp;quot;Application Thin Clients&amp;quot;, if the buzzword had been in use at the time. The introduction of javascript made it possible to execute code on the client, and this turned browsers into something much more than just a &amp;quot;display&amp;quot; mechanism.&lt;/p&gt;


&lt;p&gt;Before Javascript, Web application development was simple: everything was done server-side. The concept of MVC - Model View Controller - was easy: the HTML was generated, and that was the view. With Javascript being a full-blown programming language, the lines are being blurred between which code is responsible for the View, the Controller and even the Model. The resultant split of responsibility across client and server in wildly diverse programming languages is driving many developers to alternative technologies such as Flash, and causing headaches for those Web developers who remain.''&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/12/01/Javascript-bouscule-le-modele-MVC#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/12/01/Javascript-bouscule-le-modele-MVC#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/139</wfw:commentRss>
      </item>
    
  <item>
    <title>Mise à jour communautaire de developpez.com</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/11/20/Mise-a-jour-communautaire-de-developpezcom</link>
    <guid isPermaLink="false">urn:md5:51096c8d59bf08db2ee424407a97479d</guid>
    <pubDate>Thu, 20 Nov 2008 16:24:00 +0100</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Génie logiciel</category><category>Internet</category>    
    <description>    &lt;p&gt;Je suppose que bon nombre d'entre vous connaît le site &lt;a href=&quot;http://www.developpez.com/&quot; hreflang=&quot;fr&quot;&gt;http://www.developpez.com/&lt;/a&gt;, la plus grosse communauté virtuelle de développeurs francophones (tous langages confondus), ses &lt;a href=&quot;http://blog.developpez.com/&quot; hreflang=&quot;fr&quot;&gt;blogs techniques&lt;/a&gt;, et ses &lt;a href=&quot;http://www.developpez.net/forums/&quot; hreflang=&quot;fr&quot;&gt;forums&lt;/a&gt;, qui sont une référence lorsqu'on butte sur un problème technique.
&lt;br /&gt;
&lt;br /&gt;
Depuis maintenant 3 jours, ce site a subi une grosse &lt;a href=&quot;http://www.developpez.net/forums/d644018/bienvenue-club-developpeurs/evolutions-club/mise-jour-forum-nouvelles-fonctions/&quot; hreflang=&quot;fr&quot;&gt;mise à jour&lt;/a&gt;, visant à accentuer le côté &amp;quot;communautaire&amp;quot;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;possibilité d'annoter les profils des membres (principe des évaluations &lt;a href=&quot;http://www.ebay.fr/&quot; hreflang=&quot;fr&quot;&gt;Ebay&lt;/a&gt; ou des &amp;quot;messages sur le mur&amp;quot; de &lt;a href=&quot;http://www.facebook.fr/&quot; hreflang=&quot;fr&quot;&gt;Facebook&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;possibilité de créer des albums de photos&lt;/li&gt;
&lt;li&gt;possibilité de créer (ou de rejoindre) des &lt;a href=&quot;http://www.developpez.net/forums/group.php&quot; hreflang=&quot;fr&quot;&gt;groupes d'utilisateurs&lt;/a&gt; par centre d'intérêt.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;
Derrière cette mise à jour, on peut voir une tendance assez généralisée du web à s'orienter vers les systèmes communautaires (&lt;a href=&quot;http://www.ebay.fr/&quot; hreflang=&quot;fr&quot;&gt;Ebay&lt;/a&gt; ayant été un des précurseurs en la matière, en allant jusqu'à créer un vocabulaire dédié partagé entre &amp;quot;ebayeurs et ebayeuses&amp;quot;): les nouvelles fonctionnalités proposées par &lt;a href=&quot;http://www.developpez.com/&quot; hreflang=&quot;fr&quot;&gt;http://www.developpez.com/&lt;/a&gt; rejoignant finalement celles proposées par d'autres sites communautaires (&lt;a href=&quot;http://www.facebook.fr/&quot; hreflang=&quot;fr&quot;&gt;Facebook&lt;/a&gt;, &lt;a href=&quot;http://www.linkedin.com/&quot; hreflang=&quot;en&quot;&gt;LinkedIn&lt;/a&gt;, &lt;a href=&quot;http://www.viadeo.com/fr/connexion/&quot; hreflang=&quot;fr&quot;&gt;Viadeo&lt;/a&gt;, etc.).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/11/20/Mise-a-jour-communautaire-de-developpezcom#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/11/20/Mise-a-jour-communautaire-de-developpezcom#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/138</wfw:commentRss>
      </item>
    
  <item>
    <title>Les Google Apps disponibles 99.9% du temps</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/11/04/Google-Apps-disponibles-999-du-temps</link>
    <guid isPermaLink="false">urn:md5:981cd2dc1df3178e4f3bfc5e5c33adef</guid>
    <pubDate>Tue, 04 Nov 2008 17:19:00 +0100</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Ajax-Client riche</category><category>AlcionGroup</category><category>Cloud computing</category><category>DSI</category><category>Google</category>    
    <description>&lt;p&gt;Google vient de l'annoncer sur son &lt;a href=&quot;http://googleblog.blogspot.com/2008/10/what-we-learned-from-1-million.html&quot; hreflang=&quot;en&quot;&gt;blog officiel&lt;/a&gt;: le taux de disponibilité des Google Apps est de 99,9%&lt;/p&gt;


&lt;p&gt;C'est plutôt une bonne nouvelle pour le million d'utilisateurs professionnels (dont &lt;a href=&quot;http://www.alciongroup.com/&quot; hreflang=&quot;fr&quot;&gt;Alcion Group&lt;/a&gt;) ayant choisi d'externaliser une partie de leur infrastructure informatique en utilisant les &lt;a href=&quot;http://www.google.com/a/?hl=fr&quot; hreflang=&quot;fr&quot;&gt;Google Apps&lt;/a&gt;, afin de se lancer dans le &lt;a href=&quot;http://fr.wikipedia.org/wiki/Cloud_computing&quot; hreflang=&quot;fr&quot;&gt;Cloud computing&lt;/a&gt;, concept à la mode du monde informatique.&lt;/p&gt;    &lt;p&gt;Il est vrai que la solution de Google est séduisante, en particulier pour les PME: elle permet à moindre coût (aucune infrastructure n'est à prévoir: tout est délocalisé sur les serveurs de Google) d'avoir un ensemble de fonctionnalité proche de celui de solutions professionnelles beaucoup plus onéreuses et lourdes à déployer (Lotus, Exchange, etc.):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;comptes mails (Google Mails)&lt;/li&gt;
&lt;li&gt;agendas personnels et partagés avec gestion des invitations (Google Agenda)&lt;/li&gt;
&lt;li&gt;documents partagés, avec gestion du versionning (Google Docs)&lt;/li&gt;
&lt;li&gt;messagerie instantanée interne (Google Talk)&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Et pour les personnes ayant du mal à s'habituer à l'interface des Google Apps (uniquement web), il est possible de récupérer une partie de ces fonctionnalités dans un client mail traditionnel (avec des mises à jours bidirectionnelles), ainsi que des fonctionnalités supplémentaires qui n'existent pas (encore) sur Google Mail, ce qui peut parfois gêner:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Possibilité de transférer plusieurs messages simultanément&lt;/li&gt;
&lt;li&gt;Possibilité de positionner la signature après son message, et avant la citation du message auquel on répond&lt;/li&gt;
&lt;li&gt;Possibilité de demander un accusé de réception&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;



&lt;p&gt;Voici pour se faire la solution que j'ai choisie (mais ce n'est bien sûr pas la seule):
&lt;br /&gt;&lt;/p&gt;


&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mozilla-europe.org/fr/products/thunderbird/&quot; hreflang=&quot;fr&quot;&gt;Thunderbird 2.0&lt;/a&gt; pour gérer mon compte mail par le protocole IMAP&lt;/li&gt;
&lt;li&gt;le plugin &lt;a href=&quot;https://addons.mozilla.org/fr/thunderbird/addon/2313&quot; hreflang=&quot;fr&quot;&gt;Lightning&lt;/a&gt; pour inclure dans Thunderbird la fonction &amp;quot;Agenda&amp;quot;&lt;/li&gt;
&lt;li&gt;le plugin &lt;a href=&quot;https://addons.mozilla.org/fr/thunderbird/addon/4631&quot; hreflang=&quot;fr&quot;&gt;Fournisseur pour Google Agenda&lt;/a&gt; pour synchroniser cet agenda Thunderbird avec mes &amp;quot;Google Agenda&amp;quot;&lt;/li&gt;
&lt;li&gt;le plugin &lt;a href=&quot;https://addons.mozilla.org/fr/thunderbird/addon/6095&quot; hreflang=&quot;fr&quot;&gt;Zindus&lt;/a&gt; pour synchroniser les contacts de Thunderbird avec ceux de Google&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;



&lt;p&gt;Je n'ai pour le moment que deux remarques négatives concernant ce mode de fonctionnement:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zindus ne synchronise que les contacts individuels, mais pas les &amp;quot;groupes&amp;quot; d'adresses mails. C'est d'autant plus dommage que les fonctionnalités existent nativement à la fois sur Thunderbird et sur Google.&lt;/li&gt;
&lt;li&gt;Plutôt que d'installer n plugins distincts pour récupérer les fonctionnalités de manière parcellaire, j'aurais apprécié qu'il existe un plugin &amp;quot;Google Apps for Thunderbird&amp;quot; regroupant les différentes fonctionnalités.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;



&lt;p&gt;Un grand merci à Lucas Trzesniewski pour m'avoir fourni les informations de cet article concernant la synchronisation entre Thunderbird et Google.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/11/04/Google-Apps-disponibles-999-du-temps#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/11/04/Google-Apps-disponibles-999-du-temps#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/137</wfw:commentRss>
      </item>
    
  <item>
    <title>Revue de presse estivale du monde java</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/07/16/Revue-de-presse-estivale-du-monde-java</link>
    <guid isPermaLink="false">urn:md5:335e496c53009e13f62263d58001f42d</guid>
    <pubDate>Wed, 16 Jul 2008 11:23:00 +0200</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Frameworks-Composants</category><category>Génie logiciel</category><category>Java-J2EE</category><category>Open source</category><category>Outils de développement</category>    
    <description>    &lt;p&gt;En juin et en juillet, de nombreux projets liés à java ont bien évolué. Voilà un petit résumé de ces évolutions (outre la sortie de la nouvelle version d'Eclipse Ganymède à laquelle un &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2008/07/16/index.php/post/2008/06/26/Sortie-de-Eclipse-Ganymede&quot; hreflang=&quot;fr&quot;&gt;billet complet&lt;/a&gt; a été dédié):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Le JDK de Java 6 est passé en &lt;a href=&quot;http://java.sun.com/javase/6/webnotes/ReleaseNotes.html&quot; hreflang=&quot;en&quot;&gt;update 7&lt;/a&gt;. Cette nouvelle version inclut &lt;a href=&quot;https://visualvm.dev.java.net/&quot; hreflang=&quot;en&quot;&gt;VisualVM&lt;/a&gt;, un outil de monitoring.&lt;/li&gt;
&lt;li&gt;Sortie de nouvelles versions de deux projets de l'&lt;a href=&quot;http://www.apache.org/&quot; hreflang=&quot;en&quot;&gt;Apache Software Foundation&lt;/a&gt;: &lt;a href=&quot;http://poi.apache.org/&quot; hreflang=&quot;en&quot;&gt;Apache POI 3.1&lt;/a&gt;, l'API de manipulation des fichiers &lt;a href=&quot;http://www.microsoft.com/france/office/&quot; hreflang=&quot;fr&quot;&gt;Microsoft Office&lt;/a&gt; et &lt;a href=&quot;http://jakarta.apache.org/jmeter/&quot; hreflang=&quot;en&quot;&gt;JMeter 2.3.2&lt;/a&gt;, un outil de tests de charge.&lt;/li&gt;
&lt;li&gt;Après &lt;a href=&quot;http://www.eclipse.org/&quot; hreflang=&quot;en&quot;&gt;Eclipse&lt;/a&gt;, c'est au tour de &lt;a href=&quot;http://www.netbeans.org/&quot; hreflang=&quot;en&quot;&gt;NetBeans&lt;/a&gt; de sortir une première &amp;quot;MileStone&amp;quot; de sa version 6.5.&lt;/li&gt;
&lt;li&gt;Le serveur d'application &lt;a href=&quot;http://www.jboss.org/&quot; hreflang=&quot;en&quot;&gt;JBoss&lt;/a&gt; vient de sortir une première &amp;quot;Release Candidate&amp;quot; de sa version 5.0.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Par ailleurs, &lt;a href=&quot;http://java.sun.com/&quot; hreflang=&quot;en&quot;&gt;Sun&lt;/a&gt; a publié un &lt;a href=&quot;http://developers.sun.com/learning/javaoneonline/j1online.jsp?track=coolstuff&amp;amp;yr=2008&quot; hreflang=&quot;en&quot;&gt;compte-rendu&lt;/a&gt; des différentes présentations techniques qui y ont été faites lors de &lt;a href=&quot;http://java.sun.com/javaone/sf/&quot; hreflang=&quot;en&quot;&gt;JavaOne&lt;/a&gt; session 2008.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/07/16/Revue-de-presse-estivale-du-monde-java#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/07/16/Revue-de-presse-estivale-du-monde-java#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/136</wfw:commentRss>
      </item>
    
  <item>
    <title>Sortie de Eclipse Ganymede</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/06/26/Sortie-de-Eclipse-Ganymede</link>
    <guid isPermaLink="false">urn:md5:6798b565433748ae35296a68b50fb379</guid>
    <pubDate>Thu, 26 Jun 2008 12:53:00 +0200</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Génie logiciel</category><category>Java-J2EE</category><category>Outils de développement</category>    
    <description>&lt;p&gt;Il y a un mois, nous avions annoncé la sortie de la &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2008/06/26/index.php/post/2008/05/28/Eclipse-Ganymede-est-passe-en-RC1&quot; hreflang=&quot;fr&quot;&gt;première release candidate de la nouvelle version d'Eclipse&lt;/a&gt;, et les nouveautés qu'elle apportait.&lt;/p&gt;


&lt;p&gt;Hier, c'est la version finale de cette nouvelle version (Eclipse 3.4 &amp;quot;Ganymede&amp;quot;) qui est parue. Et avec elle, un certain nombre de fonctionnalités supplémentaires par rapport à la release candidate et à la version précédente.&lt;/p&gt;    &lt;p&gt;Parmi les plus importantes, nous pouvons citer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la réduction du temps de chargement de l'IDE;&lt;/li&gt;
&lt;li&gt;une version spécialement optimisée pour les processeurs 64 bit;&lt;/li&gt;
&lt;li&gt;une gestion des plugins entièrement reprogrammée, et nettement améliorée (c'était d'ailleurs un des points faibles des versions antérieures);&lt;/li&gt;
&lt;li&gt;la possibilité d'utiliser les paramètres du système (configuration des proxys) pour se connecter à internet;&lt;/li&gt;
&lt;li&gt;des fonctions de recherche/remplacement plus puissante, avec une extension des expressions régulières supportées;&lt;/li&gt;
&lt;li&gt;de nombreuses optimisations de l'interface (fil d'Ariane, résolution des erreurs de code, gestion des onglets et des &amp;quot;marqueurs&amp;quot;, etc.);&lt;/li&gt;
&lt;li&gt;ajout de fonctionnalités qui manquaient dans la version Mac;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et, concernant les fonctionnalités spécifiques à la programmation Java/J2EE:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;de nouveaux assistants pour la création d'EJB 3.0;&lt;/li&gt;
&lt;li&gt;de nouveaux assistants pour la création de servlets, filtres, pages JSP, ...;&lt;/li&gt;
&lt;li&gt;de nouveaux assistants pour l'utilisation de JPA (fichiers de mapping, etc.);&lt;/li&gt;
&lt;li&gt;une nouvelle vue permet l'affichage de l'arbre XHTML d'une page, en incluant les composants JSF;&lt;/li&gt;
&lt;li&gt;le serveur Jetty est maintenant supporté&lt;/li&gt;
&lt;li&gt;possibilité d'ajouter d'un répertoire externe complet au classpath;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La liste complète des nouveautés de la version est disponible à cette adresse: &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2008/06/26/fr&quot;&gt;http://ganymede-mirror2.eclipse.org/eclipse/downloads/drops/R-3.4-200806172000/whatsnew3.4/eclipse-news-all.html&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Pour télécharger et tester/utiliser Eclipse Ganymède, c'est ici: &lt;a href=&quot;http://www.eclipse.org/downloads/&quot; hreflang=&quot;fr&quot;&gt;&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/06/26/Sortie-de-Eclipse-Ganymede#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/06/26/Sortie-de-Eclipse-Ganymede#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/135</wfw:commentRss>
      </item>
    
  <item>
    <title>Vérifier automatiquement la qualité d'un code java</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/06/23/Verifier-automatiquement-la-qualite-dun-code-java</link>
    <guid isPermaLink="false">urn:md5:d5e8a0c64549d8538ba78f48f1ae419d</guid>
    <pubDate>Mon, 23 Jun 2008 12:07:00 +0200</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Génie logiciel</category><category>Java-J2EE</category><category>Outils de développement</category><category>Qualité-CMM</category>    
    <description>&lt;p&gt;Il existe de nombreuses règles de &amp;quot;bonnes pratiques&amp;quot; en programmation objet, dont certaines sont spécifiques au langage java. Il existe des formations et des ouvrages entiers consacrés à ce sujet: je n'ai donc absolument pas la prétention d'en faire la liste ici.
En revanche, j'aimerais attirer l'attention sur le fait qu'il existe maintenant des outils faciles à mettre en oeuvre, et permettant de vérifier automatiquement un certain nombre de ces règles de &amp;quot;bonnes pratiques&amp;quot;. Ils permettent d'améliorer significativement la qualité du code, pour un faible coup (à condition qu'ils soient déployés le plus tôt possible dans le processus de développement).&lt;/p&gt;    &lt;p&gt;Les trois outils les plus aboutis dans ce domaine, sont &lt;a href=&quot;http://checkstyle.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;CheckStyle&lt;/a&gt;, &lt;a href=&quot;http://pmd.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;PMD&lt;/a&gt;, et &lt;a href=&quot;http://findbugs.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;FindBugs&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://checkstyle.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;CheckStyle&lt;/a&gt; et  fait principalement des vérifications formelles sur le code source&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;présence de javadoc&lt;/li&gt;
&lt;li&gt;présence de blocs vide (catch dans lesquels on ne fait rien, etc.)&lt;/li&gt;
&lt;li&gt;variables, imports ou méthodes inutilisées&lt;/li&gt;
&lt;li&gt;méthodes trop complexes (imbrication de blocs) ou trop longues&lt;/li&gt;
&lt;li&gt;indentation, aération du code, lignes de code trop longues&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://findbugs.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;FindBugs&lt;/a&gt;, quant à lui, se concentre plus sur la sémantique du code, en détectant des &amp;quot;patterns de mauvaise programmation&amp;quot;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;flux ouverts qui ne sont pas fermés dans tous les cas (lorsqu'une exception survient, par exemple)&lt;/li&gt;
&lt;li&gt;risques de NullPointerException&lt;/li&gt;
&lt;li&gt;tests redondants&lt;/li&gt;
&lt;li&gt;failles de sécurité&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://pmd.sourceforge.net/&quot; hreflang=&quot;fr&quot;&gt;PMD&lt;/a&gt; enfin, se situe à la limite entre les deux outils précédents: il effectue à la fois des vérifications formelles et fonctionnelles. Par rapport à CheckStyle, PMD est capable de faire des vérifications globales sur le code (là où CheckStyle fait de la vérification fichier par fichier). Il dispose ainsi par exemple d'un module très appréciable permettant de détecter globalement les codes copiés-collés.&lt;/p&gt;


&lt;p&gt;Ces outils ont maintenant atteint un stade de maturité avancé, et ils s'intègrent très bien dans les environnements de développement professionnels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ils sont entièrement paramétrables: on peut choisir les règles applicables au projet, paramétrer celles qui existent (taille limite des méthodes), voire développer des règles personnalisées si celles fournies par défaut ne suffisent pas. Cela permet au chef de projet de fixer le niveau de qualité qu'il souhaite pour son application.&lt;/li&gt;
&lt;li&gt;il existe des plugins permettant d'intégrer directement ces outils dans les IDE du marché. Le code est ainsi vérifié &amp;quot;en temps réel&amp;quot;, au moment où il est écrit: il peut donc être corrigé au plus tôt dans le processus de développement (donc pour le coût le plus faible).&lt;/li&gt;
&lt;li&gt;ils s'intègrent automatiquement dans les processus de déploiement (avec les outils &lt;a href=&quot;http://ant.apache.org/&quot; hreflang=&quot;fr&quot;&gt;Ant&lt;/a&gt; ou &lt;a href=&quot;http://maven.apache.org/&quot; hreflang=&quot;fr&quot;&gt;Maven&lt;/a&gt;), afin de générer automatiquement des rapports sur le code remonté sur le gestionnaire de configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Je noterai également &lt;a href=&quot;http://clarkware.com/software/JDepend.html&quot; hreflang=&quot;fr&quot;&gt;JDepend&lt;/a&gt;, qui permet de détecter les dépendances cycliques entre classes.&lt;/p&gt;


&lt;p&gt;J'ai présenté ici les outils qui me paraissent les plus importants. Mais on peut aller plus loin, et il existe de nombreux autres outils qu'on peut mettre en place sur un projet. Une &lt;a href=&quot;http://www.agile-swiss.org/wiki/index.php/Au_pays_des_mille_et_un_rapports_Maven&quot; hreflang=&quot;fr&quot;&gt;liste plus complète&lt;/a&gt; des outils qui peuvent être intégrés automatiquement sur un projet géré par &lt;a href=&quot;http://maven.apache.org/&quot; hreflang=&quot;fr&quot;&gt;Maven&lt;/a&gt; est disponible sur &lt;a href=&quot;http://www.agile-swiss.org/&quot; hreflang=&quot;fr&quot;&gt;Agile Swiss&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/06/23/Verifier-automatiquement-la-qualite-dun-code-java#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/06/23/Verifier-automatiquement-la-qualite-dun-code-java#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/134</wfw:commentRss>
      </item>
    
  <item>
    <title>Project Euler</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/06/02/Project-Euler</link>
    <guid isPermaLink="false">urn:md5:04e147513e6649f3eb38e574c1faca55</guid>
    <pubDate>Mon, 02 Jun 2008 20:54:00 +0200</pubDate>
    <dc:creator>Reda BOUALLOU</dc:creator>
        <category>C3.0 Mathématiques</category>    
    <description>Je poste cet article au nom d'Olivier Coanet qui nous fait découvrir un projet de défis mathématiques. Merci pour lui !&lt;br /&gt;&lt;br /&gt;Project Euler (&lt;a href=&quot;http://projecteuler.net/&quot; target=&quot;_blank&quot;&gt;http://projecteuler.net&lt;/a&gt;)
est un site proposant près de 200 challenges mathématiques à résoudre par
des programmes informatiques.
&lt;br /&gt;
&lt;br /&gt;Si les premiers problèmes sont triviaux,
la difficulté augmente progressivement et les derniers n'ont été résolus
que par une poignée de personne surmotivés. Avis aux amateurs : de nouveaux
challenges sont ajoutés régulièrement et à l'instant même où j'écris ce
billet le problème 196 vient d'apparaître.
&lt;br /&gt;
&lt;br /&gt;Etant donné que résoudre ces problèmes
est une bonne occasion pour tester un nouveau langage, j'ai voulu voir
ce que pouvait donner le C# 3.0. Le résultat est plutôt impressionnant.&lt;br /&gt;    &lt;div style=&quot;background: white none repeat scroll 0% 0%; font-family: Lucida Console; font-size: 9pt; color: black; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;16&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#region&lt;/span&gt; Problem1
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   17&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; Problem1()&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   18&lt;/span&gt; {&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   19&lt;/span&gt;     &lt;span style=&quot;color: green;&quot;&gt;// la somme des nombres inférieurs à 1000 qui sont multiples de 3 et de 5&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   20&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; sum = &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Enumerable&lt;/span&gt;.Range(&lt;span style=&quot;color: red;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: red;&quot;&gt;999&lt;/span&gt;).Where(n =&amp;gt; ((n % &lt;span style=&quot;color: red;&quot;&gt;3&lt;/span&gt;) == &lt;span style=&quot;color: red;&quot;&gt;0&lt;/span&gt; || (n % &lt;span style=&quot;color: red;&quot;&gt;5&lt;/span&gt;) == &lt;span style=&quot;color: red;&quot;&gt;0&lt;/span&gt;)).Sum();&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   21&lt;/span&gt;     &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Console&lt;/span&gt;.WriteLine(&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;&amp;quot;Result =&amp;gt; {0}&amp;quot;&lt;/span&gt;, sum);&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   22&lt;/span&gt; }&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   23&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   24&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   25&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#region&lt;/span&gt; Problem2&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   26&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; Problem2()&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   27&lt;/span&gt; {&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   28&lt;/span&gt;     &lt;span style=&quot;color: green;&quot;&gt;// la somme des termes de la suite de Fibonacci qui sont inférieurs à 4 millions&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   29&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; sum = Fibonacci().Where(n =&amp;gt; ((n % &lt;span style=&quot;color: red;&quot;&gt;2&lt;/span&gt;) == &lt;span style=&quot;color: red;&quot;&gt;0&lt;/span&gt;)).TakeWhile(n =&amp;gt; (n &amp;lt; &lt;span style=&quot;color: red;&quot;&gt;4000000&lt;/span&gt;)).Sum();&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   30&lt;/span&gt;     &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Console&lt;/span&gt;.WriteLine(&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;&amp;quot;Result =&amp;gt; {0}&amp;quot;&lt;/span&gt;, sum);&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   31&lt;/span&gt; }&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   32&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   33&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;IEnumerable&lt;/span&gt;&amp;lt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&amp;gt; Fibonacci()&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   34&lt;/span&gt; {&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   35&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; a = &lt;span style=&quot;color: red;&quot;&gt;1&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   36&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; b = &lt;span style=&quot;color: red;&quot;&gt;2&lt;/span&gt;;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   37&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;true&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   38&lt;/span&gt;     {&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   39&lt;/span&gt;         &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; tmp = a;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   40&lt;/span&gt;         &lt;span style=&quot;color: blue;&quot;&gt;yield&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; tmp;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   41&lt;/span&gt;         a = b;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   42&lt;/span&gt;         b = tmp + b;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   43&lt;/span&gt;     }&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   44&lt;/span&gt; }&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   45&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   46&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   47&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#region&lt;/span&gt; Problem6&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   48&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; Problem6()&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   49&lt;/span&gt; {&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   50&lt;/span&gt;     &lt;span style=&quot;color: green;&quot;&gt;// le carré de la somme moins la somme des carré... mais est-ce bien la peine de le commenter ^^&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   51&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; difference =&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   52&lt;/span&gt;         &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Enumerable&lt;/span&gt;.Range(&lt;span style=&quot;color: red;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: red;&quot;&gt;100&lt;/span&gt;).Sum().Square() - &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Enumerable&lt;/span&gt;.Range(&lt;span style=&quot;color: red;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: red;&quot;&gt;100&lt;/span&gt;).Select(i =&amp;gt; i.Square()).Sum();&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   53&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   54&lt;/span&gt;     &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Console&lt;/span&gt;.WriteLine(difference);&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   55&lt;/span&gt; }&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   56&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   57&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; Square(&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt; n)&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   58&lt;/span&gt; {&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   59&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;)&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Math&lt;/span&gt;.Pow(n, &lt;span style=&quot;color: red;&quot;&gt;2&lt;/span&gt;);&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   60&lt;/span&gt; }&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   61&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   62&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   63&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#region&lt;/span&gt; Problem9&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   64&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;private&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; Problem9()&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   65&lt;/span&gt; {&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   66&lt;/span&gt;     &lt;span style=&quot;color: green;&quot;&gt;// trouver le triplet pythagoricien pour lequel a + b + c = 1000&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   67&lt;/span&gt;     &lt;span style=&quot;color: blue;&quot;&gt;var&lt;/span&gt; triplet = (&lt;span style=&quot;color: blue;&quot;&gt;from&lt;/span&gt; i &lt;span style=&quot;color: blue;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Enumerable&lt;/span&gt;.Range(&lt;span style=&quot;color: red;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: red;&quot;&gt;999&lt;/span&gt;)&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   68&lt;/span&gt;                    &lt;span style=&quot;color: blue;&quot;&gt;from&lt;/span&gt; j &lt;span style=&quot;color: blue;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Enumerable&lt;/span&gt;.Range(i + &lt;span style=&quot;color: red;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: red;&quot;&gt;999&lt;/span&gt; - i)&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   69&lt;/span&gt;                    &lt;span style=&quot;color: blue;&quot;&gt;let&lt;/span&gt; k = &lt;span style=&quot;color: red;&quot;&gt;1000&lt;/span&gt; - i - j&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   70&lt;/span&gt;                    &lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; i.Square() + j.Square() == k.Square()&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   71&lt;/span&gt;                    &lt;span style=&quot;color: blue;&quot;&gt;select&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; { A = i, B = j, C = k }).First();&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   72&lt;/span&gt; &lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   73&lt;/span&gt;     &lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;Console&lt;/span&gt;.WriteLine(&lt;span style=&quot;color: rgb(163, 21, 21);&quot;&gt;&amp;quot;a={0}, b={1}, c={2}&amp;quot;&lt;/span&gt;, triplet.A, triplet.B, triplet.C);&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   74&lt;/span&gt; }&lt;/p&gt;
&lt;p style=&quot;margin: 0;&quot;&gt;&lt;span style=&quot;color: rgb(43, 145, 175);&quot;&gt;   75&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;#endregion&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;PS : si ça en intéresse certains, j'ai
la solution des 10 premiers problèmes en C# 3.0.
&lt;/div&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/06/02/Project-Euler#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/06/02/Project-Euler#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/133</wfw:commentRss>
      </item>
    
  <item>
    <title>Eclipse Ganymede est passé en RC1</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/05/28/Eclipse-Ganymede-est-passe-en-RC1</link>
    <guid isPermaLink="false">urn:md5:0d530865d0d286f4094fe3eecd293f9c</guid>
    <pubDate>Wed, 28 May 2008 11:28:00 +0200</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>Java-J2EE</category><category>Outils de développement</category>    
    <description>    &lt;p&gt;La nouvelle version de Eclipse (Ganymede) vient de passer la cap de la &amp;quot;Release Candidate&amp;quot;. Il est encore un peu tôt pour l'utiliser en environnement professionnel, mais cette version se montre déjà prometteuse.&lt;/p&gt;


&lt;p&gt;Du point de vue de l'interface, il y aura moins d'évolution majeures que n'en a connu la version &amp;quot;Europa&amp;quot; actuelle, mais on peut tout de même relever quelques points que les développeurs apprécieront:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le &amp;quot;quickfix&amp;quot; proposant de corriger automatiquement les erreurs de code apparaît maintenant au survol des erreurs: il n'est plus nécessaire d'aller jusque dans la barre latérale de l'éditeur&lt;/li&gt;
&lt;li&gt;une navigation en &amp;quot;fil d'Ariane&amp;quot; permet de revenir bien plus facilement à la classe sur laquelle on travaillait lorsqu'on se déplace en suivant des objets ou des méthodes&lt;/li&gt;
&lt;li&gt;la gestion des plugins installés et disponibles, qui a été complètement revue et qui est maintenant beaucoup plus intuitive&lt;/li&gt;
&lt;li&gt;le temps de chargement de l'espace de travail, qui a été nettement réduit (divisé par 2 à 3)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mais la grosse nouveauté de cette version réside à mon avis dans les deux nouvelles distributions disponibles, qui vont certainement être très prisées:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une distribution &amp;quot;Java J2EE&amp;quot; spécialisée dans les applications de reporting, incluant des outils de développement pour BIRT&lt;/li&gt;
&lt;li&gt;une distribution &amp;quot;Architectes&amp;quot;, incluant des outils de modélisation (UML, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enfin, j'ai pu remarquer que la vitesse de compilation des gros projets a été augmentée par une meilleure gestion des processeurs à plusieurs cœurs.&lt;/p&gt;


&lt;p&gt;Pour télécharger une de ces distributions de Ganymede, c'est par ici: &lt;a href=&quot;http://www.eclipse.org/downloads/packages/&quot; hreflang=&quot;fr&quot;&gt;http://www.eclipse.org/downloads/packages/&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/05/28/Eclipse-Ganymede-est-passe-en-RC1#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/05/28/Eclipse-Ganymede-est-passe-en-RC1#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/132</wfw:commentRss>
      </item>
    
  <item>
    <title>Safari 3.1 et le nouveau visage du Web</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/03/30/Safari-31-et-le-nouveau-visage-du-Web</link>
    <guid isPermaLink="false">urn:md5:6c63ad5e838ddfa8c03ea395350d018a</guid>
    <pubDate>Sun, 30 Mar 2008 23:07:00 +0200</pubDate>
    <dc:creator>Reda BOUALLOU</dc:creator>
        <category>AIR</category><category>Apple</category><category>CSS</category><category>HTML</category><category>navigateur</category><category>Safari</category><category>Silverlight</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/contentfooter_webdev20070611.png&quot; alt=&quot;safari&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;Apple a sorti ce mois-ci la version 3.1 de son navigateur Safari. Outre les classiques corrections de bugs et améliorations de performances (Apple annonce par exemple que cette version est 4,5x plus rapide que Firefox 2 dans l'execution du JavaScript), Safari 3.1 profite surtout des dernières améliorations du moteur de rendu &lt;a href=&quot;http://webkit.org/&quot;&gt;Webkit&lt;/a&gt; qui lui permettent de prendre en charge un nombre important des futures spécifications de HTML5 et CSS3.
&lt;br /&gt;
Je vous ai compilé une liste de nouveautés intéressantes, avec des liens vers des pages où vous pouvez les tester si vous avez installé cette version. (Je vous rappelle que Safari est aussi disponible pour Windows et qu'il peut être téléchargé gratuitement &lt;a href=&quot;http://www.apple.com/fr/safari/download/http://www.apple.com/fr/safari/download/&quot; hreflang=&quot;fr&quot;&gt;ici&lt;/a&gt;)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les &lt;a href=&quot;http://tekkie.flashbit.net/tmp/css3_transform_sample.html&quot;&gt;transformations&lt;/a&gt; (CSS3) : permet d'appliquer des transformations affines aux objets CSS (rotation, translation, redimensionnement ou cisaillement).&lt;/li&gt;
&lt;li&gt;Les &lt;a href=&quot;http://webkit.org/blog/138/css-animation/&quot;&gt;transitions&lt;/a&gt; (CSS3) : permet de définir des transitions fluides lors d'un changement de propriété d'un objet CSS. Il est possible de combiner des transitions et des transformations pour produire des animations amusantes.&lt;/li&gt;
&lt;li&gt;Les &lt;a href=&quot;http://www.alistapart.com/articles/cssatten&quot;&gt;polices téléchargeables&lt;/a&gt; (CSS3) : permet aux designers d'utiliser des polices qui seront téléchargées à la volée par le navigateur.&lt;/li&gt;
&lt;li&gt;Les &lt;a href=&quot;http://webkit.org/blog/140/html5-media-support/&quot;&gt;balises média&lt;/a&gt; (HTML5) : Support natif des contenus audio et vidéo dans les pages Web (sans Flash ou autre plugin externe). Offre également une API riche pour le contrôle de lecture.&lt;/li&gt;
&lt;li&gt;Le &lt;a href=&quot;http://webkit.org/misc/DatabaseExample.html&quot;&gt;stockage de données structurées côté client&lt;/a&gt; (HTML5) : permet aux applications Web de sauvegarder des données sur le disque dur et d'y accéder via une API à la syntaxe SQL. Notez l'animation à la fermeture d'un post-it, c'est le résultat de deux transformations (cisaillement + redimensionnement) et d'une transition (changement d'opacité sur 0,25s).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les technologies propriétaires comme &lt;a href=&quot;http://www.adobe.com/products/air/&quot;&gt;AIR&lt;/a&gt; ou &lt;a href=&quot;http://www.microsoft.com/silverlight/&quot;&gt;Silverlight&lt;/a&gt; devront s'imposer rapidement, avant que ces fonctions ne soient supportées par tous les navigateurs.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/03/30/Safari-31-et-le-nouveau-visage-du-Web#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/03/30/Safari-31-et-le-nouveau-visage-du-Web#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/131</wfw:commentRss>
      </item>
    
  <item>
    <title>Utiliser la Wiimote autrement</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/03/20/Utiliser-la-Wiimote-autrement</link>
    <guid isPermaLink="false">urn:md5:9edad6665e0dab21bb612bf6590fbe37</guid>
    <pubDate>Thu, 20 Mar 2008 16:25:00 +0100</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
        <category>.NET</category><category>C Sharp</category>    
    <description>    &lt;p&gt;Depuis maintenant plus d'un an, la &lt;a href=&quot;http://fr.wii.com/&quot; hreflang=&quot;fr&quot;&gt;Wii&lt;/a&gt; s'est imposée comme un énorme succès commercial de &lt;a href=&quot;http://www.nintendo.fr/&quot; hreflang=&quot;fr&quot;&gt;Nintendo&lt;/a&gt;, principalement a cause de sa manette, la &amp;quot;Wiimote&amp;quot;, et de son gameplay révolutionnaire. Celui-ci permet effectivement de passer de très bonnes soirées entre amis, mais a également donné l'idée à des chercheurs d'analyser son fonctionnement, afin d'y trouver d'autres applications. &lt;a href=&quot;http://www.cs.cmu.edu/~johnny/projects/wii/&quot; hreflang=&quot;fr&quot;&gt;Cette page consacrée à la Wiimote&lt;/a&gt; du professeur &lt;a href=&quot;http://www.cs.cmu.edu/~johnny/&quot; hreflang=&quot;fr&quot;&gt;Johnny Chung Lee&lt;/a&gt; explique en images son fonctionnement, en trois parties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;une présentation du principe de fonctionnement de la Wiimote.&lt;/li&gt;
&lt;li&gt;une application pratique, dans le domaine de la bureautique et du travail collaboratif.&lt;/li&gt;
&lt;li&gt;une application à ce qui pourrait être &amp;quot;l'avenir de la télévision&amp;quot;, avec une démonstration de &amp;quot;headtracking&amp;quot; impressionnante.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PS: si certains ont envie de bricoler et d'utiliser leur console autrement, le professeur Chung Lee a mis à disposition les codes sources de ses applications d'exemple (programmées en C#).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/03/20/Utiliser-la-Wiimote-autrement#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/03/20/Utiliser-la-Wiimote-autrement#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/130</wfw:commentRss>
      </item>
    
  <item>
    <title>Comment Marche Google : la présentation</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/03/14/Comment-Marche-Google-%3A-la-presentation</link>
    <guid isPermaLink="false">urn:md5:b17ec0fe589afa3a78e55804099dd06f</guid>
    <pubDate>Fri, 14 Mar 2008 10:35:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.alciongroup.com/alciontech/public/200803/AlcionGroup.DT.OpenBar.CommentMarcheGoogle.01.pdf&quot; hreflang=&quot;fr&quot;&gt;Olivier Astier sur les moteurs de recherche, PageRank, et Google.&lt;/a&gt;&lt;/p&gt;</description>
    
          <enclosure url="http://www.alciongroup.com/alciontech/public/200803/AlcionGroup.DT.OpenBar.CommentMarcheGoogle.01.pdf"
      length="3329703" type="application/pdf" />
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/03/14/Comment-Marche-Google-%3A-la-presentation#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/03/14/Comment-Marche-Google-%3A-la-presentation#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/129</wfw:commentRss>
      </item>
    
  <item>
    <title>Jeudi 13 Avril - OpenBar special : comment marche Google</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/03/11/Jeudi-13-Avril-OpenBar-special-%3A-comment-marche-Google</link>
    <guid isPermaLink="false">urn:md5:e5862ff8ba80636938b5441d1e38158e</guid>
    <pubDate>Tue, 11 Mar 2008 12:17:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>e-business</category><category>Internet</category><category>SOA</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200803/CommentMarcheGoogle.jpg&quot; alt=&quot;CommentMarcheGoogle.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;
Au cours de notre plongée dans l'univers de Google, nous aurons l'occasion de découvrir comment fonctionne le moteur de recherche le plus utilisé au monde, tant sur le plan de l'algorithme de recherche, clé de voute de la pertinence des résultats , que de son implémentation à l'échelle de plusieurs centaines de milliers de serveurs qui utilise des patterns logiciels novateurs. Nous aurons également l'occasion de voir comment fonctionne cette entreprise pas comme les autres.
Il sera donc question de mathématiques, d'informatique, et d'organisation ; il y en aura pour tous les goûts et les différents métiers qui son ceux d'AlcionGroup.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/03/11/Jeudi-13-Avril-OpenBar-special-%3A-comment-marche-Google#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/03/11/Jeudi-13-Avril-OpenBar-special-%3A-comment-marche-Google#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/128</wfw:commentRss>
      </item>
    
  <item>
    <title>OpenBar le 21 février : Webservices B2B : étude de cas et panorama technologique</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/OpenBar-le-21-fevrier-%3A-Webservices-B2B-%3A-etude-de-cas-et-panorama-technologique</link>
    <guid isPermaLink="false">urn:md5:a8a4b820b004769a9cf8b2c94a9622c4</guid>
    <pubDate>Thu, 14 Feb 2008 14:21:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>AlcionGroup</category><category>Autoformation</category><category>développement</category><category>EAI-Middleware</category><category>Intégration de systèmes</category><category>Outils de développement</category><category>Retours dexpérience</category><category>Weblogic</category><category>Webservices</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.concurringopinions.com/archives/microphone.gif&quot; alt=&quot;mike&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;
Jeudi 21 février à 18h30 au siège&lt;/p&gt;


&lt;p&gt;5 ans après leur arrivée sur le terrain, les webservices sont devenu un mode privilégié de communication entre applications, notamment de part et d'autre d'une frontière organisationnelle, par exemple entre partenaires (clients, fournisseurs).
Ils offrent un couplage moins fort que d'autres protocoles, et sont disponibles sur une grande variété de plate-formes.&lt;/p&gt;


&lt;p&gt;Après un rappel, l'étude de cas que nous présentera Aziz sera l'occasion de resituer les différents concepts (XML, HTTP, SOAP, UDDI, WSDL, WS-Security...), puis de passer aux choses sérieuses en implémentant un cas d'école sur Weblogic 8 et 9 et sur Apache CXF.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/OpenBar-le-21-fevrier-%3A-Webservices-B2B-%3A-etude-de-cas-et-panorama-technologique#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/OpenBar-le-21-fevrier-%3A-Webservices-B2B-%3A-etude-de-cas-et-panorama-technologique#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/127</wfw:commentRss>
      </item>
    
  <item>
    <title>Lisp ou Perl ?</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/Lisp-ou-Perl</link>
    <guid isPermaLink="false">urn:md5:f65e951e9b73f151eb2522bbee18c70f</guid>
    <pubDate>Thu, 14 Feb 2008 13:50:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>Langages</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://imgs.xkcd.com/comics/lisp.jpg&quot; alt=&quot;&quot; /&gt;
&lt;a href=&quot;http://xkcd.com/&quot; hreflang=&quot;fr&quot;&gt;http://xkcd.com/&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/Lisp-ou-Perl#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/Lisp-ou-Perl#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/126</wfw:commentRss>
      </item>
    
  <item>
    <title>Nos reporters aux Microsoft Techdays, Day 1</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/Nos-reporters-aux-Microsoft-Techdays-Day-1</link>
    <guid isPermaLink="false">urn:md5:629365b34c4dcb8cc5208ee11f8dc57f</guid>
    <pubDate>Thu, 14 Feb 2008 12:11:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>.NET</category><category>Design pattern</category><category>développement</category><category>Frameworks-Composants</category><category>Langages</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.zebulon.fr/medias/Image/actus/MSTD08.jpg&quot; alt=&quot;MS Techdays&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Un brillant essai de Laurent Liger et Olivier Coanet.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Où il sera question de toute l'actualité .NET, de Domain Driven Design, d'Entity Framework, de Linq, de lambda expressions, de F#...&lt;/p&gt;



&lt;h3&gt;Microsoft TechDays - Day 1&lt;/h3&gt;


&lt;p&gt;&lt;strong&gt;Session Plénière&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;/Olivier/ La session plénière c'est le grand show d'ouverture, avec les caméras de partout, les effets de scène et les personnalités. C'est aussi le moment pour faire le point sur les nouveaux outils Microsoft et les sessions de la journée. Le truc à ne pas rater et en même temps totalement inutile.
On y apprend en gros que :
- les technos mise en avant cette année sont Visual Studio 2008, SQL Server 2008 et Windows Server 2008,
- les nouveaux projets des entreprises sont majoritairement réaliser en .NET : 39% contre 35% pour le Java (je ne cautionne absolument pas ces chiffres ^^),
- les besoins en compétence .NET sont toujours important, d'ailleurs il y avait 600 offres d'emplois sur le salon.
/Laurent/ Mine de rien, on était plus de 5400 personnes le premier jour dans la salle, on a eu droit à une petite vidéo enregistrée la semaine précédente par le futur retraité le plus riche du monde, monsieur Gates, qui regrettait de ne pas pouvoir être présent pour cet évènement qui est le plus grand d'Europe de ce genre et vient juste derrière la PDC (Professional Developers Conference) des États Unis.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Domain Driven Design&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;/Laurent/ Le concept du DDD (à ne pas confondre avec l'outil linux) date du début des années 2000, au moment ou les modèles d'architecture en couche d'applications n'était pas encore répendus, Eric Evans se posait déjà la question de savoir si cela n'allait pas poser de nouveaux problèmes et si le découpage proposé était vraiment la meilleure solution. Cette conférence nous a donc présenté le DDD qui est un découpage différent de celui adopté majoritairement maintenant.
Actuellement la couche domaine a en effet tendance à être dépouillée au maximum pour ne plus être qu'une structure de donnée, épurée (trop) de comportement métier, ce dernier étant uniquement relégué au niveau de la couche services. La proposition du DDD est de recentrer le développement sur la couche domaine, de lui rendre l'intelligence qu'elle a perdue : c'est elle qui doit faire appel aux services et non l'inverse.
Dans le paradigme DDD, les clients ne manipulent donc presque que des objets de la couche métier, alors que dans la quasi-totalité des développements effectués à l'heure actuelle, les clients utilisent des services pour agir sur les données.&lt;/p&gt;


&lt;p&gt;Mais... c'est un tableau qui me fait peur : si la couche métier est au centre, il faut la modifier constamment pour l'adapter aux nouveau comportements que l'on souhaite ajouter. Dans le cas d'un développement .Net, il faudrait redéployer l'assembly associée à cette couche partout pour assurer la compatibilité des anciennes applications.
Il s'agit d'ailleurs d'un faux problème à la base : il suffit de s'assurer dans un découpage traditionnel que les objets métiers conservent les règles métier qui sont les leurs. Si un objet à besoin de manipuler des données, rien n'empêche d'identifier les différentes opérations à effectuer, de créer une interface offrant ces opérations, et enfin d'injecter un service plus tard implémentant cette interface. Bref tout est déjà possible avec un découpage normal d'une application. Il faut juste faire attention à ne pas tomber dans un modèle &amp;quot;anémique&amp;quot;.&lt;/p&gt;


&lt;p&gt;Vous l'aurez compris, je n'adhère pas avec la vision pessimiste qu'avait l'auteur du DDD.
Pour les curieux, un lien vers le livre fondateur de ce concept : &lt;a href=&quot;http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202846134&amp;amp;sr=8-1&quot; hreflang=&quot;fr&quot;&gt;http://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202846134&amp;amp;sr=8-1&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;/Olivier/ La session était intéressante, ce qui n'est pas étonnant étant donné que l'auteur n'est autre que Sami Jaber, un des fondateurs de DotNetGuru (http://www.dotnetguru.org/). J'ajouterai aux remarques de Laurent que Sami a soulevé des problématiques intéressantes auxquelles je vous invite à réflechir : &amp;quot;faut-il mettre en places des architectures dans lequelles les développeurs n'ont pas de question à se poser et où chaque problématique a déjà été pensée ?&amp;quot; (avec les questions sous-jacentes : &amp;quot;est-ce souhaitable du point de vue du développeur ?&amp;quot; et &amp;quot;est-ce vraiment réalisable ?&amp;quot;). Sami a également mis en avant que les nouveaux outils liés à la couche de présentation (qu'ils soient côté Web avec Silverlight et les composants AJAX ou côté client lourd avec WPF) n'améliorent pas la productivité des développements et qu'il y a encore des progrès à faire dans ce domaine.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Entity Framework et Linq&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;/Olivier/ Voilà une session qui ne m'a pas du tout convaincu sur le mappeur objet-relationnel à la sauce Microsoft, j'ai nommé Entity Framework ou EF. Dans sa version actuelle il est limité, intrusif et ne fonctionne vraiment que dans le mode où les objets métiers sont générés à partir de la base. Et attention, quand je dis générés c'est avec plein des classes de bases et d'attributes bizarres. Enfin je ne m'inquiète pas pour son succès, nous sommes dans l'univers Microsoft : tout le monde va utiliser le mappeur de Microsoft. Le reste n'existe même pas :)
/Laurent/ Oui c'est ça le pire quand on fait du .Net, on a l'impression que les gens de Microsoft ne tirent pas les leçons de l'expérience du monde Java (pour les frameworks qui gravitent au tour en tout cas, le langage c'est autre chose ;)) : c'est un peu comme repasser d'EJB 3.0 à EJB 1.0, on se demande quand même s'ils sont au courant de projets comme NHibernate pour ne citer que lui.
Heureusement, les intervenants de la session eux on fait un tout d'horizon des frameworks de persistance existants sur le marché pour nous présenter un petit benchmark (trop petit, dommage). On constate donc que la majorité des outils d'ORM sur le marché ont une vitesse équivalente, même si ce n'est pas le cas de leurs fonctionnalités. Malheureusement les intervenants n'ont pas comparé les fonctionnalités et ni les limitations de ces frameworks de persistance. Car ce qui est généralement le critère le plus important lors de l'adoption d'un mappeur O/R c'est sa capacité à supporter l'applicatif existant (code et base de données) et rarement ses performances.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Linq anvancé&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;/Olivier/ La killer feature du Framework .NET est vraiment Linq. Le problème c'est que dans la pratique (et en tout cas dans un futur proche) la seule version qui me semble utilisable est Linq to Objects. Pour ceux qui ne connaissent pas Linq, c'est un ensemble de méthodes similaires à du SQL accessibles directement à l'intérieur du langage. Le tout est de disposer d'une interface IQueryable&amp;lt;T&amp;gt; et ensuite vous pouvez effectuer des requêtes dessus du style :&lt;/p&gt;

&lt;pre&gt;
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

var numberGroups =
    from n in numbers
    group n by n % 5 into g
    select new { Remainder = g.Key, Numbers = g };

foreach (var g in numberGroups) {
    Console.WriteLine(&amp;quot;Numbers with a remainder of {0} when divided by 5:&amp;quot;, g.Remainder);
    foreach (var n in g.Numbers) {
        Console.WriteLine(n);
    }
}
&lt;/pre&gt;


&lt;p&gt;Evidement il existe de nombreuses implémentations de IQueryable&amp;lt;T&amp;gt; qui fonctionnent différement : Linq to Objects qui effectue les requêtes sur des collections en mémoires, Linq to SQL qui génère des requêtes SQL pour récupérer une représentation objet des tables, Linq to Entity qui permet de requêter les objets dans Entity Framework et bien d'autres encore... Dans la pratique, Linq to SQL n'est intéressant que pour des petits projets utilisant une base MS SQL Server, car le provider Linq to Oracle n'existe pas, Linq to Entity n'est utile que pour les utilisateurs de EF. C'est dommage car certaines fonctionnalité de Linq sont très intéressantes : par exemple si une méthode de service retourne un IQueryable&amp;lt;T&amp;gt; on peut très facilement ajouter en AOP des conditions dans la requête (pour filtrer en fonction du périmètre utilisateur par exemple). Vivement Linq to NHibernate pour que je puisse mettre tout ça en pratique !&lt;/p&gt;


&lt;p&gt;/Laurent/ En parlant de filtre, Olivier me fait penser à une autre partie intéressante de la présentation : Les &lt;strong&gt;lambda-expressions&lt;/strong&gt;. Derrière ce nom barbare se cache un concept venu des langages fonctionnels : on peut enfin utiliser les fonctions comme des objets de premier ordre du langage C#.
Un lambda expression représente une fonction, mais elle peut être :
- soit compilée en IL (c'est une sorte de delegate anonyme encore plus facile à écrire que ce que permettait C# 2.0)
- soit sous la forme d'un arbre d'expressions&lt;/p&gt;


&lt;p&gt;Mais voyons plutôt ça avec un exemple ayant un rapport avec Linq to SQL (ça tombe bien ;) ) :&lt;/p&gt;


&lt;p&gt;-façon delegate :&lt;/p&gt;
&lt;pre&gt;
IEnumerable result = personnes.Where(
                                    delegate(Personne p)
                                    {
                                        return p.Age ==  30 &amp;amp;&amp;amp; p.Prenom == &amp;quot;foo&amp;quot;
                                    }
                                );
&lt;/pre&gt;


&lt;p&gt;- façon Lambda :&lt;/p&gt;
&lt;pre&gt;
IEnumerable result = personnes.Where(p =&amp;gt; p.Age == 30 &amp;amp;&amp;amp; p.Prenom == &amp;quot;foo&amp;quot;);
&lt;/pre&gt;


&lt;p&gt;Ces deux appels produisent le même résultat : ils renvoient toutes les personnes dont l'âge est égal à 30 ans et le prénom est &amp;quot;foo&amp;quot;, mais il y a une grosse différence dans la façon dont le résultat va être récupéré : dans le cas du delegate, le code est compilé, c'est une fonction comme une autre qu'on a passé à la clause Where et la seule façon d'appliquer le filtre est de récupérer toutes les personnes que contient la base, et d'appliquer le test à toutes les instances ainsi récupérées en mémoire. C'est évidemment très couteux et c'est une très mauvaise solution.
Au contraire, dans l'autre cas, la clause where va traiter la lambda sous la forme d'un arbre d'expressions qui va être traité et analysé par le moteur Linq to SQL et transformé en un vrai filtre SQL, dans ce cas le filtre s'effectue au niveau de la base et le résultat est récupéré en un temps minimal !&lt;/p&gt;


&lt;p&gt;Le choix de récupérer une lambda dans une forme plutôt qu'une autre se fait suivant la variable qui va la contenir :&lt;/p&gt;
&lt;pre&gt;
Func&amp;lt;Personne, bool&amp;gt; lambdaFun = p =&amp;gt; p.Age == 30 &amp;amp;&amp;amp; p.Prenom == &amp;quot;foo&amp;quot;;
&lt;/pre&gt;

&lt;p&gt;Ce bout de code va permettre de récupérer la lambda compilée, elle sera l'équivalent d'un delegate.&lt;/p&gt;


&lt;p&gt;Par contre si l'on écrit :&lt;/p&gt;
&lt;pre&gt;
Expression&amp;lt;Func&amp;lt;Personne, bool&amp;gt;&amp;gt; lambdaTree = p =&amp;gt; p.Age == 30 &amp;amp;&amp;amp; p.Prenom == &amp;quot;foo&amp;quot;;
&lt;/pre&gt;

&lt;p&gt;Le compilateur va la récupérer sous sa forme d'arbre d'expression qui pourra être analysé, retravaillé plus tard, etc.. C'est ce que fait la clause Where de Linq to SQL ci-dessus : elle prend en argument la lambda comme un arbre qu'elle pourra analyser.&lt;/p&gt;


&lt;p&gt;L'exemple exposé par Mitsu Furuta, responsable de cette session, était le suivant : essayer d'accéder à une propriété d'un objet dont on ne connaît pas le nom à la compilation. Le premier cas qui vient à l'esprit est d'utiliser la réflexion pour y arriver :
- on récupère le type de l'objet, puis les information de la propriété à laquelle on veut accéder, et enfin on utilise ces informations pour récupérer la valeur de la propriété sur l'instance de l'objet, soit :&lt;/p&gt;

&lt;pre&gt;
public object GetValue(Personne object, string propertyName)
{
    return typeof(Personne).GetProperty(propertyName).GetValue(object, null);
}
&lt;/pre&gt;


&lt;p&gt;Le problème de cette méthode, c'est que la réflexion, est très coûteuse, et si on est dans une boucle, ça devient problématique.&lt;/p&gt;


&lt;p&gt;La solution proposée grâce aux lambda est la suivante : on construit un arbre d'expression lambda qui utilise cette méthode, et on va ensuite parcourir cet arbre pour remplacer la réflexion par un appel de méthode standard. Il ne reste plus ensuite qu'à compiler l'arbre d'expressions lambda pour obtenir une fonction aussi rapide qu'un appel direct à la propriété.&lt;/p&gt;


&lt;p&gt;J'ai trouvé cet exemple moins bon que s'il avait parlé de celui de Linq to SQL que j'ai présenté plus haut (eh oui, il n'était pas dans la présentation) car il est discutable : il y a d'autres façon moins &amp;quot;tordues&amp;quot; d'arriver à des performances semblables, et ce sans avoir eu à attendre le C# 3.0 ou 3.5. Il suffit de penser &amp;quot;Génération de code à la volée&amp;quot; pour trouver. Je vous laisse regarder cet article &lt;a href=&quot;http://jaychapman.blogspot.com/2007/11/nhibernate-access-performance.html&quot; hreflang=&quot;fr&quot;&gt;http://jaychapman.blogspot.com/2007/11/nhibernate-access-performance.html&lt;/a&gt; sur lequel je suis tombé il n'y a pas longtemps et qui résumera mieux que moi tout ça.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;F# et la parallélisation&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;/Laurent/ Comme l'indique le sujet, cette session n'était pas une introduction au F#, mais traitait spécifiquement des problématiques de programmation parallèle et des améliorations apportés au langage F# pour faciliter la programmation asynchrone et concurrente.
En gros, sans notion préalable de la syntaxe et des concepts particuliers aux langages fonctionnels de la famille ML (&lt;a href=&quot;http://fr.wikipedia.org/wiki/ML_(langage)&quot; hreflang=&quot;fr&quot;&gt;http://fr.wikipedia.org/wiki/ML_(langage)&lt;/a&gt;), c'était la sieste assurée ;)&lt;/p&gt;


&lt;p&gt;Le constat des concepteurs du F# : programmer à l'aide de threads est fastidieux, trop difficile (en tout cas plus que ça ne devrait l'être) et pas assez souple. Pourtant, il faut bien faire des programmes multi-threads si l'on veut pouvoir faire des appels asynchrones, ou concurrents. La solution habituelle est d'appeler une fonction qui s'exécutera sur une autre thread en lui passant en argument des fonctions de rappel (callbacks) pour indiquer la suite de l'exécution en cas de succès, ou en cas d'échec de l'opération que l'on veut exécuter.
C'est lourd ! On casse le rythme habituel de programmation en devant prendre en compte tous les problèmes pouvant se passer pendant l'exécution sur un thread séparé à la main : en effet, si une erreur se produit, il devient difficile de la faire remonter jusqu'à l'appelant.&lt;/p&gt;


&lt;p&gt;Pour palier à ces inconvénients, le F# propose des constructions syntaxiques simples :
- pour effectuer un appel asynchrone bloquant : il suffit d'utiliser un opérateur d'affectation spécial, et le membre droit de l'affectation s'effectuera de façon asynchrone, et le résultat sera récupéré à la fin de l'exécution.  Tout est transparent pour le programmeur : si une exception est levée au cours de l'appel, elle est remontée automatiquement dans le thread principal ! Un bonheur :)&lt;/p&gt;


&lt;p&gt;- pour lancer des opérations en parallèle : on encadre les blocs de code par la construction &amp;quot;async { }&amp;quot;, et on appelle ///
Async.Run(Async.Parallel&lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/foo, bar&quot; title=&quot;foo, bar&quot;&gt;foo, bar&lt;/a&gt;))
/// l'exécution de &amp;quot;foo&amp;quot; et &amp;quot;bar&amp;quot; se fera en parallèle et un join() s'effectue à la fin des threads pour continuer sur le fil d'exécution du thread appelant.&lt;/p&gt;


&lt;p&gt;Ouf !
Là j'ai déjà du perdre tout le monde ^^. Pour une explication avec du vrai code (à la fois plus clair et plus compliqué), vous pouvez regarder le blog de Don Syme, un des intervenants de cette séance : &lt;a href=&quot;http://blogs.msdn.com/dsyme/archive/2007/10/11/introducing-f-asynchronous-workflows.aspx&quot; hreflang=&quot;fr&quot;&gt;http://blogs.msdn.com/dsyme/archive/2007/10/11/introducing-f-asynchronous-workflows.aspx&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/Nos-reporters-aux-Microsoft-Techdays-Day-1#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/02/14/Nos-reporters-aux-Microsoft-Techdays-Day-1#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/125</wfw:commentRss>
      </item>
    
  <item>
    <title>Quelques nouveautés J2EE</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/02/12/Quelques-nouveautes-J2EE</link>
    <guid isPermaLink="false">urn:md5:476254df1a7a3cfc848f7011df1c182c</guid>
    <pubDate>Tue, 12 Feb 2008 14:19:00 +0100</pubDate>
    <dc:creator>Benoît COURTINE</dc:creator>
        <category>Visibilité internet</category>
            
    <description>    &lt;p&gt;Il y a quelques temps, nous avions parlé de la sortie de &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2007/07/12/Sortie-dEclipse-3-Europa-nouveaux-plug-ins&quot; hreflang=&quot;fr&quot;&gt;Eclipse 3.3&lt;/a&gt;, qui avait apporté un gros lot de nouveautés améliorant grandement le confort de développement J2EE.&lt;/p&gt;


&lt;p&gt;Cette version étant maintenant stabilisée (WTP2 avait dans sa toute première version quelques bugs génants), c'est maintenant la version 3.4 d'Eclipse qui est en préparation, et qui devrait à son tour améliorer la productivité du développement, avec entre autre:
- la navigation en Breadcrumb
- une meilleure prise en charge des annotations
- une meilleure gestion des jars (possibilité de faire plusieurs configurations avec des &amp;quot;Main Class&amp;quot; différentes pour un même jar)
- complétion de code améliorée et étendue
- etc.&lt;/p&gt;


&lt;p&gt;La version M5 de Eclipse 3.4 est déjà disponible &lt;a href=&quot;http://download.eclipse.org/eclipse/downloads/drops/S-3.4M5-200802071530/index.php&quot; hreflang=&quot;fr&quot;&gt;ICI&lt;/a&gt; pour ceux qui veulent la tester. La liste complète des évolutions déjà disponibles dans les versions &amp;quot;Milestone&amp;quot; successives est disponible &lt;a href=&quot;http://download.eclipse.org/eclipse/downloads/drops/S-3.4M5-200802071530/eclipse-news-M5.html&quot; hreflang=&quot;fr&quot;&gt;pour la M5&lt;/a&gt;, &lt;a href=&quot;http://download.eclipse.org/eclipse/downloads/drops/S-3.4M4-200712131700/eclipse-news-M4.html&quot; hreflang=&quot;fr&quot;&gt;la M4&lt;/a&gt;, &lt;a href=&quot;http://download.eclipse.org/eclipse/downloads/drops/S-3.4M3-200711012000/eclipse-news-M3.html&quot; hreflang=&quot;fr&quot;&gt;la M3&lt;/a&gt;, &lt;a href=&quot;http://download.eclipse.org/eclipse/downloads/drops/S-3.4M2-200709210919/eclipse-news-M2.html&quot; hreflang=&quot;fr&quot;&gt;la M2&lt;/a&gt; et enfin &lt;a href=&quot;http://download.eclipse.org/eclipse/downloads/drops/S-3.4M1-200708091105/eclipse-news-M1.html&quot; hreflang=&quot;fr&quot;&gt;pour la M1&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Côté Framework, on peut noter la sortie ce 9 février de Wicket 1.3.1., un Framework de l'&lt;a href=&quot;http://www.apache.org/foundation/&quot; hreflang=&quot;fr&quot;&gt;Apache Foundation&lt;/a&gt;, permettant de développer des interfaces web. Il est actuellement très populaire auprès de la communauté java francophone, et beaucoup de développeurs l'ayant essayé préfèrent Wicket aux JSF. Cependant, je ne m'avancerai pas trop sur les qualités/défauts de ce Framework, n'ayant pas pu le tester à fond moi-même.
Pour ceux qui veulent le découvrir, il est disponible &lt;a href=&quot;http://www.apache.org/dyn/closer.cgi/wicket/1.3.1&quot; hreflang=&quot;fr&quot;&gt;ICI&lt;/a&gt;, et je conseille pour débuter ce &lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=IntroducingApacheWicket&quot; hreflang=&quot;fr&quot;&gt;tutoriel&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/02/12/Quelques-nouveautes-J2EE#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/02/12/Quelques-nouveautes-J2EE#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/124</wfw:commentRss>
      </item>
    
  <item>
    <title>XMPP, protocole de messagerie XML</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/02/04/XMPP</link>
    <guid isPermaLink="false">urn:md5:0197be6c0efc42727e0c8dea3f1d3cdd</guid>
    <pubDate>Mon, 04 Feb 2008 16:25:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://developers.slashdot.org/article.pl?sid=08/02/04/1320210&quot; hreflang=&quot;fr&quot;&gt;Vu sur slashdot&lt;/a&gt; :&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;q&gt;XMPP (eXtensible Messaging and Presence Protocol) has been getting a lot of attention during the last month and it seems that the protocol is finally taking off as a general purpose glue to build distributed web applications. It has been covered that AOL was experimenting with an XMPP gateway for its instant messaging platform. XMPP has been designed since the beginning as an open technology for generalized XML routing. However, the idea of &lt;a href=&quot;http://www.process-one.net/en/blogs/article/introducing_the_xmpp_application_server/&quot; hreflang=&quot;fr&quot;&gt;an XMPP application server&lt;/a&gt; is taking shape and getting supporters.&lt;/q&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/02/04/XMPP#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/02/04/XMPP#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/123</wfw:commentRss>
      </item>
    
  <item>
    <title>Perl, pour quoi faire ?</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/01/28/Perl-pour-quoi-faire</link>
    <guid isPermaLink="false">urn:md5:72650ef9865e9b76963f2cfe2315972b</guid>
    <pubDate>Mon, 28 Jan 2008 11:26:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>DSI</category><category>e-business</category><category>Génie logiciel</category><category>HTML-JS-CSS</category><category>Outils de développement</category><category>PHP</category>    
    <description>    &lt;p&gt;Choisir le bon outil pour le bon usage... Facile à dire !&lt;br /&gt;
Un &lt;a href=&quot;http://www.cio.com/article/print/175450&quot; hreflang=&quot;fr&quot;&gt;petit article&lt;/a&gt; qui résume ce que l'on peut faire avec Perl :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pattern-matching : en ligne de commande, recherche dans des fichiers&lt;/li&gt;
&lt;li&gt;in-place editing : en ligne de commande, rechercher/remplacer dans des fichiers&lt;/li&gt;
&lt;li&gt;shell scripts : en Perl, on peut faire plus lisible (hum ?), plus puissant,&lt;/li&gt;
&lt;li&gt;manipulation rapide de base de données : rapport...&lt;/li&gt;
&lt;li&gt;tout ça en cross-platform.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;et ce qu'il vaut mieux éviter :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;des applications temps-réel ou haute performance,&lt;/li&gt;
&lt;li&gt;des scripts shell que l'on pourrait écrire en shell, et/ou ayant besoin de performance&lt;/li&gt;
&lt;li&gt;du développement web,&lt;/li&gt;
&lt;li&gt;d'utiliser toute la puissance de la syntaxe Perl, qui peut vite rendre le code illisible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;D'autres articles dans la même série : &lt;a href=&quot;http://www.cio.com/article/print/175950&quot; hreflang=&quot;fr&quot;&gt;Javascript, pour quoi faire&lt;/a&gt;, et &lt;a href=&quot;http://www.cio.com/article/print/176250&quot; hreflang=&quot;fr&quot;&gt;PHP, pour quoi faire ?&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/01/28/Perl-pour-quoi-faire#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/01/28/Perl-pour-quoi-faire#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/122</wfw:commentRss>
      </item>
    
  <item>
    <title>Inversion de contrôle avec Guice</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/01/12/Invertion-de-controle-avec-Guice</link>
    <guid isPermaLink="false">urn:md5:a46aed2da37c92b6d48cec1e4d1ccdd7</guid>
    <pubDate>Sat, 12 Jan 2008 17:17:00 +0100</pubDate>
    <dc:creator>Samir SAADA</dc:creator>
        <category>Design pattern</category><category>développement</category><category>J2EE</category><category>java</category><category>Open source</category>    
    <description>    &lt;p&gt;Au sein de Google, Crazy Bob Lee a crée Guice (prononcé  d͡ʒʊːs comme &amp;quot;juice&amp;quot;), un container léger pour faire de l'IoC.
Guice profite des annotations et des génériques apparus dans Java 5 pour créer les liens entre JavaBeans.
Ce petit produit de google (547.5 KB) propose une manière alternative simple et rapide pour faire de l'IoC et ceci sans fichiers XML; offrant ainsi des performances intéressantes dans certains cas, pour le prix tout de même d'une petite intrusion dans le code.&lt;/p&gt;


&lt;p&gt;Alors, petit gadget ou future alternative a Spring?&lt;/p&gt;


&lt;p&gt;Page officielle et analyses/comparaisons plus ou moins sérieuses pour ce faire une petite idée sur Guice!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/google-guice/&quot;&gt;Page officielle Guice &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jroller.com/habuma/entry/guice_vs_spring_javaconfig_a&quot;&gt;Guice vs Spring : comparaison des styles &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.javalobby.org/articles/guice-vs-spring/&quot;&gt;Guice vs Spring : comparaison des performances &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/01/12/Invertion-de-controle-avec-Guice#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/01/12/Invertion-de-controle-avec-Guice#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/121</wfw:commentRss>
      </item>
    
  <item>
    <title>Analyser le fonctionnement d'un serveur</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2008/01/08/Analyser-le-fonctionnement-dun-serveur</link>
    <guid isPermaLink="false">urn:md5:370831a19b67d88ff35b8b841bb62608</guid>
    <pubDate>Tue, 08 Jan 2008 11:52:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>e-business</category><category>Internet</category><category>Performances-Disponibilité</category><category>QoS</category><category>Systèmes dexploitation</category><category>Tests</category>    
    <description>    &lt;p&gt;Pour analyser les performances, identifier les contentions et planifier la capacité future d'un système, on a besoin de collecter les consommations CPU, mémoire, réseau, disque en continu.&lt;br /&gt;
On peut écrire son script soi-même ou bien, c'est mieux, utiliser des outils open-source existants :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://directory.fsf.org/project/collectd/&quot; hreflang=&quot;fr&quot;&gt;collectd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.zabbix.org/&quot; hreflang=&quot;fr&quot;&gt;Zabbix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces outils collectent les données ; on peut ensuite les traiter avec Nagios par exemple.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://highscalability.com/product-collectd&quot; hreflang=&quot;fr&quot;&gt;via [High Scalability&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2008/01/08/Analyser-le-fonctionnement-dun-serveur#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2008/01/08/Analyser-le-fonctionnement-dun-serveur#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/120</wfw:commentRss>
      </item>
    
  <item>
    <title>Mashups cartographiques...</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/12/10/Les-mashups</link>
    <guid isPermaLink="false">urn:md5:f4893b1c7587077224393858adbfdf32</guid>
    <pubDate>Mon, 10 Dec 2007 14:03:00 +0100</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>Ajax-Client riche</category><category>Génie logiciel</category><category>HTML-JS-CSS</category><category>Webservices</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200712/MapifiedKayak.screenshot.jpg&quot; alt=&quot;MapifiedKayak.screenshot.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Je me fais un petit peu de pub:&lt;br /&gt;
&lt;br /&gt;
Si vous êtes intéressés par les technos du Web 2.0 (javascript, html, css, php,...) et la représentation cartographique de données, je vous invites à faire un passage par mon &lt;a href=&quot;http://o.gosselin.free.fr&quot; hreflang=&quot;fr&quot;&gt;site perso&lt;/a&gt;. Vous y trouverez plusieurs projets de veille technologique sur ces sujets, dont un à même eu le privilège d'être 'Mashup of the day&amp;quot; sur &lt;a href=&quot;http://www.programmableweb.com&quot; hreflang=&quot;fr&quot;&gt;programmableweb.com&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://o.gosselin.free.fr/Projects/MapifiedKayak.htm&quot; hreflang=&quot;fr&quot;&gt;Mapified Kayak&lt;/a&gt;: une jolie couche de présentation pour le métamoteur de recherche de voyages Kayak, et la possibilité de rechercher plusieurs destinations et dates d'un coup (Google Maps + Kayak API).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://o.gosselin.free.fr/Projects/OverflownCountries.htm&quot; hreflang=&quot;fr&quot;&gt;Overflown Countries&lt;/a&gt;: pour savoir quels pays vous survolez lors de vos voyages (Google Maps + Geonames API).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://o.gosselin.free.fr/Projects/MapifiedIndices.htm&quot; hreflang=&quot;fr&quot;&gt;Mapified Stock Indices&lt;/a&gt;: une présentation géolocalisée des variations d'indices boursiers asiatiques (Google Maps + Geonames + Dapper API).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://o.gosselin.free.fr/Projects/MapifiedRss.htm&quot; hreflang=&quot;fr&quot;&gt;Mapified Rss&lt;/a&gt;: pour géolocaliser n'importe quel flux RSS et mettre en surbrillance les pays (Google Maps + Geonames API).&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://o.gosselin.free.fr/Projects/GoogleMapsVsYahooMaps.htm&quot; hreflang=&quot;fr&quot;&gt;GoogleMaps vs YahooMaps&lt;/a&gt;: les 2 cartes sur la même page pour comparer facilement les niveaux de zoom disponibles. Une fonction de synchronisation est fournie (Google Maps + Yahoo Maps API).&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;
Bien que personnels, ces projets constituent également des démos pour présenter notre offre E-business et les compétences des ingénieurs d'Alcion dans ce domaine.
Dans cette optique, si vous êtes vous-mêmes ingénieurs d'Alcion, n'hésitez pas à faire partager vos projets logiciels sur ce blog.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/12/10/Les-mashups#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/12/10/Les-mashups#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/119</wfw:commentRss>
      </item>
    
  <item>
    <title>Slides de l'open bar GWT (Google Web Toolkit)</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/12/05/Slides-de-lopen-bar-GWT-Google-Web-Toolkit</link>
    <guid isPermaLink="false">urn:md5:46c282b2cec10e2990492de15bec6121</guid>
    <pubDate>Wed, 05 Dec 2007 10:51:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>Ajax-Client riche</category><category>AlcionGroup</category><category>Autoformation</category><category>Frameworks-Composants</category><category>HTML-JS-CSS</category><category>Java-J2EE</category><category>Open source</category><category>Retours dexpérience</category>    
    <description>    &lt;p&gt;Disponibles au téléchargement ci-dessous (lien &amp;quot;une annexe&amp;quot;).&lt;br /&gt;
&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200712/dilbertFlashJS.gif&quot; alt=&quot;dilbertFlashJS.gif&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;&lt;/p&gt;</description>
    
          <enclosure url="http://www.alciongroup.com/alciontech/public/200712/AlcionGroup.DT.OpenBar.GWT.pdf"
      length="6126424" type="application/pdf" />
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/12/05/Slides-de-lopen-bar-GWT-Google-Web-Toolkit#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/12/05/Slides-de-lopen-bar-GWT-Google-Web-Toolkit#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/118</wfw:commentRss>
      </item>
    
  <item>
    <title>AlcionGroup au forum Supélec</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/12/05/AlcionGroup-au-forum-Supelec</link>
    <guid isPermaLink="false">urn:md5:184e1f8f572affc12cfd903eaf4c3646</guid>
    <pubDate>Wed, 05 Dec 2007 10:29:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>AlcionGroup</category><category>Carrière</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200712/PC060059.JPG&quot; alt=&quot;OLYMPUS DIGITAL CAMERA         &quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Ca devient une habitude ! Cette année encore, Alciongroup est présent au Forum Supélecles 5 et 6 décembre, stand F16. Ouvert à tous et à tous les âges ! Une bonne occasion de faire connaissance avec la société, ses activités et les carrières (passionnantes) qu'elle propose.&lt;br /&gt;
&lt;a href=&quot;http://www.forum.supelec.fr/&quot; hreflang=&quot;fr&quot;&gt;http://www.forum.supelec.fr/&lt;/a&gt;&lt;br /&gt;
EDIT : photo ajoutée. Que de monde !&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/12/05/AlcionGroup-au-forum-Supelec#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/12/05/AlcionGroup-au-forum-Supelec#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/117</wfw:commentRss>
      </item>
    
  <item>
    <title>Des videos à voir</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/23/Des-videos-a-voir</link>
    <guid isPermaLink="false">urn:md5:1a6b1f301fd245fd210fed3faa5276ea</guid>
    <pubDate>Fri, 23 Nov 2007 16:38:00 +0100</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>Autoformation</category>    
    <description>    &lt;p&gt;Il existe aujourd'hui un support d'auto-formation que l'on néglige encore trop: la vidéo. La progression de la bande passante d'Internet permet d'assister maintenant à des conférences techniques fort éducatives depuis son canapé. On recommande à ce titre le &lt;a href=&quot;http://developer.yahoo.com/yui/theater/&quot; hreflang=&quot;en&quot;&gt;YUI theater&lt;/a&gt; et le &lt;a href=&quot;http://developer.yahoo.com/blogs/theater/&quot; hreflang=&quot;en&quot;&gt;YUD Theater&lt;/a&gt; chez Yahoo, et le channel &lt;a href=&quot;http://www.youtube.com/user/googletechtalks&quot; hreflang=&quot;en&quot;&gt;Googletalks&lt;/a&gt; de Google. Sans oublier le &lt;a href=&quot;http://channel9.msdn.com/&quot; hreflang=&quot;en&quot;&gt;Channel9&lt;/a&gt; de Microsoft. Des conférences gratuites faites par des gens brillants. Que demander de plus? ;)&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/23/Des-videos-a-voir#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/23/Des-videos-a-voir#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/116</wfw:commentRss>
      </item>
    
  <item>
    <title>Faire une démo de logiciel...</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/21/Faire-une-demo-de-logiciel</link>
    <guid isPermaLink="false">urn:md5:fa5790d34dd42eb989d7d98d050f102d</guid>
    <pubDate>Wed, 21 Nov 2007 17:26:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
            
    <description>    &lt;p&gt;...ça a l'air très simple...&lt;br /&gt;
...&lt;a href=&quot;http://www.joelonsoftware.com/items/2007/11/16.html&quot; hreflang=&quot;fr&quot;&gt;Il n'y a qu'à lire ça.&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/21/Faire-une-demo-de-logiciel#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/21/Faire-une-demo-de-logiciel#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/115</wfw:commentRss>
      </item>
    
  <item>
    <title>Optimiser l'expérience utilisateur</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/21/Optimiser-lexperience-utilisateur</link>
    <guid isPermaLink="false">urn:md5:fc5661fc143044af74f7c135b8edf99c</guid>
    <pubDate>Wed, 21 Nov 2007 12:37:00 +0100</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
            
    <description>    &lt;p&gt;On sait bien que la patience de l'utilisateur d'une application informatique est une denrée précieuse qu'il convient de préserver au maximum, surtout lors d'une 1ère utilisation.&lt;br /&gt;
Les équipes de Yahoo! se sont intéréssés au problème dans le cadre des applis Web et ont élaborés des &lt;a href=&quot;http://developer.yahoo.com/performance/&quot; hreflang=&quot;en&quot;&gt;règles&lt;/a&gt; à étudier de près. Parmis celles-ci, la 10ème: &amp;quot;Minify JavaScript&amp;quot;. En effet avec l'avènement d'AJAX, les clients légers ont souvent besoin de requêter auprès de serveurs des scripts de plus en plus lourds dont le temps de récupération peut parfois entamer largement le capital sympathie d'une appli.&lt;br /&gt;
Après avoir testé plusieurs solutions de compression, je vous recommande &lt;a href=&quot;http://javascriptcompressor.com/&quot; hreflang=&quot;en&quot;&gt;Javascript Compressor&lt;/a&gt;. Il m'a permis de réduire la taille d'un script en production de 35kO à 24kO. Cet utilitaire permet également d'&lt;a href=&quot;http://fr.wikipedia.org/wiki/Obfuscation&quot; hreflang=&quot;fr&quot;&gt;obfusquer&lt;/a&gt; son code et donc de le protéger si jugé sensible. Ce cryptage a également des effets bénéfiques sur la taille puisque dans le cas de notre script précédement évoqué, on est passé à 15kO. Ce dernier restant bien sure complètement opérationnel...&lt;br /&gt;
&lt;br /&gt;
Je profite de ce billet pour vous inviter à préparer vos vacances en visitant la page de ce projet de veille technologique de la DT autour des technos Web 2.0 (AJAX, Web Services, Google map, frameworks javascript): &lt;a href=&quot;http://o.gosselin.free.fr/Projects/MapifiedKayak.htm&quot; hreflang=&quot;en&quot;&gt;MapifiedKayak&lt;/a&gt;. Un peu d'indulgence svp, ce n'est qu'une &lt;em&gt;beta&lt;/em&gt;...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/21/Optimiser-lexperience-utilisateur#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/21/Optimiser-lexperience-utilisateur#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/114</wfw:commentRss>
      </item>
    
  <item>
    <title>OpenBar Alciontech le 29 novembre : le client riche en Java, c'est facile avec GWT et JavaFX</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/19/OpenBar-Alciontech-le-29-novembre-%3A-le-client-riche-en-Java-cest-facile-avec-GWT-et-JavaFX</link>
    <guid isPermaLink="false">urn:md5:b0b122f6c066b355e70851b59365b91a</guid>
    <pubDate>Mon, 19 Nov 2007 16:43:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>Ajax-Client riche</category><category>e-business</category><category>Frameworks-Composants</category><category>HTML-JS-CSS</category><category>IHM</category><category>Internet</category><category>J2EE</category><category>Java-J2EE</category><category>Open source</category><category>Outils de développement</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200711/ajax.jpg&quot; alt=&quot;ajax.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Ce mois-ci, une conférence pleine de bonnes nouvelles : on peut développer des écrans portables et sexy en Java, sans avoir besoin de connaître Javascript !&lt;/p&gt;


&lt;p&gt;En introduction, un coup de projecteur sur JavaFX, sur le thème de &amp;quot;comment faire du flash, en java&amp;quot;.&lt;/p&gt;


&lt;p&gt;En plat principal, GWT, un framework qui a le potentiel de changer la donne.
Il permet de réaliser des applications Ajax portables, en Java.
Ses caractéristiques principales sont :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;il est open-source ;&lt;/li&gt;
&lt;li&gt;il n'impose pas d'apprendre javascript pour faire de l'ajax,&lt;/li&gt;
&lt;li&gt;il absorbe les nuances de navigateurs,&lt;/li&gt;
&lt;li&gt;il gère automatiquement des concepts de haut niveau comme la sérialisation, les appels RPC, et la traduction de code java-&amp;gt;javascript pour exécution des traitements locaux au navigateur, ce qui est une petite prouesse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Après 6 mois sur le terrain, il commence à être adopté par certains de nos clients.&lt;/p&gt;


&lt;p&gt;Thierry a travaillé quelques semaines sur GWT. Il vous en expliquera les concepts, les principes de développement et vous fera une démo couvrant le design d'écrans, le remoting et l'exécution de code au sein du navigateur.&lt;/p&gt;


&lt;hr /&gt;

&lt;p&gt;Que vient faire ici ce barbu frisé ? C'est Ajax le Grand, héros de la guerre de Troie... ;-)&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/19/OpenBar-Alciontech-le-29-novembre-%3A-le-client-riche-en-Java-cest-facile-avec-GWT-et-JavaFX#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/19/OpenBar-Alciontech-le-29-novembre-%3A-le-client-riche-en-Java-cest-facile-avec-GWT-et-JavaFX#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/113</wfw:commentRss>
      </item>
    
  <item>
    <title>SoHorse.com [bêta] est en ligne !</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/16/SoHorsecom-sort-en-beta</link>
    <guid isPermaLink="false">urn:md5:8154f021f84f10cd9d65b510683c00db</guid>
    <pubDate>Fri, 16 Nov 2007 14:43:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
            
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200711/default-avatar-female.jpg&quot; alt=&quot;default-avatar-female.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;a href=&quot;http://www.sohorse.com&quot; hreflang=&quot;fr&quot;&gt;SoHorse&lt;/a&gt; est un réseau social, à l'instar de FaceBook, MySpace et consorts, qui est centré sur l'univers du cheval, et des activités d'équitation de loisir et de compétition.&lt;br /&gt;
Le projet est porté par une startup qui nous a fait confiance, depuis le début, pour la réalisation du site. A l'initiative de Stéphane Boisson, chef de projet, l'architecture s'appuie sur J2EE et les frameworks Apache (Wicket pour la présentation et IBatis pour la persistance). Le fonctionnel inclut l'upload de vidéos et une intégration poussée avec Google Maps.&lt;br /&gt;
La bêta est privée pour l'instant, vous devrez donc un peu attendre avant de voir le résultat.
Thomas, le PDG de SoHorse, devrait d'ailleurs nous accompagner à la soirée courses organisée par le CE à Vincennes le 4 décembre, et nous aider à parier malin...
Tous nos voeux de réussite à &lt;a href=&quot;http://www.sohorse.com&quot; hreflang=&quot;fr&quot;&gt;sohorse.com&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/16/SoHorsecom-sort-en-beta#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/16/SoHorsecom-sort-en-beta#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/112</wfw:commentRss>
      </item>
    
  <item>
    <title>Web 2.0 API Listing</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/15/Web-20-API-Listing</link>
    <guid isPermaLink="false">urn:md5:e1a13892d3cd741654ece5f1d41b7197</guid>
    <pubDate>Thu, 15 Nov 2007 15:11:00 +0100</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
            
    <description>    &lt;p&gt;Depuis le temps que je cherchais un annuaire des API Web 2.0, je l'ai enfin trouvé et je partage son &lt;a href=&quot;http://www.programmableweb.com/apis/directory&quot; hreflang=&quot;en&quot;&gt;url&lt;/a&gt; avec vous :)&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/15/Web-20-API-Listing#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/15/Web-20-API-Listing#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/111</wfw:commentRss>
      </item>
    
  <item>
    <title>Brèves développement Java/J2EE</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/12/Breves-developpement</link>
    <guid isPermaLink="false">urn:md5:584f8f2042451be66642f58a34eec9f1</guid>
    <pubDate>Mon, 12 Nov 2007 10:45:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>Autoformation</category><category>Frameworks-Composants</category><category>J2EE</category><category>Java-J2EE</category><category>Java5</category><category>JMS</category><category>Langages</category><category>Open source</category><category>Outils de développement</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200711/i-can-lift-40-pounds.jpg&quot; alt=&quot;i-can-lift-40-pounds.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;strong&gt;Aujourd'hui je peux :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/opensource/library/os-eclipse-osxjava/?ca=dgr-lnxw01EasyMacEclipseJava&quot; hreflang=&quot;fr&quot;&gt;Me lancer dans le développement avec Eclipse sur MacOS&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Apprendre &lt;a href=&quot;http://groovy.codehaus.org/&quot; hreflang=&quot;fr&quot;&gt;Groovy&lt;/a&gt;, un langage de script dynamique basé sur java. Et un nouveau livre dessus à la bibliothèque DT.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Tester &lt;a href=&quot;http://www.netbeans.org/community/releases/60/&quot; hreflang=&quot;fr&quot;&gt;NetBeans 6 beta 2&lt;/a&gt; - Sun essaye plus que jamais de détrôner Eclipse. Qu'en pensez-vous ?&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Mettre en place facilement du clustering avec TerraCotta ? Jeter un oeil à la &lt;a href=&quot;http://www.terracotta.org/confluence/display/docs1/Concept+and+Architecture+Guide&quot; hreflang=&quot;fr&quot;&gt;documentation d'architecture&lt;/a&gt;. Ou bien me contenter de &lt;a href=&quot;http://highscalability.com/product-spread-toolkit&quot; hreflang=&quot;fr&quot;&gt;Spread&lt;/a&gt;, solution légère de messaging inter-applicatif.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Bookmarker l'utile &lt;a href=&quot;http://www.theserverside.com/tt/articles/article.tss?l=ServerMatrix&quot; hreflang=&quot;fr&quot;&gt;matrice de comparaison des serveurs applicatifs J2EE&lt;/a&gt; sur The Server Side.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Générer facilement des PDFs depuis Java avec BIRT : &lt;a href=&quot;http://www.eclipsetotale.com/articles/BIRT.html&quot; hreflang=&quot;fr&quot;&gt;un whitepaper&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Créer facilement du &lt;a href=&quot;http://www.ahmadsoft.org/articles/stream/stream.html&quot; hreflang=&quot;fr&quot;&gt;streaming de données, en J2EE&lt;/a&gt;, pour commencer à transmettre vers le client la première ligne du resultset, avant d'avoir reçu la dernière de la base de données (par exemple).&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Lire une &lt;a href=&quot;http://www.ibm.com/developerworks/opensource/library/os-eclipse-visualstudio/?ca=dgr-lnxw01Eclipse-VS&quot; hreflang=&quot;fr&quot;&gt;introduction à Eclipse pour les développeurs VisualStudio&lt;/a&gt; (par IBM).&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Anticiper &lt;a href=&quot;http://today.java.net/pub/a/today/2007/08/09/looking-ahead-to-java-7.html&quot; hreflang=&quot;fr&quot;&gt;Java7, l'open source, et la différence entre JDK7 et OpenJDK&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/12/Breves-developpement#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/12/Breves-developpement#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/110</wfw:commentRss>
      </item>
    
  <item>
    <title>Forte activité sur Linux</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/09/Forte-activite-sur-Linux</link>
    <guid isPermaLink="false">urn:md5:47d459aaa96d15674aa1439729df48a6</guid>
    <pubDate>Fri, 09 Nov 2007 14:50:00 +0100</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>DSI</category><category>Open source</category><category>Systèmes dexploitation</category>    
    <description>    &lt;p&gt;Linux est dans nos usages quotidiens, tant sur les serveurs, que sur les postes de développement.&lt;br /&gt;
Les dernières semaines ont été particulièrement riches en actualité :&lt;br /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sortie de la &lt;a href=&quot;http://www.wired.com/software/softwarereviews/news/2007/10/ubuntu_gutsy&quot; hreflang=&quot;fr&quot;&gt;nouvelle version d'Ubuntu&lt;/a&gt; (7, aka &amp;quot;Gutsy Gibbon&amp;quot;),&lt;/li&gt;
&lt;li&gt;sortie de la &lt;a href=&quot;http://www.linuxelectrons.com/news/linux/14145/red-hat-releases-enterprise-linux-5-1&quot; hreflang=&quot;fr&quot;&gt;version 5.1 de Red Hat Enterprise&lt;/a&gt;, avec un plus grand support natif pour la virtualisation,&lt;/li&gt;
&lt;li&gt;sortie de &lt;a href=&quot;http://arstechnica.com/news.ars/post/20071108-an-old-hat-with-new-tricks-fedora-8-officially-released.html&quot; hreflang=&quot;fr&quot;&gt;Fedora 8&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comme dit Linux.com, &amp;quot;&lt;a href=&quot;http://www.linux.com/feature/119865&quot; hreflang=&quot;fr&quot;&gt;where do we go from here ?&lt;/a&gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
P.S. : nous venons d'avoir, pour la première fois, un projet sur lequel il y avait à la fois des postes de
développement Windows, Linux, et OSX, sans souci : Eclipse, Maven, Subversion, Tomcat en Java 5.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/09/Forte-activite-sur-Linux#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/09/Forte-activite-sur-Linux#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/109</wfw:commentRss>
      </item>
    
  <item>
    <title>Géomarquer ses données</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/11/09/Geomarquer-ses-donnees</link>
    <guid isPermaLink="false">urn:md5:f4705dd5a6980513f56c5bcd12649444</guid>
    <pubDate>Fri, 09 Nov 2007 09:33:00 +0100</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>Webservices</category>    
    <description>    &lt;p&gt;Il est devenu très fréquent de voir des données affichées dans un composant cartographique de l'IHM d'une application. Les parisiens penseront peut-être tout de suite à celui de &lt;a href=&quot;http://www.velib.paris.fr/les_stations/trouver_une_station&quot; hreflang=&quot;fr&quot;&gt;Velib'&lt;/a&gt; qui permet de localiser rapidement les stations et la disponibilités des vélos. Il est clair qu'une telle présentation est beaucoup plus ergonomique que le rendu dans une grille.&lt;br /&gt;
Pour atteindre un tel résultat, il convient de pouvoir répondre à 2 questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comment &lt;a href=&quot;http://en.wikipedia.org/wiki/GeoTagging&quot; hreflang=&quot;en&quot;&gt;géotaguer&lt;/a&gt; ses données?&lt;/li&gt;
&lt;li&gt;Comment présenter ses données?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Comment géotaguer?&lt;/strong&gt;&lt;br /&gt;
Il existe plusieurs services permettant de géotaguer ces données c'est à dire associer une longitude et latitude à une entité localisable (adresse, code postal,etc) . On recommendera ceux de &lt;a href=&quot;http://www.geonames.org/export/&quot; hreflang=&quot;en&quot;&gt;Geonames.org&lt;/a&gt; et &lt;a href=&quot;http://www.google.com/apis/maps/documentation/services.html#Geocoding_Direct&quot; hreflang=&quot;en&quot;&gt;Google&lt;/a&gt;. Les formats de sortie sont au choix xml ou json.&lt;br /&gt;
On notera en particulier l'existence d'un service très intéressant de &lt;a href=&quot;http://www.geonames.org/rss-to-georss-converter.html&quot; hreflang=&quot;en&quot;&gt;conversion de feed&lt;/a&gt; RSS vers geoRSS. C'est ce service qui est utilisé dans notre application sur les indices boursiers (voir &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2007/10/12/API-de-Google-et-Yahoo-map&quot; hreflang=&quot;fr&quot;&gt;billet précédent&lt;/a&gt;) ou bien pour localiser  les &lt;a href=&quot;http://exploreourpla.net/georss/http://today.reuters.com/rss/worldNews&quot; hreflang=&quot;en&quot;&gt;dernières news&lt;/a&gt; planétaires.&lt;br /&gt;
Il peut parfois être intéressant de faire du géocodage inversé, c'est à dire associer une addresse (souvent approximative) à un couple (latitude, longitude). On trouvera &lt;a href=&quot;http://www.geonames.org/export/reverse-geocoding.html&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt; plusieurs services intéressants. Notez que google ne propose pas (encore) de tels services.&lt;br /&gt;
Un autre besoin peut consister à localiser des addresses IP. Il existe là encore plusieurs services dont &lt;a href=&quot;http://www.ip2location.com/&quot; hreflang=&quot;en&quot;&gt;IP2Location&lt;/a&gt; utilisé par le fameux &lt;a href=&quot;http://en.wikipedia.org/wiki/Wikiscanner&quot; hreflang=&quot;en&quot;&gt;wikiscanner&lt;/a&gt;.&lt;br /&gt;
&lt;img src=&quot;http://www.ipligence.com/freetools/iplocation/b1/&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Nota:&lt;/em&gt; Pour des besoins locaux, Les BD sous-jacentes peuvent souvent être installées en local moyennant leur achat.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Comment présenter ses données?&lt;/strong&gt;&lt;br /&gt;
L'insertion d'entités géotaguées dans une carte est assez direct chez Google map comme chez Yahoo! map. L'API Google utilise un objet &lt;a href=&quot;http://www.google.com/apis/maps/documentation/services.html#XML_Overlays&quot; hreflang=&quot;en&quot;&gt;GGeoXml&lt;/a&gt; dont le constructor prend le fichier de données géotaguées en paramètre. L'objet &lt;a href=&quot;http://developer.yahoo.com/maps/ajax/V3.7/reference.html#YGeoRSS&quot; hreflang=&quot;en&quot;&gt;YGeoRss&lt;/a&gt; fait de même chez Yahoo! map.&lt;br /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/11/09/Geomarquer-ses-donnees#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/11/09/Geomarquer-ses-donnees#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/108</wfw:commentRss>
      </item>
    
  <item>
    <title>Des widgets aux mapplets</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/10/15/Des-widgets-aux-mapplets</link>
    <guid isPermaLink="false">urn:md5:04bb780cae4802249115354db384564c</guid>
    <pubDate>Mon, 15 Oct 2007 10:49:00 +0200</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>HTML-JS-CSS</category><category>Webservices</category>    
    <description>    &lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; DU 16/10/07: En complément du &lt;a href=&quot;http://googlemapsapi.blogspot.com/&quot; hreflang=&quot;en&quot;&gt;blog officiel&lt;/a&gt; de Google Map, je vous recommande le blog &lt;a href=&quot;http://googlemapsmania.blogspot.com/&quot; hreflang=&quot;en&quot;&gt;Google Maps Mania&lt;/a&gt; qui regorge d'informations fascinantes sur les &lt;a href=&quot;http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29&quot; hreflang=&quot;en&quot;&gt;mashups&lt;/a&gt; possibles avec Google Maps.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;BILLET ORIGINAL&lt;/strong&gt;:&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Le 11 juillet dernier, Google &lt;a href=&quot;http://googlemapsapi.blogspot.com/2007/07/mapplets-launched-add-your-mapplet-to.html&quot; hreflang=&quot;en&quot;&gt;annonçait&lt;/a&gt; le lancement d'un nouveau service appelé Mapplets. Il s'agit de mini-applications insérables dans google map, comme le précise le &lt;a href=&quot;http://www.google.com/apis/maps/documentation/mapplets/index.html&quot; hreflang=&quot;en&quot;&gt;site officiel&lt;/a&gt;. Un certains nombres sont déja disponibles dans le &lt;a href=&quot;http://maps.google.com/ig/directory?synd=mpl&amp;amp;pid=mpl&amp;amp;features=sharedmap,geofeed&amp;amp;backlink=http:%2F%2Fmaps.google.com%2Fmaps%2Fmm&quot; hreflang=&quot;en&quot;&gt;Google Map Directory&lt;/a&gt; et sont pour la plupart superposables pour faire du recroisement d'informations.&lt;br /&gt;
L'intérêt des Mapplets est identique à celui des &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_widget&quot; hreflang=&quot;en&quot;&gt;Widgets web&lt;/a&gt;:  permettre aux utilisateurs d'installer gratuitement les services de tiers dans leur application &amp;amp; pages web. C'est à la charge de votre business model d'évaluer comment rentabiliser l'opération (un &lt;a href=&quot;http://maps.google.com/ig/directory?synd=mpl&amp;amp;pid=mpl&amp;amp;features=sharedmap,geofeed&amp;amp;backlink=http%3A%2F%2Fmaps.google.com%2Fmaps%2Fmm&amp;amp;num=24&amp;amp;url=http://www.booking.com/general.html%3Ftmpl%3Dmapgadget&quot; hreflang=&quot;en&quot;&gt;chercheur d'hôtels&lt;/a&gt; ou de &lt;a href=&quot;http://maps.google.com/ig/directory?synd=mpl&amp;amp;pid=mpl&amp;amp;features=sharedmap,geofeed&amp;amp;backlink=http%3A%2F%2Fmaps.google.com%2Fmaps%2Fmm&amp;amp;num=24&amp;amp;url=http://mapplets.googlepages.com/movie-timer.xml&quot; hreflang=&quot;en&quot;&gt;cinémas&lt;/a&gt; avec commisions). &lt;br /&gt;
&lt;br /&gt;
D'un point de vue technique il est très facile de transformer une application utilisant Google Map en Mapplet en suivant le &lt;a href=&quot;http://code.google.com/support/bin/answer.py?answer=69786&amp;amp;topic=11364&quot; hreflang=&quot;en&quot;&gt;protocole&lt;/a&gt; proposé. Et c'est ce que nous allons faire avec notre visualiseur de variation quotidienne des bourses asiatiques exposé dans le &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2007/10/12/API-de-Google-et-Yahoo-map&quot; hreflang=&quot;fr&quot;&gt;billet précédent&lt;/a&gt;. L'idée maitresse est d'encapsuler le code html, css et javascrit dans un fichier XML qui est servi en tant que mini page web (dans des balises &lt;a href=&quot;http://www.w3.org/TR/html401/present/frames.html#h-16.5&quot; hreflang=&quot;en&quot;&gt;&amp;lt;iframe&amp;gt;&lt;/a&gt;) sur le site de Google Map. Le fichier XML doit-être accessible depuis l'internet pour être récupéré à la demande par Google.&lt;br /&gt;
Notre application est accessible &lt;a href=&quot;http://olbibigo.googlepages.com/Google.Mapplet.DCASI.xml&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt; et insérable dans votre map en activant &lt;a href=&quot;http://maps.google.com/ig/add?synd=mpl&amp;amp;pid=mpl&amp;amp;moduleurl=http://olbibigo.googlepages.com/Google.Mapplet.DCASI.xml&quot; hreflang=&quot;fr&quot;&gt;ce lien&lt;/a&gt; (Vous devez posséder un compte Google).&lt;br /&gt;&lt;br /&gt;
&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200710/mapplet.screenshot.gif&quot; alt=&quot;mapplet.screenshot.gif&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
L'opération a pris environ 1h mais l'application initiale était déja parfaitement fonctionnel. Le développement from scratch est plutôt délicat et nécessite de farcir son code d&lt;em&gt;'alert()&lt;/em&gt;. Il est plutôt conseillé de développer dans un 1er temps une application standard AJAX puis de la &lt;em&gt;mappletiser&lt;/em&gt;. Par ailleurs le code source est parfaitement lisible et donc récupérable par d'autres mais c'est le jeux: la plus-value de votre application vient du mode de présentation des données aux utilisateurs, pas de son algorithme.&lt;br /&gt;
&lt;br /&gt;
PS: Sur le plan fonctionnel, on a maintenant une largeur de barre proportionnelle à la capitalisation boursière du pays. Par exemple, le marché japonais (4872 milliards $) n'a pas la même envergure que l'indonésien (166 milliards $) et cela est mis clairement en évidence.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/10/15/Des-widgets-aux-mapplets#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/10/15/Des-widgets-aux-mapplets#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/107</wfw:commentRss>
      </item>
    
  <item>
    <title>API de Google et Yahoo! map</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/10/12/API-de-Google-et-Yahoo-map</link>
    <guid isPermaLink="false">urn:md5:fbd1633c01b84af115c3683cd48cd485</guid>
    <pubDate>Fri, 12 Oct 2007 12:47:00 +0200</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>Ajax-Client riche</category><category>HTML-JS-CSS</category><category>Webservices</category>    
    <description>    &lt;p&gt;Dans un &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/Yayoo-Pipes-ou-les-premices-du-nouveau-web&quot; hreflang=&quot;fr&quot;&gt;billet précédent&lt;/a&gt; de ce blog, nous avions vu qu'il était possible de construire des flux rss (dapper) et de géolocaliser leur contenu (yahoo!pipe). Nous avions pris comme exemple les variations des indices principaux des bourses asiatiques.&lt;br /&gt;
La présentation par défaut sur la &lt;a href=&quot;http://pipes.yahoo.com/pipes/pipe.info?_id=Rg7yXo9q3BG_Xt94JZhxuA&quot; hreflang=&quot;en&quot;&gt;page&lt;/a&gt; du pipe a le bon goût d'exister mais convenons que le rendu n'est pas percutant. Il faut en effet cliquer sur chaque marqueur pour avoir les informations.&lt;br /&gt;
L'idéal serait d'avoir  des marqueurs représentatifs de la variation de l'indice, vert quand positif, rouge quand négatif, avec une taille proportionnelle à cette variation.&lt;br /&gt;
Pour arriver à ce résultat, il faut un peu programmer. Un API maps  est fourni par &lt;a href=&quot;http://www.google.com/apis/maps/&quot; hreflang=&quot;en&quot;&gt;Google&lt;/a&gt; et &lt;a href=&quot;http://developer.yahoo.com/maps/ajax/index.html&quot; hreflang=&quot;en&quot;&gt;Yahoo!&lt;/a&gt; donc nous allons travailler avec les 2 pour comparer.&lt;br /&gt;
Le principe est relativement simple, dans chaque carte (YMap et GMap), pour chaque pays présent dans le &lt;a href=&quot;http://pipes.yahoo.com/pipes/pipe.run?_id=Rg7yXo9q3BG_Xt94JZhxuA&amp;amp;_render=rss&quot; hreflang=&quot;fr&quot;&gt;flux RSS&lt;/a&gt;, on ajoute un marqueur (YMarker, GMarker) personnalisé (YImage ou GIcon). La hauteur du marqueur est ajustée par la formule &lt;em&gt;Math.round(Math.abs(fChange) * 20)&lt;/em&gt; et donc d'avoir  une hauteur de 20px pour une variation d'indice de 1%. Le fichier source est disponible en annexe (fonction &lt;em&gt;fFillYahooMapWithGeo&lt;/em&gt; et &lt;em&gt;fFillGoogleMapWithGeo&lt;/em&gt;).&lt;br /&gt;
Les résultats sont visibles ci-dessous, avec à gauche Google en haut et Yahoo en bas.&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200710/google.map.asian.stock.daily.change2.jpg&quot; alt=&quot;google.map.asian.stock.daily.change2.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;
&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200710/yahoo.map.asian.stock.daily.change2.jpg&quot; alt=&quot;yahoo.map.asian.stock.daily.change2.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Sur le plan fonctionnel, un léger avantage à Yahoo! qui permet d'afficher un label par un simple passage de la souris sur le marqueur alors que Google nécessite de cliquer dessus.&lt;br /&gt;
Les métriques ne font pas apparaitre de différences significatives entre les 2 API:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Temps de chargement: environ 4s,&lt;/li&gt;
&lt;li&gt;Nombre de requêtes: légèrement plus pour Yahoo (71 contre 54),&lt;/li&gt;
&lt;li&gt;Octets téléchargés: environ 400kO,&lt;/li&gt;
&lt;li&gt;Nombre de lignes de code propres aux API: une dizaine.&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les 2 API offrant un services de géolocalisation, nous pouvons donc essayer d'utiliser directement le &lt;a href=&quot;http://www.dapper.net/dapp-howto-use.php?dappName=1dayvariationofasianstockIndices&quot; hreflang=&quot;en&quot;&gt;flux RSS de Dapper&lt;/a&gt; (non géo-localisé) et confier la tâche de géolocalisation aux API. Yahoo le permet très simplement en remplacant un paramètre d'entrée du constructeur de YMarker mais les requêtes sont synchrones (fonction &lt;em&gt;fFillYahooMapWithoutGeo&lt;/em&gt; dans le source). L'API Google  est plus délicate à mettre en oeuvre car il faut utiliser un objet GClientGeocoder et utiliser une fonction de callback.&lt;br /&gt;Dans les tests, il a été constaté un léger ralentissement (environ 1s) avec cette méthode à cause d'une plus forte utilisation du réseau (17 requêtes de plus).
&lt;br /&gt;&lt;br /&gt;
&lt;strong&gt;Avis subjectif de l'auteur&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aucune API ne se démarque de l'autre. Celle de Google est légèrement plus complexe mais compense par légèrement plus de fonctionnalités.&lt;/li&gt;
&lt;li&gt;Notre application est bien exigeante en bande passante et temps d'UC puisqu'elle nécessite de mettre en forme le HTML chez Bloomberg, de transférer ce flux de Bloomberg à Dapper qui est alors retraité en RSS, de transférer de Dapper à Yahoo pour géolocaliser, puis enfin de Yahoo au client. Si Bloomberg (ou un autre) fournissait directement le flux rss (idéalement déja géolocalisé et gratuitement), on ne serait pas obligé de faire tout cela :)&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;
PS: La démo utilise l'objet XMLhttpRequest qui n'autorise pas chez Firefox les requêtes hors du domaine courant, alors que si chez IE. Donc&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si vous utilisez IE, mettez simplement &amp;quot;urlProxy&amp;quot;:&amp;quot;&amp;quot; à la ligne 29 dans maps.htm,&lt;/li&gt;
&lt;li&gt;si vous utilisez  Firefox, installez un serveur local (localhost) avec la page php_proxy_simple.php fournie en annexe,&lt;/li&gt;
&lt;/ul&gt;</description>
    
          <enclosure url="http://www.alciongroup.com/alciontech/public/200710/maps.zip"
      length="4906" type="application/zip" />
          <enclosure url="http://www.alciongroup.com/alciontech/public/200710/php_proxy_simple.php"
      length="1036" type="text/plain" />
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/10/12/API-de-Google-et-Yahoo-map#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/10/12/API-de-Google-et-Yahoo-map#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/106</wfw:commentRss>
      </item>
    
  <item>
    <title>Stockage : la révolution du SSD, le disque sans disque</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/10/11/Stockage-%3A-la-revolution-du-SSD-le-disque-sans-disque</link>
    <guid isPermaLink="false">urn:md5:4c9c7e8259246076d3329165c52c2fde</guid>
    <pubDate>Thu, 11 Oct 2007 16:00:00 +0200</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>DSI</category><category>Embarqué</category><category>Loisirs numériques</category><category>Performances-Disponibilité</category><category>SGBD</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200710/ssd1.jpg&quot; alt=&quot;ssd1.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Pour ce centième billet sur AlcionTech (hé oui, déjà), coup de projecteur sur la question du stockage (ce n'est pas que le blog prenne tant de place que ça...) qui arrive sur le devant de l'actualité.&lt;br /&gt;
L'affaire arrive par le biais des SSD, ou &amp;quot;Solid State Drive&amp;quot;, qui désigne le stockage en mémoire flash (Solid State = Silicium, par opposition aux disques magnétiques). Vous voyez les tailles de carte mémoire (pour appareils photos, baladeurs numériques) augmenter et les prix chuter. Apple fait cohabiter, à des prix comparables, des modèles d'Ipod à disque dur (&amp;quot;classic&amp;quot;), et des modèles à mémoire flash, à des prix comparables, aux capacités nettement moindres (10x), mais ayant l'avantage de la solidité (aucune mécanique) et de l'économie d'énergie (et donc autonomie).&lt;br /&gt;
Récemment, on voit aussi arriver des SDD au format IDE ou SATA, permettant de prendre la place d'un disque dur sans autre forme de procès, avec les avantages de la mémoire flash. Il lui faudra cependant quelques années avant de détrôner les prix des disques durs, à stockage égal. Différents fabricants d'ordinateurs portables ont sorti des modèles avec 16 ou 32 Go de disque SSD, avec un surcoût notable.&lt;br /&gt;
Nous allons être impactés dans nos façons de faire du logiciel. Assez vite, nous aurons à disposition des média de stockage nettement plus rapides, qui accélèreront de façon importante les accès aux données. On n'arbitrera plus de la même façon les choix d'architecture relatifs à la persistance, aux caches, etc.&lt;br /&gt;
Le modèle figurant sur la photo, de ioFusion, sur port PCI-Express 4x, offre des performances hénaurmes (600Mo/s à l'écriture, 800Mo/s à l'écriture, soit 10 à 20 fois plus qu'un disque dur magnétique, comparable à la vitesse de la RAM) grâce à l'écriture en parallèle dans les différentes puces de la carte. Existe en 80Go au prix de 2400$.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/10/11/Stockage-%3A-la-revolution-du-SSD-le-disque-sans-disque#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/10/11/Stockage-%3A-la-revolution-du-SSD-le-disque-sans-disque#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/105</wfw:commentRss>
      </item>
    
  <item>
    <title>Slides de l'open bar Intégration Continue</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/10/05/Slides-de-lopen-bar-Integration-Continue</link>
    <guid isPermaLink="false">urn:md5:132027a4b99358ea07e8857fa3d8b473</guid>
    <pubDate>Fri, 05 Oct 2007 10:58:00 +0200</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
            
    <description>    &lt;p&gt;La présentation est disponible ci-dessous (pièce jointe).&lt;br /&gt;
Pour mémoire, la plate-forme d'IC AlcionGroup (300Mo environ) est &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2007/08/17/Une-plate-forme-dintegration-continue-J2EE-sous-Win32&quot; hreflang=&quot;fr&quot;&gt;disponible au siège&lt;/a&gt;.&lt;/p&gt;</description>
    
          <enclosure url="http://www.alciongroup.com/alciontech/public/200710/AlcionGroup.DT.OpenBar.IntegrationContinueJ2EE.pdf"
      length="14060603" type="application/pdf" />
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/10/05/Slides-de-lopen-bar-Integration-Continue#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/10/05/Slides-de-lopen-bar-Integration-Continue#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/104</wfw:commentRss>
      </item>
    
  <item>
    <title>Java : outils</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/10/04/Java-%3A-outils</link>
    <guid isPermaLink="false">urn:md5:833811a6c8f67fddb7a92fc9519a5dc5</guid>
    <pubDate>Thu, 04 Oct 2007 15:47:00 +0200</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
        <category>e-business</category><category>Frameworks-Composants</category><category>Génie logiciel</category><category>J2EE</category><category>Java-J2EE</category><category>Outils de développement</category><category>Performances-Disponibilité</category><category>Tests</category>    
    <description>    &lt;p&gt;Ce matin, &lt;a href=&quot;http://www.linkedin.com/in/framiere&quot; hreflang=&quot;fr&quot;&gt;Florent&lt;/a&gt; m'a confié trois secrets d'un air de conspirateur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Non, &lt;a href=&quot;http://www.opensymphony.com/oscache/&quot; hreflang=&quot;fr&quot;&gt;OSCache&lt;/a&gt; (d'Open Symphony) n'est pas un cache transactionnel distribué ; par contre, &lt;strong&gt;&lt;a href=&quot;http://www.terracotta.org/&quot; hreflang=&quot;fr&quot;&gt;TerraCotta&lt;/a&gt;&lt;/strong&gt; est &lt;a href=&quot;http://www.nofluffjuststuff.com/blog_detail.jsp?rssItemId=110494&amp;amp;utm_source=blogitem&amp;amp;utm_medium=rss&amp;amp;utm_campaign=blogrss&quot; hreflang=&quot;fr&quot;&gt;extraordinairement&lt;/a&gt; &lt;a href=&quot;http://javaworkshop.wordpress.com/2007/09/26/working-with-terracotta/&quot; hreflang=&quot;fr&quot;&gt;prometteur&lt;/a&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.jinspired.com/products/jxinsight/&quot; hreflang=&quot;fr&quot;&gt;JXInsight&lt;/a&gt;&lt;/strong&gt; est l'outil d'analyse de code java en fonctionnement (threads, mémoire, temps d'exécution) qui surpasse tous les autres en ce qu'il permet de débusquer rapidement les anomalies de fonctionnement ;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://www.hello2morrow.com/en/sonarj/sonarj.php&quot; hreflang=&quot;fr&quot;&gt;SonarJ,&lt;/a&gt;&lt;/strong&gt;, outil de rétro-ingénierie du code et de l'architecture d'une application, par exemple dans un contexte d'audit.&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Merci Florent !&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/10/04/Java-%3A-outils#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/10/04/Java-%3A-outils#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/103</wfw:commentRss>
      </item>
    
  <item>
    <title>11 ans après Java, .NET publie ses sources</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/10/04/11-ans-apres-Java-NET-publie-ses-sources</link>
    <guid isPermaLink="false">urn:md5:7ee4feb3070a75c83911dd522f549a73</guid>
    <pubDate>Thu, 04 Oct 2007 15:23:00 +0200</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
            
    <description>    &lt;p&gt;Les sources de l'API .NET sont à présent disponibles pour consultation par les développeurs dans le cadre du programme &amp;quot;Open .NET&amp;quot;. Il ne s'agit _pas_ d'open source :&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;q&gt;Microsoft is releasing the source code for .NET Framework libraries under the Microsoft Reference License.  This license allows viewing of source code, but not modification or redistribution.&lt;/q&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Ceci permet néanmoins au développeur d'aller voir sous le capot pour comprendre un comportement non documenté, et de voir le code plate-forme dans le débugger.&lt;br /&gt;
On me souffle que certains voient les sources depuis longtemps grâce au décompilateur &lt;a href=&quot;http://www.aisto.com/roeder/dotnet/&quot; hreflang=&quot;fr&quot;&gt;Reflection&lt;/a&gt;.&lt;br /&gt;
Sun a toujours fourni les sources de l'implémentation de référence (le fameux src.jar) du JDK.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/10/04/11-ans-apres-Java-NET-publie-ses-sources#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/10/04/11-ans-apres-Java-NET-publie-ses-sources#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/102</wfw:commentRss>
      </item>
    
  <item>
    <title>L'évolution des langages web</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/10/03/Les-langages-web-a-venir</link>
    <guid isPermaLink="false">urn:md5:74c605bf6a3c78a82b04b3b0fd447da3</guid>
    <pubDate>Wed, 03 Oct 2007 09:56:00 +0200</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>diti</category><category>HTML-JS-CSS</category><category>Internet</category><category>Langages</category>    
    <description>    &lt;p&gt;Aujourd'hui les développements web s'articulent principalement autour&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;du &lt;a href=&quot;http://www.w3.org/TR/html401&quot; hreflang=&quot;en&quot;&gt;HTML 4.1&lt;/a&gt; datant de décembre 99 (aussi appelé ISO/IEC 15445:2000),&lt;/li&gt;
&lt;li&gt;du &lt;a href=&quot;http://www.w3.org/TR/xhtml11/&quot; hreflang=&quot;en&quot;&gt;XHTML 1.1&lt;/a&gt; datant de mai 01,&lt;/li&gt;
&lt;li&gt;et du &lt;a href=&quot;http://www.ecma-international.org/publications/standards/Ecma-262.htm&quot; hreflang=&quot;en&quot;&gt;ECMA-262 edition 3&lt;/a&gt; datant de décembre 99 (plus connu sous le nom de &lt;a href=&quot;http://en.wikipedia.org/wiki/ECMAScript&quot; hreflang=&quot;en&quot;&gt;JavaScript 1.5 et + ou JScript 5.5 et +&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Des travaux sont actuellement en cours au sein du &lt;a href=&quot;http://www.w3.org/&quot; hreflang=&quot;en&quot;&gt;W3C&lt;/a&gt; pour préparer les évolutions qui seront prises en charge par les prochaines générations de navigateurs.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/longue-vue-telescopique.jpg&quot; alt=&quot;longue-vue-telescopique.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;strong&gt;HTML5&lt;/strong&gt; (auparavant &lt;em&gt;Web Applications 1.0&lt;/em&gt;)&lt;br /&gt;
Apple, Opera et la fondation Mozilla se sont associés de manière informelle au sein du &lt;a href=&quot;http://www.whatwg.org/&quot; hreflang=&quot;en&quot;&gt;Web Hypertext Application Technology Working Group&lt;/a&gt; (WhatWG) pour donner naissance au successeur du HTML4.1 figé depuis 8ans. Le W3C a pris ensuite le résultat de ces travaux comme base.&lt;br /&gt;
Les specs du HTML5 et de son équivalent XML, appelé XHTML5, sont à l'état de &lt;a href=&quot;http://www.w3.org/html/wg/html5/&quot; hreflang=&quot;en&quot;&gt;draft&lt;/a&gt;.&lt;br /&gt; Pour ceux intéréssés par les nouveautés, un &lt;a href=&quot;http://www.ibm.com/developerworks/library/x-html5/?ca=dgr-lnxw01NewHTML&quot; hreflang=&quot;en&quot;&gt;article&lt;/a&gt; d'IBM mérite une lecture. La synthèse de la prise en charge par les navigateurs est disponible &lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;ECMA-262 edition 4&lt;/strong&gt;&lt;br /&gt;
A la base du futur Javascript 2, la naissance de la 4eme édition des specs de l'ECMA-262 a été lente et laborieuse pour cause de vision divergente entre Mozilla et Microsoft. Toutes les infos sur l'état courant sont sur un &lt;a href=&quot;http://wiki.ecmascript.org/doku.php&quot; hreflang=&quot;fr&quot;&gt;wiki&lt;/a&gt;. &lt;br /&gt;On annonce une machine virtuelle et un compilateur JIT (appelée &lt;a href=&quot;http://www.mozilla.org/projects/tamarin/&quot; hreflang=&quot;en&quot;&gt;Tamarin&lt;/a&gt; dans &lt;a href=&quot;http://weblogs.mozillazine.org/roadmap/archives/2006/10/mozilla_2.html&quot; hreflang=&quot;en&quot;&gt;Mozilla2&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Les microformats&lt;/strong&gt;&lt;br /&gt;
Supportés par Firefox3 et IE8, les microformats visent à faciliter l'extraction automatique de contenu web en attachant de la sémantique aux données. Une introduction se trouve sur le &lt;a href=&quot;http://microformats.org/&quot; hreflang=&quot;en&quot;&gt;site de référence&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/10/03/Les-langages-web-a-venir#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/10/03/Les-langages-web-a-venir#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/101</wfw:commentRss>
      </item>
    
  <item>
    <title>OpenBar AlcionTech 4 octobre : Intégration Continue  sous J2EE et .NET</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/OpenBar-AlcionTech-4-octobre-%3A-Integration-Continue-sous-J2EE-et-NET</link>
    <guid isPermaLink="false">urn:md5:dc0685ac3b8e1e7e26be8ea237f3ed32</guid>
    <pubDate>Mon, 24 Sep 2007 13:57:00 +0200</pubDate>
    <dc:creator>Olivier ASTIER</dc:creator>
            
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/200709/rose.jpg&quot; alt=&quot;rose.jpg&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Vous êtes cordialement invités à l'Open Bar AlcionTech,
Jeudi 4 octobre à 18h30 au siège.
Une collation sera servie.&lt;/p&gt;


&lt;hr /&gt;


&lt;p&gt;L'intégration continue est une pratique de développement logiciel où
chaque membre d'une équipe intègre ses travaux fréquemment, au moins
une fois par jour. Chaque intégration est contrôlée par un build
automatique (incluant des tests) de manière a détecter le plus tôt
possible les anomalies.&lt;/p&gt;


&lt;p&gt;L’expérience a montré que cette démarche conduit à des gains
substantiels en terme de coûts de développement. Malheureusement
encore trop peu de projets la mette en place.&lt;/p&gt;


&lt;p&gt;Après une approche théorique rapide, nous vous montrerons une mise en
application de la CI autour d’un projet J2EE avec Maven&amp;amp;Continuum et
d’un projet .NET avec Ant&amp;amp;Cruise Control.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/OpenBar-AlcionTech-4-octobre-%3A-Integration-Continue-sous-J2EE-et-NET#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/OpenBar-AlcionTech-4-octobre-%3A-Integration-Continue-sous-J2EE-et-NET#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/100</wfw:commentRss>
      </item>
    
  <item>
    <title>Yayoo! Pipes ou les prémices du nouveau web</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/Yayoo-Pipes-ou-les-premices-du-nouveau-web</link>
    <guid isPermaLink="false">urn:md5:43fa68346406e38f0640764a34d97c1b</guid>
    <pubDate>Mon, 24 Sep 2007 11:41:00 +0200</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>Génie logiciel</category><category>SOA</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://radar.oreilly.com/archives/2007/02/pipes_and_filte.html&quot; hreflang=&quot;en&quot;&gt;Tim O'Reilly&lt;/a&gt; le considère comme le service qui va changer l'internet parce qu'il met enfin le &lt;a href=&quot;http://www.readwriteweb.com/archives/yahoo_pipes_web_database.php&quot; hreflang=&quot;en&quot;&gt;web en tant que BD&lt;/a&gt; à la portée des non-informaticiens.&lt;br /&gt;
&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/YahooPipes-logo.gif&quot; alt=&quot;YahooPipes-logo.gif&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;
Ce service, c'est &lt;a href=&quot;http://pipes.yahoo.com/pipes/&quot; hreflang=&quot;en&quot;&gt;Yahoo!Pipes&lt;/a&gt; et ca permet de faire des aggégations très intéressantes.&lt;br /&gt;
Prenons l'un de ses exemples phares: le &lt;a href=&quot;http://pipes.yahoo.com/pipes/pipe.info?_id=gGThvN_62xG2JH50ZoQMOQ&quot; hreflang=&quot;en&quot;&gt;GeoAnotated Reuters News&lt;/a&gt;. Ce pipe récupère les 10 titres à la une dans un &lt;a href=&quot;http://today.reuters.com/rss/worldNews&quot; hreflang=&quot;en&quot;&gt;rss&lt;/a&gt; Reuters et alimente un service de &lt;a href=&quot;http://www.geonames.org/rss-to-georss-converter.html&quot; hreflang=&quot;fr&quot;&gt;conversion rss vers georss&lt;/a&gt; pour fournir un &lt;a href=&quot;http://ws.geonames.org/rssToGeoRSS?feedUrl=http%3A%2F%2Ftoday.reuters.com%2Frss%2FworldNews&quot; hreflang=&quot;en&quot;&gt;georss&lt;/a&gt;. Si vous regardez le source, vous verrez la présence des balises xml &amp;lt;geo:lat&amp;gt; et &amp;lt;geo:long&amp;gt;.&lt;br /&gt;Ce flux est ensuite traité pour afficher les résultats dans une carte.&lt;br /&gt;
&lt;br /&gt;
Evidemment, il ne vous a pas échappé qu'il était déja tout à fait possible de coder cela soi-même avec des &lt;em&gt;HttpRequest&lt;/em&gt; pour peu d'avoir les compétences en javascript adéquates. La grande force de Yahoo!Pipes est d'offir une IHM masquant la complexité du code et de permettre le clônage des pipes produits.&lt;br /&gt;
Yahoo! Pipes et Dapper (vu dans le précédent billet) sont très complémentaires puisque le 1er peut produire le rss si celui-ci n'existe pas dans un site et le 2ème le manipuler aisément. Par exemple, si l'on souhaite représenter sur une carte les évolutions journalières des bourses asiatiques, on créé le &lt;a href=&quot;http://www.dapper.net/dapp-howto-use.php?dappName=1dayvariationofasianstockIndices&quot; hreflang=&quot;en&quot;&gt;Dapp&lt;/a&gt; à partir de Bloomberg, puis le &lt;a href=&quot;http://pipes.yahoo.com/pipes/pipe.info?_id=Rg7yXo9q3BG_Xt94JZhxuA&quot; hreflang=&quot;en&quot;&gt;pipe&lt;/a&gt; pour géolocaliser les bourses.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/Yayoo-Pipes-ou-les-premices-du-nouveau-web#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/Yayoo-Pipes-ou-les-premices-du-nouveau-web#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/99</wfw:commentRss>
      </item>
    
  <item>
    <title>Dapper ou le web scrapping pour les pros</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/Dapper-ou-le-web-scrapping-pour-les-pros</link>
    <guid isPermaLink="false">urn:md5:f4f0ed560282c2e05eb0d5200409b1d6</guid>
    <pubDate>Mon, 24 Sep 2007 11:11:00 +0200</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>Génie logiciel</category><category>Webservices</category>    
    <description>    &lt;p&gt;Disons que nous concevons une application web de gestion de porte-feuille boursier et que nous avons besoin des cours de clôture à J-1 de l'indice CAC40 pour les retraiter ensuite suivant nos besoins. Comment allons-vous nous y prendre?&lt;br /&gt;
Le site d'Euronext présente quelque chose de bien intéressant: une &lt;a href=&quot;http://www.euronext.com/trader/indicescomposition/composition-4411-FR-FR0003500008.html?selectedMep=1&quot; hreflang=&quot;fr&quot;&gt;table HTML&lt;/a&gt; avec les 40 valeurs de l'indice. Un service de téléchargement au format cvs ou excel est proposé mais ce n'est pas vraiment le flux de données le plus simple à traiter par notre application. Une autre solution peut consister à parser nous même le flux html pour extraire les informations pertinentes mais là encore le travail n'est pas simple. Alors?&lt;br /&gt;
&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/dapper-logo.gif&quot; alt=&quot;dapper-logo.gif&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;L'idée est de &lt;em&gt;dapper&lt;/em&gt; le contenu du tableau grâce au service web proposé par &lt;a href=&quot;http://www.dapper.net/&quot; hreflang=&quot;en&quot;&gt;Dapper&lt;/a&gt;. La simplicité de l'opération est tout simplement fantastique puisqu'il nous faut 10mn maximum pour créer un générateur de flux xml adapté à nos attentes et  le rendre disponible en ligne &lt;a href=&quot;http://www.dapper.net/dapp-howto-use.php?dappName=EuronextCAC40&quot; hreflang=&quot;fr&quot;&gt;ici&lt;/a&gt;. Dans le &lt;a href=&quot;http://www.dapper.net/RunDapp?dappName=EuronextCAC40&amp;amp;v=1&amp;amp;applyToUrl=http%3A%2F%2Fwww.euronext.com%2Ftrader%2Findicescomposition%2Fcomposition-4411-FR-FR0003500008.html%3FselectedMep%3D1&quot; hreflang=&quot;fr&quot;&gt;fichier de sortie&lt;/a&gt;, chaque action est présente sous la forme:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;action groupName=&amp;quot;action&amp;quot; type=&amp;quot;group&amp;quot;&amp;gt;
    &amp;lt;libelle fieldName=&amp;quot;libelle&amp;quot; href=&amp;quot;http://www.euronext.com/trader/summarizedmarket/summarizedmarketRoot.jsp?lan=FR&amp;amp;amp;selectedMep=1&amp;amp;amp;idInstrument=18775&amp;amp;amp;isinCode=FR0000120073&amp;quot; originalElement=&amp;quot;a&amp;quot; type=&amp;quot;field&amp;quot;&amp;gt;AIR LIQUIDE&amp;lt;/libelle&amp;gt;
    &amp;lt;cloture fieldName=&amp;quot;cloture&amp;quot; originalElement=&amp;quot;td&amp;quot; type=&amp;quot;field&amp;quot;&amp;gt;94.57&amp;lt;/cloture&amp;gt;
    &amp;lt;volume fieldName=&amp;quot;volume&amp;quot; originalElement=&amp;quot;td&amp;quot; type=&amp;quot;field&amp;quot;&amp;gt;138,637&amp;lt;/volume&amp;gt;
    &amp;lt;varEnPourCentJsurJmoins1 fieldName=&amp;quot;varEnPourCentJsurJmoins1&amp;quot; originalElement=&amp;quot;td&amp;quot; type=&amp;quot;field&amp;quot;&amp;gt;-0.32&amp;lt;/varEnPourCentJsurJmoins1&amp;gt;
&amp;lt;/action&amp;gt;
&lt;/pre&gt;

&lt;p&gt;nous pouvons également choisir le format de sortie &lt;a href=&quot;http://www.dapper.net/transform.php?dappName=EuronextCAC40&amp;amp;transformer=JSON&amp;amp;applyToUrl=http%3A%2F%2Fwww.euronext.com%2Ftrader%2Findicescomposition%2Fcomposition-4411-FR-FR0003500008.html%3FselectedMep%3D1&quot; hreflang=&quot;fr&quot;&gt;json&lt;/a&gt; si nous préférons.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;Tous les sites web &lt;a href=&quot;http://rubymark.com/?p=8&quot; hreflang=&quot;en&quot;&gt;deviennent&lt;/a&gt; ainsi potentiellement des web services grâce à ce web scraping.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/Dapper-ou-le-web-scrapping-pour-les-pros#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/09/24/Dapper-ou-le-web-scrapping-pour-les-pros#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/98</wfw:commentRss>
      </item>
    
  <item>
    <title>Gérer les browsers à l'heure des RIA</title>
    <link>http://www.alciongroup.com/alciontech/index.php/post/2007/09/20/Gerer-tous-les-browsers-a-lheure-des-RIA</link>
    <guid isPermaLink="false">urn:md5:afb15c0ee18ecdf03b34849faed1a154</guid>
    <pubDate>Thu, 20 Sep 2007 16:32:00 +0200</pubDate>
    <dc:creator>Olivier GOSSELIN</dc:creator>
        <category>Visibilité internet</category>
        <category>Ajax-Client riche</category><category>Génie logiciel</category><category>HTML-JS-CSS</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/valid-css2.png&quot; alt=&quot;valid-css2.png&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Les &lt;a href=&quot;http://en.wikipedia.org/wiki/Rich_Internet_application&quot; hreflang=&quot;en&quot;&gt;Rich Internet Applications&lt;/a&gt; présentent bien des avantages mais il faut leur reconnaitre un inconvénient majeur du point de vue de l'ingéniérie logicielle: l'obligation de gérer différents navigateurs.&lt;br /&gt;
Le &lt;a href=&quot;http://marketshare.hitslink.com/report.aspx?qprid=6&quot; hreflang=&quot;en&quot;&gt;marché des navigateurs&lt;/a&gt; est  dominé par 2 acteurs: Microsoft Internet Explorer (avec environ 80% de PDM en légère décroissance) et Mozilla Firefox (avec environ 15% de PDM en légère croissance). Si IE6 domine encore (45% de PDM), IE7 prend petit à petit sa succession (35%).  Du côté de firefox, la version 2 est devenue ultra-majoritaire. Le bilan est donc qu'il convient de veiller en ce moment à la compatibilité de son application avec 3 navigateurs dans le cas d'un développement destiné au grand public.&lt;br /&gt;
Il existe des technologies permettant de faire abstraction du navigateur comme les applets Java ou Flash mais cela oblige l'utilisateur à posséder une JVM ou des plugins spécifiques (dans la bonne version) ... et l'ingénieur les compétences.&lt;br /&gt;
&lt;img src=&quot;http://www.alciongroup.com/alciontech/public/valid-xhtml10.png&quot; alt=&quot;valid-xhtml10.png&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;Une des grosse tendance de ces dernières années est l'utilisation d'AJAX, ce qui revient à utiliser le &lt;a href=&quot;http://en.wikipedia.org/wiki/JavaScript&quot; hreflang=&quot;en&quot;&gt;javascript&lt;/a&gt;, le &lt;a href=&quot;http://en.wikipedia.org/wiki/Document_Object_Model&quot; hreflang=&quot;en&quot;&gt;DOM&lt;/a&gt; et les &lt;a href=&quot;http://en.wikipedia.org/wiki/Cascading_Style_Sheets&quot; hreflang=&quot;en&quot;&gt;feuilles de styles&lt;/a&gt;. Si les choses se passent bien en terme de portabilité avec la syntaxe du javascript, les ennuis apparaissent lorsqu'on accède au DOM, chaque browser ne gérant &lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28DOM%29&quot; hreflang=&quot;en&quot;&gt;pas les mêmes entités&lt;/a&gt;. Les &lt;a href=&quot;http://www.w3.org/DOM/&quot; hreflang=&quot;en&quot;&gt;spécifications du W3C&lt;/a&gt; vont vers une standardisation mais celle-ci est lente. On retrouve exactement le &lt;a href=&quot;http://www.quirksmode.org/css/contents.html&quot; hreflang=&quot;en&quot;&gt;même phénomène&lt;/a&gt; avec les feuilles de styles (les specs sont &lt;a href=&quot;http://www.w3.org/Style/CSS/#specs&quot; hreflang=&quot;en&quot;&gt;ici&lt;/a&gt;).
&lt;br /&gt;
&lt;br /&gt;
Pour y avoir passé plus d'heures que je n'aurais voulu sur différents projets, il est fondamental d'éviter le champ de mines du &lt;em&gt;cross-browser compliance&lt;/em&gt; si l'on veut respecter les délais d'un projet de RIA. Pour cela on s'appuiera au maximum sur les librairies et frameworks&lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_JavaScript_libraries#JavaScript&quot; hreflang=&quot;en&quot;&gt; disponibles&lt;/a&gt; en veillant à régulièrement tester le rendu dans les navigateurs cibles et surtout pas uniquement à la fin des développements.
&lt;br /&gt;
Notez bien que les librairies ne font pas tout. La RIA &lt;a href=&quot;http://www.alciongroup.com/alciontech/index.php/post/2007/08/29/Alcionbooks-v10-en-service&quot; hreflang=&quot;en&quot;&gt;Alcionbooks&lt;/a&gt; est par exemple non complètement fonctionnelle sous IE dans sa V1.0 malgré l'utilisation de &lt;a href=&quot;http://script.aculo.us/&quot; hreflang=&quot;en&quot;&gt;scriptaculous&lt;/a&gt; et de nombreuses heures passées dessus par Eric.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alciongroup.com/alciontech/index.php/post/2007/09/20/Gerer-tous-les-browsers-a-lheure-des-RIA#comment-form</comments>
      <wfw:comment>http://www.alciongroup.com/alciontech/index.php/post/2007/09/20/Gerer-tous-les-browsers-a-lheure-des-RIA#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alciongroup.com/alciontech/index.php/feed/atom/comments/97</wfw:commentRss>
      </item>
    
</channel>
</rss>