<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://www.aquatz.com/xml/atom.xsl" type="text/xsl" media="screen"?>
<?xml-stylesheet href="http://www.aquatz.com/xml/atom.css" type="text/css" media="screen"?>
<feed xmlns="http://www.w3.org/2005/Atom"  xmlns:media="http://search.yahoo.com/mrss/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:georss="http://www.georss.org/georss" xmlns:photo="http://www.pheed.com/pheed/">
 <title>Francescu e Dume</title>
 <subtitle><![CDATA[Francescu e Dume]]></subtitle>
 <link rel="alternate" type="text/html" href="http://www.aquatz.com" />
 <link rel="self" type="text/xml" href="http://www.aquatz.com/xml/atom.xml" />
 <id>http://www.aquatz.com/</id>
 <updated>2010-09-08T02:08:36+02:00</updated>
 <generator uri="http://www.wmaker.net">Webzine Maker</generator>
  <icon>http://www.aquatz.com/favicon.ico</icon>
  <entry>
   <title>Lancement de Kliosk, le widget qui booste votre trafic</title>
   <updated>2008-08-27T17:50:00+02:00</updated>
   <id>http://www.aquatz.com/Lancement-de-Kliosk,-le-widget-qui-booste-votre-trafic_a55.html</id>
   <category term="Actualités" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-1020275-1281279.jpg</photo:imgsrc>
   <published>2008-08-27T17:16:00+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
Après plusieurs mois de développement et de tests voici Kliosk, le kiosque à clics. Il s'agit d'un service que nous avons développé en partenariat avec Jérome Bouteiller et WebzineMaker     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/1020275-1281256.jpg" alt="Lancement de Kliosk, le widget qui booste votre trafic" title="Lancement de Kliosk, le widget qui booste votre trafic" />
     </div>
     <div>
      Voici donc <a class="link" href="http://www.kliosk.com">kliosk</a>  dont le lancement a eu lieu lundi, qui est un service permettant d'échanger des clics de manière équitable à partir de flux RSS. En effet, en vous inscrivant à <a class="link" href="http://www.kliosk.com">Kliosk</a>  , vous obtenez le code d'un widget à installer sur votre site internet. Ce widget affiche de manière aléatoire les autres sources du réseau. Chaque fois qu'un internaute clique sur un lien de votre widget, le "Kliosk Engine" se charge d'équilibrer votre balance et met votre source en avant sur les autres widgets du réseau jusqu'à ce qu'un visiteur clique sur un de vos articles. Et ainsi de suite. Il s'agit donc d'un système équitable.
     </div>
     <br style="clear:both;"/>
     <div><b>Le widget Kliosk</b></div>
     <div style="position:relative; float:right; padding-left: 1ex;">
      <img src="http://www.aquatz.com/photo/1020275-1281264.jpg" alt="Lancement de Kliosk, le widget qui booste votre trafic" title="Lancement de Kliosk, le widget qui booste votre trafic" />
     </div>
     <div>
      Si vous consultez régulièrement notre blog, vous avez pu voir dans la barre de menu (à droite) que nous avons installé le widget Kliosk depuis environ deux mois. Ce widget affiche trois onglets. Le premier affiche une source à qui le système Kliosk doit des clics. Le second et le troisième reprennent respectivement les articles et les sources les plus cliqués sur le réseaux (et donc à priori les plus pertinents du moment).
     </div>
     <br style="clear:both;"/>
     <div><b>Le portail Kliosk</b></div>
     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/1020275-1281274.jpg" alt="Lancement de Kliosk, le widget qui booste votre trafic" title="Lancement de Kliosk, le widget qui booste votre trafic" />
     </div>
     <div>
      Enfin, le portail Kliosk vous renseigne sur les articles et les sources les plus cliqués dans le réseau, à la manière d'un Digg-like. Il s'agit donc d'une nouvelle façon d'appréhender l'information, puisque les articles mis en avant sont ceux plébiscités par les internautes.<br />Une fois connecté sur le portail, vous trouverez également une zone dans laquelle sont détaillés tous les clics que vous avez reçu ou généré dans les 30 derniers jours et dans les 12 derniers mois. Vous pouvez donc évaluer combien de visiteurs vous a rapporté Kliosk.
     </div>
     <br style="clear:both;"/>
     <div><b>Enfin...</b></div>
     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/1020275-1281279.jpg" alt="Lancement de Kliosk, le widget qui booste votre trafic" title="Lancement de Kliosk, le widget qui booste votre trafic" />
     </div>
     <div>
      Enfin nous tenons à remercier <span><a class="link" href="http://www.jbouteiller.net">Jérôme Bouteiller</a>  <span> (qui est à l'origine de l'idée et du projet), <span>Sébastien Simoni et Jérome Pietri</span> (de <a class="link" href="http://blog.wmaker.net">WebzineMaker</a>  )</span></span>, qui ont souhaité nous impliquer dans ce projet. Au final, nous sommes réellement satifaits du rendu du service qui nous semble avoir un bel avenir !
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Lancement-de-Kliosk,-le-widget-qui-booste-votre-trafic_a55.html" />
  </entry>
  <entry>
   <title>Installer un serveur Web sous Debian 4 en 10 minutes</title>
   <updated>2008-07-31T23:57:00+02:00</updated>
   <id>http://www.aquatz.com/Installer-un-serveur-Web-sous-Debian-4-en-10-minutes_a54.html</id>
   <category term="Pour aller plus loin" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-1001944-1254165.jpg</photo:imgsrc>
   <published>2008-07-31T13:13:00+02:00</published>
   <author><name>Dumenicu SIACCI</name></author>
   <content type="html">
    <![CDATA[
Nous allons voir ensemble comment installer un serveur web afin qu'il soit pleinement fonctionnel. Même si au premier abord cette procédure peut apparaître comme effrayante, en réalité il n'en est rien. Un peu d'organisation et de méthodologie fera l'affaire.     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/1001944-1254165.jpg" alt="Installer un serveur Web sous Debian 4 en 10 minutes" title="Installer un serveur Web sous Debian 4 en 10 minutes" />
     </div>
     <div>
      Lorsque vous vous loggez pour la première fois sur votre serveur, seul le système d'exploitation est installé (ici il s'agit de Debian 4.0 Etch). Afin d'en faire un serveur web pleinement fonctionnel, nous avons besoin d'installer certains logiciels. En l'occurrence, nous voulons une architecture "LAMP" (Linux, Apache, MySQL, PHP). Nous allons donc installer tous ces paquets.
     </div>
     <br style="clear:both;"/>
     <div><b>Préparation</b></div>
     <div>
      Avant d'installer les paquets nous allons mettre à jour le système avec ces commandes :<br /><br /><ul>    <li class="list">aptitude update</li>    <li class="list">aptitude upgrade</li>    </ul></li>
     </div>
     <br style="clear:both;"/>
     <div><b>Installation d'Apache, PHP et MySQL</b></div>
     <div>
      Grâce à ces cinq commandes nous allons successivement installer Apache, PHP5, MySQL, le module MySQL pour PHP et enfin l'interface d'aministration de MySQL, PHPMyAdmin.<br /><br /><ul>    <li class="list">aptitude install apache2</li>    <li class="list">aptitude install php5</li>    <li class="list">aptitude install mysql-server</li>    <li class="list">aptitude install php5-mysql</li>    <li class="list">aptitude install phpmyadmin</li>    </ul></li>    <br /> Si vous tapez l'adresse IP de votre serveur dans un navigateur web, vous verrez une page "It Works !" qui vous indique que votre serveur web est bien installé.
     </div>
     <br style="clear:both;"/>
     <div><b>Installation du serveur DNS </b></div>
     <div>
      Il peut être utile de disposer de son propre serveur DNS. C'est pourquoi nous allons installer Bind9.<br /><br /><ul>    <li class="list">aptitude install bind9</li>    </ul></li>
     </div>
     <br style="clear:both;"/>
     <div><b>Installation de Webmin</b></div>
     <div>
      Webmin est une paquet écrit en Perl qui permet de gérer le serveur grâce à une interface Web. Il nécessite une installation préalable de certains paquets. Il faut donc avant son installation exécuter ces cinq commandes.<br /><br /><ul>    <li class="list">aptitude install libnet-ssleay-perl</li>    <li class="list">aptitude install openssl </li>    <li class="list">aptitude install libauthen-pam-perl</li>    <li class="list">aptitude install libio-pty-perl</li>    <li class="list">aptitude install libmd5-perl </li>    </ul></li>    <br />Ensuite il faut récupérer le paquet webmin puis l'installer, grâce à ces deux commandes.<br /><br /><ul>    <li class="list">wget http://downloads.sourceforge.net/webadmin/webmin_1.390_all.deb?modtime=1198262544&amp;big_mirror=1</li>    <li class="list">dpkg -i webmin_1.390_all.deb</li>    </ul></li>    <br /> A partir de maintenant, vous pouvez accéder à l'interface de webmin à l'adresse https://XX.XX.XX.XX:10000/ (sachant que les X représentent l'adresse IP du serveur).
     </div>
     <br style="clear:both;"/>
     <div><b>Pour finir</b></div>
     <div>
      Pour être complètement complet, il faut supprimer&nbsp; la ligne "RedirectMatch ^/$ /apache2-default/" dans le fichier "/etc/apache2/sites-available/default". A partir de là, la racine de votre serveur se situe à "/var/www".
     </div>
     <br style="clear:both;"/>
     <div><b>Conclusion</b></div>
     <div>
      Au final cette procédure est relativement simple. Avec un peu de sens pratique et d'organisation, on obtient rapidement un serveur fonctionnel. A vous !
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Installer-un-serveur-Web-sous-Debian-4-en-10-minutes_a54.html" />
  </entry>
  <entry>
   <title>WoW2D un projet scolaire de notre Master 1 (C#/XNA)</title>
   <updated>2008-07-25T14:58:00+02:00</updated>
   <id>http://www.aquatz.com/WoW2D-un-projet-scolaire-de-notre-Master-1-C-XNA_a51.html</id>
   <category term="Autour d'Aquatz" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-997453-1247896.jpg</photo:imgsrc>
   <published>2008-07-25T14:57:00+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
Nous avons réalisé pour le compte de notre Master 1, un projet de MMORPG réalisé en C#/XNA, le but n'était pas d'implémenter les fonctionnalités du jeu à proprement parler mais d'en réaliser les bases     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/997453-1247896.jpg" alt="WoW2D un projet scolaire de notre Master 1 (C#/XNA)" title="WoW2D un projet scolaire de notre Master 1 (C#/XNA)" />
     </div>
     <div>
      Dans le cadre de notre première année de Master d’Informatique à l’Università di Corsica, nous avons été amenés à mener à bien un projet de développement, de préférence dans un environnement Microsoft. Nous avons donc choisi de développer un jeu, en utilisant le Framework XNA de Microsoft, qui rend le développement de jeux plus aisé.<br /><br />Pour nous, le but final n’était pas d’obtenir un jeu pleinement fonctionnel, mais plutôt de découvrir une nouvelle technologie, et d’implémenter des fonctionnalités que nous n’avions jamais été amenés à tester. Nous avons donc choisi de copier dans les grandes lignes les idées directrices d’un jeu de rôle multi&#8208;joueurs en ligne très connu, à savoir World of Warcraft. Cependant, le but n’étant absolument pas de nous lancer dans le développement d’un jeu en 3D, nous avons choisi de le réaliser en deux dimensions. Il s’agit là d’un bon début, et cela nous a permis de nous consacrer plus pleinement au développement de l’aspect réseau du jeu, qui représentait pour nous la plus grande part d’incertitude, et l’aspect le plus intéressant du développement.
     </div>
     <br style="clear:both;"/>
     <div><b>Notre présentation PowerPoint</b></div>
     <div>
      <div style=text-align:center" id="__ss_527827"><object style="margin:0px" width="600" height="455"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=presentation-wow2d-1216989693219083-8"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=presentation-wow2d-1216989693219083-8" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="455"></embed></object></div>
     </div>
     <br style="clear:both;"/>
     <div><b>Notre rapport écrit</b></div>
     <div>
      Retrouvez notre rapport écrit en pièce jointe de cet article
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/WoW2D-un-projet-scolaire-de-notre-Master-1-C-XNA_a51.html" />
  </entry>
  <entry>
   <title>AjaxLoad, le générateur d'images de loading ajax</title>
   <updated>2008-07-24T15:57:00+02:00</updated>
   <id>http://www.aquatz.com/AjaxLoad,-le-generateur-d-images-de-loading-ajax_a50.html</id>
   <category term="Astuces" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-995940-1245696.jpg</photo:imgsrc>
   <published>2008-07-24T09:22:00+02:00</published>
   <author><name>Francescu SANTONI</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/995940-1245696.jpg" alt="AjaxLoad, le générateur d'images de loading ajax" title="AjaxLoad, le générateur d'images de loading ajax" />
     </div>
     <div>
      AjaxLoad vous permet de choisir une animation et une couleur et de générer l'image de loading correspondante. Ce service qui parait tout bête vous sera indispensable pour chacun de vos projets<br /><br /><ul>    <li class="list"><a class="link" href="http://www.ajaxload.info/" onclick="window.open(this.href,'_blank');return false;">http://www.ajaxload.info/</a>  </li>    </ul></li>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/AjaxLoad,-le-generateur-d-images-de-loading-ajax_a50.html" />
  </entry>
  <entry>
   <title>AjaxDaddy une collection de scripts sympatique</title>
   <updated>2008-07-24T15:58:00+02:00</updated>
   <id>http://www.aquatz.com/AjaxDaddy-une-collection-de-scripts-sympatique_a49.html</id>
   <category term="Astuces" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-995927-1245679.jpg</photo:imgsrc>
   <published>2008-07-23T08:55:00+02:00</published>
   <author><name>Francescu SANTONI</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/995927-1245679.jpg" alt="AjaxDaddy une collection de scripts sympatique" title="AjaxDaddy une collection de scripts sympatique" />
     </div>
     <div>
      AjaxDaddy est une collection de quelques petits scripts sympa dont certains mériteraient un article à eux seuls. Ce site peut être un vrai gain de temps, à condition que vous trouviez le script qui vous convienne.<br /><br /><ul>    <li class="list"><strong><a class="link" href="http://www.ajaxdaddy.com" onclick="window.open(this.href,'_blank');return false;">http://www.ajaxdaddy.com</a>  </strong></li>    </ul></li>    <br /><br /> <em>Trouvé via <a class="link" href="http://www.amzani.com/Ajax-Daddy-un-annuaire-de-scripts-Ajax_a193.html" onclick="window.open(this.href,'_blank');return false;">amzani.com</a>  </em>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/AjaxDaddy-une-collection-de-scripts-sympatique_a49.html" />
  </entry>
  <entry>
   <title>Aquatz sous WMaker remplace Francescu e Dume sous WordPress</title>
   <updated>2008-07-22T16:56:00+02:00</updated>
   <id>http://www.aquatz.com/Aquatz-sous-WMaker-remplace-Francescu-e-Dume-sous-WordPress_a48.html</id>
   <category term="Aquatz" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-995733-1245399.jpg</photo:imgsrc>
   <published>2008-07-22T16:01:00+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
Deux grands changement viennent d'intervenir dans la vie de notre blog : un changement de nom et d'URL, ainsi qu'un changement de plateforme.     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/995733-1245399.jpg" alt="Aquatz sous WMaker remplace Francescu e Dume sous WordPress" title="Aquatz sous WMaker remplace Francescu e Dume sous WordPress" />
     </div>
     <div>
      Nous avons donc choisi de changer le nom de notre blog pour nous diriger vers un nom plus court, plus international, et surtout plus simple à retenir : <strong>Aquatz</strong>. Bien entendu, ce changement de nom s'accompagne d'un changement d'URL (http://www.aquatz.com).<br />Par ailleurs, nous avons choisi d'abandonner WordPress pour WebzineMaker, un CMS beaucoup plus complet et facile à utiliser.<br />C'est donc un tout nouveau blog que vous avez sous les yeux, même si, grâce à l'équipe de Webzine (qui s'est décarcassée pour importer notre ancien blog sur leur plateforme) nos archives restent accessibles.
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Aquatz-sous-WMaker-remplace-Francescu-e-Dume-sous-WordPress_a48.html" />
  </entry>
  <entry>
   <title>Les frameworks MVC (Model View Controller) et les applications web</title>
   <updated>2008-08-27T17:51:00+02:00</updated>
   <id>http://www.aquatz.com/Les-frameworks-MVC-Model-View-Controller-et-les-applications-web_a47.html</id>
   <category term="Pour aller plus loin" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-995523-1245246.jpg</photo:imgsrc>
   <published>2008-07-22T12:00:00+02:00</published>
   <author><name>Francescu SANTONI</name></author>
   <content type="html">
    <![CDATA[
Cette article explique l'utilité de l'architecture MVC dans les applications web et  vous donne les bases pour faire votre propre Framework adapté à vos besoins...     <div><b>Les grandes lignes de la théorie</b></div>
     <div>
      L'architecture MVC (<a class="link" href="http://en.wikipedia.org/wiki/Architectural_pattern_%28computer_science%29" onclick="window.open(this.href,'_blank');return false;">pattern d'architecture</a>  plus exactement) est un concept qui sépare votre application en trois types de fichiers principaux :<br /><ul>     <li class="list">les <strong>Modèles </strong>qui représentent vos objets logiques (ou métiers) : ils seront manipulés par les Controllers ou les Views, mais ne manipuleront jamais ces derniers</li>    <li class="list">les <strong>Controlleurs </strong>qui s'occupent des opérations entre les models, des modifications, du traitement des données utilisateurs, etc... Ce sont les actions métiers de votre application (à ne pas confondre avec les actions métiers de vos objets!!)</li>    <li class="list">les <strong>Vues </strong>qui se contentent d'afficher les formulaires, les résultats ou tout autre type de page affichée à l'utilisateur</li>    </ul></li>
     </div>
     <br style="clear:both;"/>
     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/995523-1245065.jpg" alt="Les frameworks MVC (Model View Controller) et les applications web" title="Les frameworks MVC (Model View Controller) et les applications web" />
     </div>
     <div>
      
     </div>
     <br style="clear:both;"/>
     <div><b>Ce qu'il en est aujourd'hui</b></div>
     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/995523-1245066.jpg" alt="Les frameworks MVC (Model View Controller) et les applications web" title="Les frameworks MVC (Model View Controller) et les applications web" />
     </div>
     <div>
      
     </div>
     <br style="clear:both;"/>
     <div>
      S'il est vrai qu'à l'origine le concept de l'architecture MVC était assez basique (presque un simple système de rangement), aujourd'hui ce n'est plus le cas. Depuis l'apparition du framework <strong><a class="link"  href="http://www.aquatz.com/A-la-decouverte-de-Ruby-on-Rails_a11.html">Ruby On Rails</a></strong> puis des plus récents <strong>CakePHP</strong> et <strong>Symphony,</strong> la notion de framework MVC a évolué chez la plupart des gens. <br /><br />En effet, que l'on considère que ce soit par un abus de langage ou par une évolution, on attend aujourd'hui d'un framework MVC (pour les applications web) qu'il contienne les éléments suivants :<br /><ul>     <li class="list">L'organisation MVC proprement dite</li>    <li class="list">Un système d'url propres, cohérentes et comprénsibles par l'homme</li>    <li class="list">L'intégration d'un framework javascript pour une ergonomie riche et des effets agréables</li>    <li class="list">Un système de mapping semi-automatique "objets &lt;=&gt; base de données"</li>    <li class="list">La gestion de plusieurs templates pour les vues</li>    <li class="list">Des systèmes permettant l'aide au développement (<em>helpers</em>)</li>    </ul></li>    Cet article n'aura pas pour but de rentrer dans les détails d'une implémentation technique mais de montrer un point de vue des différents concepts existants afin que vous compreniez la puissance mais également la simplicité de tels framework et que vous ayez les connaissances suffisantes pour vous lancer et faire votre propre framework.
     </div>
     <br style="clear:both;"/>
     <div><b>L'organisation MVC</b></div>
     <div>
      Elle dépend fortement de vos besoins, mais est généralement composée comme ci-dessous.<br /><br />L'application marche en termes d'actions effectuables regroupées au sein de différents controllers.<br /><br />Par exemple, une bibliothèque manipulerait les objets (Models) Livre, CD, DVD, Location et Utilisateur.<br /><br />Sémentiquement on pourrait <span style="text-decoration: underline;">par exemple</span> décomposer les actions en deux controllers:<br />Bibliothèque (avec les actions louer, rendre etc...) et Membres (avec nouveau, modifier etc..)<br /><br />Pour les vues, on peut faire une plateforme où chaque action a une vue correspondante ou bien une plateforme où les vues sont réalisées de façon indépendantes et appelées par les actions (par exemple à la fin de celle-ci).<br /><br />La deuxième solution me semble bien plus modulaire dans le sens où deux actions peuvent afficher la même vue et qu'une action pourra afficher (selon les données d'entrée) des vues différentes.
     </div>
     <br style="clear:both;"/>
     <div><b>Des Url bien plus propres</b></div>
     <div>
      Le cas du paragraphe précédant nous donnerait une application dans le genre <em>http://bibli2008.com?controller=membres&amp;action=editer&amp;id=5646</em><br /><br />La plupart des frameworks MVC (mais ce ne sont pas les seuls) intègrent un système de gestion des URL de façon propre du type : <em>http://bibli2008.com/membres/editer/5646</em> voire privilégier des permaLinks pour les utilisateurs <em>http://bibli2008.com/francescu/editer</em>.<br /><br />Grace à Apache, cela est réalisable de deux manières :<br /><ul>     <li class="list">directement dans votre .htaccess avec chaque cas</li>    <li class="list">décomposer les paramètres de l'url dans l'index.php (après avoir pris soin de tout rediriger vers cette page)</li>    </ul></li>    Dans les deux cas il vous faudra gérer en PHP dans votre index.php le routage des requêtes.
     </div>
     <br style="clear:both;"/>
     <div><b>Du Javascript pour des interfaces presque riches</b></div>
     <div>
      Je me contenterai de vous dire qu'il existe une grande diversité de framework Javascript et qu'il n'est pas forcément intéressant (en rapport temps/gain) de faire sa propre librairie. En effet, celles existantes permettent de charger ce dont vous avez besoin, sont de taille assez modeste et sont assez complètes.<br /><br />Se distinguent nottemment les librairies suivantes :<br /><ul>     <li class="list">le couple <strong>Prototype</strong> (Ajax, Dom etc..)/<strong>Scriptaculous</strong>(Effets, éléments graphiques etc..)</li>    <li class="list"><strong>jQuery </strong>qui est assez puissant </li>    <li class="list"><strong>Dojo </strong>qui va très loin</li>    <li class="list"><strong>Ext</strong> qui est assez lourd mais qui peut générer un système d'interface graphique complet</li>    <li class="list">la liste est encore longue (Google Web ToolKit, Yahoo UI, MooScript etc..) et de nombreux comparatifs sont disponibles (vous les trouverez avec une petite recherche google)</li>    </ul></li>
     </div>
     <br style="clear:both;"/>
     <div><b>De vos «Tables SQL» à vos «Classes PHP»</b></div>
     <div>
      Comme le fait Ruby On Rails, les frameworks MVC proposent des outils vous permettant de faire abstraction du système de gestion de base de données (SGBD) et de gérer vos objet comme si vous manipuliez vos enregistrements (le tout optimisé avec un système de cache). <br /><br />Cela se nomme l'<strong>Object-Relational Mapping</strong> (ORM), cela "convertit" les types du monde objet (poo) en ceux du monde relationnel (bdd) et vice versa. Cela fournit également des facilités d'enregistrement, de suppression et de modification.<br /><br />L'implémentation est assez technique mais si vous êtes motivés quelques semaines de travail acharné vous permettront de faire le votre sans grands problèmes impossibles à résoudres (quelques problématiques devront être résolues mais vous y arriverez certainement). Sinon vous trouverez quelques Frameworks ORM sur <a class="link" href="http://fr.wikipedia.org/wiki/Object-relational_mapping" onclick="window.open(this.href,'_blank');return false;">la page Wikipedia (fr)<span>.</span></a> 
     </div>
     <br style="clear:both;"/>
     <div><b>Des petits plus...</b></div>
     <div>
      Il existe également dans les frameworks des petits plus qui vous permettront de gérer facilement les templates (qui certes sont assez simples à mettre en place, mais c'est une étape à ne pas oublier car elle est très importante) ou encore d'avoir des helpers, sortes de "fonctions raccourcis".<br /><br />Par exemple mettre un champs de texte dans une formulaire<br />&lt;?php Form::inputText(array("name" =&gt; "X", "style" =&gt; array("width" =&gt; "30px", "border:none"))); ?&gt;<br />ou transformer une date anglaise en format français <br />&lt;?php Date::EnToFr(date("Y-m-d")); ?&gt;<br /><br />N'hésitez pas à en abuser mais n'hésitez pas non plus à ne les charger qu'en cas de besoin (cf. <a class="link" href="http://fr3.php.net/autoload" onclick="window.open(this.href,'_blank');return false;">la fonction __autoload</a>  )
     </div>
     <br style="clear:both;"/>
     <div><b>Pour conclure</b></div>
     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/995523-1245246.jpg" alt="Les frameworks MVC (Model View Controller) et les applications web" title="Les frameworks MVC (Model View Controller) et les applications web" />
     </div>
     <div>
      La création de votre propre plateforme sera longue mais de nombreux outils sont là pour vous faciliter la tâche. Vous pouvez choisir de partir à zéro ou d'utiliser un framework déjà existant (<a class="link" href="http://www.cakephp.org/" onclick="window.open(this.href,'_blank');return false;">CakePHP </a>  ou <a class="link" href="http://www.symfony-project.org/">Sympony</a>  par exemple) mais vous pouvez également opter pour une solution intermédiaire, qui est de prendre ce qui vous intéresse et de faire ce qui est unique pour votre propre framework, vous aurez alors un framework adapté que vous maîtriseriez sur le bout des doigts.
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Les-frameworks-MVC-Model-View-Controller-et-les-applications-web_a47.html" />
  </entry>
  <entry>
   <title>Programme estival</title>
   <updated>2008-07-24T16:37:00+02:00</updated>
   <id>http://www.aquatz.com/Programme-estival_a46.html</id>
   <category term="Aquatz" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-992280-1240223.jpg</photo:imgsrc>
   <published>2008-06-12T19:49:00+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; float:right; padding-left: 1ex;">
      <img src="http://www.aquatz.com/photo/992280-1240223.jpg" alt="Programme estival" title="Programme estival" />
     </div>
     <div>
      Avec les beaux jours (peut-être pas si beaux que ça d'ailleurs), c'est l'été qui revient. Nous voilà donc repartis pour un été de travail dans le rez-de-chaussée de la maison de Dume. Après un bref balayage nous avons donc repris possession de nos bureaux respectifs, avec une petite amélioration cette année, puisque nous nous sommes offerts des écrans qui nous apportent un confort beaucoup plus important pour le codage. Il est à noter que notre environnement de travail doit véritablement être agréable, puisque l'année dernière un oiseau était venu visiter nos locaux, et que cette année, c'est un merle qui a élu domicile (et couve probablement ses oeufs) juste à côté de nous dans le jardin. On est vraiment très flattés ! Pour revenir à notre programme de cet été : <ul>    	<li class="list">Développement d'un projet en tant qu'associés</li>    	<li class="list">Développement de la nouvelle version d'<a class="link" href="http://www.xfruits.com">xFruits</a>  (encore et toujours...)</li>    	<li class="list">Finalisation de quelques projets et développement en suspens</li>    </ul></li>    Voilà donc un programme plutôt chargé qui nous attend !
     </div>
     <br style="clear:both;"/>
     <div>
      
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Programme-estival_a46.html" />
  </entry>
  <entry>
   <title>M1 - Résultats de notre première année de Master</title>
   <updated>2008-07-24T16:38:00+02:00</updated>
   <id>http://www.aquatz.com/M1-Resultats-de-notre-premiere-annee-de-Master_a45.html</id>
   <category term="Autour d'Aquatz" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-992279-1240222.jpg</photo:imgsrc>
   <published>2008-06-06T19:57:00+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; float:right; padding-left: 1ex;">
      <img src="http://www.aquatz.com/photo/992279-1240222.jpg" alt="M1 - Résultats de notre première année de Master" title="M1 - Résultats de notre première année de Master" />
     </div>
     <div>
      Nous avons donc eu connaissance aujourd'hui des résultats de notre première année de Master d'Informatique à l'Università di Corsica et ils ont été les suivants :
<ul>
	<li><span style="text-decoration: underline;"><strong>Francescu :</strong></span> Mention Très-Bien avec 16 de moyenne</li>
	<li><span style="text-decoration: underline;"><strong>Dume :</strong></span> Mention Bien avec 14 de moyenne</li>
</ul>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/M1-Resultats-de-notre-premiere-annee-de-Master_a45.html" />
  </entry>
  <entry>
   <title>M1S7 - JavaFx : Sun attaque le marché des RIA</title>
   <updated>2008-07-23T10:09:00+02:00</updated>
   <id>http://www.aquatz.com/M1S7-JavaFx-Sun-attaque-le-marche-des-RIA_a44.html</id>
   <category term="Archives Wordpress" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-992278-1240221.jpg</photo:imgsrc>
   <published>2007-12-22T22:11:00+01:00</published>
   <author><name>Francescu SANTONI</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/992278-1240221.jpg" alt="M1S7 - JavaFx : Sun attaque le marché des RIA" title="M1S7 - JavaFx : Sun attaque le marché des RIA" />
     </div>
     <div>
      <strong><em>Année Universitaire 2007-2008, semestre 1  <br /></em></strong>JavaFx est le plus gros projet actuel de Sun pour intégrer le marché des RIA, découvrez à travers cette présentation réalisée pour l'UE Java de Mme. NIVET pourquoi Sun veut il sortir ce produit, quels sont les objectifs de JavaFx et comment Sun compte mettre cela en oeuvre.  <br /><ul>    <br />	<li class="list"><strong>Matière </strong>: Java</li>  <br />	<li class="list"><strong>Sujet </strong>: JavaFx</li>  <br />	<li class="list"><strong>Date de l'oral</strong> : 20/12/2007</li>  <br />	<li class="list"><strong>Elèves </strong>: MARTINETTI Jean-Philippe &amp; SANTONI Francescu</li>  <br />	<li class="list"><strong>Notre présentation :</strong></li>  <br /></ul>  [slideshare 210561 java-fx-1198353911234244-4]  <br /><ul>    <br />	<li class="list"><strong>Notre rapport :</strong></li>  <br /></ul>  [slideshare 210596 java-fx-rapport-1198357475697530-3]<em><em>  <br /><a class="link" href="http://blog.ritrattu.com/wp-content/uploads/2007/12/javafxrapport.pdf">(version pdf)</a> </em></em>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/M1S7-JavaFx-Sun-attaque-le-marche-des-RIA_a44.html" />
  </entry>
  <entry>
   <title>M1S7 - Présentation sur Java RMI</title>
   <updated>2008-07-23T10:10:00+02:00</updated>
   <id>http://www.aquatz.com/M1S7-Presentation-sur-Java-RMI_a43.html</id>
   <category term="Archives Wordpress" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-992277-1240220.jpg</photo:imgsrc>
   <published>2007-12-21T09:59:00+01:00</published>
   <author><name>Dominique SIACCI</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/992277-1240220.jpg" alt="M1S7 - Présentation sur Java RMI" title="M1S7 - Présentation sur Java RMI" />
     </div>
     <div>
      <strong><em>Année Universitaire 2007-2008, semestre 1  </em></strong>Dans le cadre de notre module&nbsp;de Java&nbsp;j'ai&nbsp;réalisé&nbsp;une présentation sur Java RMI avec un collègue.    &nbsp;    &nbsp;  <ul>      	<li class="list"><strong>Matière </strong>: Java</li>  	<li class="list"><strong>Sujet </strong>: Java RMI</li>  	<li class="list"><strong>Date de l'oral</strong> : 20/12/2007</li>  	<li class="list"><strong>Elèves </strong>:</li>  <li class="list"><ul>      	<li class="list">Dominique SIACCI</li>  	<li class="list">Benjamin PERENEY</li>  </ul>  	</li>  <li class="list"><strong>Notre&nbsp;support :&nbsp;</strong><a class="link" href="http://blog.ritrattu.com/wp-content/uploads/2007/12/support_java_rmi_siacci_pereney.pdf" onclick="window.open(this.href,'_blank');return false;"><strong>Support </strong></a> </li>  	<li class="list"><strong>Notre&nbsp;rapport:&nbsp;</strong><a class="link" href="http://blog.ritrattu.com/wp-content/uploads/2007/12/rapport_java_rmi_siacci_pereney.pdf" onclick="window.open(this.href,'_blank');return false;"><strong>Rapport </strong></a> </li>  </ul></li>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/M1S7-Presentation-sur-Java-RMI_a43.html" />
  </entry>
  <entry>
   <title>M1S7 - Présentation sur l'eXtreme Programming</title>
   <updated>2008-07-23T10:23:00+02:00</updated>
   <id>http://www.aquatz.com/M1S7-Presentation-sur-l-eXtreme-Programming_a42.html</id>
   <category term="Archives Wordpress" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-992276-1240219.jpg</photo:imgsrc>
   <published>2007-12-12T09:47:00+01:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/992276-1240219.jpg" alt="M1S7 - Présentation sur l'eXtreme Programming" title="M1S7 - Présentation sur l'eXtreme Programming" />
     </div>
     <div>
      <em><strong>Année Universitaire 2007-2008, semestre 1</strong></em><br> <br>Dans le cadre de notre module d'analyse et conception orientée objet (de notre première année de master) nous avons tous deux réalisé&nbsp;une présentations sur l'eXtreme Programming. &nbsp; <br><br><ul>
     	<li class="list"><strong>Matière </strong>: Analyse et Conception Orientée Objet</li>
  	<li class="list"><strong>Sujet </strong>: eXtreme Programming</li>
  	<li class="list"><strong>Date de l'oral</strong> : 11/12/2007</li>
  	<li class="list"><strong>Elèves </strong>:</li>
<ul>
     	<li class="list">Dominique SIACCI</li>
  	<li class="list">Francescu SANTONI</li>
  </ul>

<li class="list"><strong>Notre&nbsp;support :&nbsp;<a class="yahoorte_class" href="http://www.aquatz.com/index.php?preaction=joint&id_joint=98150" target="_blank">Support </a> </strong></li>
  </ul></li>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/M1S7-Presentation-sur-l-eXtreme-Programming_a42.html" />
  </entry>
  <entry>
   <title>M1S7 - Design pattern « Chain of Responsability »</title>
   <updated>2007-11-22T18:12:41+01:00</updated>
   <id>http://www.aquatz.com/M1S7-Design-pattern-Chain-of-Responsability_a41.html</id>
   <category term="Archives Wordpress" />
   <published>2007-11-22T18:12:41+01:00</published>
   <author><name>Francescu SANTONI</name></author>
   <content type="html">
    <![CDATA[
     <div>
      <em><em><strong>Année Universitaire 2007-2008, semestre 1</strong></em>
Dans le cadre de notre module d'analyse et conception orientée objet (de notre première année de master) nous avons tous deux réalisé des présentations sur un Design Pattern. Voici le design pattern Chain of Responsability
</em>
<ul>
	<li><em><strong>Matière </strong>: Analyse et Conception Orientée Objet</em></li>
	<li><em><strong>Sujet </strong>: Design Pattern GoF Chaine de responsabilité
</em></li>
	<li><em><strong>Date de l'oral</strong> : 20/11/2007</em></li>
	<li><em><strong>Auteur : <strong>Francescu SANTONI</strong>
</strong></em></li>
	<li><em><strong>Mon support : (bientôt disponible)
</strong></em></li>
</ul>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/M1S7-Design-pattern-Chain-of-Responsability_a41.html" />
  </entry>
  <entry>
   <title>M1S7 - Presentation du Design Pattern FlyWeight</title>
   <updated>2007-11-21T09:46:25+01:00</updated>
   <id>http://www.aquatz.com/M1S7-Presentation-du-Design-Pattern-FlyWeight_a40.html</id>
   <category term="Archives Wordpress" />
   <published>2007-11-21T09:46:25+01:00</published>
   <author><name>Dominique SIACCI</name></author>
   <content type="html">
    <![CDATA[
     <div>
      <em><strong><img id="image92" title="FlyWeight" alt="FlyWeight" src="http://blog.ritrattu.com/wp-content/uploads/2007/12/flyweight.miniature.gif" align="right" />Année Universitaire 2007-2008, semestre 1</strong></em>
Dans le cadre de notre module d'analyse et conception orientée objet (de notre première année de master) nous avons tous deux réalisé des présentations sur un Design Pattern. Pour ma part, je me suis chargé de présenter le design pattern FlyWeight.
<ul>
	<li><strong>Matière </strong>: Analyse et Conception Orientée Objet</li>
	<li><strong>Sujet </strong>: Design Pattern GoF FlyWeight</li>
	<li><strong>Date de l'oral</strong> : 20/11/2007</li>
	<li><strong>Elèves </strong>:</li>
<ul>
	<li>Dominique SIACCI</li>
</ul>
	<li><strong>Mon support : <a href="http://blog.ritrattu.com/wp-content/uploads/2007/12/presentationflyweightme_siacci.pdf" target="_blank">Support </a></strong></li>
</ul>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/M1S7-Presentation-du-Design-Pattern-FlyWeight_a40.html" />
  </entry>
  <entry>
   <title>Developper en Java, surement pas MAC !</title>
   <updated>2008-07-23T10:26:00+02:00</updated>
   <id>http://www.aquatz.com/Developper-en-Java,-surement-pas-MAC-!_a39.html</id>
   <category term="Archives Wordpress" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-992273-1240216.jpg</photo:imgsrc>
   <published>2007-10-30T18:01:00+01:00</published>
   <author><name>Francescu SANTONI</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; float:right; padding-left: 1ex;">
      <img src="http://www.aquatz.com/photo/992273-1240216.jpg" alt="Developper en Java, surement pas MAC !" title="Developper en Java, surement pas MAC !" />
     </div>
     <div>
      Comme le montrait mon précédant article, le choix d'un OS pour developper en Java n'est pas simple. Apple semble ne pas s'en soucier plus que ça : en effet, Java 6 n'a tout simplement pas été intégré a MAC OS X Leopard... Apple qui aurait pu faire taire ses détraqueurs leurs donne le baton pour se faire battre.
Apple a mis à jour Java dans l'OS X v10.5 (Leopard) de la version <strong>1.5.0_07</strong> à la <strong>1.5.0_13</strong> mais impossible de trouver Java 6 sur Leopard ou sur le site d'Apple. Les précédantes beta de Java 1.6 qui étaient disponible pour les developpeurs ont été supprimé et ne semblent donc plus être disponible.

La position des developpeurs Java sur MAC est assez difficile... Comment justifient ils leur choix ?

<a href="http://wolfpaulus.com/journal/java/java6leo.html">Voir l'article original</a>

<a href="http://www.wikio.com/search/java+mac">Quelques articles qui en parlent</a>

<a href="http://weblogs.java.net/blog/kirillcool/archive/2007/10/why_i_donat_car.html">Quelqu'un qui "s'en fout" mais qui écrit quand même un article dessus... </a>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Developper-en-Java,-surement-pas-MAC-!_a39.html" />
  </entry>
  <entry>
   <title>Java : Crypter vos mots de passe avant de les enregistrer dans une base de données</title>
   <updated>2007-09-30T19:40:15+02:00</updated>
   <id>http://www.aquatz.com/Java-Crypter-vos-mots-de-passe-avant-de-les-enregistrer-dans-une-base-de-donnees_a38.html</id>
   <category term="Archives Wordpress" />
   <published>2007-09-30T19:40:15+02:00</published>
   <author><name>Dominique SIACCI</name></author>
   <content type="html">
    <![CDATA[
     <div>
      Avez-vous déjà ressenti le besoin de crypter ces mots de passe que vous enregistrez dans votre dbase de données pour  l'authentification des utilisateurs dans votre application ?
Voudriez-vous crypter le texte de manière à ce que seule votre application puisse l'interpréter, et que le résultat n'ait pas de sens pour un oeil non exercé ?
Voilà un petit exemple de code pour crypter un chaine de caractères.

<code> public synchronized String encrypt(String plaintext) throws SystemUnavailableException
{
MessageDigest md = null;
try
{
md = MessageDigest.getInstance("SHA"); //step 2
}
catch(NoSuchAlgorithmException e)
{
throw new SystemUnavailableException(e.getMessage());
}
try
{
md.update(plaintext.getBytes("UTF-8")); //step 3
}
catch(UnsupportedEncodingException e)
{
throw new SystemUnavailableException(e.getMessage());
}
byte raw[] = md.digest(); //step 4
String hash = (new BASE64Encoder()).encode(raw); //step 5
return hash; //step 6
}
</code>
Pour comparer deux chaines, encryptez la seconde suivant le même procédé puis comparez les.
Pour une analyse plus détaillée, je vous inivite à lire l'article de <a href="http://www.devbistro.com/articles/Java/Password-Encryption">James Shvarts</a>.

Source : <a title="http://www.javablogs.xyling.com/" href="http://www.javablogs.xyling.com/">http://www.javablogs.xyling.com/</a>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Java-Crypter-vos-mots-de-passe-avant-de-les-enregistrer-dans-une-base-de-donnees_a38.html" />
  </entry>
  <entry>
   <title>Developper en Java, et pourquoi pas Solaris ?</title>
   <updated>2007-09-29T18:17:37+02:00</updated>
   <id>http://www.aquatz.com/Developper-en-Java,-et-pourquoi-pas-Solaris_a37.html</id>
   <category term="Archives Wordpress" />
   <published>2007-09-29T18:17:37+02:00</published>
   <author><name>Francescu SANTONI</name></author>
   <content type="html">
    <![CDATA[
     <div>
      <img align="left" id="image81" alt="John O'Conner" src="http://blog.ritrattu.com/wp-content/uploads/2007/10/john_oconner.jpg" />John O'Conner s'est posé la question de savoir quel été le meilleur OS pour developper en Java.

En tant qu'utilisateur régulier de Windows, celui-ci a été son choix <em>de facto </em>en tant que plateforme de developpement. Il a cependant testé le developpement sur MACOSX. Certes son interface est des plus agréable mais son manque de mise à jour concernant le SDK Java a été determinant dans le fait de ne pas developper sous MACOSX.

Son essai s'est donc tourné vers Ubuntu avec des résultats très satisfaisant. Quant à l'essai de Solaris son avis était plutôt mitigé.

Ses premières conclusions étaient donc favorables à Windows et Ubuntu.

Mais comme les outils Solaris étaient très interessants et qu'il y a quelques jours sortait <a href="http://developers.sun.com/sxde/">Solaris Express Developer Edition 9/07</a>  et ca a changé la donne. Il décide donc d'essayer Solaris et de nous tenir au courant.
<table cellspacing="3" cellpadding="5" border="1" align="center">
<tr>
<td valign="top"><strong>Windows</strong><strong /><span style="color: green"><strong /></span><span style="color: green"><strong /></span><span style="color: green"><strong /></span>

<span style="color: green"><strong>Points forts</strong></span>

<span style="color: green"><strong /></span>L'habitude

Les mises à jour

<span style="color: red"><strong>Points faibles</strong></span>

L'interface</td>
<td valign="top"><strong>MacOs X</strong><span style="color: green"><strong /></span><span style="color: green"><strong /></span><span style="color: green"><strong /></span>

<span style="color: green"><strong>Points forts</strong></span>

L'interface

<span style="color: red"><strong>Points faibles</strong></span>

Les mises à jour</td>
<td valign="top"><strong>Ubuntu</strong>

<strong /><strong /><strong /><span style="color: green"><strong /></span><span style="color: green"><strong>Points forts</strong></span>

<span style="color: green"><strong /></span>L'interface

Les mises à jour

<span style="color: red"><strong>Points faibles</strong></span>

Le panel d'outils disponible</td>
<td valign="top"><strong>Solaris</strong><strong /><strong /><span style="color: green"><strong /></span><span style="color: green"><strong /></span>

<span style="color: green"><strong>Points forts</strong></span>

<span style="color: green"><strong /></span>Le panel d'outils disponible

Les mises à jour

<span style="color: red"><strong>Points faibles</strong></span>

Drivers</td>
</tr>
</table>
<a href="http://weblogs.java.net/blog/joconner/archive/2007/09/solaris_for_jav.html">L'article de John O'Conner</a>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Developper-en-Java,-et-pourquoi-pas-Solaris_a37.html" />
  </entry>
  <entry>
   <title>Encodage : convertir un site en UTF8 - PHP/MySQL</title>
   <updated>2008-11-23T15:22:00+01:00</updated>
   <id>http://www.aquatz.com/Encodage-convertir-un-site-en-UTF8-PHP-MySQL_a36.html</id>
   <category term="Pour aller plus loin" />
   <photo:imgsrc>http://www.aquatz.com/photo/imagette-992270-1240213.jpg</photo:imgsrc>
   <published>2007-08-29T15:38:00+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
     <div style="position:relative; float:left; padding-right: 1ex;">
      <img src="http://www.aquatz.com/photo/992270-1240213.jpg" alt="Encodage : convertir un site en UTF8 - PHP/MySQL" title="Encodage : convertir un site en UTF8 - PHP/MySQL" />
     </div>
     <div>
      Alors qu'il y a quelques années <a class="link" href="http://www.cl.cam.ac.uk/%7Emgk25/ucs/utf-8-history.txt" onclick="window.open(this.href,'_blank');return false;">l'UTF8 naissait</a>  , réconcilliant le monde entier, on aurait pu penser qu'il aurait immédiatement trouvé sa place. Si aujourd'hui créer un projet en UTF-8 est bien loin d'être systématique, il ne s'agit pas forcément d'un manque de volonté, mais plutôt d'une difficulté de mise en oeuvre, souvent déconcertante. Le problème d'encodage est récurrent, mais je vais essayer dans cet article de vous prouver que la mise en oeuvre de l'UTF-8 dans vos projets peut se faire très rapidement. Voici donc les grandes étapes pour migrer votre application web en UTF8, et pourquoi pas conquérir de lointains marchés !
     </div>
     <br style="clear:both;"/>
     <div>
      <h2>Requêtes HTTP</h2>
<br />
Tout d'abord quand un visiteur arrive sur votre site, son navigateur doit savoir qu'il a affaire à de l'UTF8, alors voici la marche à suivre.
<br />
<ul>
<li>Par ordre de priorité pour le navigateur :</li>
</ul>
<ul>
<li>Fixer le parametre charset dans les requêtes HTTP (<a target="_blank" href="http://www.w3.org/International/O-HTTP-charset.fr.php">cf W3C</a>)</li>
<ul>
<li>dans apache remplacez <a target="_blank" href="http://httpd.apache.org/docs-2.0/mod/core.html#adddefaultcharset">AddDefaultCharset</a> ISO-8859-1 par <code>AddDefaultCharset UTF-8</code>,  (dans httpd.conf sinon rajoutez la ligne dans le .htaccess)</li>

<li>ou/et dans PHP avec <code>header('Content-Type: text/html; charset=utf-8');</code></li>
</ul>
<li>Mettre après le &lt;head&gt; dans votre fichier HTML le code suivant (ce code est connu de tous)</li>
<ul>
<li><strong><code>&lt;meta content="text/html; Charset=UTF-8" http-equiv="Content-Type" /&gt;</code></strong><strong> </strong></li>
</ul>

     </div>
     <br style="clear:both;"/>
     <div>
      <h2>MySQL</h2>
<br />
<ul>
<li>Lisez <a target="_blank" href="http://www.siteduzero.com/tuto-3-6276-1-mysql-comprendre-les-jeux-de-caracteres-et-interclassements.html#ss_part_5">cet article</a> en premier lieu</li>
</ul>
<ul>
<li>Ensuite, il faut premièrement changer les interclassements</li>
<ul>
<li>de la base</li>
<ul>
<li><strong>ALTER DATABASE </strong>nomBase <strong>CHARACTER SET UTF8</strong></li>

</ul>
<li>des tables</li>
<ul>
<li><strong><span class="kw1">ALTER</span> <span class="kw1">TABLE</span> </strong>nomTable<strong> CHARACTER <span class="kw1">SET</span> UTF8</strong></li>
</ul>
<li>des colonnes</li>

<ul>
<li><strong><span class="kw1">ALTER</span> <span class="kw1">TABLE</span> </strong>nomTable<strong> CONVERT <span class="kw1">TO</span> CHARACTER <span class="kw1">SET</span> UTF8</strong></li>
</ul>
</ul>

<ul>
<ul>
<li>ceci changera toutes les colonnes de la table et <strong>convertira </strong>les données. Si vous aviez déjà mis de l&#8217;UTF8 dans une colonne avant d&#8217;en changer l&#8217;encodage il est encore possible de rétablir la cohérence des données :</li>
<ul>
<li><strong><span class="kw1">ALTER</span> <span class="kw1">TABLE</span> </strong>nomTable <span class="kw1"><strong><span class="kw1">CHANGE</span> </strong>nomColonne nomColonne <strong>BLOB;<br />

<span class="kw1">ALTER</span> <span class="kw1">TABLE</span> </strong>nomTable <span class="kw1"><span class="kw1"><strong><span class="kw1">CHANGE</span> </strong>nomColonne nomColonne<strong> TEXT CHARACTER <span class="kw1">SET</span> UTF8;</strong></span></span></span></li>
</ul>
</ul>
</ul>

<li>Puis il faut prévenir MySQL que vos interractions se feront en UTF8 en envoyant <strong>à chaque connexion :</strong></li>
<li><strong><span class="kw1">SET</span> NAMES UTF8</strong></li>
</ul>
     </div>
     <br style="clear:both;"/>
     <div style="position:relative; text-align : center; padding-bottom: 1em;">
      <img src="http://www.aquatz.com/photo/992270-1431878.jpg" alt="Encodage : convertir un site en UTF8 - PHP/MySQL" title="Encodage : convertir un site en UTF8 - PHP/MySQL" />
     </div>
     <div>
      <h2>Editez en UTF8</h2>
<br />

Pour cela il faut configurer votre éditeur pour que vos fichiers soient en UTF8 (c&#8217;est nécessaire uniquement dans le cas de fichiers avec données sensibles - cad avec accents ou autres caractères non ASCII). 
<br /><br />
Veillez à placer l&#8217;encodage en UTF8 <span style="font-weight: bold">sans BOM </span>car sinon le fichier contiendra un octet d&#8217;entête et PHP ne pourra plus envoyer de header ou de session (<a target="_blank" href="http://bugs.php.net/bug.php?id=22108">bug PHP#22108</a>).
     </div>
     <br style="clear:both;"/>
     <div>
      <h2>Developpez en PHP</h2>
<br />
Attention, une fois que votre site est en UTF-8 il va falloir changer quelques habitudes de développement :
<ul>
<li>jetez un coup d&#8217;oeil à l&#8217;extension <a target="_blank" href="http://fr3.php.net/manual/fr/ref.mbstring.php">Mbstring</a>, par exemple pour strlen, utilisez mb_strlen</li>
<li>Comme l'a dit <i>irnine94</i> dans son commentaire, faites bien attention car certaines fonction prennent en paramètre un charset qui par défaut est l'ISO vous devrez donc passer en paramètre UTF-8, comme par exemple la fonction <a target="_blank" href="http://fr2.php.net/manual/fr/function.htmlentities.php">htmlentities</a></li>
</ul>


  <br />Bonne chance à vous, et gardez à l'esprit que l'idée générale est d'avoir de l'UTF8 à tous les endroits de votre application.
     </div>
     <br style="clear:both;"/>
     <div>
      
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Encodage-convertir-un-site-en-UTF8-PHP-MySQL_a36.html" />
  </entry>
  <entry>
   <title>WebzineMaker - Import / Export RSS</title>
   <updated>2007-08-07T09:38:26+02:00</updated>
   <id>http://www.aquatz.com/WebzineMaker-Import-Export-RSS_a35.html</id>
   <category term="Archives Wordpress" />
   <published>2007-08-07T09:38:26+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
     <div>
      <img align="left" alt="WebzineMaker" id="image72" title="WebzineMaker" src="http://blog.ritrattu.com/wp-content/uploads/2007/07/wm.png" />Notre collaboration avec la société ajaccienne <a href="http://www.wmaker.net">WebzineMaker</a> nous a cette fois amenés à travailler sur la nouvelle version (dite "V4") de leur nouveau service. Nous avons donc réalisé deux fonctionnalités très intéressantes, à savoir l'import du contenu d'un fichier RSS dans le webzine, et l'export du contenu du webzine dans une autre plateforme (via la technologie des API de publication). Nous avions déjà travaillé avec cette technologie sur le projet xFruits afin de réaliser la brique RSS to MyBlog. Cette nouvelle fonctionnalité sera bientôt à disposition des heureux testeurs de la V4.

<!--more--> Ces deux fonctionnalités sont assez avancés, permettant toutes deux d'appliquer un filtre sur le flux. De plus l'import permet de choisir la rubrique et l'état de publication.
<div style="text-align: center"><img id="image76" alt="Import RSS - Webzine V4" src="http://blog.ritrattu.com/wp-content/uploads/2007/07/screenshotimportrss.jpg" /></div>
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/WebzineMaker-Import-Export-RSS_a35.html" />
  </entry>
  <entry>
   <title>Brainstorming (presque) dans le Fiumorbu...</title>
   <updated>2007-07-24T15:45:15+02:00</updated>
   <id>http://www.aquatz.com/Brainstorming-presque-dans-le-Fiumorbu_a33.html</id>
   <category term="Archives Wordpress" />
   <published>2007-07-24T15:45:15+02:00</published>
   <author><name>Francescu e Dume</name></author>
   <content type="html">
    <![CDATA[
     <div>
      <img align="left" alt="Ghisonnaccia" id="image74" title="Ghisonnaccia" src="http://blog.ritrattu.com/wp-content/uploads/2007/07/ghiso.png" />Nous nous sommes rendus  ce week end à <a href="http://maps.google.com/maps?f=q&hl=fr&geocode=&q=ghisonaccia&sll=37.0625,-95.677068&sspn=24.981718,58.710937&ie=UTF8&z=12&om=1">Ghisonnaccia</a> afin de rencontrer <a href="http://www.wmaker.net">nos amis ajacciens</a> qui étaient accompagnés de <a href="http://www.ziki.com/fr/people/loichay">Loïc Haÿ</a> (dans l'optique de pousser un peu plus loin la réflexion sur la prochaine version d'<a href="http://www.xfruits.com">xFruits</a>). Nous avons donc passés deux jours très agréables en leur compagnie, et sommes désormais un peu plus fixés sur l'avenir d'xFruits. Loïc nous a apporté sa vision de veilleur, nous a permis de mieux cibler les fonctionnalités et l'ergonomie de la nouvelle version du service, et nous pouvons dores et déjà dire que la différence avec l'actuel sera belle et bien marquée, et que ce service saura conquérir de nombreux veilleurs !
     </div>
     <br style="clear:both;"/>
    ]]>
   </content>
   <link rel="alternate" href="http://www.aquatz.com/Brainstorming-presque-dans-le-Fiumorbu_a33.html" />
  </entry>
</feed>
