<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://alt-i.fr/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Alt-I, des informations alternatives - Développement</title>
  <link>http://alt-i.fr/</link>
  <atom:link href="http://alt-i.fr/feed/category/Developpement/rss2" rel="self" type="application/rss+xml"/>
  <description>Alt-I est un blog traitant d'informatique généraliste et de cultures alternatives. Veille techno, conseils, développement, aggrémenté d'un peu de fun.

web web2.0 web2 développement programmation informatique dev webdev javascript js ajax dhtml library librairie YUI jQuery Mootools informations news actualité net internet safari webkit firefox gecko apple mac mac os x iPhone sdk troll geek</description>
  <language>fr</language>
  <pubDate>Thu, 09 Sep 2010 08:40:12 +0200</pubDate>
  <copyright>Creative Commons By-NC-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Levenshtein</title>
    <link>http://alt-i.fr/post/2010/08/16/Levenshtein</link>
    <guid isPermaLink="false">urn:md5:43aebc595ae5913066dda9560bdef04d</guid>
    <pubDate>Mon, 16 Aug 2010 10:28:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>developpement</category><category>Javascript</category><category>PHP</category>    
    <description>    &lt;p&gt;Je cherchais un algo en javascript pour connaitre le pourcentage de différence entre deux chaines de caractères afin d'alerter l'utilisateur s'il modifie trop un texte de départ. Je ne savais pas trop comment m'y prendre jusqu'à ce que mon &lt;a href=&quot;http://torgan.net&quot; hreflang=&quot;fr&quot;&gt;Maitre PHP&lt;/a&gt; me parle de &lt;a href=&quot;http://php.net/manual/fr/function.levenshtein.php&quot; hreflang=&quot;fr&quot;&gt;la fonction php levenshtein&lt;/a&gt; dont le but est de &quot;calculer la distance Levenshtein entre deux chaînes&quot;. La distance Levenshtein ?…&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;La distance de Levenshtein mesure la similarité entre deux chaînes de caractères. Elle est égale au nombre minimal de caractères qu'il faut supprimer, insérer ou remplacer pour passer d’une chaîne à l’autre.&lt;br /&gt;
Son nom provient de Vladimir Levenshtein qui l'a définie en 1965. Elle est aussi connue sous le nom de «&amp;nbsp;distance d'édition&amp;nbsp;» ou encore de «&amp;nbsp;déformation dynamique temporelle », notamment en reconnaissance vocale.&lt;br /&gt;
Cette distance est d'autant plus grande que le nombre de différences entre les deux chaînes est grand. La distance de Levenshtein peut être considérée comme une généralisation de la distance de Hamming. On peut montrer en particulier que la distance de Hamming est un majorant de la distance de Levenshtein.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Distance_de_Levenshtein&quot; hreflang=&quot;fr&quot;&gt;Wikipédia&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Ah ah&amp;nbsp;! C'est exactement ce dont j'avais besoin&amp;nbsp;! Et hop, en voici &lt;a href=&quot;http://phpjs.org/functions/levenshtein:463&quot; hreflang=&quot;en&quot;&gt;une version javascript&lt;/a&gt;&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/08/16/Levenshtein#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/08/16/Levenshtein#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/786</wfw:commentRss>
      </item>
    
  <item>
    <title>Technique anti spam</title>
    <link>http://alt-i.fr/post/2010/07/16/Technique-anti-spam-rigolote-seo</link>
    <guid isPermaLink="false">urn:md5:827ad7bd71e722b6de59bc6209c769ca</guid>
    <pubDate>Fri, 16 Jul 2010 08:51:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>blog</category><category>extension</category><category>plugin</category><category>SEO</category><category>spam</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/51066877@N00/44557067&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/29/44557067_449c519f6a_m.jpg&quot; alt=&quot;Google Wallpaper&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/a&gt;Je viens de mettre en place une nouvelle procédure anti spam que je trouve assez rigolote. De plus en plus de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Spamdexing&quot; hreflang=&quot;fr&quot;&gt;blackhat SEO&lt;/a&gt; spamment les commentaires des blogs afin de placer les liens de leurs clients et augmenter leur référencement. La solution de facilité est de simplement rajouter l'attribut &quot;nofollow&quot; sur les liens des commentaires. Cet attribut permet de demander à Google de ne pas suivre et indexer le lien correspondant. Le problème, c'est que j'ai aussi des commentaires pertinents qui méritent d'avoir un lien en récompense de leur contribution. Alors que faire&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;Dotclear dispose d'un moteur anti spam particulièrement bon qui sait détecter quasiment tous les commentaires inutiles. Ils sont en général mis de coté en attente de validation manuelle de ma part. La plupart du temps, je les supprime simplement. Puis m'est venu une idée sadique. Dorénavant, je publie le commentaire de spam, mais après avoir modifié le lien par une de mes urls. &lt;a href=&quot;http://alt-i.fr/post/2010/07/12/Flattez-moi#c3037&quot; hreflang=&quot;fr&quot;&gt;Exemple par ici&lt;/a&gt;. Ainsi, je fais travailler les spammeurs pour moi. Pratique non&amp;nbsp;?&lt;/p&gt;


&lt;p&gt;Je vais réfléchir à un moyen d'automatiser le processus à travers une &lt;a href=&quot;http://alt-i.fr/pages/pixearch&quot; hreflang=&quot;fr&quot;&gt;extension Dotclear&lt;/a&gt;. Si l'idée vous plait, n'hésitez pas à mettre votre site en lien de votre commentaire &lt;img src=&quot;/themes/Alt-I-3/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/07/16/Technique-anti-spam-rigolote-seo#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/07/16/Technique-anti-spam-rigolote-seo#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/784</wfw:commentRss>
      </item>
    
  <item>
    <title>Mise à jour TwitterPost 1.5</title>
    <link>http://alt-i.fr/post/2010/07/09/Mise-a-jour-TwitterPost-1.5</link>
    <guid isPermaLink="false">urn:md5:9b5bd330e974f6164582193814c6df27</guid>
    <pubDate>Fri, 09 Jul 2010 20:42:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>Dotclear</category><category>extension</category><category>plugin</category><category>twitter</category>    
    <description>    &lt;p&gt;Chose promie, chose due. Voici la &lt;a href=&quot;http://alt-i.fr/pages/TwitterPost&quot; hreflang=&quot;fr&quot;&gt;mise à jour de TwitterPost&lt;/a&gt; qui permet de choisir sa propre API pour raccourcir ses urls. Alti.pro est toujours l'API par défaut, mais vous pouvez très bien choisir n'importe quelle autre, celle de is.gd par exemple&amp;nbsp;: &lt;em&gt;http://is.gd/api.php?longurl=http://www.example.com&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Ça se télécharge &lt;a href=&quot;http://alt-i.fr/pages/TwitterPost&quot; hreflang=&quot;fr&quot;&gt;ici&lt;/a&gt; ou &lt;a href=&quot;http://plugins.dotaddict.org/dc2/details/twitterPost&quot; hreflang=&quot;fr&quot;&gt;là&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/07/09/Mise-a-jour-TwitterPost-1.5#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/07/09/Mise-a-jour-TwitterPost-1.5#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/782</wfw:commentRss>
      </item>
    
  <item>
    <title>Mise à jour de plugins</title>
    <link>http://alt-i.fr/post/2010/07/05/Mise-a-jour-de-plugins-dotclear-2.2</link>
    <guid isPermaLink="false">urn:md5:8ef04fd6567769be1b93469c1f7416ed</guid>
    <pubDate>Mon, 05 Jul 2010 13:58:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>Dotclear</category><category>extension</category><category>plugin</category><category>twitter</category>    
    <description>    &lt;p&gt;Les extensions pour Dotclear &lt;a href=&quot;http://alt-i.fr/pages/pixearch&quot; hreflang=&quot;fr&quot;&gt;Pixearch&lt;/a&gt;, &lt;a href=&quot;http://alt-i.fr/pages/TwitterPost&quot; hreflang=&quot;fr&quot;&gt;TwitterPost&lt;/a&gt; et &lt;a href=&quot;http://alt-i.fr/pages/TwitterTrackback-extension-pour-trackbacker-les-tweets-retrolien-plugin-dotclear&quot; hreflang=&quot;fr&quot;&gt;TwitterTrackback&lt;/a&gt; ont (enfin) été mises à jour pour être compatibles avec Dotclear 2.2. Elles n'apportent aucune nouvelle fonctionnalité mais sont nécessaire si vous mettez à jour votre blog en 2.2.&lt;/p&gt;


&lt;p&gt;TwitterPost apporte un léger changement temporaire&amp;nbsp;: en mettant à jour l'extension, je me suis rendu compte que tr.im avait fermé son service. J'ai donc du le remplacer. Dans l'urgence, j'ai configuré mon raccourcisseur alti.pro en attendant que vous puissiez configurer votre propre raccourcisseur. Je proposerais de configurer uniquement un service basé sur &lt;a href=&quot;http://www.tux-planet.fr/bilbolink-un-reducteur-urls-open-source/&quot; hreflang=&quot;fr&quot;&gt;bilbolink&lt;/a&gt; avec un service simple par défaut du genre de is.gd.&lt;/p&gt;


&lt;p&gt;Et si ça vous va pas, vous pouvez toujours modifier TwitterPost.class.php vous même &lt;img src=&quot;/themes/Alt-I-3/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/07/05/Mise-a-jour-de-plugins-dotclear-2.2#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/07/05/Mise-a-jour-de-plugins-dotclear-2.2#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/780</wfw:commentRss>
      </item>
    
  <item>
    <title>Quote sur #yui</title>
    <link>http://alt-i.fr/post/2010/07/01/Quote-sur-yui-troll-jquery</link>
    <guid isPermaLink="false">urn:md5:ba3177b3ae80ff799615f3baa1086403</guid>
    <pubDate>Thu, 01 Jul 2010 15:44:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>IRC</category><category>Javascript</category><category>quote</category><category>troll</category><category>YUI</category>    
    <description>    &lt;p&gt;Une petite citation que je viens d'intercepter sur le channel IRC #yui où l'on cause de Yahoo User Interface. Ça parlera pas à grand monde, mais moi ça m'a bien fait marrer &lt;img src=&quot;/themes/Alt-I-3/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;JohnnyL &lt;a href=&quot;http://alt-i.fr/post/2010/07/01/~excellent@xxx&quot; title=&quot;~excellent@xxx&quot;&gt;~excellent@xxx&lt;/a&gt; a rejoint le salon #yui. (15:34:44)&lt;br /&gt;
JohnnyL (johnnyl): what does YUI have that jQuery doesn't?&lt;br /&gt;
shabbs: balls&lt;br /&gt;
hadrien: \o/&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;YUI&amp;nbsp;: 1 - Troll&amp;nbsp;: 0&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/07/01/Quote-sur-yui-troll-jquery#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/07/01/Quote-sur-yui-troll-jquery#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/778</wfw:commentRss>
      </item>
    
  <item>
    <title>Evénements cross sand box avec YUI3</title>
    <link>http://alt-i.fr/post/2010/06/29/Evenements-cross-sand-box-avec-YUI3-javascript</link>
    <guid isPermaLink="false">urn:md5:ff0386893c49942cb156fd18249c908c</guid>
    <pubDate>Tue, 29 Jun 2010 12:35:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>developpement</category><category>Javascript</category><category>YUI</category>    
    <description>    &lt;p&gt;Petite astuce pour YUI3 que je viens de trouver après maintes recherches et tentatives. Le gros problème des &lt;a href=&quot;http://alt-i.fr/post/2010/05/18/YUI3-nouvelle-approche-Javascript-library&quot; hreflang=&quot;fr&quot;&gt;sandbox&lt;/a&gt;, c'est qu'il est difficile de communiquer de l'une à l'autre. J'ai été confronté au problème suivant&amp;nbsp;: dans une partie de mon code, je crée un nouvel objet à partir d'une de mes classe. Puis, ailleurs, je désires utiliser cet objet. Mais je suis, forcément, dans une nouvelle sandbox. Comment accéder à cet objet&amp;nbsp;?&lt;/p&gt;


&lt;h3&gt;Présentation de la situation&lt;/h3&gt;

&lt;pre class=&quot;javascript&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'maClasse'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; objet = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; MaClasse&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;label: &lt;span style=&quot;color: #3366CC;&quot;&gt;'truc'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;//[…]&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;objet.&lt;span style=&quot;color: #006600;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'label'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;Résultat, l'alerte affiche &quot;undefined&quot; car &lt;strong&gt;objet&lt;/strong&gt; n'existe pas dans cette sandbox.&lt;/p&gt;


&lt;h3&gt;Première tentative, la variable globale&lt;/h3&gt;


&lt;p&gt;J'ai d'abord naïvement pensé qu'en mettant mon objet en tant que variable globale, je pourrais y accéder dans ma seconde sandbox&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;javascript&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; objet = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;null&lt;/span&gt;;
YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'maClasse'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
	objet = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; MaClasse&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;label: &lt;span style=&quot;color: #3366CC;&quot;&gt;'truc'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;//[…]&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;objet.&lt;span style=&quot;color: #006600;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'label'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;Erreur, car objet est bien renseigné dans le scope global, mais le code passé à YUI().use n'est exécuté que quand tout les scripts sont chargés de façon asynchrone. De ce fait, quand le parser arrive à la fonction alert(), le code de YUI n'a pas encore été exécuté et window.objet vaut toujours null.&lt;/p&gt;


&lt;h3&gt;Utilisons les événements personnalisés !!&lt;/h3&gt;


&lt;p&gt;On se rapproche du but en s'orientant vers les custom events de YUI. YUI3 propose une gestion des évenements perso vraiment très pratique et très simple. On peut faire lacher un évenement de n'importe quel type par tout les objets encapsulés dans YUI. Et on les écoute aussi facilement. La preuve par l'exemple&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;javascript&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'event'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
	objet = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; MaClasse&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;label: &lt;span style=&quot;color: #3366CC;&quot;&gt;'truc'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
	&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Écoute de l'évenement &amp;quot;MonEvent:estLance&amp;quot;&lt;/span&gt;
	Y.&lt;span style=&quot;color: #006600;&quot;&gt;on&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;
		&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;MonEvent:estLance&amp;quot;&lt;/span&gt;,
		&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;arg&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
			&lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;arg&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;
	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
	&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// On met un timer pour lancer l'évenement plus tard :&lt;/span&gt;
	setTimeout&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;
		&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
			Y.&lt;span style=&quot;color: #006600;&quot;&gt;fire&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;MonEvent:estLance&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'kikoo'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,
		&lt;span style=&quot;color: #CC0000;&quot;&gt;5000&lt;/span&gt;
	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;Ainsi, 5 secondes après le chargement de la page, une alerte m'affichera &quot;kikoo&quot;. J'ai donc tenté cette solution par&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;javascript&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'event'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
	Y.&lt;span style=&quot;color: #006600;&quot;&gt;on&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;
		&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;MonEvent:estLance&amp;quot;&lt;/span&gt;,
		&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;obj&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
			&lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;obj&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;
	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'event'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'maClasse'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; objet = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; MaClasse&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;label: &lt;span style=&quot;color: #3366CC;&quot;&gt;'truc'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
	Y.&lt;span style=&quot;color: #006600;&quot;&gt;fire&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;
		&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;MonEvent:estLance&amp;quot;&lt;/span&gt;,
		objet
	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;Ça ne fonctionne pas, car les event sont limité au scope de la sandbox… Ah mais&amp;nbsp;! C'est agaçant&amp;nbsp;!&lt;/p&gt;


&lt;h3&gt;Évenements globaux&lt;/h3&gt;


&lt;p&gt;Après pas mal de recherches et de bidouilles, j'ai fini par comprendre le passage de la doc où il est expliqué le fonctionnement des évenements globaux. Et voici donc enfin la solution finale&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;javascript&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'event'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
	Y.&lt;span style=&quot;color: #006600;&quot;&gt;Global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;on&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;
		&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;MonEvent:estLance&amp;quot;&lt;/span&gt;,
		&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;obj&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
			&lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;obj&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
		&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;
	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'event'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'maClasse'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; objet = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; MaClasse&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;label: &lt;span style=&quot;color: #3366CC;&quot;&gt;'truc'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
	Y.&lt;span style=&quot;color: #006600;&quot;&gt;Global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;fire&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;
		&lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;MonEvent:estLance&amp;quot;&lt;/span&gt;,
		objet
	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/pre&gt;


&lt;p&gt;Et voilà comment je peux interférer sur des objets construits dans des sandbox différentes dès leur création&amp;nbsp;: faites leur cracher des événements globaux&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;YUI3 est un peu compliqué à cause de &lt;a href=&quot;http://alt-i.fr/post/2010/05/18/YUI3-nouvelle-approche-Javascript-library&quot; hreflang=&quot;fr&quot;&gt;ces bac à sables hermétiques&lt;/a&gt;, mais c'est réellement très puissant&amp;nbsp;! Bon courage&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/06/29/Evenements-cross-sand-box-avec-YUI3-javascript#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/06/29/Evenements-cross-sand-box-avec-YUI3-javascript#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/776</wfw:commentRss>
      </item>
    
  <item>
    <title>Astuce sélecteurs CSS3</title>
    <link>http://alt-i.fr/post/2010/05/22/Astuce-selecteurs-CSS3</link>
    <guid isPermaLink="false">urn:md5:055aaa0313770f83eae9015913a1ec3f</guid>
    <pubDate>Sat, 22 May 2010 12:44:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>CSS</category><category>developpement</category><category>W3C</category><category>web</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/37136574@N00/60106078&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/30/60106078_9f9492f363_m.jpg&quot; alt=&quot;W3C or WC ?&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/a&gt;Une petite astuce en CSS3 qui permet de sélectionner des lien selon le contenu de leur url. Imaginons que nous ayons une liste de liens vers des documents divers auquel on veut associer une icône relative à son type&amp;nbsp;: des PDF, des ODF, des PPT, des MP4, etc avec chacun une icone indiquant le type de fichier. Classiquement, on prévoira, coté serveur, de tester le type de fichier lors de la création de la liste et de rajouter une classe indiquant le type. Mais si le développeur a oublié, et c'est encore possible grâce aux sélecteurs CSS3.&lt;/p&gt;

&lt;pre class=&quot;syntaxehl css&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.pdf&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;background&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'pdf.png'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.zip&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;background&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'zip.png'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.ppt&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;background&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'ppt.png'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.mp4&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.m4v&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.avi&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.mkv&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.malistededocs&lt;/span&gt; a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;href$=&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;.mov&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;background&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'video.ppt'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Le sélecteur [attribut$=valeur] permet de chercher les éléments dont l'attribut indiqué se termine par la valeur. On se réfèrera à &lt;a href=&quot;http://www.w3.org/TR/css3-selectors/#univnmsp&quot; hreflang=&quot;en&quot;&gt;la doc du W3C&lt;/a&gt; pour découvrir les autres types de sélecteurs&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[att]&amp;nbsp;: trouve les éléments qui possèdent l'attribut att,&lt;/li&gt;
&lt;li&gt;[att=val]&amp;nbsp;: trouve les éléments qui possèdent l'attribut att et qui vaut exactement val,&lt;/li&gt;
&lt;li&gt;[att~=val]&amp;nbsp;: val est une liste de mot séparés par des espaces. Ce sélecteur trouve les éléments qui possèdent l'attribut att et dont la valeur est exactement l'une de celles de la liste val,&lt;/li&gt;
&lt;li&gt;[att|=val]&amp;nbsp;: trouve les éléments qui possèdent l'attribut att et qui vaut exactement val ou val-. Utile pour les attributs de langue où &lt;a href=&quot;http://alt-i.fr/post/2010/05/22/=en&quot;&gt;att&lt;/a&gt; retrouvera &quot;en&quot;, mais aussi &quot;en-EN&quot; ou &quot;en-US&quot;,&lt;/li&gt;
&lt;li&gt;[att^=val]&amp;nbsp;: trouve les éléments dont la valeur de att commence par val&lt;/li&gt;
&lt;li&gt;[att$=val]&amp;nbsp;: trouve les éléments dont la valeur de att finit par val&lt;/li&gt;
&lt;li&gt;[att*=val]&amp;nbsp;: trouve les éléments dont la valeur de att contient val&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/05/22/Astuce-selecteurs-CSS3#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/05/22/Astuce-selecteurs-CSS3#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/767</wfw:commentRss>
      </item>
    
  <item>
    <title>YUI3, une nouvelle approche de Javascript</title>
    <link>http://alt-i.fr/post/2010/05/18/YUI3-nouvelle-approche-Javascript-library</link>
    <guid isPermaLink="false">urn:md5:5147b4a6420dcfa1fd790986cc1b41f2</guid>
    <pubDate>Tue, 18 May 2010 14:27:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>AJAX</category><category>bibliothèque</category><category>developpement</category><category>geek</category><category>innovation</category><category>Javascript</category><category>librairie</category><category>web2.0</category><category>Yahoo</category><category>YUI</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/14329403@N03/2890307824&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3044/2890307824_cd88619dcc_m.jpg&quot; alt=&quot;The evolution of Javascript&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/a&gt;Déjà addict à YUI 2 (YAHOO User Interface, version 2.x), j'ai enfin pris le temps de me pencher sur la version 3 de cette librairie Javascript. Je n'ai pas pu migrer immédiatement tous mes scripts car la librairie a été refondue en profondeur et n'a quasiment plus rien à voir avec la version 2. J'ai même cru à un plagiat de jQuery, ce qui a encore plus retardé la lecture de sa doc.&lt;/p&gt;


&lt;p&gt;Le premier truc qui choque dans YUI3, c'est son concept de sandbox. Tout code javascript est conditionné dans des blocs hermétiques dans lesquels on aura chargé tel ou tel module. Ainsi, plusieurs développeurs peuvent travailler sur des scripts différents dans une même page sans avoir d'incidence l'un sur l'autre, chacun des codes étant parfaitement isolé.&lt;/p&gt;


&lt;p&gt;Dans cette sandbox, on demande donc quels modules on veut utiliser. Et ça, c'est génial&amp;nbsp;! Les modules sont chargés dynamiquement selon les besoins. Dans ma page, je n'ai en fait chargé que la base de YUI3&amp;nbsp;: un fichier javascript de 7Ko. Et quand mon code sera exécuté, les modules que j'aurais demandé ne seront chargés que quand on en aura besoin.&lt;/p&gt;


&lt;p&gt;Voyons ces deux choses en exemple&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;syntaxehl javascript&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'node'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y.&lt;span style=&quot;color: #006600;&quot;&gt;all&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'p'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Affiche le nombre d'éléments p dans la page&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;La sandbox, c'est le bloc ci dessus. Notre code est une fonction passée en argument de la méthode &lt;strong&gt;use()&lt;/strong&gt; de l'objet &lt;strong&gt;YUI()&lt;/strong&gt; auquel on aura préalablement indiqué quel module utiliser. Ici, on demande à utiliser le module &quot;&lt;strong&gt;node&lt;/strong&gt;&quot;. Il est alors disponible dans notre fonction à travers la variable &lt;strong&gt;Y&lt;/strong&gt;. Si j'avais tenté d'utiliser &lt;strong&gt;Y.io()&lt;/strong&gt;, qui est le module consacré aux requêtes AJAX, je me prendrais une erreur indiquant que &lt;strong&gt;Y.io&lt;/strong&gt; n'existe pas. Il me faut donc demander son chargement au préalable&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;syntaxehl javascript&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'node'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'io'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    Y.&lt;span style=&quot;color: #006600;&quot;&gt;io&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #3366CC;&quot;&gt;'/index.php'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            on: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    success: &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;id, data&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Insère le contenu de la réponse dans la première balise p trouvé dans la page&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        Y.&lt;span style=&quot;color: #006600;&quot;&gt;one&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'p'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'innerHTML'&lt;/span&gt;, data.&lt;span style=&quot;color: #006600;&quot;&gt;responseText&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Les fichiers node.js et io.js sont donc chargés depuis les serveurs de Yahoo dès que je les demande, et mon code est exécuté dès qu'ils sont disponibles.&lt;/p&gt;


&lt;p&gt;Ça devient encore plus intéressant quand on écrit nos propres modules ou ceux de YUI2 qui restent compatible avec YUI3. Le constructeur de YUI prends en paramètre un objet de configuration dans lequel on peut indiquer les accès aux différents modules. Dans cette configuration, on peut tout d'abord indiquer des chemins pour les modules YUI3 si on préfère héberger nous même la librairie pour ne pas être tributaire de Yahoo. Mais on peut aussi définir des groupes de modules en indiquant leur emplacement et les dépendances. Prenons un exemple concret&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;Ceci est une classe perso que je nomme &lt;strong&gt;alti_exemple&lt;/strong&gt; et qui est accessible par le namespace &lt;strong&gt;Y.alti.exemple&lt;/strong&gt;.
Elle sera hébergée évidemment chez moi dans un fichier /js/alti.exemple.js contenant le code suivant&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;syntaxehl javascript&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'alti_exemple'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    Y.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;namespace&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'alti'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    Y.&lt;span style=&quot;color: #006600;&quot;&gt;alti&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;exemple&lt;/span&gt; = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    Y.&lt;span style=&quot;color: #006600;&quot;&gt;alti&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;exemple&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;prototype&lt;/span&gt; = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        init: &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Du code qui utilise Y.node et Y.event&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'1.0'&lt;/span&gt;, &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    requires: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'node'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'event'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Dans ma page HTML, je vais renseigner une variable globale &lt;strong&gt;YUI_config&lt;/strong&gt; qui sera la config par défaut de mes sandbox, puis après, je chargerais YUI. Dans cette config, j'ajoute les modules de yui2 nécessaire à l'utilisation de &lt;strong&gt;YAHOO.widget.Editor&lt;/strong&gt;, &lt;a href=&quot;http://developer.yahoo.com/yui/editor/&quot; hreflang=&quot;en&quot;&gt;l'éditeur de texte riche de YUI2&lt;/a&gt; et mon module &lt;strong&gt;alti_exemple&lt;/strong&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;syntaxehl html&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #00bbdd;&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;Page Title&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;script&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #000066;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;charset&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;//&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;/a&gt;!&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;CDATA&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    YUI_config &lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        groups: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            yui2: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                combine: true,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                base: &lt;span style=&quot;color: #ff0000;&quot;&gt;'http://yui.yahooapis.com/2.8.1/build/'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                comboBase: &lt;span style=&quot;color: #ff0000;&quot;&gt;'http://yui.yahooapis.com/combo?'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                root: &lt;span style=&quot;color: #ff0000;&quot;&gt;'2.8.1/build/'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                modules:  &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    yui2_yde: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        path: &lt;span style=&quot;color: #ff0000;&quot;&gt;'yahoo-dom-event/yahoo-dom-event.js'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    yui2_element: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        path: &lt;span style=&quot;color: #ff0000;&quot;&gt;'element/element.js'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    yui2_container: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        path: &lt;span style=&quot;color: #ff0000;&quot;&gt;'container/container.js'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    yui2_menu: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        path: &lt;span style=&quot;color: #ff0000;&quot;&gt;'menu/menu.js'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    yui2_button: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        path: &lt;span style=&quot;color: #ff0000;&quot;&gt;'button/button.js'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    yui2_editor: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        path: &lt;span style=&quot;color: #ff0000;&quot;&gt;'editor/editor.js'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        requires: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'yui2_yde'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'yui2_element'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'yui2_container'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'yui2_menu'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'yui2_button'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            alti: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                combine: false,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                base: &lt;span style=&quot;color: #ff0000;&quot;&gt;'/'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                root: &lt;span style=&quot;color: #ff0000;&quot;&gt;'js/'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                modules: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #ff0000;&quot;&gt;'alti_exemple'&lt;/span&gt;: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        path: &lt;span style=&quot;color: #ff0000;&quot;&gt;'alti.exemple.js'&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                        requires: &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'node'&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;'event'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;                &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;            &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;script&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #000066;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000066;&quot;&gt;src&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;http://yui.yahooapis.com/combo?3.1.1/build/yui/yui-min.js&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Je peux maintenant utiliser ma classe, et les modules de YUI2 sans me demander si les fichiers ont bien été chargés au préalable&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;syntaxehl javascript&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'alti_exemple'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; exemple = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; Y.&lt;span style=&quot;color: #006600;&quot;&gt;alti&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;exemple&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'yui2_editor'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; editor = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; YAHOO.&lt;span style=&quot;color: #006600;&quot;&gt;widget&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Editor&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        &lt;span style=&quot;color: #3366CC;&quot;&gt;'editor'&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #009900; font-style: italic;&quot;&gt;// Mixons les deux et utilisons node aussi !&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;YUI&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;use&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'node'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'alti_exemple'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'yui2_editor'&lt;/span&gt;, &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;Y&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; exemple = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; Y.&lt;span style=&quot;color: #006600;&quot;&gt;alti&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;exemple&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; editor = &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; YAHOO.&lt;span style=&quot;color: #006600;&quot;&gt;widget&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Editor&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;        Y.&lt;span style=&quot;color: #006600;&quot;&gt;one&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'textarea'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;    &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Alors, c'est pas pratique tout ça&amp;nbsp;?&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/05/18/YUI3-nouvelle-approche-Javascript-library#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/05/18/YUI3-nouvelle-approche-Javascript-library#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/766</wfw:commentRss>
      </item>
    
  <item>
    <title>Flouter du texte en CSS</title>
    <link>http://alt-i.fr/post/2010/03/28/Flouter-du-texte-en-CSS-text-shadow</link>
    <guid isPermaLink="false">urn:md5:00104a8abf195ef72c51a20b268bf49f</guid>
    <pubDate>Sun, 28 Mar 2010 16:28:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>CSS</category><category>developpement</category><category>webdesign</category>    
    <description>    &lt;p&gt;Voici un effet sympa à réaliser en CSS&amp;nbsp;: flouter du texte. On utilise pour cela la propriété text-shadow qu'on va détourner de sa fonction première. On va faire en sorte d'afficher uniquement l'ombre portée et de faire disparaitre le texte normal.&lt;/p&gt;


&lt;p&gt;J'ai pour le moment trouvé deux solutions. L'une, facile à implémenter n'importe où mais qui ne fonctionne que sous Firefox. L'autre qui fonctionne sur tout navigateur qui supporte text-shadow, donc Firefox, Safari et Chrome. Mais pas évidente à utiliser dans toute les conditions.&lt;/p&gt;


&lt;p&gt;La première méthode consiste simplement à appliquer un text-shadow sur du texte de couleur transparente&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;syntaxehl css&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.blur&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;color&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #993333;&quot;&gt;transparent&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;text-shadow&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #933;&quot;&gt;4px&lt;/span&gt; rgba&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.&lt;span style=&quot;color: #933;&quot;&gt;8&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Malheureusement avec le moteur de rendu Webkit, cette transparence est appliquée à l'ensemble du texte, ombre comprise, donc tout disparait. On essaiera alors la seconde solution qui consiste à décaller le texte dans une zone invisible de l'écran et de décaller dans l'autre sens et de la même distance son ombre portée&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;syntaxehl css&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.blur&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;margin-top&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; -&lt;span style=&quot;color: #933;&quot;&gt;1000px&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;text-shadow&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;:&lt;/span&gt; &lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #933;&quot;&gt;1000px&lt;/span&gt; &lt;span style=&quot;color: #933;&quot;&gt;4px&lt;/span&gt; rgba&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #933;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #6666ff;&quot;&gt;.&lt;span style=&quot;color: #933;&quot;&gt;8&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Cette méthode a de nombreux désavantages dont l'impossibilité de sélectionner le texte. Mais elle fonctionne sur Firefox, Safari et Chrome.&lt;/p&gt;


&lt;p&gt;Vous pouvez voir &lt;a href=&quot;http://works.hadrien.eu/blur/&quot; hreflang=&quot;fr&quot;&gt;les résultats ici&lt;/a&gt; et &lt;a href=&quot;http://s.arcas.me&quot; hreflang=&quot;fr&quot;&gt;la première méthode en application sur s.arcas.me&lt;/a&gt; avec un fallback pour Safari.&lt;/p&gt;


&lt;p&gt;Si quelqu'un arrive à trouver un bidouille plus universelle pour faire cet effet de blur plus simplement, qu'il s'exprime&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/03/28/Flouter-du-texte-en-CSS-text-shadow#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/03/28/Flouter-du-texte-en-CSS-text-shadow#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/748</wfw:commentRss>
      </item>
    
  <item>
    <title>Tuer Flash</title>
    <link>http://alt-i.fr/post/2010/02/05/Tuer-Flash-Apple-KILL-Adobe</link>
    <guid isPermaLink="false">urn:md5:d23dbb04ae955b4f7823be359082ac5b</guid>
    <pubDate>Fri, 05 Feb 2010 19:04:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>Adobe</category><category>Apple</category><category>Flash</category><category>HTML5</category><category>Javascript</category><category>sux</category>    
    <description>    &lt;p&gt;Joues moi du violongay violoneux Adobe ou j'te mange ton mulet longueuil&amp;nbsp;! Oups, je me trompe de &lt;a href=&quot;http://monsieurpoulpe.over-blog.com/article-le-violon-quoi-44257640.html&quot; hreflang=&quot;fr&quot;&gt;billet&lt;/a&gt; :/&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://img.over-blog.com/306x499/0/08/39/20//photo-avec-flash-photo-sans-flash.JPG&quot; alt=&quot;flash&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;J'ai souvent rabâché que Flash pouvait être remplacé dans 90% des cas par les standards du web&amp;nbsp;: html, javascript, css, svg. J'ai aussi souvent dit que la grande force de Adobe contre laquelle on ne pouvait lutter, c'était l'&lt;acronym title=&quot;Environnement de développement intégré&quot;&gt;IDE&lt;/acronym&gt; Flash CS, l'application qui permet de créer des animations Flash. Car pour faire une animation Flash, c'est du clickodrome, c'est accessible à n'importe quel noob ou n'importe quel non-développeur qui pourra apprendre en l'utilisant. De la même façon qu'on a tous appris à utiliser Photoshop quand on était ados. Tandis que pour faire de l'anim HTML5/CSS/JS/SVG, il faut être sacrément callé en programmation web. D'ailleurs, &lt;a href=&quot;http://twitter.com/iamstArk/status/8626374220&quot; hreflang=&quot;fr&quot;&gt;certains graphistes&lt;/a&gt; n'oseront pas de sitôt se pencher sur ça. Et je les comprends&amp;nbsp;! Tout ça pour dire que &lt;strong&gt;pour tuer Flash&lt;/strong&gt;, il faudra avant toute chose&amp;nbsp;: &lt;strong&gt;un &lt;acronym title=&quot;Environnement de développement intégré&quot;&gt;IDE&lt;/acronym&gt; accessible à tous et productif&lt;/strong&gt;&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Et ce jour va peut être bien arriver les enfants&amp;nbsp;! Si j'en crois Florian Innocente, chez MacGénération, qui le tiendrait de Lionel le dentiste, de chez Macbidouille, qui ne risque pas de l'avoir appris de Grouik le cochon, de MacPourToujours, &lt;a href=&quot;http://www.macgeneration.com/news/voir/142511/apple-prete-a-concurrencer-flash-et-photoshop&quot; hreflang=&quot;fr&quot;&gt;Apple serait sur le point de développer une suite créative&lt;/a&gt; pour concurrencer Adobe&amp;nbsp;! Ils nous prépareraient un logiciel concurrent à Flash et accessoirement, à Photoshop&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Apple serait tellement agacé par la nonchalence d'Adobe pour optimiser leur &lt;del&gt;bouses&lt;/del&gt; logiciels sur les plateformes pommées qu'ils auraient décidé enfin de les mettre sur la touche. Ça a commencé avec des déclarations pour justifier l'absence de Flash sur l'iPad. En insistant sur le fait que Flash ramait beaucoup trop et &lt;a href=&quot;http://www.mac4ever.com/news/51522/steve_jobs_discours_interne_enfin_pas_si_interne_que_cela/&quot; hreflang=&quot;fr&quot;&gt;devait être remplacé par des outils standardisés&lt;/a&gt; qu'ils maitrisaient et qu'ils pouvaient optimiser eux même sans devoir attendre le bon vouloir d'une &lt;a href=&quot;http://www.crunchgear.com/2010/01/31/jobs-calls-adobe-lazy-calls-google-on-the-their-bullshit/&quot; hreflang=&quot;en&quot;&gt;société de fainéants&lt;/a&gt;. Et c'est ainsi qu'ils créeraient l'&lt;acronym title=&quot;Environnement de développement intégré&quot;&gt;IDE&lt;/acronym&gt; tant convoité qui permettrait de générerer en quelques clics l'équivalent d'une animation Flash, mais utilisant des technologies standardisées, libres et approuvées par le W3C et disponibles sur tous les navigateurs modernes actuels (Safari, Chrome, Firefox).&lt;/p&gt;


&lt;p&gt;Et là, je dis bravo&amp;nbsp;! Et surtout Merci&amp;nbsp;! Car que pourrez vous nous dire pour votre défense (ami ?) flasheurs quand vous pourrez faire la même chose de la même façon&amp;nbsp;? Ah si, vous allez raler car le soft n'existera pas pour PC -_-&quot;&lt;/p&gt;


&lt;p&gt;PS&amp;nbsp;: Mozilla a indiqué la semaine dernière ne pas vouloir de Flash sur leur plateforme Maemo pour des raisons de performances, et Microsoft a dévoilà hier son Windows Mobile 7 qui ne contient pas non plus Flash, même s'ils n'ont pas encore donné de raison officielle. Flash, t'a pas d'amis&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/02/05/Tuer-Flash-Apple-KILL-Adobe#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/02/05/Tuer-Flash-Apple-KILL-Adobe#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/736</wfw:commentRss>
      </item>
    
  <item>
    <title>LastTweets en beta</title>
    <link>http://alt-i.fr/post/2010/01/06/LastTweets-en-beta</link>
    <guid isPermaLink="false">urn:md5:577ccb11cb55465cc9216fa913833252</guid>
    <pubDate>Wed, 06 Jan 2010 13:35:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>blog</category><category>developpement</category><category>Dotclear</category><category>extension</category><category>plugin</category><category>twitter</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://alt-i.fr/images/Plugins/lastTweets.png&quot; title=&quot;LastTweets&quot;&gt;&lt;img src=&quot;http://alt-i.fr/images/Plugins/.lastTweets_t.jpg&quot; alt=&quot;LastTweets&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;LastTweets, janv. 2010&quot; /&gt;&lt;/a&gt;Vous voyez le joli widget affichant mes derniers tweets dans la sidebar à droite&amp;nbsp;? Et bien, c'est mon dernier plugin pour Dotclear 2 que j'aimerais faire tester à quelques testeurs &lt;del&gt;sots&lt;/del&gt; betas. Pour les détails, allez voir &lt;a href=&quot;http://alt-i.fr/pages/LastTweets-vos-derniers-tweets-twitter&quot; hreflang=&quot;fr&quot;&gt;la page qui lui est consacrée&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Si vous voulez participer, merci de lâcher votre com avec un mail valide. Je vous enverrais l'url du plugin. Il faudra bien évidemment me faire un rapport quotidien tous les soirs à 21h25 sur ce qui marche et ne marche pas.&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/01/06/LastTweets-en-beta#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/01/06/LastTweets-en-beta#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/726</wfw:commentRss>
      </item>
    
  <item>
    <title>Il faudra qu'on m'explique ce mystère</title>
    <link>http://alt-i.fr/post/2010/01/02/Il-faudra-qu-on-m-explique-ce-mystere-javascript-js-illogique</link>
    <guid isPermaLink="false">urn:md5:c00b7174a9102cc7a2c828bb6d046fa4</guid>
    <pubDate>Sat, 02 Jan 2010 17:49:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>developpement</category><category>Javascript</category>    
    <description>    &lt;p&gt;Si un expert en javascript passe par là, qu'il m'explique ce comportement totalement illogique de Javascript sous Firefox&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;javascript&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'01'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'02'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'03'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'04'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;4&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'05'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;5&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'06'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;6&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'07'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;7&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'08'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; parseInt&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'09'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Pourquoi &quot;08&quot; et &quot;09&quot; sont-ils transformés en 0 alors que les autres sont correctement transposés ???&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2010/01/02/Il-faudra-qu-on-m-explique-ce-mystere-javascript-js-illogique#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2010/01/02/Il-faudra-qu-on-m-explique-ce-mystere-javascript-js-illogique#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/725</wfw:commentRss>
      </item>
    
  <item>
    <title>Uploadez vos vidéos sur Dailymotion</title>
    <link>http://alt-i.fr/post/2009/12/11/Uploadez-vos-videos-sur-Dailymotion-overblog</link>
    <guid isPermaLink="false">urn:md5:22b576b4572695b258cecbcd315ea7be</guid>
    <pubDate>Fri, 11 Dec 2009 11:13:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>Dailymotion</category><category>developpement</category><category>Overblog</category><category>vidéos</category><category>web2.0</category>    
    <description>    &lt;p&gt;Voici une vidéo présentant l'intégration de Dailymotion dans Overblog &lt;img src=&quot;/themes/Alt-I-3/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;external-media&quot; style=&quot;margin: 1em auto; text-align: center;&quot;&gt;
&lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://www.dailymotion.com/swf/xbg7se&amp;amp;related=0&quot; width=&quot;400&quot; height=&quot;316&quot;&gt;
  &lt;param name=&quot;movie&quot; value=&quot;http://www.dailymotion.com/swf/xbg7se&amp;amp;related=0&quot; /&gt;
  &lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;
  &lt;param name=&quot;FlashVars&quot; value=&quot;playerMode=embedded&quot; /&gt;
&lt;/object&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.dailymotion.com/video/xbg7se_dailymotion-debarque-sur-overblog_lifestyle&quot;&gt;Dailymotion débarque sur OverBlog !&lt;/a&gt;
&lt;/div&gt;
</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/12/11/Uploadez-vos-videos-sur-Dailymotion-overblog#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/12/11/Uploadez-vos-videos-sur-Dailymotion-overblog#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/721</wfw:commentRss>
      </item>
    
  <item>
    <title>Nouvelle gestion des documents sur Overblog</title>
    <link>http://alt-i.fr/post/2009/12/09/Nouvelle-gestion-des-documents-sur-Overblog</link>
    <guid isPermaLink="false">urn:md5:99e4605bb95d7a34fdac449ad44934aa</guid>
    <pubDate>Wed, 09 Dec 2009 20:28:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>flash</category><category>innovation</category><category>Javascript</category><category>Overblog</category><category>photos</category>    
    <description>    &lt;p&gt;Mon travail sur la refonte de la gestion des documents dans &lt;a href=&quot;http://www.over-blog.com&quot; hreflang=&quot;fr&quot;&gt;l'administration d'Over-blog&lt;/a&gt; est enfin arrivé à son terme et est disponible pour tous depuis ce soir. Ce travail intensif m'aura pris plus d'un mois et demi mais devrait améliorer considérablement l'expérience utilisateur pour nos bloggeurs.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://img.over-blog.com/630x470-000000/2/47/73/21//Screenshots/Capture-d-ecran-2009-12-09-a-19.27.38.png&quot; hreflang=&quot;fr&quot;&gt;&lt;img src=&quot;http://img.over-blog.com/630x470-000000/2/47/73/21//Screenshots/Capture-d-ecran-2009-12-09-a-19.27.38.png&quot; alt=&quot;Insérer une vidéo depuis son url ou son code embed.&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;La pièce maitresse de cette refonte est un nouvel uploader d'image. Nous utilisions auparavant Aurigma Image Uploader, un uploader en Java, propriétaire et cher en licence. Pour ceux qui ne l'ont pas connu, vous pouvez le voir sur Facebook. J'ai remplacé tout ça par &lt;a href=&quot;http://swfupload.org/&quot; hreflang=&quot;en&quot;&gt;SWFUpload&lt;/a&gt;, un uploader Flash et Javascript réduit au strict minimum qui permet de modeler exactement ce que l'on veux. L'applet Flash est constituée uniquement d'un bouton auquel on peut donner le style qu'on veut et donc le faire passer pour n'importe quel bouton DHTML classique. Ce bouton ouvre un dialogue d'ouverture de fichier qui permet, &lt;a href=&quot;http://alti.over-blog.fr/photo-1524230-Capture-d-ecran-2009-12-09-a-19.27.05_png.html&quot; hreflang=&quot;fr&quot;&gt;dans l'interface graphique du système de l'utilisateur&lt;/a&gt;, donc dans un environnement qu'il maitrise et qu'il connait, de choisir un ou plusieurs fichiers. Ça change beaucoup de Aurigma qui propose son propre file manager en swing qui ne ressemble donc à rien de ce que l'utilisateur connait.&lt;br /&gt;
Une fois les fichiers sélectionnés, des événements javascript sont déclenchés qui permettent au développeur d'afficher comme il le souhaite la progression du transfert en temps réel. On peut donc définir l'affichage d'un fichier en cours d'upload, afficher le pourcentage envoyé, lister les autres fichiers en file d'attente, etc.&lt;br /&gt;
C'est ainsi que les fichiers semblent être incorporés dans l'interface graphique de la même façon que sur le bureau de votre système d'exploitation, et sont exploitables immédiatement.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://alti.over-blog.fr/photo-1524230-Capture-d-ecran-2009-12-09-a-19.58.31_png.html&quot; hreflang=&quot;fr&quot;&gt;&lt;img src=&quot;http://img.over-blog.com/630x470-000000/2/47/73/21//Screenshots/Capture-d-ecran-2009-12-09-a-19.58.31.png&quot; alt=&quot;Rechercher une vidéo depuis Dailymotion ou Wat.&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;SWFUpload permet donc d'ajouter vos photos, vos documents, et, c'est nouveau aussi, vos vidéos. Bon, c'est pas tout à fait nouveau, on avait déjà Wat depuis 3 ans. Mais c'était tellement bancal qu'on peut dire que c'est nouveau. Et surtout, nous avons maintenant Dailymotion. Vous pouvez donc lier vos comptes Wat et Dailymotion à votre blog ou créer un nouveau compte sans sortir de l'administration d'OB.&lt;/p&gt;


&lt;p&gt;Et les plugins pour l'éditeur de publication TinyMCE ont bien entendu été mis à jour aussi et permettent de chercher des vidéos, et, encore une nouveauté (inspirée de Dotclear), d'ajouter une vidéo depuis son url.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://alti.over-blog.fr/album-1524230.html&quot; hreflang=&quot;fr&quot;&gt;Quelques captures…&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Et c'est parti pour un nouveau projet pour améliorer votre expérience utilisateur &lt;img src=&quot;/themes/Alt-I-3/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/12/09/Nouvelle-gestion-des-documents-sur-Overblog#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/12/09/Nouvelle-gestion-des-documents-sur-Overblog#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/720</wfw:commentRss>
      </item>
    
  <item>
    <title>Mettre à jour ses liens</title>
    <link>http://alt-i.fr/post/2009/11/12/Mettre-a-jour-ses-liens-yahoo-site-explorer</link>
    <guid isPermaLink="false">urn:md5:8fb143e9dd228a2790abaefea03d69e1</guid>
    <pubDate>Tue, 01 Dec 2009 01:47:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>liens</category><category>recherche</category><category>référencement</category><category>SEO</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://alt-i.fr/images/Scrinchoutes/yahoo_site_explorer.png&quot; alt=&quot;Yahoo site explorer&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Yahoo site explorer, déc. 2009&quot; /&gt;Un outil super pratique pour lister tous les backlinks d'une url ou d'un domaine qui m'a été utile pour migrer un maximum de liens de alti.info vers &lt;a href=&quot;http://alti-i.info&quot; hreflang=&quot;fr&quot;&gt;alt-i.fr&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2Fwww.alti.info%2F&amp;amp;bwm=i&quot; hreflang=&quot;en&quot;&gt;Site explorer de Yahoo&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/11/12/Mettre-a-jour-ses-liens-yahoo-site-explorer#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/11/12/Mettre-a-jour-ses-liens-yahoo-site-explorer#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/708</wfw:commentRss>
      </item>
    
  <item>
    <title>Foreach en javascript</title>
    <link>http://alt-i.fr/post/2009/11/17/Foreach-en-javascript-js-php-for-in</link>
    <guid isPermaLink="false">urn:md5:11cb7dacaccba02bb54e8fc659c970bf</guid>
    <pubDate>Tue, 17 Nov 2009 11:07:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>astuce</category><category>developpement</category><category>Javascript</category><category>PHP</category><category>tip</category>    
    <description>    &lt;p&gt;Petite astuce peu connue mais pourtant très pratique pour faire l'équivalent de&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;php&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #b1b100;&quot;&gt;foreach&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/array&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;'a'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'b'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'c'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;'d'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #b1b100;&quot;&gt;as&lt;/span&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;a href=&quot;http://www.php.net/echo&quot;&gt;&lt;span style=&quot;color: #000066;&quot;&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style=&quot;color: #ff0000&quot;&gt;$b&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;… en javascript&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;javascript&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; i &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;in&lt;/span&gt; a = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'a'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'b'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'c'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'d'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000066;&quot;&gt;alert&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Pour ceux qui se demandent quel interêt à cela, voici un exemple pratique&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;javascript&quot;&gt;&lt;ol&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; form = document.&lt;span style=&quot;color: #006600;&quot;&gt;forms&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #CC0000;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; qstring = &lt;span style=&quot;color: #3366CC;&quot;&gt;''&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; i &lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;in&lt;/span&gt; a = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #3366CC;&quot;&gt;'name'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'title'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'description'&lt;/span&gt;, &lt;span style=&quot;color: #3366CC;&quot;&gt;'theme'&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;form&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;		qstring += a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; + &lt;span style=&quot;color: #3366CC;&quot;&gt;'='&lt;/span&gt; + form&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;a&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;value&lt;/span&gt; + &lt;span style=&quot;color: #3366CC;&quot;&gt;'&amp;amp;'&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;	&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li style=&quot;font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;&quot;&gt;&lt;div style=&quot;font-family: 'Courier New', Courier, monospace; font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;


&lt;p&gt;Pour ceux qui se demandent toujours à quoi ça sert, c'est qu'ils se sont trompé de rubrique &lt;img src=&quot;/themes/Alt-I-3/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://alt-i.fr/images/Scrinchoutes/js_foreach.jpg&quot; alt=&quot;foreach en javascript&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;foreach en javascript, nov. 2009&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/11/17/Foreach-en-javascript-js-php-for-in#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/11/17/Foreach-en-javascript-js-php-for-in#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/711</wfw:commentRss>
      </item>
    
  <item>
    <title>iPhoneView 0.2</title>
    <link>http://alt-i.fr/post/2009/09/10/iPhoneView-0.2</link>
    <guid isPermaLink="false">urn:md5:085119ca030dc330570530a3c62c6419</guid>
    <pubDate>Thu, 10 Sep 2009 23:51:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>blog</category><category>developpement</category><category>Dotclear</category><category>extension</category><category>iPhone</category><category>plugin</category>    
    <description>    &lt;p&gt;Petite mise à jour de &lt;a href=&quot;http://alt-i.fr/pages/iPhoneView-votre-blog-sur-iPhone&quot; hreflang=&quot;fr&quot;&gt;iPhoneView&lt;/a&gt;, extension Dotclear pour ajouter une interface iPhone à votre blog. Cet update corrige la méthode CurrentURL qui insère l'url courante en version normale. Elle était auparavant mise en cache et donc identique sur toutes les pages…&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://alt-i.fr/public/iphoneview/iphoneview.zip&quot; hreflang=&quot;fr&quot;&gt;Télécharger iPhoneView 0.2 pour Dotclear&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/09/10/iPhoneView-0.2#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/09/10/iPhoneView-0.2#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/693</wfw:commentRss>
      </item>
    
  <item>
    <title>TwitterTrackback v2.0</title>
    <link>http://alt-i.fr/post/2009/09/02/TwitterTrackback-v2.0-backtype</link>
    <guid isPermaLink="false">urn:md5:7711901b1a0c56824fd5c7947f940142</guid>
    <pubDate>Wed, 02 Sep 2009 15:17:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>blog</category><category>Dotclear</category><category>extension</category><category>plugin</category><category>twitter</category><category>web2.0</category>    
    <description>    &lt;p&gt;Voici enfin la v2.0 de TwitterTrackback, extension pour Dotclear permettant de commenter vos articles depuis Twitter.&lt;/p&gt;


&lt;p&gt;Le plugin utilise maintenant l'API du site &lt;a href=&quot;http://www.backtype.com&quot; hreflang=&quot;en&quot;&gt;backtype.com&lt;/a&gt; qui recense tous les tweets liés à une url. Une fois le plugin installé, lors de l'affichage de vos articles, il ira demander à backtype quels sont les tweets qui y sont attachés et les rajoutera en tant que trackback.&lt;/p&gt;


&lt;p&gt;Allez voir &lt;a href=&quot;http://alt-i.fr/pages/TwitterTrackback-extension-pour-trackbacker-les-tweets-retrolien-plugin-dotclear&quot; hreflang=&quot;fr&quot;&gt;la page dédiée pour plus d'infos&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://alt-i.fr/public/twitterTrackback/twitterTrackback.zip&quot; hreflang=&quot;fr&quot;&gt;Téléchargez le plugin&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://alt-i.fr/images/twitter/twitterTrackback_exemple.png&quot; alt=&quot;TwitterTrackback exemple&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;TwitterTrackback exemple, sept. 2009&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/09/02/TwitterTrackback-v2.0-backtype#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/09/02/TwitterTrackback-v2.0-backtype#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/691</wfw:commentRss>
      </item>
    
  <item>
    <title>Tr.im est mort :(</title>
    <link>http://alt-i.fr/post/2009/08/10/Tr.im-est-mort-twitter-bit.ly-is.gd</link>
    <guid isPermaLink="false">urn:md5:56cc169cd5fc58b36b3ee8369ba97136</guid>
    <pubDate>Mon, 10 Aug 2009 08:51:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>developpement</category><category>Dotclear</category><category>plugin</category><category>twitter</category>    
    <description>    &lt;p&gt;Tr.im, excellent service de troncation de lien vient d'annoncer qu'ils fermaient leurs services&amp;nbsp;: monétiser cette activité serait impossible ou tout du moins très compliquée, surtout maintenant que twitter a décidé que bit.ly serait le fournisseur de lini liens officiels.&lt;/p&gt;


&lt;p&gt;Cela veut dire que &lt;a href=&quot;http://alt-i.fr/pages/TwitterPost&quot; hreflang=&quot;fr&quot;&gt;TwitterPost&lt;/a&gt; va être mis à jour d'ici peu. Je pensais utiliser bit.ly, évidemment, mais celui-ci nécessite une clé d'API qui empeche donc un fonctionnement &quot;out of the box&quot; de l'extension. Je vais donc utiliser aussi is.gd, autre célèbre réducteur d'url, qui lui n'a besoin d'aucun paramètre à part l'url à couper.&lt;/p&gt;


&lt;p&gt;Nous aurons donc des url en is.gd par défaut. Is.gd ne propose aucune statistiques et aucun autre service que le raccourcissement d'url. Et dans la configuration, on pourra renseigner un login et une clé d'API pour utiliser bit.ly, qui sera alors utilisé à la place de is.gd. Vous pourrez ainsi bénéficier de tous les services de bit.ly.&lt;/p&gt;


&lt;p&gt;Si vous préférerez un autre service par défaut, ou que vous souhaiteriez pouvoir choisir parmi une large sélection, merci de me les indiquer en commentaire.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://alt-i.fr/images/Scrinchoutes/twitterPost/tr.im_dead.png&quot; alt=&quot;Tr.im dead&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Tr.im dead, août 2009&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/08/10/Tr.im-est-mort-twitter-bit.ly-is.gd#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/08/10/Tr.im-est-mort-twitter-bit.ly-is.gd#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/684</wfw:commentRss>
      </item>
    
  <item>
    <title>TwitterTrackback : extension pour trackbacker les tweets</title>
    <link>http://alt-i.fr/post/2009/08/09/TwitterTrackback-extension-pour-trackbacker-les-tweets-plugin-dotclear-twitter-identi-ca</link>
    <guid isPermaLink="false">urn:md5:2960d37712e7c3527251044addcf3a80</guid>
    <pubDate>Sun, 09 Aug 2009 18:21:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>blog</category><category>developpement</category><category>Dotclear</category><category>extension</category><category>plugin</category><category>twitter</category>    
    <description>    &lt;p&gt;Le titre est peu clair mais voici un nouveau plugin pour Dotclear fort intéressant. Souvent, vos followers de microblogging commentent vos articles via le service de microblogging au lieu de lâcher leur comm' sur votre blog. Ce plugin va automatiquement ajouter un trackback à vos articles qui auront été liés dans un tweet, qu'il ait été posté depuis Twitter ou identi.ca.&lt;/p&gt;


&lt;p&gt;Plus d'infos sur la page consacrée à &lt;a href=&quot;http://alt-i.fr/pages/TwitterTrackback-extension-pour-trackbacker-les-tweets-retrolien-plugin-dotclear&quot; hreflang=&quot;fr&quot;&gt;TwitterTrackback&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Téléchargez &lt;a href=&quot;http://alt-i.fr/public/twitterTrackback/twitterTrackback.zip&quot; hreflang=&quot;fr&quot;&gt;TwitterTrackback&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://alt-i.fr/post/2009/08/09/TwitterTrackback-extension-pour-trackbacker-les-tweets-plugin-dotclear-twitter-identi-ca#comment-form</comments>
      <wfw:comment>http://alt-i.fr/post/2009/08/09/TwitterTrackback-extension-pour-trackbacker-les-tweets-plugin-dotclear-twitter-identi-ca#comment-form</wfw:comment>
      <wfw:commentRss>http://alt-i.fr/feed/atom/comments/682</wfw:commentRss>
      </item>
    
</channel>
</rss>