<title>MacGeneration.com</title> <link rel="Publisher" href="mailto:contact@macgeneration.com"> <link rel="home" href="/"> <meta http-equiv="Pragma" content="no-cache"> <meta name="Publisher" content="Mac Generation"> <meta name="keywords" content="Mac, mac, Macintosh, macintosh, Apple, apple, imac, Imac, iMac, G3, g3, G4, g4, cube, Powermac, PowerMac, powermac, ibook, Ibook, iBook, Powerbook, powerbook, Mac Os, mac os, Acualit&eacute;, actualit&eacute;, News, news, site, jeux, referencement, r&eacute;f&eacute;rencement, macnewstv, MacNewsTV"> <meta name="description" content="MacGeneration est le premier site Mac francophone d'actualit&eacute; continue. Constamment mis &agrave; jour il fait partie du Macintosh News Network, le plus grand r&eacute;seau d'information Mac americain."> <link href="/newstyle.css" rel="styleSheet" type="text/css"> <body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" background="/interface/fond.gif" bgcolor="#ff4500" link="#191970" alink="#191970" vlink="#191970"> 	<table border="0" cellpadding="0" cellspacing="0" width="100%"> 		<tr height="74"> 			<td valign="middle" height="74" width="280"><img src="/interface/logo_v.gif" width="280" height="74" border="0"></td> 			<td valign="middle" height="74"> 				<center>         <a href='http://www.macgeneration.com/mgadds/adclick.php?bannerid=4&amp;zoneid=15&amp;source=&amp;dest=http%3A%2F%2Fwww.macpartner.fr' target='_blank' onMouseOver="self.status='Visitez le site de notre sponsor'; return true;" onMouseOut="self.status='';return true;"><img src='http://pub.macgeneration.com/pub/macpartner.gif' width='468' height='60' alt='Visitez le site de notre sponsor' title='Visitez le site de notre sponsor' border='0'></a><img src='http://www.macgeneration.com/mgadds/adlog.php?bannerid=4&amp;clientid=5&amp;zoneid=15&amp;source=&amp;block=0&amp;capping=0&amp;cb=d529913fa929491d08e122df926f7626' width='0' height='0' alt='' style='width: 0px; height: 0px;'>        </center> 			</td> 		</tr> 		<tr height="27"> 			<td colspan="2" height="27"> 				<div align="left"> 							<script language="JavaScript"><!-- if (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 ))                                    || ((navigator.appName == "Microsoft Internet Explorer")                                    && (parseInt(navigator.appVersion) >= 4 ))) {                                    version = "supported";                            }                                    else {                                    version = "notsupported";                            }                            function WM_preloadImages() {                 /*                 WM_preloadImages()                 Loads images into the browser's cache for later use.                 Source: Webmonkey Code Library                 (http://www.hotwired.com/webmonkey/javascript/code_library/)                 Author: Nadav Savio                 Author Email: nadav@wired.com                 Usage: WM_preloadImages('image 1 URL', 'image 2 URL', 'image 3 URL', ...);                 */                   // Don't bother if there's no document.images                   if (document.images) {                     if (typeof document.WM == 'undefined'){                       document.WM = new Object();                     }                     document.WM.loadedImages = new Array();                     // Loop through all the arguments.                     var argLength = WM_preloadImages.arguments.length;                     for(arg=0;arg<argLength;arg++) {                       // For each arg, create a new image.                       document.WM.loadedImages[arg] = new Image();                       // Then set the source of that image to the current argument.                       document.WM.loadedImages[arg].src = WM_preloadImages.arguments[arg];                     }                   }                 }                 WM_preloadImages('/interface/actu1.gif', '/interface/actu1h.gif', '/interface/actu2.gif', '/interface/actu2h.gif', '/interface/actu3.gif', '/interface/actu3h.gif', '/interface/actu4.gif', '/interface/actu4h.gif'); // --> 		</script>  <table border="0" cellpadding="0" cellspacing="0"> <tr> <td rowspan="2" width="12"><img src="/interface/side.gif" width="12" height="27" border="0"></td> <td colspan="4"><img src="/interface/actualite.gif" width="516" height="14" border="0" usemap="#actualiteb5dd7059"></td> </tr> <tr> <td><a href="/mgnews/page2.php" onmouseover="document.pic1.src='/interface/actu1h.gif'" onmouseout="document.pic1.src='/interface/actu1.gif'"><img align="middle" src="/interface/actu1.gif" border="0" name="pic1" width="91" height="13"></a></td> <td><a href="/actu/dossiers" onmouseover="document.pic2.src='/interface/actu2h.gif'" onmouseout="document.pic2.src='/interface/actu2.gif'"><img align="middle" src="/interface/actu2.gif" border="0" name="pic2" width="60" height="13"></a></td> <td><a href="/mgnews/archives.php" onmouseover="document.pic4.src='/interface/actu4h.gif'" onmouseout="document.pic4.src='/interface/actu4.gif'"><img align="middle" src="/interface/actu4.gif" border="0" name="pic4" width="365" height="13"></a></td> </tr> </table><map name="actualiteb5dd7059"><area shape="rect" coords="428,0,516,12" href="http://www.macgamezone.com/"> <area shape="rect" coords="363,0,427,12" href="/tribumac"> <area shape="rect" coords="309,0,362,12" href="http://forums.macgeneration.com/"> <area shape="rect" coords="230,0,308,12" href="/macnewstv">   <area shape="rect" coords="193,0,229,12" href="/labo"> <area shape="rect" coords="117,0,192,13" href="/enpassant"> <area shape="rect" coords="52,0,116,12" href="/actu"> <area shape="rect" coords="0,0,51,12" href="/index.shtml"></map> 				</div> 			</td> 		</tr> 	</table> 	<table border="0" cellpadding="0" cellspacing="0"> 		<tr height="19"> 			<td width="10" height="19"><img src="/interface/espaceur.gif" width="1" height="19" border="0"></td> 			<td width="614" height="19"><span class='bourse'>Derni&egrave;re modification : Dimanche 20 Avril 2003 - 09:51 CEST - Action Apple : $13.12</span> 			</td> 			<td width="15" height="19"></td> 			<td height="19"></td> 		</tr> 		<tr height="10"> 			<td width="10" height="10"><img src="/interface/espaceur.gif" width="1" height="10" border="0"></td> 			<td width="614" height="10"></td> 			<td width="15" height="10"></td> 			<td height="10"></td> 		</tr> 		<tr> 			<td width="10"></td> 			<td width="614" valign="top"> 				       <table border="0" cellpadding="0" cellspacing="0">         <tr height="10">            <td valign="top" height="61" colspan="5"> 							<div align="center"> 								<p align="left"><table border="0" cellpadding="0" cellspacing="0" width="100%"> 	<tr height="15" width="100%"> 		<td height="15" width="10"><img border="0" height="15" src="/cartouches/carre_actu.gif" width="10"></td> 		<td background="/cartouches/fond_bandeau.gif" height="15" nowrap width="100%" border="0"><span class="smalltxtbold">&nbsp;Dossiers</span></td> 		<td height="15" width="4"><img border="0" height="15" src="/cartouches/onglet_court.gif" width="5"></td> 	</tr> </table><br> 									<span class="textbold2">Mac OS X : fondements et architecture (partie 2)</span><br> 									<span class="text">Par <a href="http://www.validus.fr/" target="_blank">Validus formations</a><a href="mailto:simon@macgeneration.com"><br> 										</a>Adaptation : <a href="mailto:simon@macgeneration.com">Simon Jacquier</a></span></p> 							</div> 							<div align="left" class="text"> 								<p><b>Darwin</b><br> 									<br> 									<img src="/actu/dossiers/macosx/images/dossier/architecture/hexley.jpg" width="120" height="143" border="0" align="right"> 									L'adoption d'un noyau UNIX dans l'architecture du syst&egrave;me repr&eacute;sente un gain important en terme de stabilit&eacute; et de performances. Particularit&eacute;s maintes fois prouv&eacute;es de par l'ensemble des incarnations du syst&egrave;me Unix: AIX (IBM), A/UX (Apple), HP/UX (Hewlett Packard), Solaris (Sun) ainsi que toutes les versions de Linux ou encore Xenix.<br> 									<br> 									Le noyau de Mac OS X, commun&eacute;ment appel&eacute; Darwin, &eacute;tait &agrave; l'origine le nom d'un projet lanc&eacute; par Apple au printemps 1999. Projet ayant pour objectif de mettre &agrave; la disposition des d&eacute;veloppeurs le code source de fragments de Mac OS X Server 1.0. D&eacute;sormais, Darwin est devenu la couche la plus basse de Mac OS X. Les composants primaires de Darwin sont Mach Kernel 3.0, Free BSD, les protocoles r&eacute;seaux ainsi que le I/O Kit.<br> 									<br> 									Mach Kernel, d&eacute;velopp&eacute; &agrave; l'universit&eacute; de Carnegie-Mellon aux &Eacute;tats-Unis, est l'&eacute;l&eacute;ment pivot de Mac OS X et g&egrave;re le lien entre le mat&eacute;riel et le logiciel. Il g&egrave;re les ressources processeurs et procure au syst&egrave;me les avantages suivants :<br> 									<br> 									<img src="/actu/dossiers/macosx/images/dossier/architecture/cpu.jpg" width="104" height="114" border="0" align="left"><b>Multit&acirc;che pr&eacute;emptif</b><br> 									Permet de faire travailler plusieurs applications en m&ecirc;me temps sans ralentissement. C'est le syst&egrave;me qui g&egrave;re les t&acirc;ches confi&eacute;es aux diverses applications. Le principe de fonctionnement consiste &agrave; r&eacute;partir &eacute;quitablement le temps machine c'est-&agrave;-dire l'utilisation du processeur selon les besoins de tous les processus en cours. Auparavant, les applications qui s'allouaient elles-m&ecirc;mes les ressources processeurs en concurrence les unes avec les autres. Cela &eacute;tait valable tant pour les applications que pour les extensions. Dans un syst&egrave;me multit&acirc;che, c'est le syst&egrave;me qui g&egrave;re et distribue les ressources processeur selon les besoins de telle ou telle application, diminuant les uns en donnant plus d'importance &agrave; d'autres, dynamiquement. Au final, nous obtenons de meilleurs temps de r&eacute;ponse des diff&eacute;rentes t&acirc;ches en cours, tout en &eacute;liminant qu'une application mal con&ccedil;ue ne s'attribue trop de temps processeur au d&eacute;triment des autres.<br> 									<br> 									<b>Multithreading</b><br> 									Le principe de fonctionnement est le m&ecirc;me que le multit&acirc;che, &agrave; la seule diff&eacute;rence que le multit&acirc;che d&eacute;finit le partage du processeur entre les applications tandis que le multithreading d&eacute;termine le partage entre les diff&eacute;rents processus en cours d'une m&ecirc;me application. Prenons l'exemple de deux fichiers t&eacute;l&eacute;charg&eacute;s simultan&eacute;ment par un navigateur. Jusque ici, il s'agissait de deux processus g&eacute;r&eacute;s tous deux par le navigateur. Sous Mac OS X, c'est le syst&egrave;me lui-m&ecirc;me qui g&egrave;re ces deux actions ind&eacute;pendamment, en leur allouant les ressources n&eacute;cessaires. <br> 									<br> 									<b>Multiprocessing sym&eacute;trique</b><br> 									Le syst&egrave;me est capable de g&eacute;rer plusieurs processeurs en m&ecirc;me temps en leur attribuant les t&acirc;ches de mani&egrave;re &agrave; ce que les &quot;cerveaux&quot; de la machine se les r&eacute;partissent de fa&ccedil;on &eacute;quitable. De plus, Mac OS X tire pleinement parti du Velocity Engine, un module sp&eacute;cifique aux processeurs Power PC G4 acc&eacute;l&eacute;rant certains types de calculs.<br> 									<br> 									<b>Clustering</b><br> 									Mac OS X sait r&eacute;partir les t&acirc;ches &agrave; effectuer entre plusieurs machines reli&eacute;es en r&eacute;seau. Plusieurs Mac peuvent donc travailler de concert en se r&eacute;partissant un m&ecirc;me travail. Imaginez les performances que l'on peut obtenir en couplant plusieurs PowerPC G4 multiprocesseurs...<br> 									<br> 									<img src="/actu/dossiers/macosx/images/dossier/architecture/memoire.jpg" width="104" height="123" border="0" align="right"><b>M&eacute;moire dynamique</b><br> 									Le syst&egrave;me g&egrave;re de fa&ccedil;on dynamique la quantit&eacute; de m&eacute;moire attribu&eacute;e aux applications. Selon le besoin de chacune, le syst&egrave;me lui allouera donc plus ou moins de m&eacute;moire. Lorsqu&#146;une application effectuera des op&eacute;rations (par exemple sur un document ouvert), sa taille m&eacute;moire sera automatiquement ajust&eacute;e &agrave; ses besoins, et lorsqu'elle aura termin&eacute; ses t&acirc;ches (en restant lanc&eacute;e mais sans traitement en cours) son occupation de la m&eacute;moire sera restreinte en cons&eacute;quence. L'allocation m&eacute;moire peut donc &ecirc;tre amen&eacute;e &agrave; &eacute;voluer au cours de l'utilisation d'une application. Deux cons&eacute;quences de cette fonctionnalit&eacute; sur nos comportements d'utilisateurs consistent premi&egrave;rement &agrave; ne plus avoir &agrave; modifier manuellement la taille m&eacute;moire allou&eacute;e &agrave; une application, et deuxi&egrave;mement &agrave; pouvoir avoir beaucoup plus d'applications ouvertes simultan&eacute;ment que par le pass&eacute;.<br> 									<br> 									<b>Protection m&eacute;moire</b><br> 									Interdit aux applications d'empi&eacute;ter sur la zone de m&eacute;moire occup&eacute;e par une autre application ouverte comme cela peut se produire sous Mac OS 9 et pr&eacute;c&eacute;dents. Ce genre de violations est &agrave; l'origine de la plupart des plantages. Sous UNIX, le syst&egrave;me alloue &agrave; chaque application (processus) un espace m&eacute;moire bien d&eacute;fini dans lequel celle-ci s'ex&eacute;cute sans qu'elle ne puisse d&eacute;border sur l'espace d'une autre application ou du syst&egrave;me lui-m&ecirc;me.<br> 									<br> 									Sous Mac OS X, lorsqu'une application plante, elle est &eacute;limin&eacute;e par le syst&egrave;me, qui lib&egrave;re par la m&ecirc;me occasion l'espace m&eacute;moire qu'elle occupait. Ni les autres applications ni le syst&egrave;me ne sont affect&eacute;s, comme c'&eacute;tait le cas pr&eacute;c&eacute;demment. La n&eacute;cessit&eacute; de red&eacute;marrer la machine lors de plantages est donc pratiquement &eacute;limin&eacute;e.<br> 									<br> 									Au sujet de la gestion de la m&eacute;moire sous Mac OS X, nous pouvons ajouter que d&eacute;sormais, la m&eacute;moire virtuelle repr&eacute;sente un fondement du syst&egrave;me et qu'elle ne peut &ecirc;tre d&eacute;sactiv&eacute;e. Lorsque la m&eacute;moire vive (RAM) est totalement remplie, le syst&egrave;me utilise de l'espace sur le disque dur pour pallier le manque. Ce m&eacute;canisme est &agrave; double tranchant : d'une part, la m&eacute;moire devient presque illimit&eacute;e, la seule limite &eacute;tant la taille du disque dur, mais d'autre part les acc&egrave;s au disque sont beaucoup plus lents que l'utilisation de la &quot;vraie&quot; RAM. Lorsque le syst&egrave;me se met &agrave; &quot;swapper&quot; (c'est ainsi que l'on appelle cette technique), les performances chutent de mani&egrave;re non n&eacute;gligeable.<br> 									<br> 									<br> 									<b>BSD</b><br> 									<br> 									<img src="/actu/dossiers/macosx/images/dossier/architecture/freebsd.jpg" width="72" height="74" border="0" align="left">Il s'agit d'une version client du syst&egrave;me d'exploitation BSD 4.4 (Berkeley Software Distribution). BSD est utilis&eacute; pour la gestion du syst&egrave;me de fichiers et du r&eacute;seau sous Mac OS X. Il permet &eacute;galement d'&ecirc;tre pilot&eacute; depuis une interface en ligne de commande (ou Shell, via l'utilitaire Terminal fourni avec le syst&egrave;me). D'autre part, BSD g&egrave;re les processus en cours d'utilisation, l'allumage et l'extinction du syst&egrave;me, ainsi que les op&eacute;rations d'entr&eacute;e/sortie. Au niveau de la gestion des utilisateurs et groupes, on parle &agrave; la fois de BSD et de NetInfo. NetInfo n'est pas une couche de BSD mais une couche d&eacute;riv&eacute;e directement de NeXT, le syst&egrave;me d&eacute;velopp&eacute; par Steve Jobs lors de son d&eacute;part d'Apple, et des YellowsPages de Sun. NetInfo intervient par exemple pour la gestion des droits attribu&eacute;s aux fichiers et aux utilisateurs.<br> 									<br> 									<b>Protocoles r&eacute;seau</b><br> 									Mac OS X prend en charge de nombreux protocoles standards de l'industrie : TCP/IP, UDP/IP, PPP, PAP (impression sur une imprimante r&eacute;seau), HTTP (les pages Web), FTP (le transfert de fichiers), DNS, SLP (Service Location Protocol, utilis&eacute; pour la d&eacute;tection automatique d'imprimantes, serveurs, fax, ordinateurs... sur un r&eacute;seau IP), DHCP, BOOTP, LDAP, NTP (Network Time Protocol, utilis&eacute; pour la synchronisation des horloges sur un r&eacute;seau).</p> 							</div> 							<div class="text" align="center"> 								<p><img src="/actu/dossiers/macosx/images/dossier/architecture/reseau.jpg" width="123" height="130" border="0"></p> 							</div> 							<div align="left" class="text"> 								<p><b>I/O Kit</b><br> 									Permet une gestion &quot;hot Plug &amp; Play&quot; (c'est-&agrave;-dire branchage et d&eacute;branchage &agrave; chaud, en cours de fonctionnement) des p&eacute;riph&eacute;riques USB, FireWire et PC Card. Concernant le SCSI, l'AGP, le PCI, ou l'ADB, nous parlons juste de &quot;Plug &amp; Play&quot; (un red&eacute;marrage est n&eacute;cessaire pour la prise en compte des nouveaux p&eacute;riph&eacute;riques).<br> 									<br> 									Le fait qu'un composant soit branchable et d&eacute;branchable &agrave; chaud n'est pas un probl&egrave;me logiciel mais mat&eacute;riel. Il est bon de signaler qu'il s'agit ici du premier syst&egrave;me UNIX Plug &amp; Play. L'impl&eacute;mentation du I/O Kit dans le noyau facilite le d&eacute;veloppement de pilotes (drivers) pour Mac OS X et fournit nombre de ressources dont ces pilotes ont besoin. Les pilotes cr&eacute;es &agrave; l'aide du I/O Kit b&eacute;n&eacute;ficient d'avantage non n&eacute;gligeables : Plug &amp; Play total, gestion dynamique des p&eacute;riph&eacute;riques et gestion optimale de l'alimentation &agrave; la fois pour les machines de bureau et les portables. De plus, Mac OS X int&egrave;gre des gestionnaires ou drivers USB g&eacute;n&eacute;riques afin de g&eacute;rer des p&eacute;riph&eacute;riques dont les drivers ne sont pas mis &agrave; jour.</p> 							</div> 							<div align="left" class="text"> 								<p>&nbsp;</p> 								<p>&gt; <a href="/actu/dossiers/macosx/architecture.shtml">partie 1 : Introduction</a></p> 								<p>&gt; <a href="/actu/dossiers/macosx/architecture_3.shtml">partie 3 : Quartz, OpenGL et QuickTime<br> 									</a>&gt; <a href="/actu/dossiers/macosx/architecture_4.shtml">partie 4 : Classic, Carbon et Cocoa</a></p> 								<p><span class="text">&gt; <a href="/actu/dossiers">retour au dossier Mac OS X</a></span></p> 							</div> 						</td>         </tr>         <tr height="10">            <td height="10" width="198" valign="top"></td>           <td width="10" height="10"></td>           <td width="199" height="10" valign="top"></td>           <td width="10" height="10"></td>           <td width="198" height="10" valign="top"></td>         </tr>         <tr height="10">            <td width="198" height="10" valign="top"></td>           <td width="10" height="10"></td>           <td width="199" height="10" valign="top"></td>           <td width="10" height="10"></td>           <td width="198" height="10" valign="top"></td>         </tr>         <tr>            <td valign="top" colspan="5">              <center> 	<div class="smalltxt">  	<p>&copy; 1999 - 2001 MacGeneration et Validus<br>En association avec : Validus formations <a href="http://www.validus.fr/" target="_blank">www.validus.fr</a></p></div> </center>           </td>         </tr>         <tr height="1">            <td width="198" height="1"><img src="/interface/espaceur.gif" width="198" height="1" border="0"></td>           <td width="10" height="1"><img src="/interface/espaceur.gif" width="10" height="1" border="0"></td>           <td width="199" height="1"><img src="/interface/espaceur.gif" width="198" height="1" border="0"></td>           <td width="10" height="1"><img src="/interface/espaceur.gif" width="10" height="1" border="0"></td>           <td width="198" height="1"><img src="/interface/espaceur.gif" width="198" height="1" border="0"></td>         </tr>       </table> 			</td> 			<td width="15" valign="top"></td> 			<td valign="top"> 				<div align="left"> 					<table width="190" border="0" cellspacing="0" cellpadding="0"> 	<tr height="20"> 		<td height="20"> 			<center> 				<img src="/interface/espaceur.gif" height="12" width="1" border="0"></center> 		</td> 	</tr>  	<tr> 		<td align="center"><table border="0" cellspacing="0" cellpadding="0" width='90%'> 	<tr> 		<td><div class="text" align="justify"><b>La citation du jour :</b><br>&laquo; J&#146;ai toujours r&ecirc;v&eacute; d&#146;un ordinateur qui soit aussi facile &agrave; utiliser qu&#146;un t&eacute;l&eacute;phone. Mon r&ecirc;ve s&#146;est r&eacute;alis&eacute;. Je ne sais plus comment utiliser mon t&eacute;l&eacute;phone. &raquo;</div></td> 	</tr> 	<tr> 		<td><div class="text" align="right"><br><i>Bjarne Stroustrup, Chercheur infomaticien am&eacute;ricain<br></i></div></td> 	</tr> </table> 			<hr> 	</tr> 		<tr> 		<td> 			<div align="center"> 				<a target='_blank' href="http://www.macgeneration.com/mgadds/adclick.php?bannerid=5&amp;zoneid=5&amp;source=&amp;dest=http%3A%2F%2Fwww.macpartner.fr&amp;ismap=" ><img src="http://pub.macgeneration.com/pub/mp120-240_2.gif" border=0></a> <img src='http://www.macgeneration.com/mgadds/adlog.php?bannerid=5&amp;clientid=6&amp;zoneid=5&amp;source=&amp;block=0&amp;capping=0&amp;cb=16322fedac19d95e0d92dc23dea8d5d3' width='0' height='0' alt='' style='width: 0px; height: 0px;'><br> 				<hr> 			</div> 		</td> 	</tr> 	<tr> 		<td align="center"> 			<form action="/ml/subscribe.php" method="post" name="subscribe"> 				<center> 					<div class="text"> 						Recevez<b> chaque soir</b><br> 						le r&eacute;sum&eacute; de l'actualit&eacute;<br> 						du jour par email :<br> 						<br> 						<input type="text" name="email" value="(votre email ici)" size="20" onfocus="if(this.value == '(votre email ici)') this.value = '';"><br> 						<br> 						<input type="hidden" name="action" value="abo" /> 						<input type="submit" value="Envoyer"> 					</div> 				</center> 			</form> 		</td> 	</tr> 	<tr> 		<td><!-- Search Google --> 			<center> 				<hr align="center"> 				<form action="/mgnews/rechercher_global.php" method="GET"> 					Recherche sur MacGeneration :<br> 					<br> 					<input type="text" name="aIndex" size="20"><br> 					<select class="text" name="aCmd"> 						<option selected value="actu_macg">Actu MacG</option> 						<option value="actu_tribumac">Actu TribuMac</option> 						<option value="actu_mgz">Actu MGZ</option> 						<option value="machoo">MacHoo</option> 						<option value="macopedia">Macopedia</option> 						<option value="annonce">Annonces</option> 					</select> <input type="submit" name="aButton" value="Go"><br> 				</form> 			</center> 		</td> 	</tr> 	<tr> 		<td> 			<div class="text" align="center"> 				<hr align="center"> 				<p align="center"><iframe scrolling="no" frameborder=0 width=170 height=650    src="http://rcm-fr.amazon.fr/e/cm?t=macgeneration&l=rc1&p=5&o=8&f=ifr">   <table border="0" cellpadding="0" cellspacing="0" width="164" height="700"><tr><td> <map name="ten_item_list"><area shape="RECT" coords="29,680,135,700" href="http://www.macgeneration.com/mgadds/adclick.php?bannerid=26&amp;zoneid=6&amp;source=&amp;dest=http%3A%2F%2Frcm-fr.amazon.fr%2Fe%2Fcm%2Fprivacy-policy.html%3Fo%3D8&amp;ismap="  alt="A propos de cet espace"> <area shape="RECT" coords="0,0,10000,10000" href="http://www.macgeneration.com/mgadds/adclick.php?bannerid=26&amp;zoneid=6&amp;source=&amp;dest=http%3A%2F%2Fwww.amazon.fr%2Fexec%2Fobidos%2Fredirect%3Ftag%3Dmacgeneration%26path%3Dtg%2Fbrowse%2F-%2F405320&amp;ismap=" ></map> <img src="http://rcm-images.amazon.com/images/G/08/associates/amzn_recommends/ten_item_list.gif" width="164" height="700" border="0" usemap="#ten_item_list"> </td></tr></table> </iframe>  <img src='http://www.macgeneration.com/mgadds/adlog.php?bannerid=26&amp;clientid=24&amp;zoneid=6&amp;source=&amp;block=0&amp;capping=0&amp;cb=d73ff2a453334312ecd9552b5d3532cc' width='0' height='0' alt='' style='width: 0px; height: 0px;'></p> 			</div> 		</td> 	</tr> 	<tr> 		<td><img src="/interface/espaceur.gif" height="20" width="1" border="0"></td> 	</tr> 	<tr> 		<td><img src="/interface/espaceur.gif" height="20" width="1" border="0"></td> 	</tr> </table> <p>&nbsp;</p> <!-- 111 -->  				</div> 			</td> 		</tr> 	</table> </body> 
