<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.jflad.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>JFLAD Blog: Recherche &amp; développement: Ajax, Javascript, CSS, XHTML, Flash, Référencement, Webmarketing, Open Source, gestion de projet - XHTML</title>
  <link>http://blog.jflad.com/</link>
  <description>JFLAD Blog présente les travaux de veille et recherche sur les technologies: Ajax, Javascript, CSS, XHTML, Flash, Ria, Application riche, Référencement, Webmarketing, Gestion de projet, Open Source.</description>
  <language>fr</language>
  <pubDate>Wed, 15 Feb 2012 08:08:23 +0000</pubDate>
  <copyright>jflad</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Faire une requête en Ajax avec Mootools</title>
    <link>http://blog.jflad.com/post/Faire-une-requette-en-Ajax-avec-Mootools</link>
    <guid isPermaLink="false">urn:md5:e2df1a67db646be45f75aec073c38c02</guid>
    <pubDate>Tue, 28 Aug 2007 16:58:00 +0000</pubDate>
    <dc:creator>julien lavault</dc:creator>
        <category>Ajax</category>
        <category>Ajax</category><category>Google</category><category>Javascript</category><category>Mootols</category><category>Mootools</category><category>PHP</category><category>SQL</category><category>XHTML</category>    
    <description>    &lt;p&gt;&lt;img style=&quot;margin: 0 1em 1em 0; float: left;&quot; alt=&quot;&quot; src=&quot;http://blog.jflad.com/public/logo/mootools.jpg&quot; /&gt;Ce tutoriel vous montre comment faire des requêtes en &lt;a href=&quot;http://blog.jflad.com/tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;avec la librairie &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;&lt;a href=&quot;http://blog.jflad.com/tag/Mootols&quot;&gt;Mootols&lt;/a&gt;, c'est à dire comment afficher des données provenant d'une base de données en fonction d'une requête &lt;a href=&quot;http://blog.jflad.com/tag/SQL%20&quot;&gt;SQL &lt;/a&gt;sans rechargement de la page et en apportant une touche d'interactivité. Cette application &lt;a href=&quot;http://blog.jflad.com/tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;se greffera sur un site traditionnel, car comme je l'ai déjà expliqué dans un précédent &lt;a style=&quot;font-weight: bold;&quot; hreflang=&quot;fr&quot; href=&quot;http://blog.jflad.com/post/Beaucoup-damalgame-dans-le-mot-Ajax&quot;&gt;billet&lt;/a&gt;, une application &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt; se greffe sur un site déjà existant afin de bénéficier de son référencement et d'une structure stable dans le cas où le client a désactivé le &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;de son navigateur.&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;Avant de commencer, il est important de comprendre deux choses qui sont essentielles dans le développement d'un application &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;: les conteneurs et les gestionnaires d'évènements (je parle aux non initiés !!!).&lt;/p&gt;
&lt;br /&gt;
&lt;h3&gt;Les conteneurs&lt;/h3&gt;
&lt;p&gt;Les conteneurs vont vous permettre de délimiter les zones d'affichage des données, ce sont des 'div' que l'on identifie grâce à leur 'id'. Il est important de bien les nommer afin de pourvoir les retrouver facilement !&lt;/p&gt;
&lt;h3&gt;Les gestionnaires d'évènements&lt;/h3&gt;
&lt;p&gt;Les gestionnaires d'évènements vont vous permettre de récupérer les évènements de la page suivant les actions de l'utilisateur. Exemple: quand l'utilisateur 'click' sur un bouton, quand les données sont chargées avec succès 'onSucces' ...&lt;br /&gt;&lt;a href=&quot;http://blog.jflad.com/tag/Mootools%20&quot;&gt;Mootools &lt;/a&gt;dispose de puissants gestionnaires d'évènements qui vont vous permettre de contrôler l'ensemble des actions de l'utilisateur et des différents états de la page.&lt;/p&gt;
&lt;p&gt;Dans un premier temps il faut développer le site normalement pour qu'il fonctionne en totale indépendance du &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;et pour être référencé sous &lt;a href=&quot;http://blog.jflad.com/tag/Google&quot;&gt;Google&lt;/a&gt;. Conservez vos méthodes et outils traditionnels pour concevoir votre site, il faut juste bien définir le nom des 'id' des éléments qui seront utilisés par nos scripts &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;, par exemple le conteneur qui affiche les données, le menu qui déclenche les requêtes &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;, etc... &lt;br /&gt;Une fois le site construit, nous allons développer notre applications &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;, pour se faire nous aurons besoin de:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Notre page &lt;a href=&quot;http://blog.jflad.com/tag/XHTML%20&quot;&gt;&lt;a href=&quot;http://blog.jflad.com/tag/XHTML%20&quot;&gt;XHTML &lt;/a&gt;&lt;/a&gt;avec un menu en liste,&lt;/li&gt;
&lt;li&gt;La librairie &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;&lt;a href=&quot;http://blog.jflad.com/tag/Mootools&quot;&gt;Mootools&lt;/a&gt; à inclure dans l'entête de la page,&lt;/li&gt;
&lt;li&gt;Un fichier &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;qui exécute la requête &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Un fichier &lt;a href=&quot;http://blog.jflad.com/tag/PHP%20&quot;&gt;PHP &lt;/a&gt;qui traite la requête et retourne les données à afficher.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comme le développement de l'application &lt;a href=&quot;http://blog.jflad.com/tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;est indépendant de votre site, elle peut être déployée sur un site déjà existant sans nécessité de modification sur la structure du site! Il vous faudra alors uniquement inclure vos librairies &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;et &lt;a href=&quot;http://blog.jflad.com/tag/Mootools%20&quot;&gt;Mootools &lt;/a&gt;et créer vos fichiers &lt;a href=&quot;http://blog.jflad.com/tag/PHP%20&quot;&gt;PHP &lt;/a&gt;qui effectueront vos traitements coté serveur.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Débutons désormais le développement de l'application &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;, tout d'abord il faut inclure dans l'entête la librairie &lt;a href=&quot;http://blog.jflad.com/tag/Mootools%20&quot;&gt;Mootools &lt;/a&gt;que vous pouvez télécharger sur le site de &lt;a hreflang=&quot;fr&quot; href=&quot;http://mootools.net/download&quot;&gt;Mootools.net&lt;/a&gt;, et le script &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;que nous allons développer. Le principe de base est de déclencher la requête &lt;a href=&quot;http://blog.jflad.com/tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;lorsque l'on 'click' sur un lien du menu. Voici le code &lt;a href=&quot;http://blog.jflad.com/tag/XHTML%20&quot;&gt;XHTML &lt;/a&gt;de notre page, comme vous pouvez le constater, il n'y a aucun script ou gestionnaire d'évènements dans notre document &lt;a href=&quot;http://blog.jflad.com/tag/XHTML&quot;&gt;XHTML&lt;/a&gt;, juste des balises! Tout le contrôle des évènements va se faire depuis notre script &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;!&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;lt;ul id=&quot;myElement&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.jflad.com/post/test/voila1/&quot;&amp;gt;Test1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.jflad.com/post/test/voila2/&quot;&amp;gt;Test2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.jflad.com/post/test/voila3/&quot;&amp;gt;Test3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.jflad.com/post/test/voila4/&quot;&amp;gt;Test4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.jflad.com/post/test/voila5/&quot;&amp;gt;Test5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.jflad.com/post/test/voila6/&quot;&amp;gt;Test6&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Maintenant, nous allons récupérer l'évènement 'click' avant de déclencher notre requête Ajax, et bloquer le pointage naturel du lien vers la page correspondante avec &lt;q&gt;Event(E).stop()&lt;/q&gt;.&lt;/p&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;nbsp; // On applique le gestionnaire d'évènement à tous les liens du menu liste&lt;br /&gt;&amp;nbsp; var list = $$('ul#myElement li a');&lt;br /&gt;&amp;nbsp; list.each(function(element) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Gestionnaire d'évènement 'click'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; element.addEvent('click', function(e){&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // On stoppe le pointage naturel du lien pour ne pas recharger la page&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e = new Event(e).stop();&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;  &amp;nbsp; // Ici notre requête &lt;a href=&quot;http://blog.jflad.com/tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;décrite plus bas&lt;br /&gt;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;});&lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;Un fois que l'on a récupéré l'évènement 'click', il est temps de déclencher notre requête en &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;! Pour ce faire nous allons créer un objet '&lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;' de &lt;a href=&quot;http://blog.jflad.com/tag/Mootools%20&quot;&gt;Mootools &lt;/a&gt;avec comme paramètre l'url du fichier &lt;a href=&quot;http://blog.jflad.com/tag/PHP%20&quot;&gt;PHP &lt;/a&gt;qui va traiter notre requête, la méthode de transfert (post ou get), l'encodage des données (uft-8, iso ...), le cadre du conteneur dans lequel vont être affichées les données transférées (update) qui doit être renseigné par le nom de l'id du conteneur. Et enfin, un gestionnaire d'évènements 'onComplete' qui prend en paramètre une fonction, cela permet par exemple de mettre un effet d'apparition sur le conteneur qui affiche les données. Dans un deuxième temps il faut paramètrer la requête &lt;a href=&quot;http://blog.jflad.com/tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;grâce à la méthode 'request' avec les variable à envoyer au fichier &lt;a href=&quot;http://blog.jflad.com/tag/PHP%20&quot;&gt;PHP &lt;/a&gt;de traitement. Voici le code &lt;a href=&quot;http://blog.jflad.com/tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;de la requête &lt;a href=&quot;http://blog.jflad.com/tag/Ajax&quot;&gt;Ajax&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Requête ajax&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var url = 'ajax.php';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var ajaxRequest = new Ajax(url, {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; method: 'post',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; encoding: 'uft-8',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; onComplete: showSucces(),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; update: log&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var requestVar = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var1: 'voila la variable numéro1',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var2: 'voila la variable numéro1',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var3: 'voila la variavle numéro1',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var4: 'voila la variable numéro1',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var5: 'Tutoriel par JFLAD'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ajaxRequest.request(requestVar);&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Il faut maintenant traiter la requête &lt;a href=&quot;http://blog.jflad.com/tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;avec un fichier &lt;a href=&quot;http://blog.jflad.com/tag/PHP%20&quot;&gt;PHP &lt;/a&gt;qui va retourner le contenu à afficher:&lt;/p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;  &lt;blockquote&gt;&lt;p&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // On récupère les données&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $var1 = $_POST['var1'];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Traitement des données&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Içi vous effectuez vos requêtes SQL et traitement divers&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; // On retourne le contenu a affiché&lt;br /&gt;&amp;nbsp;&amp;nbsp; if(isset($_POST['var1']))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; print '&amp;lt;p&amp;gt;Votre contenu à afficher...&amp;lt;/p&amp;gt;';&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;?&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Le traitement en &lt;a href=&quot;http://blog.jflad.com/tag/PHP%20&quot;&gt;PHP &lt;/a&gt;doit être développé comme à l'habitude, à la différence près que vous allez envoyer votre contenu à afficher à votre page &lt;a href=&quot;http://blog.jflad.com/tag/XHTML%20&quot;&gt;XHTML &lt;/a&gt;plutôt que de l'afficher directement. Néanmoins je vous conseille de sécuriser vos fichiers &lt;a href=&quot;http://blog.jflad.com/tag/PHP%20&quot;&gt;PHP &lt;/a&gt;de traitement avec par exemple une &lt;strong&gt;session &lt;/strong&gt;de tests surtout lorsqu'il exécute des requêtes &lt;q&gt;&lt;strong&gt;&lt;em&gt;insert/delete&lt;/em&gt;&lt;/strong&gt;&lt;/q&gt; dans vos bases de données afin d'éviter des injections &lt;a href=&quot;http://blog.jflad.com/tag/SQL&quot;&gt;SQL&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Dans un prochain tutoriel, je vous montrerai comment apporter une touche d'interactivité à vos évènements grâce à &lt;a href=&quot;http://blog.jflad.com/tag/Mootools%20&quot;&gt;Mootools &lt;/a&gt;et l'utilisation de sa class &lt;q&gt;Fx &lt;/q&gt;!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.jflad.com/post/Faire-une-requette-en-Ajax-avec-Mootools#comment-form</comments>
      <wfw:comment>http://blog.jflad.com/post/Faire-une-requette-en-Ajax-avec-Mootools#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.jflad.com/feed/rss2/comments/23</wfw:commentRss>
      </item>
    
  <item>
    <title>Utilisation du Flash Player à discuter</title>
    <link>http://blog.jflad.com/post/Utilisation-du-Flash-Player-a-discuter</link>
    <guid isPermaLink="false">urn:md5:a7764af43e15f6e1b4b9422054fb41a1</guid>
    <pubDate>Sat, 11 Aug 2007 11:27:00 +0000</pubDate>
    <dc:creator>julien lavault</dc:creator>
        <category>Flash</category>
        <category>Actionscript 3</category><category>Ajax</category><category>CSS</category><category>Flash</category><category>Flash CS3</category><category>Flash Player</category><category>Flex</category><category>Interactivité</category><category>Javascript</category><category>Macromedia</category><category>XHTML</category>    
    <description>    &lt;img style=&quot;margin: 0 1em 1em 0; float: left;&quot; alt=&quot;&quot; src=&quot;http://blog.jflad.com/public/logo/macromedia_flash-player_logo.jpg&quot; /&gt;Avec l'arrivée des nouveaux venu en plus de &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flash&quot;&gt;Flash&lt;/a&gt;, je pense à &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flex%20&quot;&gt;Flex &lt;/a&gt;et ses dérivés; l'utilisation du &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flash%20Player&quot;&gt;Flash Player&lt;/a&gt; semble relancé grâce à l'amélioration du player et des outils de travail. J'ai toujours suivi de très prêt l'évolution de ces outils afin de me mètre à jour et pouvoir déployer des solutions de pointe sur ces derniers langage. &lt;br /&gt;&lt;br /&gt;Hors l'une de mes dernières réalisations témoigne d'un problème majeur dans l'utilisation de &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flash%20Player&quot;&gt;Flash Player&lt;/a&gt; dans les navigateurs des clients et notamment du &lt;strong&gt;player9.&lt;/strong&gt;&lt;br /&gt;En effet, j'ai pu constater que les chiffres annoncés de 83,4% pour le player9 (&lt;a hreflang=&quot;fr&quot; href=&quot;http://groups.google.com/group/FCNG/browse_thread/thread/95f959fe4cbe2d57&quot;&gt;source blog google&lt;/a&gt;) était pour le moins exagéré ! Certes il faut prendre en conte la cible touché et la géo-localisation, mais le retour d'expérience pour le &lt;strong&gt;secteur public&lt;/strong&gt; présent un pourcentage d'installation bien inférieur à 50% pour la &lt;a style=&quot;font-weight: bold;&quot; href=&quot;http://blog.jflad.com/index.php?tag/Flash%20Player&quot;&gt;Flash Player&lt;/a&gt;&lt;strong&gt; 9&lt;/strong&gt;! On me répondra qu'il suffit d'installer le &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flash%20Player&quot;&gt;Flash Player&lt;/a&gt; chez &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Macromedia&quot;&gt;Macromedia&lt;/a&gt; et le tour est joué ! Mais cela n'est pas si simple, car dans les grandes structures, les systèmes d'exploitation sont bien souvent bridé au maximum pour raison de sécurité ! Cela est vrai pour le secteur public, mais on retrouvera le même problème dans les entreprises de grande envergure ! &lt;br /&gt;&lt;br /&gt;A partir de cette constatation, on peut faire le choix de la qualité de l'application au détriment de certains utilisateurs, soit on ce consacre à rendre l'application accessible à tout le monde. &lt;br /&gt;&lt;br /&gt;Même si ces nouvelles technologies sont vraiment novatrice et performante, nous sommes encore dans un pays qui ne permet pas de déployés ces solutions &lt;strong&gt;Web&lt;/strong&gt; récentes (&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Actionscript%203&quot;&gt;Actionscript 3&lt;/a&gt;, &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flash%20CS3&quot;&gt;Flash CS3&lt;/a&gt;, &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flex%20&quot;&gt;Flex &lt;/a&gt;...) à cause d'un manque cruel de mise à jour des plateformes ! Il devient donc intéressant de ce tourner vers des technologies alternatives, qui ont peut être des possibilités plus limités, mais si elles sont déployées correctement, elles permettent déjà de faire des application riches et interactive. Je pense bien évidement aux technologies &lt;a href=&quot;http://blog.jflad.com/index.php?tag/XHTML&quot;&gt;XHTML&lt;/a&gt;/&lt;a href=&quot;http://blog.jflad.com/index.php?tag/CSS&quot;&gt;CSS&lt;/a&gt; couplé au &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;sous la dénomination d'&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Ajax&quot;&gt;Ajax&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Je suis impatient de voir l'évolution de ces technologies tant au niveau de leurs utilisation professionnel que par les utilisateurs...&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://blog.jflad.com/post/Utilisation-du-Flash-Player-a-discuter#comment-form</comments>
      <wfw:comment>http://blog.jflad.com/post/Utilisation-du-Flash-Player-a-discuter#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.jflad.com/feed/rss2/comments/18</wfw:commentRss>
      </item>
    
  <item>
    <title>Beaucoup d'amalgame dans le mot Ajax</title>
    <link>http://blog.jflad.com/post/Beaucoup-damalgame-dans-le-mot-Ajax</link>
    <guid isPermaLink="false">urn:md5:9d15fe5d8319451c3e1646d2ecfeef51</guid>
    <pubDate>Wed, 08 Aug 2007 17:45:00 +0000</pubDate>
    <dc:creator>julien lavault</dc:creator>
        <category>Ajax</category>
        <category>Ajax</category><category>asynchrone</category><category>framework</category><category>interactivité</category><category>Javascript</category><category>JFLAD</category><category>Mootools</category><category>Web 2.0</category><category>XHTML</category>    
    <description>    &lt;img style=&quot;margin: 0 1em 1em 0; float: left; width: 256px; height: 223px;&quot; alt=&quot;&quot; src=&quot;http://blog.jflad.com/public/logo/ajax.png&quot; /&gt;A force de m'intéresser de très prêt à &lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/Ajax&quot;&gt;Ajax&lt;/a&gt;, je constate qu'il y énormément d'amalgame de fait à ce sujet! En effet, beaucoup pense que faire une requête en &lt;strong&gt;httpRequest&lt;/strong&gt; au &lt;q&gt;onclick&lt;/q&gt; d'un bouton constitue de l'&lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/Ajax&quot;&gt;Ajax&lt;/a&gt;. Hors la véritable utilisation de &lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;est véritablement ailleurs, la subtilité réside de faire un interface Web dont toute l'&lt;a href=&quot;http://blog.jflad.com/index.php?tag/interactivit%C3%A9&quot;&gt;interactivité&lt;/a&gt; &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;(dont les transferts asynchrone de donnée) sont Indépendante de l'application principale, c'est à dire que si le site le client ne possède pas &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Javascript&quot;&gt;Javascript&lt;/a&gt;, le site marche quand même normalement. Cela va plus loin, car cette méthode permet également de référencé les contenus des pages même si elles sont chargés de manière &lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/asynchrone&quot;&gt;asynchrone&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Il faut que le document &lt;a href=&quot;http://blog.jflad.com/index.php?tag/XHTML%20&quot;&gt;&lt;strong&gt;XHTML &lt;/strong&gt;&lt;/a&gt;ne possède aucun script &lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/Javascript%20&quot;&gt;Javascript &lt;/a&gt;dans le &lt;strong&gt;body&lt;/strong&gt;, mais juste l'appelle au &lt;strong&gt;librairie &lt;/strong&gt;utilisées dans le header.
&lt;br /&gt;&lt;br /&gt;La technique est simple pour faire ceci, il faut utilisé les gestionnaires d'évènements ainsi que les sélecteurs d'éléments. Ainsi un site traditionnel pourra ce voir gréfer un ensemble évènementiel qui permettra de rendre un interface Web interactive. Le seul supplément sera de crée un fichier 'dataTransfert.php' qui transféra les &lt;strong&gt;templates &lt;/strong&gt;de contenu. Autrement tout le reste sera simplement des librairie &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Javascript%20&quot;&gt;&lt;ins&gt;J&lt;/ins&gt;&lt;/a&gt;&lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/javascript%20&quot;&gt;avascript &lt;/a&gt;qui déclencheront des actions suivant un système évènementiel.
&lt;br /&gt;&lt;br /&gt;&lt;ins&gt;Voici un exemple de ce qu'il ne faut pas faire (gestionnaire d'évènement directement dans le document &lt;a href=&quot;http://blog.jflad.com/tag/XHTML&quot;&gt;XHTML&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;/ins&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;p id=&quot;monBouton&quot; onclick=&quot;maFoncitonJs();&quot;&amp;gt;Cliquez moi&amp;lt;/p&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;ins&gt;&lt;br /&gt;Voici le même exemple, mais correcte cette fois ci (fichier javascript inclus dans le header):&lt;br /&gt;&lt;br /&gt;&lt;/ins&gt;&lt;blockquote&gt;&lt;p&gt;&amp;nbsp;$'(monBouton').addEvent('click', function(){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // Contenu de ma fonction&lt;br /&gt;&amp;nbsp; });&lt;/p&gt;
&lt;/blockquote&gt;&lt;br /&gt;Ce principe est la base, à partir de découle tout le reste, le Blog &lt;a href=&quot;http://blog.jflad.com/index.php?tag/JFLAD%20&quot;&gt;JFLAD &lt;/a&gt;vous présentera ultérieurement d'autres techniques pour faire des transferts &lt;a href=&quot;http://jflad.com/blog/index.php?tag/asynchrone&quot;&gt;asynchrone&lt;/a&gt; de données depuis une page traditionnelle en gardant une lisibilité dans les moteurs de recherche!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Je vous conseil fortement l'utilisation du &lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/framework%20&quot;&gt;framework &lt;/a&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.mootools.net&quot;&gt;Mootools &lt;/a&gt;dont j'ai déjà fait l'éloge dans de précédent billet, ce &lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/framework%20&quot;&gt;framework &lt;/a&gt;est vraiment sur-puissant, et possède toutes les fonctionnalités imaginable pour faire de l'&lt;a href=&quot;http://blog.jflad.com/blog/index.php?tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;et rendre une application Web riche version &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Web%202.0&quot;&gt;Web 2.0&lt;/a&gt;.</description>
    
    
    
          <comments>http://blog.jflad.com/post/Beaucoup-damalgame-dans-le-mot-Ajax#comment-form</comments>
      <wfw:comment>http://blog.jflad.com/post/Beaucoup-damalgame-dans-le-mot-Ajax#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.jflad.com/feed/rss2/comments/12</wfw:commentRss>
      </item>
    
  <item>
    <title>Les extensions Mozilla pratique pour webmaster</title>
    <link>http://blog.jflad.com/post/Les-extensions-de-Mozilla-pratique-pour-les-webmasters</link>
    <guid isPermaLink="false">urn:md5:86405c41d1f37feb472986a10f7f11df</guid>
    <pubDate>Thu, 08 Feb 2007 14:51:00 +0000</pubDate>
    <dc:creator>julien lavault</dc:creator>
        <category>Application</category>
        <category>Internet</category><category>Javascript</category><category>opensource</category><category>XHTML</category><category>XUL</category>    
    <description>    &lt;p&gt;&lt;img style=&quot;margin: 0 1em 1em 0; float: left;&quot; alt=&quot;&quot; src=&quot;http://blog.jflad.com/public/logo/firefox.jpg&quot; /&gt;A force de rajouter des extensions à mon navigateur &lt;a href=&quot;http://www.mozilla-europe.org/fr/products/firefox/&quot; hreflang=&quot;fr&quot;&gt;Mozilla Firefox&lt;/a&gt; qui me permettent de gagner un temps considérable dans l'intégration et le développement Web, j'ai décidé de vous partagez ma sélection&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/1806/&quot; hreflang=&quot;en&quot;&gt;Dom inspector&lt;/a&gt;: voir les disfonctionnements au niveau du DOM.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/1843/&quot; hreflang=&quot;en&quot;&gt;Firebug&lt;/a&gt;: il est bien utile pour débugué les scripts &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Javascript&quot;&gt;Javascript&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/249/&quot; hreflang=&quot;en&quot;&gt;HTML Validator&lt;/a&gt;: permet de valider au w3c un page &lt;a href=&quot;http://blog.jflad.com/index.php?tag/XHTML%20&quot;&gt;XHTML &lt;/a&gt;directement dans la source (ctrl-u), mon préférer.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/60/&quot; hreflang=&quot;en&quot;&gt;Web Developer&lt;/a&gt;: pleins d'outils bien pratique dans l'intégration et l'optimisation des pages Web, il y a tellement d'options que je vous invite à le découvrir par vous même!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/1801/&quot; hreflang=&quot;en&quot;&gt;Clear Cache Button&lt;/a&gt;&amp;nbsp;: qui permet de vider le cache (merci &lt;a href=&quot;http://blog.jflad.com/index.php?tag/yohan%20&quot;&gt;yohan &lt;/a&gt;!).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Je tiens quand même à rappeler que &lt;a href=&quot;http://www.mozilla-europe.org/fr/products/firefox/&quot; hreflang=&quot;fr&quot;&gt;Mozilla Firefox&lt;/a&gt; est un outils &lt;a href=&quot;http://blog.jflad.com/index.php?tag/opensource%20&quot;&gt;&lt;strong&gt;opensource&lt;/strong&gt; &lt;/a&gt;qui utilise un langage open source &lt;a href=&quot;http://blog.jflad.com/index.php?tag/XUL%20&quot;&gt;XUL &lt;/a&gt;(méta langage) contrairement à son principale concurrent!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.jflad.com/post/Les-extensions-de-Mozilla-pratique-pour-les-webmasters#comment-form</comments>
      <wfw:comment>http://blog.jflad.com/post/Les-extensions-de-Mozilla-pratique-pour-les-webmasters#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.jflad.com/feed/rss2/comments/8</wfw:commentRss>
      </item>
    
  <item>
    <title>Focus sur les Web 2.0</title>
    <link>http://blog.jflad.com/post/Focus-sur-les-web20</link>
    <guid isPermaLink="false">urn:md5:404e4c42026b031f1a63b302c4d04d29</guid>
    <pubDate>Sat, 11 Nov 2006 10:26:00 +0000</pubDate>
    <dc:creator>julien lavault</dc:creator>
        <category>Web 2.0</category>
        <category>Ajax</category><category>Flash</category><category>RSS</category><category>Web 2.0</category><category>XHTML</category>    
    <description>    &lt;p&gt;On parle beaucoup du &lt;strong&gt;&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Web%202.0&quot;&gt;Web 2.0&lt;/a&gt;&lt;/strong&gt;,
beaucoup d'amalgames sont faits sur ce sujet. Différents avis sur le
&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Web%202.0&quot;&gt;Web 2.0&lt;/a&gt; s’opposent&amp;nbsp;: l’arrivée de nouvelles technologies (&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Ajax&quot;&gt;Ajax&lt;/a&gt;, &lt;a href=&quot;http://blog.jflad.com/index.php?tag/RSS&quot;&gt;RSS&lt;/a&gt;,
&lt;a href=&quot;http://blog.jflad.com/index.php?tag/XHTML&quot;&gt;XHTML&lt;/a&gt;…), la standardisation des normes, le partage de connaissances, la
personnalisation des services Web par l’internaute, la syndication des
contenus…
Ces différents points de vues on tous une part de véracité, néanmoins
il me semble que beaucoup de ces nouvelles technologies sont loin
d’être novatrices; en effet les Flux &lt;a href=&quot;http://blog.jflad.com/index.php?tag/RSS&quot;&gt;RSS&lt;/a&gt; ou encore l’&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Ajax&quot;&gt;Ajax&lt;/a&gt; existent
depuis plus de &lt;strong&gt;5ans&lt;/strong&gt;, ce n’est que leur utilisation qui explose réellement en ce moment.&lt;/p&gt;
&lt;p&gt;Certes le Web évolue, mais pas aussi vite qu’on semble le dire, il
existe un réel temps d’adaptation et d’absorption des nouvelles
technologies qui évoluent plus vite que les mentalités . Mais quelques
grosse enseignes, que je ne citerai pas …, arrivent à tirer profit de
ces nouvelles technologies et à faire gonfler leurs chiffres
d’affaires...
Beaucoup de personnes parlent de &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Ajax&quot;&gt;Ajax&lt;/a&gt; comme le &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Web%202.0&quot;&gt;Web 2.0&lt;/a&gt;, la révolution
de l’Internet&amp;nbsp;! Je ne comprends absolument pas ce point de vue car &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Ajax%20&quot;&gt;Ajax
&lt;/a&gt;n’est en aucun point une révolution, car d‘une par &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Ajax&quot;&gt;Ajax&lt;/a&gt; n’est pas
nouveau et d’autre part la méthode &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Ajax%20&quot;&gt;Ajax &lt;/a&gt;(transfert asynchrone de
données sans rechargement de page) est déjà très répandu à travers
&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Flash%20&quot;&gt;Flash &lt;/a&gt;et d’autres technologies coté client&amp;nbsp;!&lt;/p&gt;
&lt;p&gt;Pour revenir au sujet, je dirais pour conclure que le &lt;a href=&quot;http://blog.jflad.com/index.php?tag/Web%202.0&quot;&gt;Web 2.0&lt;/a&gt; est avant tout une &lt;strong&gt;méthodologie&lt;/strong&gt; qui repose sur l&lt;strong&gt;’implication&lt;/strong&gt;, la &lt;strong&gt;participation&lt;/strong&gt; de l’internaute à la vie communautaire d’un site Internet. L’internaute devient &lt;strong&gt;acteur&lt;/strong&gt;
et non plus un simple visiteur, voici pour moi la vrai définition du
&lt;a href=&quot;http://blog.jflad.com/index.php?tag/Web%202.0&quot;&gt;Web 2.0&lt;/a&gt;. L’émergence de nouvelles technologies n’est qu’une conséquence
de l’évolution des mentalités vers ce nouveau principe et &lt;strong&gt;non pas l’inverse&lt;/strong&gt;&amp;nbsp;!&lt;/p&gt;
&lt;p&gt;Donnez vos réactions, vos avis m’intéressent&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.jflad.com/post/Focus-sur-les-web20#comment-form</comments>
      <wfw:comment>http://blog.jflad.com/post/Focus-sur-les-web20#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.jflad.com/feed/rss2/comments/16</wfw:commentRss>
      </item>
    
</channel>
</rss>
