<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.alti.info/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 - Balise - téléchargement</title>
  <link>http://www.alti.info/</link>
  <atom:link href="http://www.alti.info/feed/tag/t%C3%A9l%C3%A9chargement/rss2" rel="self" type="application/rss+xml"/>
  <description>Alt-I, des informations alternatives. Podcast causant d'informatique généraliste et de cultures alternatives avec un soupçon de XHTML, CSS, AJAX, Javascript, et autres outils web…</description>
  <language>fr</language>
  <pubDate>Wed, 03 Dec 2008 07:30:47 +0100</pubDate>
  <copyright>Creative Commons By-NC-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Tu ne volerais pas un cœur humain</title>
    <link>http://www.alti.info/post/2008/11/03/Tu-ne-volerais-pas-un-c%C5%93ur-humain</link>
    <guid isPermaLink="false">urn:md5:c94406382b65be565846998a0e56c636</guid>
    <pubDate>Mon, 03 Nov 2008 16:46:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Pirtage</category>
        <category>Internet</category><category>p2p</category><category>piratage</category><category>série</category><category>téléchargement</category>    
    <description>&lt;p&gt;Alors tu ne téléchargerais pas un film sur Internet. Suivez les conseils de Bender&amp;nbsp;: piratez c'est pô bien&amp;nbsp;:&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.youtube.com/v/OWPfcEOr2Yg&amp;amp;hl=en&amp;amp;fs=1&quot; width=&quot;425&quot; height=&quot;350&quot;&gt;
  &lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/OWPfcEOr2Yg&amp;amp;hl=en&amp;amp;fs=1&quot; /&gt;
  &lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;
&lt;/object&gt;
&lt;br /&gt;Bender's Anti-Piracy Warning
&lt;/div&gt;



&lt;p&gt;Dans le même esprit que &lt;a href=&quot;http://www.alti.info/post/2007/11/28/Le-piratage-cay-le-mal-Olivennes-p2p-it_crowd&quot;&gt;la version IT Crowd&lt;/a&gt;, mais dans l'esprit Futurama &lt;img src=&quot;/themes/Alt-I/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; Excellent &lt;img src=&quot;/themes/Alt-I/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alti.info/post/2008/11/03/Tu-ne-volerais-pas-un-c%C5%93ur-humain#comment-form</comments>
      <wfw:comment>http://www.alti.info/post/2008/11/03/Tu-ne-volerais-pas-un-c%C5%93ur-humain#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alti.info/feed/atom/comments/463</wfw:commentRss>
      </item>
    
  <item>
    <title>Cindy et sa maison de disque</title>
    <link>http://www.alti.info/post/2008/06/28/Cindy-Sanders-et-sa-maison-de-disque-M6-interactive</link>
    <guid isPermaLink="false">urn:md5:262908d011458c4e2e09fd4844b26bc4</guid>
    <pubDate>Sat, 28 Jun 2008 13:20:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Nawakeries</category>
        <category>abruti</category><category>Hadopi</category><category>Internet</category><category>musique</category><category>p2p</category><category>piratage</category><category>téléchargement</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.alti.info/images/Fun/cindy_sanders_suce.jpg&quot; alt=&quot;Cindy Sanders suce&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; /&gt;Bilan des ventes du single de Cindy Sanders avec M6 Interactive :&lt;img src=&quot;http://www.alti.info/images/Fun/M6_interactive.jpg&quot; alt=&quot;M6 interactive suce&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/p&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;[-.-] &lt;strong&gt;M6I&lt;/strong&gt; (M6 Interactive)&amp;nbsp;: Bon écoute Cindy… Ça fait déjà 3 mois qu'on vend &lt;del&gt;ta m&lt;/del&gt; ton single et on en a vendu que 6000…&lt;/li&gt;
&lt;li&gt;\[*v*]/ &lt;strong&gt;C&lt;/strong&gt; (Cindy Sanders)&amp;nbsp;: 6000 !!! Waw C'est trop fort&amp;nbsp;! Je savais que j'étais la nouvelle star&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;[-.-] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Oui, enfin bon, euh… Tu sais que tu aurais du en vendre plus&amp;nbsp;?&lt;/li&gt;
&lt;li&gt;[o.O] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: Plus que 6000 ??? Mais c'est déjà beaucoup&amp;nbsp;! Ça fait euh… (elle prend sa calculette) 2000 par mois&amp;nbsp;! C'est énorme&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;[-.-] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Moui, c'est pas mal. Le problème, c'est que ta chanson est téléchargée sur le net.&lt;/li&gt;
&lt;li&gt;[^.^] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: Ben oui, c'est moi qui l'y ai mise pour me faire connaître. Et c'est grâce à ça que vous m'avez fait signer&amp;nbsp;! Merci M6I :D&lt;/li&gt;
&lt;li&gt;[-.-] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Hm… certes… En attendant, il s'agit de téléchargement illégal !! Je ne sais pas si tu sais de quoi il s'agit&amp;nbsp;! C'est l'un des plus grand fléau de notre époque&amp;nbsp;! Combien de fois as tu été téléchargée illégalement&amp;nbsp;?&lt;/li&gt;
&lt;li&gt;[^.^] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: On m'a dit 200 000 fois :D :D :D (kikoooo)&lt;/li&gt;
&lt;li&gt;[&amp;gt;&amp;lt;] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Et ça te fait sourire&amp;nbsp;? 200 000 téléchargements… Ça veut dire 200 000 personnes qui ont téléchargé sauvagemment ta chanson sans payer&amp;nbsp;! Ça veut dire que si tu n'avais pas mis ta chanson en téléchargement illégal, tu aurais déjà vendu 206 000 titres&amp;nbsp;! Tu te rends compte de la boulette ???&lt;/li&gt;
&lt;li&gt;[~.~,] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: …  Euh… Mais on m'a pas dit que c'était mal moi :'( On m'a dit que si je le faisais pas, personne connaîtrait mes papillons de lumières :'(&lt;/li&gt;
&lt;li&gt;[&amp;gt;&amp;lt;] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Là n'est pas la question Cindy&amp;nbsp;! Cindy&amp;nbsp;! Tu as perdu 200 000 ventes&amp;nbsp;! Tu te rend compte de ce que ça représente ??? 200 000 ventes d'un single à 3€&amp;nbsp;! Ça fait 600 000 € perdus dans la nature&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;[*~*] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: … Tout ça ?…&lt;/li&gt;
&lt;li&gt;[&amp;gt;&amp;lt;] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Et oui Cindy&amp;nbsp;! Grosse dinde&amp;nbsp;! T'es vraiment qu'une pauvre cloche&amp;nbsp;! Et c'est bien parce que t'es une vraie artiste qu'on porte pas plainte contre toi&amp;nbsp;! Mais retiens bien ceci Cindy&amp;nbsp;! Le téléchargement illégal sur Internet, c'est mal&amp;nbsp;! À cause de ça, toi et les autres grands artistes, vous ne gagnez plus d'argent&amp;nbsp;! Tu te rends compte que toi, la nouvelle star, tu as produit UNE sublime chanson et qu'on va te payer que 600€ pour tes 6000 ridicules ventes ?? T'as même pas gagné le SMIC&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;[o.O] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: 600€&amp;nbsp;? Mais… Attendez je ressort ma calculette… 6000 multiplié par 3€… mais ça fait 18 000 € non&amp;nbsp;?&lt;/li&gt;
&lt;li&gt;[&amp;gt;&amp;lt;] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Mais Cindy !! Tu crois que tu es toute seule à vendre ton single pourri &lt;acronym&gt; Et les ingé son&amp;nbsp;? Et les producteurs&amp;nbsp;? Et la pub &lt;/acronym&gt; Et puis surtout… les taxes&amp;nbsp;! Les taxes, ça te prends quasiment tout les bénéfices de ta production ma pauvre fille&amp;nbsp;! Tu va voir quand tu va déclarer tes impôts&amp;nbsp;! J'espère que tu as pensé à partir en Suisse&amp;nbsp;!&lt;/li&gt;
&lt;li&gt;[,~.~,] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: Mais je sais pas parler suissois moi :'( :'(&lt;/li&gt;
&lt;li&gt;[-.-] &lt;strong&gt;M6I&lt;/strong&gt;&amp;nbsp;: Ne peure plus belle Cindy. Il reste une solution !… Hadopi&amp;nbsp;! Grâce à Hadopi, ces infâmes pirates seront débusqués dans leur repaires&amp;nbsp;! Ils seront exterminés jusqu'au dernier&amp;nbsp;! Et pour éviter qu'ils récidivent, on leur coupera Internet&amp;nbsp;! Ils seront ainsi obligés d'aller au Virgin pour acheter de la musique&amp;nbsp;! Tu vois Cindy, grâce à Hadopi, les 200 000 brigands qui ont piraté ta musique sur Internet n'auront plus le choix&amp;nbsp;! Ils n'auront plus Internet, et ils devront payer comme tout le monde pour écouter ton œuvre&amp;nbsp;! Hadopi vaincra !!&lt;/li&gt;
&lt;li&gt;[^.^] &lt;strong&gt;C&lt;/strong&gt;&amp;nbsp;: C'est vrai ?? Mais c'est génial !! Alors je vais militer pour que les gentils hommes (et femmes hein !) politiques votent pour cette superbe loi qu'est Hadopi&amp;nbsp;! Parce que c'est vrai tout ça. Si je gagne pas d'argent, c'est obligé que c'est à cause du téléchargement illégal. :D&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://www.alti.info/post/2008/06/27/La-citation-du-mois-cindy-sanders-hadopi&quot; hreflang=&quot;fr&quot;&gt;Qu'elle est con cette Cindy.&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alti.info/post/2008/06/28/Cindy-Sanders-et-sa-maison-de-disque-M6-interactive#comment-form</comments>
      <wfw:comment>http://www.alti.info/post/2008/06/28/Cindy-Sanders-et-sa-maison-de-disque-M6-interactive#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alti.info/feed/atom/comments/302</wfw:commentRss>
      </item>
    
  <item>
    <title>La citation du mois</title>
    <link>http://www.alti.info/post/2008/06/27/La-citation-du-mois-cindy-sanders-hadopi</link>
    <guid isPermaLink="false">urn:md5:d683c68cece162a45950c9a21f4c7a6d</guid>
    <pubDate>Fri, 27 Jun 2008 19:31:00 +0200</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Nawakeries</category>
        <category>Hadopi</category><category>Internet</category><category>musique</category><category>p2p</category><category>politique</category><category>téléchargement</category>    
    <description>    &lt;p&gt;Une nouvelle citation du mois, encore meilleure que &lt;a href=&quot;http://www.alti.info/post/2008/06/04/La-citation-du-mois&quot;&gt;la précédente&lt;/a&gt; &lt;img src=&quot;/themes/Alt-I/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Il s'agit cette fois de la gracieuse &lt;strong&gt;Cindy Sanders&lt;/strong&gt;, chanteuse ô combien talentueuse, qui rejoint le groupe des &lt;a href=&quot;http://www.pcinpact.com/actu/news/44453-Riposte-graduee-Cindy-Sander-single.htm&quot; hreflang=&quot;fr&quot;&gt;52 connards qui ont signés une pétition pro Hadopi&lt;/a&gt; et qui s'en justifie par la présente&amp;nbsp;:&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;Alors. Déjà je dirai que je suis très très contente de la vente de mon single. Parce que j'me dis que avant que tout ça démarre, j’ai mis cette chanson en téléchargement illégal sur le Net. Parce que j'pensais pas bien sûr à la suite, j’pensais pas à la signature avec une maison de disque.
&lt;br /&gt;
&lt;br /&gt;
Et faut être réaliste, il y a eu plus de 200 000 téléchargements. Donc moi je pars d’un principe que si le CD aurait été fait tout de suite, et ben j’en aurai déjà vendu plus de 200 000. Donc pour moi c’est déjà une très très bonne place avec tout ce qui a été téléchargé.
&lt;br /&gt;
&lt;br /&gt;
Voilà. En plus, j’étais devant Mariah Carey, donc c'qui est déjà pas mal. Je m’attendais pas du tout à être première, ça j’en étais même sûre. Mais voilà, j’espère que ça se passera mieux pour le deuxième. Le deuxième titre.
&lt;br /&gt;
&lt;br /&gt;
Et surtout il faut se dire une chose, c’est que pour tous les artistes c’est pareil, on est tous dans le même bateau. Les ventes de singles ou d’albums deviennent très dures depuis qu’il y a tous ces téléchargements un petit peu à droite et à gauche. Alors arrêtez avec ces téléchargements, vous nous faites mourir&amp;nbsp;!&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;Elle est mignonne la Cindy. C'était évident !! Si son single ne s'est vendu qu'à &lt;strong&gt;seulement 6000 exemplaires&lt;/strong&gt; en 3 mois, c'est bien évidemment à cause des pirates !!&lt;/p&gt;


&lt;p&gt;Et si on l'attaquait pour &lt;strong&gt;mise à disposition de produits contrefaits&lt;/strong&gt;&amp;nbsp;? Après tout, elle a fait un aveu là non&amp;nbsp;? &lt;img src=&quot;/themes/Alt-I/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alti.info/post/2008/06/27/La-citation-du-mois-cindy-sanders-hadopi#comment-form</comments>
      <wfw:comment>http://www.alti.info/post/2008/06/27/La-citation-du-mois-cindy-sanders-hadopi#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alti.info/feed/atom/comments/301</wfw:commentRss>
      </item>
    
  <item>
    <title>Menu en colonne en Javascript</title>
    <link>http://www.alti.info/post/2008/02/10/Menu-en-colonne-en-Javascript-MenuCol</link>
    <guid isPermaLink="false">urn:md5:064ed3aabc6d7fb10273d8334fd82cc5</guid>
    <pubDate>Tue, 12 Feb 2008 12:55:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Développement</category>
        <category>accessibilité</category><category>AJAX</category><category>concept</category><category>developpement</category><category>ergonomie</category><category>free</category><category>GPL</category><category>GUI</category><category>JavaScript</category><category>Mac OS X</category><category>open source</category><category>programmation</category><category>projet</category><category>téléchargement</category>    
    <description>&lt;p&gt;&lt;a href=&quot;http://www.nicolas-guilhou.com/&quot; hreflang=&quot;fr&quot;&gt;Xylpho&lt;/a&gt; voulait pour son site, un menu en colonne comme le fait Mac OS X&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.alti.info/images/Scrinchoutes/Menu_Colonne_Mac_OS_X_piti.png&quot; alt=&quot;Menu Colonne Mac OS X&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Ce menu devait être à la fois accessible, référençable et dynamique. Donc, pas de flash&amp;nbsp;! Javascript à la rescousse. Je lui ai donc codé une classe JS qui construit un menu en colonne à partir de listes imbriquées…&lt;/p&gt;    &lt;p&gt;En gros, tout le plan du site est intégré dans la page et structuré avec des ul et des li imbriqués&amp;nbsp;:&lt;/p&gt;

&lt;a href=&quot;http://www.alti.info/post/2008/02/10/#&quot; onclick=&quot;document.getElementById('codeHTML').style.display = 'block'; return false;&quot;&gt;
Voir le code HTML
&lt;/a&gt;
&lt;pre id=&quot;codeHTML&quot; style=&quot;display: none;&quot;&gt;
&amp;lt;ul id=&quot;menuCol&quot;&amp;gt;
	&amp;lt;li&amp;gt;
		2005
		&amp;lt;ul&amp;gt;
			&amp;lt;li&amp;gt;
				July
				&amp;lt;ul&amp;gt;
					&amp;lt;li&amp;gt;
						27
						&amp;lt;ul&amp;gt;
							&amp;lt;li&amp;gt;
								&amp;lt;a href=&quot;http://www.alti.info/post/2008/02/10/?id=4&quot;&amp;gt;
									Joulie Interface
								&amp;lt;/a&amp;gt;
							&amp;lt;/li&amp;gt;
						&amp;lt;/ul&amp;gt;
					&amp;lt;/li&amp;gt;
				&amp;lt;/ul&amp;gt;
			&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;
				September
				&amp;lt;ul&amp;gt;
					&amp;lt;li&amp;gt;
						29
						&amp;lt;ul&amp;gt;
							&amp;lt;li&amp;gt;
								&amp;lt;a href=&quot;http://www.alti.info/post/2008/02/10/?id=11&quot;&amp;gt;
									Version Texte
								&amp;lt;/a&amp;gt;
							&amp;lt;/li&amp;gt;
						&amp;lt;/ul&amp;gt;
					&amp;lt;/li&amp;gt;
				&amp;lt;/ul&amp;gt;
			&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;
				October
				&amp;lt;ul&amp;gt;
					&amp;lt;li&amp;gt;
						29
						&amp;lt;ul&amp;gt;
							&amp;lt;li class=&quot;selected&quot;&amp;gt;
								&amp;lt;a href=&quot;http://www.alti.info/post/2008/02/10/?id=18&quot;&amp;gt;
									Qjelt Octobre en VideoCast
								&amp;lt;/a&amp;gt;
							&amp;lt;/li&amp;gt;
						&amp;lt;/ul&amp;gt;
					&amp;lt;/li&amp;gt;
				&amp;lt;/ul&amp;gt;
			&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;
				November
				&amp;lt;ul&amp;gt;
					&amp;lt;li&amp;gt;
						08
						&amp;lt;ul&amp;gt;
							&amp;lt;li&amp;gt;
								&amp;lt;a href=&quot;http://www.alti.info/post/2008/02/10/?id=19&quot;&amp;gt;
									www.alti.info
								&amp;lt;/a&amp;gt;
							&amp;lt;/li&amp;gt;
						&amp;lt;/ul&amp;gt;
					&amp;lt;/li&amp;gt;
				&amp;lt;/ul&amp;gt;
			&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;
				December
				&amp;lt;ul&amp;gt;
					&amp;lt;li&amp;gt;
						08
						&amp;lt;ul&amp;gt;
							&amp;lt;li&amp;gt;
								&amp;lt;a href=&quot;http://www.alti.info/post/2008/02/10/?id=20&quot;&amp;gt;
									OW Pick !!!
								&amp;lt;/a&amp;gt;
							&amp;lt;/li&amp;gt;
						&amp;lt;/ul&amp;gt;
					&amp;lt;/li&amp;gt;
				&amp;lt;/ul&amp;gt;
			&amp;lt;/li&amp;gt;
		&amp;lt;/ul&amp;gt;
	&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&lt;/pre&gt;



&lt;p&gt;Ensuite, ma classe Javascript va masquer et afficher les bons ul selon les clicks sur les li. Le menu se crée en créant un nouvel objet de la sorte&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;script type=&quot;text/javascript&quot; charset=&quot;utf-8&quot;&amp;gt;
//&amp;lt;![CDATA[
	var test = new MenuCol.Menu('menuCol');
	MenuCol.Item.open();
//]]&amp;gt;
&amp;lt;/script&amp;gt;
&lt;/pre&gt;



&lt;p&gt;La statique open() permet d'initialiser le menu sur le li qui contient la classe 'selected' afin de revenir sur le menu correspondant après un chargement de page.&lt;/p&gt;


&lt;p&gt;Tout ceci fonctionne grâce au script MenuCol.js, que je rends disponible sous licence GPLv3. Faites en ce que voulez, mais souvenez vous de citer mon nom.&lt;/p&gt;

&lt;a href=&quot;http://www.alti.info/post/2008/02/10/#&quot; onclick=&quot;document.getElementById('codeJS').style.display = 'block'; return false;&quot;&gt;
Voir le code Javascript
&lt;/a&gt;
&lt;pre id=&quot;codeJS&quot; style=&quot;display: none;&quot;&gt;
// Global object
var MenuCol = {};

/**
 * Flag to stop propagation of event
 * @type Boolean
 */
MenuCol._stopPropagation = false;

/**
 Shortcut to document.getElementById
 * @param {String/Element} id Element or Element's id
 * @returns Element
 */
MenuCol.get = function(id)
{
	var elmt = document.getElementById(id);
	if (elmt)
	{
		return elmt;
	}
	return id;
};

// Objects collection
MenuCols = new Array();

/**
 * Menu class
 * @constructor
 * @param {String/Element} elmt UL menu Element or it's id
 * @author Hadrien Lanneau
 */
MenuCol.Menu = function(elmt)
{
	/**
	 * Element
	 * @type Element
	 */
	this.element = MenuCol.get(elmt);
	
	/**
	 * Items inside Menu
	 * @type Array
	 */
	this.items = new Array();
	
	MenuCols.push(this);
	
	this.init();
}
MenuCol.Menu.prototype =
{
	/**
	 * Initialize
	 */
	init: function()
	{
		// Make Item object with all li children
		var lis = this.element.getElementsByTagName('li');
		for (var i = 0; lis[i]; i++)
		{
			if (lis[i].parentNode == this.element)
			{
				var item = new MenuCol.Item(
					lis[i]
				);
				item.parent = this;
				this.items.push(
					item
				);
			}
		}
	},
	/**
	 * Hide menu
	 */
	hide: function()
	{
		this.element.style.display = 'none';
	},
	/**
	 * Show Menu
	 */
	show: function()
	{
		this.element.style.display = 'block';
	}
};

MenuCol.Items = new Array();
/**
 * MenuCol.Item class
 * @constructor
 * @param {String/Element} elmt UL menu Element or it's id
 * @author Hadrien Lanneau
 */
MenuCol.Item = function(elmt)
{
	/**
	 * Element
	 * @type Element
	 */
	this.element = MenuCol.get(elmt);
	
	/**
	 * Submenu
	 * @type MenuCol.Menu
	 */
	this.submenu = null;
	
	MenuCol.Items.push(this);
	
	this.init();
}
MenuCol.Item.prototype =
{
	/**
	 * Initialize
	 */
	init: function()
	{
		// Make Menu object with all UL children
		var uls = this.element.getElementsByTagName('ul');
		for (var i = 0; uls[i]; i++)
		{
			if (uls[i].parentNode == this.element)
			{
				this.submenu = new MenuCol.Menu(
					uls[i]
				);
				this.submenu.parent = this;
				this.submenu.hide();
			}
		}
		
		// Add on click Event on element
		this.element.parent = this;
		this.element.onclick = this.onclick;
	},
	/**
	 * onclick event
	 */
	onclick: function()
	{
		// Exec only on first fire
		if (!MenuCol._stopPropagation)
		{
			// If item hasn't submenu, we don't do anything
			if (!this.parent.submenu)
			{
				return true;
			}
			
			// Hiding all sub menus of same level
			for (var i = 0; this.parent.parent.items[i]; i++)
			{
				if (this.parent.parent.items[i].submenu)
				{
					this.parent.parent.items[i].submenu.hide();
					this.parent.parent.items[i].activate(
						true,
						true
					);
				}
			}
			
			// …and their children
			for (i = 0; this.parent.submenu.items[i]; i++)
			{
				this.parent.submenu.items[i].activate(true);
				if (this.parent.submenu.items[i].submenu)
				{
					this.parent.submenu.items[i].submenu.hide();
				}
			}
			
			// Show corresponding sub menu
			this.parent.submenu.show();
			
			// And its parents
			var parent = this.parent ?
				this.parent :
				null;
			while (parent)
			{
				parent.parent.show();
				parent.activate(
					false,
					false
				);
				parent = parent.parent ?
					parent.parent.parent :
					null;
			}
			
			// Activate item
			this.parent.activate(
				false,
				true
			);
			
			// Prevents event propagation on parent's elements
			MenuCol._stopPropagation = true;
			setTimeout(
				function()
				{
					MenuCol._stopPropagation = false;
				},
				20
			)
		}
	},
	/**
	 * activate element
	 * @param {Boolean} oupa True to deactivate
	 */
	activate: function(oupa, submenu)
	{
		// Activate item
		if (!oupa)
		{
			this.element.className = 'selected';
		}
		else
		{
			this.element.className = '';
		}
		// Activate submenu
		if (submenu)
		{
			if (!oupa)
			{
				this.submenu.element.className = 'selected';
			}
			else
			{
				this.parent.element.className = '';
			}
		}
	}
};

/**
 * Open menu on activated li. Will open on li with 'selected' class
 */
MenuCol.Item.open = function()
{
	for (var i = 0; MenuCol.Items[i]; i++)
	{
		if (MenuCol.Items[i].element.className == 'selected')
		{
			if (MenuCol.Items[i].submenu)
			{
				MenuCol.Items[i].element.onclick();
				
			}
			else
			{
				MenuCol.Items[i].parent.parent.element.onclick();
				MenuCol.Items[i].activate();
			}
		}
	}
}
&lt;/pre&gt;


&lt;pre&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Voici un exemple du résultat qui &lt;a href=&quot;http://www.hadrien.eu/Works/menuCol/&quot; hreflang=&quot;fr&quot;&gt;affiche les archives de ce blog&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.hadrien.eu/telechargements.html#cadre_content&quot; hreflang=&quot;en&quot;&gt;Télécharger le script&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.alti.info/post/2008/02/10/Menu-en-colonne-en-Javascript-MenuCol#comment-form</comments>
      <wfw:comment>http://www.alti.info/post/2008/02/10/Menu-en-colonne-en-Javascript-MenuCol#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alti.info/feed/atom/comments/238</wfw:commentRss>
      </item>
    
  <item>
    <title>Oh ! mais… mo ? Titre de merde pour un article qui parle de P2P sécurisé :p</title>
    <link>http://www.alti.info/post/2007/12/21/Oh-mais-mo-Titre-de-merde-pour-un-article-qui-parle-de-P2P-securise-%3Ap</link>
    <guid isPermaLink="false">urn:md5:4b05a01102a79ca54bd9e2e344f5306f</guid>
    <pubDate>Fri, 21 Dec 2007 17:31:00 +0100</pubDate>
    <dc:creator>Hadrien</dc:creator>
        <category>Général</category>
        <category>confidentialité</category><category>logiciel</category><category>p2p</category><category>téléchargement</category>    
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.ratiatum.com/news6277_Nouveau_reseau_P2P_securise_Omemo_par_le_createur_de_Blubster.html&quot; hreflang=&quot;fr&quot;&gt;Ratatium&lt;/a&gt; nous informe qu'un nouveau réseau p2p vient de faire son apparition. &lt;a href=&quot;http://www.omemo.com/&quot; hreflang=&quot;en&quot;&gt;Omemo&lt;/a&gt; est un réseau dans l'esprit de Freenet où chaque peer possède une partie du contenu d'un gigantesque volume communautaire crypté.&lt;/p&gt;


&lt;p&gt;Une fois le deamon lancé, un volume apparait sur le bureau dans lequel sont accessibles tout les documents de tout type que les autres utilisateurs y auront laissé. Vous pouvez les télécharger, en ajouter ou même en supprimer à la façon d'un wiki. Le réseau est crypté et anonyme, donc la RIAA et la MPAA peuvent aller se faire mettre. C'est donc un disque dur de taille illimité et accessible au monde entier que propose Omemo.&lt;/p&gt;


&lt;p&gt;Pour le moment uniquement disponible sous Windows, j'attends impatiemment une version pour Mac OS X &lt;img src=&quot;/themes/Alt-I/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.omemo.com/&quot; hreflang=&quot;en&quot;&gt;&lt;img src=&quot;http://www.ratiatum.com/img/news/6277/Omemo-500px.jpg&quot; alt=&quot;Omemo&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;em&gt;Source&amp;nbsp;: &lt;a href=&quot;http://www.ratiatum.com/news6277_Nouveau_reseau_P2P_securise_Omemo_par_le_createur_de_Blubster.html&quot; hreflang=&quot;fr&quot;&gt;Ratatium&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.alti.info/post/2007/12/21/Oh-mais-mo-Titre-de-merde-pour-un-article-qui-parle-de-P2P-securise-%3Ap#comment-form</comments>
      <wfw:comment>http://www.alti.info/post/2007/12/21/Oh-mais-mo-Titre-de-merde-pour-un-article-qui-parle-de-P2P-securise-%3Ap#comment-form</wfw:comment>
      <wfw:commentRss>http://www.alti.info/feed/atom/comments/213</wfw:commentRss>
      </item>
    
</channel>
</rss>