<?xml version="1.0"?><!-- generator="b2evolution/0.9.2" -->
<rss version="0.92">
  <channel>
		<title>Manuel's blog</title>
    <link>http://blogs.hurdfr.org/mmenal</link>
    <description>Blog de mmenal</description>
    <language>fr-FR</language>
    <docs>http://backend.userland.com/rss092</docs>
        <item>
      <title>Summer of Code</title>
      <description>	&lt;p&gt;Juste ce petit billet pour vous faire part de ma joie d'avoir ete selectionne pour faire partie du &lt;a href=&quot;http://code.google.com/soc/&quot;&gt;Google Summer of Code 2006&lt;/a&gt;. Comme je le disais dans le precedent post, je travaillerai sur les client et serveur NFS du Hurd, afin de les rendre entierement compatibles avec NFSv2/v3, d'y ajouter des interfaces specifiques au Hurd et de commencer un support NFSv4 (en goodie pour la fin ;-).&lt;/p&gt;
	&lt;p&gt;L'essentiel de mon temps en informatique cet ete sera donc consacre a NFS. Malheureusement, le jeu des attributions a fait que Google n'a donne cette annee que 10 places au projet GNU, alors que &lt;a href=&quot;http://www.gnu.org/software/soc-projects/ideas.html&quot;&gt;plus de 25 projets&lt;/a&gt; avaient soumis des idees de tache. Pour le Hurd, cela se traduit par une place pour 14 propositions (et 12 personnes). Je suis vraiment desole pour les recales dont les projets etaient plus que convaincants et utiles : notamment, j'espere que &lt;a href=&quot;http://syn.sceen.net/&quot;&gt;syn&lt;/a&gt; aura le temps de travailler sur le support du son sous GNU/Hurd et que quelqu'un d'autre pourra travailler sur l'implementation d'une nouvelle pile TCP/IP.&lt;/p&gt;
	&lt;p&gt;Un autre projet tres enthousiasmant en rapport avec le Hurd a ete accepte : le port de debian-installer pour GNU/Hurd. Le but est de faire un installer natif, ce qui permettrait de se dispenser de la seconde phase d'installation (et donc de pas mal de bugs), d'avoir un installer a jour et plus pratique (notamment, un qui soit capable d'installer un bootloader tout seul ;-). Marco Gerards, developpeur du Hurd, bossera lui sur le port de Xen pour Mac Intel, au moins excitant pour moi ;-)&lt;/p&gt;
	&lt;p&gt;Pour info, 6338 candidatures ont ete proposees, de la part de 3050 personnes. Au final, 629 candidats ont ete pris. Pour les autres, ce n'est que partie remise !
&lt;/p&gt;
</description>
      <link>http://blogs.hurdfr.org/mmenal?title=summer_of_code&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
    </item>
        <item>
      <title>Mais o&#249; va le Hurd ? &#60;cc&#62;</title>
      <description>	&lt;p&gt;&lt;strong&gt;DISCLAIMER:&lt;/strong&gt; Ce texte n'a pas vocation &amp;#224; &amp;#234;tre parfaitement objectif. Il se    pourrait   m&amp;#234;me    qu'il   contienne    quelques    erreurs   ou impr&amp;#233;cisions. N'h&amp;#233;sitez pas &amp;#224; me les communiquer le cas &amp;#233;ch&amp;#233;ant.&lt;/p&gt;
	&lt;h3&gt;Rappel des faits&lt;/h3&gt;
	&lt;p&gt;&amp;#192;  l'origine, il y  a le syst&amp;#232;me d'exploitation libre GNU, n&amp;#233; en 1983 de la volont&amp;#233; de RMS. En 1986,  GNU est un ensemble d'applications libres auquel il ne manque  plus qu'un composant essentiel&amp;nbsp;: le noyau. Sur ce point, la  FSF et RMS tergiverseront bien des ann&amp;#233;es -  TRIX, Mach,  Sprite,  ou  sa propre  cr&amp;#233;ation...  La question  sera tranch&amp;#233;e en 1991&amp;nbsp;: le Hurd, construit sur Mach, sera le noyau officiel du projet GNU.&lt;/p&gt;
	&lt;p&gt;Assez vite cependant, l'id&amp;#233;e d'utiliser Mach sans modification s'av&amp;#232;re tr&amp;#232;s  difficile&amp;nbsp;:  bugs, code  complexe, relativement  obsol&amp;#232;te... GNU Mach convient, mais tout juste.  Thomas Bushnell, cr&amp;#233;ateur du Hurd, le dit lui-m&amp;#234;me&amp;nbsp;: &amp;#171;&amp;nbsp;All the core hurd hackers are interested in switching to  another kernel [...] once we  make a  fairly stable  release.&amp;nbsp;&amp;#187;&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r0&quot;&gt;[0]&lt;/a&gt; Plusieurs  personnes se montrent  interess&amp;#233;es, dont  des contributeurs majeurs du Hurd (Okuji  Yoshinori, Gordon Matzigkeit,&amp;nbsp;...). L'id&amp;#233;e est toujours de  faire un port du moindre  effort&amp;nbsp;: il ne s'agit pas d'&amp;#233;viter tant que possible de modifier le Hurd, qui  est tr&amp;#232;s bien comme &amp;#231;a&amp;nbsp;-&amp;nbsp;seul GNU Mach ne  convient pas. Les d&amp;#233;veloppeurs s'int&amp;#233;ressent particuli&amp;#232;rement au micro-noyau L4, n&amp;#233; en 1996 et qui pr&amp;#233;sente des performances particuli&amp;#232;rement attractives&amp;nbsp;-&amp;nbsp;le principal probl&amp;#232;me de Mach.  Un des objectifs est de  rendre le Hurd  ind&amp;#233;pendant du micro-noyau. D'o&amp;#249;  l'id&amp;#233;e d'une &amp;#233;mulation de Mach  au dessus de L4 (L4Mach) ou encore de  &quot;noyaux virtuels&quot;&amp;nbsp;: d&amp;#233;finir un jeu d'interfaces dont le Hurd a besoin pour fonctionner et impl&amp;#233;menter ensuite ces interfaces sur chaque micro-noyau&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r1&quot;&gt;[1]&lt;/a&gt;. Une liste de diffusion est cr&amp;#233;&amp;#233;e, ainsi qu'une page Web&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r2&quot;&gt;[2]&lt;/a&gt;.&lt;/p&gt;
	&lt;h3&gt;Le port sur L4&lt;/h3&gt;
	&lt;p&gt;Fast  forward  jusqu'&amp;#224;  2002.   Neal  Walfield,  un  des  d&amp;#233;veloppeurs principaux, passe l'&amp;#233;t&amp;#233; &amp;#224; Karlsruhe, avec l'&amp;#233;quipe du projet L4Ka dans le but de commencer un port du Hurd sur L4.&lt;/p&gt;
	&lt;p&gt;Il faut rappeler un petit peu  les diff&amp;#233;rences entre Mach et L4&amp;nbsp;: Mach est un  micro-noyau de premi&amp;#232;re  g&amp;#233;n&amp;#233;ration, qui inclut tout  plein de services (gestion  de la  m&amp;#233;moire virtuelle, ordonnanceur,  pilotes de p&amp;#233;riph&amp;#233;rique,  gestion avanc&amp;#233;e  de la  communication  entre processus) bien qu'il  en exporte beaucoup  en espace utilisateur  (syst&amp;#232;mes de fichiers,  gestion des  utilisateurs, pagers,  pile r&amp;#233;seau,  ...). L4, lui, a  pour but d'aller  plus loin dans  le minimalisme&amp;nbsp;: on  ne doit garder dans le  noyau que les m&amp;#233;canismes (&amp;#224; opposer  aux &amp;#171; policies &amp;#187;) n&amp;#233;cessitant  des  privil&amp;#232;ges  particuliers  (envoi  de  message  entre threads,  changement du  thread en  cours  d'ex&amp;#233;cution, &lt;i&gt;map()&lt;/i&gt;/&lt;i&gt;unmap()&lt;/i&gt;,&amp;nbsp;...). Tout le reste doit aller dans l'espace utilisateur.&lt;/p&gt;
	&lt;p&gt;Porter le  Hurd sur  L4, ce n'est donc  pas simplement une  moulinette de sed. Il faut r&amp;#233;-impl&amp;#233;menter  en espace utilisateur, donc diff&amp;#233;remment, ce  qui  est  actuellement dans  GNU  Mach&amp;nbsp;:  gestion de  la  m&amp;#233;moire virtuelle, ordonnanceur avanc&amp;#233;, pilotes de p&amp;#233;riph&amp;#233;riques.&lt;/p&gt;
	&lt;p&gt;Maintenant que l'on sait comment, pourquoi&amp;nbsp;? Les choses sont claires&amp;nbsp;: le  but est  d'am&amp;#233;liorer les  performances. GNU/Hurd  est actuellement tr&amp;#232;s lent&amp;nbsp;: si une  partie de cette  lenteur est probablement  due au fait que son code n'est pas optimis&amp;#233;, l'architecture de Mach est aussi en cause&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r3&quot;&gt;[3]&lt;/a&gt;.  Mais le travail de  Neal Walfield sur la  gestion de la m&amp;#233;moire  virtuelle  donne une autre tournure  au  port  du Hurd&amp;nbsp;:  la n&amp;#233;cessit&amp;#233;  de r&amp;#233;&amp;#233;crire  les  couches inf&amp;#233;rieures  ouvre  le champ  des possibles et  d&amp;#233;j&amp;#224; des nouvelles fonctionnalit&amp;#233;s  &amp;#233;mergent&amp;nbsp;-&amp;nbsp;notamment le fait de laisser chaque t&amp;#226;che g&amp;#233;rer sa m&amp;#233;moire comme bon lui semble.&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r4&quot;&gt;[4]&lt;/a&gt;&lt;/p&gt;
	&lt;h3&gt;O&amp;#249; les probl&amp;#232;mes commencent&lt;/h3&gt;
	&lt;p&gt;Cependant un point crucial reste  &amp;#224; concevoir&amp;nbsp;: la communication entre processus. L'architecture  du Hurd n&amp;#233;cessite  une isolation importante de  chaque  composant&amp;nbsp;:  les  actions d'un  serveur  ne  doivent  pas permettre de compromettre un autre serveur, sauf dans les rares cas o&amp;#249; la  confiance  mutuelle est  n&amp;#233;cessaire.  C'est principalement  Marcus Brinkmann qui s'en charge.&lt;/p&gt;
	&lt;p&gt;Le  Hurd,  contrairement  &amp;#224;  Unix,  est  bas&amp;#233;  sur  le  concept  de  &lt;i&gt;&amp;#171;&amp;nbsp;capability&amp;nbsp;&amp;#187;&lt;/i&gt;, c'est-&amp;#224;-dire  qu'un composant A interagit avec un composant B au  moyen de r&amp;#233;f&amp;#233;rences qu'il poss&amp;#232;de  sur un objet fourni par  B. &amp;#192;  ces  r&amp;#233;f&amp;#233;rences  sont associ&amp;#233;s  des  droits particuliers&amp;nbsp;-&amp;nbsp;modification,  acc&amp;#232;s aux  donn&amp;#233;es  associ&amp;#233;es, etc. Ainsi, lorsque A souhaite acc&amp;#233;der &amp;#224; l'objet d&amp;#233;sign&amp;#233;, il passe &amp;#224; B une &lt;i&gt;capability&lt;/i&gt;, qui n'a qu'&amp;#224; v&amp;#233;rifier si l'op&amp;#233;ration est permise par les droits associ&amp;#233;s &amp;#224; cette &lt;i&gt;capability&lt;/i&gt;. Ce  mod&amp;#232;le est  &amp;#224; opposer  &amp;#224;  celui des &lt;acronym title=&quot;Access Control List&quot;&gt;ACL&lt;/acronym&gt;. Dans ce dernier, A  pr&amp;#233;sente  &amp;#224; B  une  r&amp;#233;f&amp;#233;rence  sur un  objet, r&amp;#233;f&amp;#233;rence &amp;#224; laquelle n'est associ&amp;#233;e aucun  droit&amp;nbsp;; B d&amp;#233;termine donc si A le droit d'effectuer l'op&amp;#233;ration demand&amp;#233;e en fonction  des droits  associ&amp;#233;s &amp;#224;  l'identit&amp;#233; de  A.  Pour  &amp;#234;tre clair, parlons en terme  Unix&amp;nbsp;: dans le mod&amp;#232;le ACL, A demande &amp;#224; B  une op&amp;#233;ration particuli&amp;#232;re sur un  fichier en  lui  donnant son  chemin&amp;nbsp;; B  voit si  A  a le  droit d'effectuer  une telle  op&amp;#233;ration en  fonction de  son  EUID/EGID.  &amp;#192; l'inverse, un descripteur de fichiers est une  &lt;i&gt;capabiity&lt;/i&gt;&amp;nbsp;: il s'agit d'une  r&amp;#233;f&amp;#233;rence sur un objet  (un fichier)  &amp;#224;  laquelle  sont associ&amp;#233;s  des  droits (le  mode d'ouverture du fichier, pr&amp;#233;cis&amp;#233;  via &lt;i&gt;open()&lt;/i&gt;)&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r5&quot;&gt;[5]&lt;/a&gt;.  Pour ceux qui se sont d&amp;#233;j&amp;#224; int&amp;#233;ress&amp;#233;s de pr&amp;#232;s au Hurd&amp;nbsp;: en terme Mach, les capabilities sont &amp;#224;  rapprocher des  &amp;#171;&amp;nbsp;port  rights&amp;nbsp;&amp;#187;  (droits d'envoi/r&amp;#233;ception  sur un port, auquel est associ&amp;#233; un objet).&lt;/p&gt;
	&lt;p&gt;Une  des  op&amp;#233;rations  essentielles   dans  un  syst&amp;#232;me  bas&amp;#233;  sur  les &lt;i&gt;capabilities&lt;/i&gt;  est le  transfert de  celles-ci.  Il  s'agit d'un difficile probl&amp;#232;me de confiance impliquant au moins trois acteurs&amp;nbsp;-&amp;nbsp;un serveur A qui d&amp;#233;tient une &lt;i&gt;capability&lt;/i&gt; sur un objet fourni par un serveur  C, et un  serveur B &amp;#224;  qui A veut  donner une copie  de sa &lt;i&gt;capability&lt;/i&gt;.  C'est  en concevant ce protocole que les premiers probl&amp;#232;mes de  L4 sont  apparus&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r6&quot;&gt;[6]&lt;/a&gt;. Le  but de ce  billet n'est  pas de rentrer dans les  d&amp;#233;tails sur le probl&amp;#232;me pos&amp;#233;&amp;nbsp;:  je ferai un prochain billet l&amp;#224;-dessus. De  fa&amp;#231;on simple, le probl&amp;#232;me est que L4 ne fournit pas de  primitive pour copier  une &lt;i&gt;capability&lt;/i&gt; de  A &amp;#224; B.   &amp;#192; la place,  L4  permet  de  &lt;i&gt;mapper&lt;/i&gt; une &lt;i&gt;capability&lt;/i&gt;,  ce  qui signifie que A peut donner  le droit &amp;#224; B d'utiliser temporairement une &lt;i&gt;capability&lt;/i&gt; dont  A dispose sur C&amp;nbsp;-&amp;nbsp;jusqu'&amp;#224; ce que  A d&amp;#233;cide de r&amp;#233;voquer  ce  droit.   &amp;#201;videmment,  le  but est  que  B  obtienne  une &lt;i&gt;capability&lt;/i&gt;  sur C qui ne  d&amp;#233;pende  pas de  A&amp;nbsp;:  pour cela,  la solution envisag&amp;#233;e &amp;#233;tait   d'introduire   un  serveur   de   &lt;i&gt;capabilities&lt;/i&gt; centralis&amp;#233;. Ainsi,  A permettrait &amp;#224;  B d'utiliser sa capability  sur C pour  demander au  serveur  centralis&amp;#233; de  lui  d&amp;#233;livrer une  nouvelle &lt;i&gt;capability&lt;/i&gt;  sur  C, ind&amp;#233;pendante  de  celle  de  A. On  a  donc impl&amp;#233;ment&amp;#233; le transfert de &lt;i&gt;capability&lt;/i&gt; de A &amp;#224; B.&lt;/p&gt;
	&lt;p&gt;Cependant, cette approche pose  deux probl&amp;#232;mes majeurs. Le premier est que  ce serveur  centralis&amp;#233;  de gestion  des &lt;i&gt;capabilities&lt;/i&gt;  doit d&amp;#233;tenir  une  copie de  toutes  les  &lt;i&gt;capabilities&lt;/i&gt; du  syst&amp;#232;me. Ainsi, toute t&amp;#226;che qui cr&amp;#233;e une &lt;i&gt;capability&lt;/i&gt; utilise une fraction de m&amp;#233;moire du  serveur. Comme le serveur de  &lt;i&gt;capability&lt;/i&gt; est une ressource  partag&amp;#233;e par tous  et n&amp;#233;cessaire  au bon  fonctionnement du syst&amp;#232;me, il serait par  conception sujet aux &lt;acronym title=&quot;Denial of Service&quot;&gt;DoS&lt;/acronym&gt;.&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r7&quot;&gt;[7]&lt;/a&gt;&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r8&quot;&gt;[8]&lt;/a&gt;&lt;/p&gt;
	&lt;p&gt;Le second probl&amp;#232;me, plus important  encore, est plus simple&amp;nbsp;: par quel miracle le  serveur peut-il donner  une copie de  la &lt;i&gt;capability&lt;/i&gt; sur C &amp;#224; B ? Pour cela, le serveur de &lt;i&gt;capabilities&lt;/i&gt; doit disposer d'une   primitive   qui  lui   permet   d'obtenir   une  copie   d'une &lt;i&gt;capability&lt;/i&gt; qu'il d&amp;#233;tient et de la transmettre &amp;#224; un autre.  Mais alors, cette primitive est exactement celle  qui manque &amp;#224; L4 et que le serveur de &lt;i&gt;capability&lt;/i&gt; est cens&amp;#233;  &amp;#171; &amp;#233;muler &amp;#187;. Il semble donc que L4 ne permette pas, actuellement, de r&amp;#233;soudre ce probl&amp;#232;me de transfert de &lt;i&gt;capabilities&lt;/i&gt;  de fa&amp;#231;on  performante&amp;nbsp;-&amp;nbsp;puisque  r&amp;#233;cup&amp;#233;rer une copie  d'une capability n&amp;#233;cessite  alors de  remonter toute  la cha&amp;#238;ne jusqu'&amp;#224;  l'&amp;#233;metteur original,  ce qui  pose de  plus des  probl&amp;#232;mes de confiance mutuelle.&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r9&quot;&gt;[9]&lt;/a&gt;&lt;/p&gt;
	&lt;p&gt;Dans la m&amp;#234;me veine, L4 ne fournit pas de primitive permettant de faire remplir  aux &lt;i&gt;capabilities&lt;/i&gt; leur  second r&amp;#244;le  : l'identification (le premier &amp;#233;tant l'acc&amp;#232;s aux ressources d'un objet). En effet, il n'y a  pas  de moyen  simple  de  dire  si deux &lt;i&gt;capabilities&lt;/i&gt;  sont identiques ou non.&lt;/p&gt;
	&lt;p&gt;Ces  probl&amp;#232;mes  ont &amp;#233;t&amp;#233;  mis  en &amp;#233;vidence  par  le  travail de  Marcus Brinkmann, Neal Walfield et  Jonathan Shapiro. Le dernier est lui-m&amp;#234;me un  des   auteurs  de  &lt;a href=&quot;http://www.eros-os.org&quot;&gt;EROS&lt;/a&gt;  et travaille   actuellement    sur   un   nouveau    micro-noyau&amp;nbsp;:   &lt;a href=&quot;http://www.coyotos.org&quot;&gt;Coyotos&lt;/a&gt;.    La  conception   de  son micro-noyau profite  bien &amp;#233;videmment  de ce travail,  de m&amp;#234;me  que les discussions  pr&amp;#233;sent&amp;#233;es  pr&amp;#233;c&amp;#233;demment sont  largement  bas&amp;#233;es sur  son travail  :  EROS dispose  de  primitives &lt;i&gt;COPY&lt;/i&gt;  -  pour  la copie  de &lt;i&gt;capability&lt;/i&gt;&amp;nbsp;-&amp;nbsp;et &lt;i&gt;CMP&lt;/i&gt;&amp;nbsp;-&amp;nbsp;pour l'identification de celles-ci.&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r10&quot;&gt;[10]&lt;/a&gt;&lt;/p&gt;
	&lt;h3&gt;Quid des solutions ?&lt;/h3&gt;
	&lt;p&gt;Maintenant  qu'on arrive  &amp;#224;  la fin  de  l'histoire, il  est temps  de r&amp;#233;pondre  &amp;#224; la question&amp;nbsp;: alors  le &amp;#171;  nouveau Hurd  &amp;#187; (nom  de code&amp;nbsp;: HurdNG pour...  Hurd Next Generation), il utilisera quel micro-noyau ? L4Ka::Pistachio, L4Ka::NextGeneration, L4.Sec,  Coyotos, ou son propre noyau  ?   Ma r&amp;#233;ponse  est  simple :  &lt;b&gt;who  cares  ?&lt;/b&gt;  La  vraie question, c'est&amp;nbsp;: qu'est-ce que HurdNG doit &amp;#234;tre ? De cette d&amp;#233;finition d&amp;#233;coulera  un  &lt;i&gt;design&lt;/i&gt;,  de  ce  &lt;i&gt;design&lt;/i&gt;  d&amp;#233;couleront  des besoins en  terme de primitives noyau, et  &amp;#224; partir de l&amp;#224;  le choix du noyau  se  fera. Actuellement,  Coyotos  semble  plus  adapt&amp;#233; que  les &amp;#233;ventuels successeurs de L4, principalement parce que la communication passe  mieux entre  les d&amp;#233;veloppeurs  de HurdNG  et le  d&amp;#233;veloppeur de Coyotos. Cela pourrait changer&amp;nbsp;: Jonathan Shapiro et Marcus Brinkmann ont des d&amp;#233;saccords importants qui pourraient faire que Coyotos ne soit pas adopt&amp;#233;, et  les &amp;#233;quipes travaillant sur L4  n'ont jamais oppos&amp;#233; de refus  formel.   En  bref&amp;nbsp;:  &lt;i&gt;wait and  see&lt;/i&gt;,  et  en  attendant travaillons sur HurdNG.&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r11&quot;&gt;[11]&lt;/a&gt;&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r12&quot;&gt;[12]&lt;/a&gt;&lt;/p&gt;
	&lt;p&gt;Mais  alors, que  doit-&amp;#234;tre HurdNG  ? C'est  une  question extr&amp;#234;mement large &amp;#224; laquelle  je n'ai pas de r&amp;#233;ponse, pas  plus que quiconque. Les &amp;#233;l&amp;#233;ments de  r&amp;#233;ponse se  trouvent dans la  discussion sur la  liste de diffusion l4-hurd&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r13&quot;&gt;[13]&lt;/a&gt;.  Cependant,  une chose est claire&amp;nbsp;:  de la m&amp;#234;me fa&amp;#231;on que  le projet  de port  du Hurd sur  L4 en 2002 ne  se limitait  plus &amp;#224; &quot;cr&amp;#233;er une  couche de  compatibilit&amp;#233; sur L4&quot;,  le projet actuel  ne se limite  plus &amp;#224; porter  l'existant sur  L4, en  limitant le  travail de r&amp;#233;&amp;#233;criture/reconception aux  couches inf&amp;#233;rieures. Le port  du Hurd sur L4 est apparu comme la chance  de revoir les concepts de base du Hurd, en  faire  une  r&amp;#233;-&amp;#233;valuation   critique  et  corriger  les  probl&amp;#232;mes fondamentaux. Ceci se traduit par la d&amp;#233;finition de nouveaux buts.&lt;/p&gt;
	&lt;p&gt;Marcus Brinkmann  &amp;#233;voquait sa  d&amp;#233;marche g&amp;#233;n&amp;#233;rale dans  le port  sur L4 dans  une interview que  j'ai traduite  en fran&amp;#231;ais&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r14&quot;&gt;[14]&lt;/a&gt;.   Il &amp;#233;voquait notamment les  attaques par d&amp;#233;ni de service  dont souffre actuellement le Hurd : c'est  &amp;#224; mon sens un point fondamental. Ce  qui rend le Hurd tr&amp;#232;s  difficile &amp;#224;  debugger actuellement,  c'est  qu'il n'y  a pas  de r&amp;#233;elle  isolation&amp;nbsp;: le  plantage  du  composant  que vous  d&amp;#233;veloppez actuellement entra&amp;#238;ne tr&amp;#232;s r&amp;#233;guli&amp;#232;rement tout le syst&amp;#232;me (et notamment le  syst&amp;#232;me de  fichiers).   Ceci est  souvent  li&amp;#233; &amp;#224;  un probl&amp;#232;me  de conception stricte  des protocoles de  communication entre composants, mais &amp;#233;galement &amp;#224; un probl&amp;#232;me de partage des ressources.&lt;/p&gt;
	&lt;p&gt;Un  exemple simple&amp;nbsp;: une  des biblioth&amp;#232;ques  qui permet  d'&amp;#233;crire des &lt;i&gt;translators&lt;/i&gt;, &lt;i&gt;libnetfs&lt;/i&gt;, n&amp;#233;cessite que certaines fonctions rendent les  structures qu'elles renvoient avec  des &lt;i&gt;mutex&lt;/i&gt; dans un  certain  &amp;#233;tat.  Ne  pas  le  respecter  conduit logiquement  &amp;#224;  un &lt;i&gt;deadlock&lt;/i&gt;,  et donc  &amp;#224; un  blocage du  processus. Probl&amp;#232;me&amp;nbsp;: ce blocage du processus entra&amp;#238;ne le blocage du syst&amp;#232;me de fichier parent, et souvent, par ricochet, de tout le syst&amp;#232;me. &lt;/p&gt;
	&lt;p&gt;On pourra ajouter les nombreux cas  o&amp;#249; l'on assiste &amp;#224; un probl&amp;#232;me de &amp;#171;&amp;nbsp;resource accounting&amp;nbsp;&amp;#187;, c'est &amp;#224;  dire quand un processus non privil&amp;#233;gi&amp;#233; am&amp;#232;ne  un autre processus  &amp;#224; allouer  de sa  m&amp;#233;moire pour  lui, cr&amp;#233;ant ainsi  la possibilit&amp;#233;  d'un DoS  (ex&amp;nbsp;:  &lt;i&gt;auth&lt;/i&gt; et  la cr&amp;#233;ation  de jetons&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r15&quot;&gt;[15]&lt;/a&gt;) sur un serveur central.&lt;/p&gt;
	&lt;p&gt;Le travail sur un  syst&amp;#232;me de &lt;i&gt;capabilities&lt;/i&gt; prot&amp;#233;g&amp;#233;es n'est donc pas d&amp;#233;connect&amp;#233; du Hurd actuel. Il  s'agit pas de cr&amp;#233;er un tout nouveau syst&amp;#232;me &lt;i&gt;from scratch&lt;/i&gt;  qui n'aurait de rapport avec  le Hurd que d'avoir &amp;#233;t&amp;#233;  &amp;#233;crit par les  m&amp;#234;mes d&amp;#233;veloppeurs. Il s'agit  de r&amp;#233;pondre aux buts originaux du Hurd&amp;nbsp;: isolation, principe de moindre privil&amp;#232;ge et droits  positifs aux utilisateurs,  m&amp;#234;me les moins  privil&amp;#233;gi&amp;#233;s. Il s'agit aussi de corriger &amp;#224; la source les probl&amp;#232;mes du Hurd.&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r16&quot;&gt;[16]&lt;/a&gt;&lt;/p&gt;
	&lt;h3&gt;Le Hurd et &lt;i&gt;HurdNG&lt;/i&gt;&lt;/h3&gt;
	&lt;p&gt;Mais  concr&amp;#232;tement, quelle  relation  entre le  Hurd d'aujourd'hui  et HurdNG ?  Il  est &amp;#233;vident qu'en terme de  code, les changements seront &amp;#233;normes. Est-ce que  &amp;#231;a veut dire que le  projet mettra n&amp;#233;cessairement dix ans de  plus ?  Je ne crois pas.  Le principal  probl&amp;#232;me n'est pas de r&amp;#233;&amp;#233;crire le code -  &amp;#231;a, &amp;#231;a va vite &amp;#224; faire&amp;nbsp;: c'est  ce qu'il y a avant et  apr&amp;#232;s, c'est  &amp;#224; dire  la conception  et le  debugging.   Avoir une r&amp;#233;&amp;#233;valuation critique des bases du Hurd ne peut qu'aider ce travail de conception,  et l'isolation  effective qui  devrait en  r&amp;#233;sulter aider &amp;#233;norm&amp;#233;ment cette phase de debug.&lt;/p&gt;
	&lt;p&gt;Doit-on pour autant abandonner le Hurd tel qu'il est actuellement (nom de code&amp;nbsp;: Hurd on Mach) ?  Je ne pense pas non plus.  D'une part parce que c'est  un prototype formidable&amp;nbsp;:  il tourne, il  permet de montrer beaucoup des avantages d'un  syst&amp;#232;me multi-serveurs &amp;#224; micro-noyau, des &lt;i&gt;translators&lt;/i&gt;, du syst&amp;#232;me  d'authentification, etc&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r17&quot;&gt;[17]&lt;/a&gt;. Il permet aussi de  comprendre et de montrer  les probl&amp;#232;mes pos&amp;#233;s  par une telle architecture  et les erreurs  de conception  (outre les  exemples d&amp;#233;j&amp;#224; cit&amp;#233;s,  quiconque  ayant  d&amp;#233;j&amp;#224;  pens&amp;#233;  &amp;#224;  cr&amp;#233;er  un  &lt;i&gt;translator&lt;/i&gt; n&amp;#233;cessitant une  interaction avec  l'utilisateur&amp;nbsp;-&amp;nbsp;pour  l'entr&amp;#233;e d'un mot de passe en FTP, par exemple&amp;nbsp;-&amp;nbsp;se sera d&amp;#233;j&amp;#224; cass&amp;#233; les dents sur le probl&amp;#232;me des  &lt;i&gt;translators passifs&lt;/i&gt;). Certains&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r18&quot;&gt;[18]&lt;/a&gt;  pensent qu'il est possible de modifier &lt;i&gt;Hurd on Mach&lt;/i&gt;&amp;nbsp;-&amp;nbsp;surtout Mach&amp;nbsp;-&amp;nbsp;de fa&amp;#231;on &amp;#224;  r&amp;#233;soudre  ces probl&amp;#232;mes&amp;nbsp;:  &amp;#224; mon  avis,  &amp;#231;a  n'est possible  qu'en r&amp;#233;&amp;#233;crivant totalement GNU Mach, avec des co&amp;#251;ts &amp;#233;normes pour comprendre du  code  totalement oubli&amp;#233;  et  obsol&amp;#232;te,  le  risque de  garder  des &lt;i&gt;designs&lt;/i&gt;  mauvais pour garder  la compatibilit&amp;#233;&amp;nbsp;-&amp;nbsp;et  de toutes fa&amp;#231;ons,  on  finirait  par  r&amp;#233;inventer   la  roue,  c'est  &amp;#224;  dire  un micro-noyau  de seconde  g&amp;#233;n&amp;#233;ration.   En revanche,  il  est utile  de tenter de bosser sur Mach, de  corriger des bugs, et m&amp;#234;me de tenter de corriger les  erreurs fondamentales, ne serait-ce  que pour distinguer les erreurs de  &lt;i&gt;conception&lt;/i&gt; (qu'on n'arrivera n&amp;#233;cessairement pas &amp;#224; corriger) des erreurs d'&lt;i&gt;impl&amp;#233;mentation&lt;/i&gt;.&lt;/p&gt;
	&lt;p&gt;Enfin,  beaucoup  des  composants  &lt;i&gt;haut niveau&lt;/i&gt;  de  &lt;i&gt;Hurd  on Mach&lt;/i&gt;  pourront, je  pense,  &amp;#234;tre r&amp;#233;utilis&amp;#233;s  dans  &lt;i&gt;HurdNG&lt;/i&gt;&amp;nbsp;:  c'est pourquoi je juge encore utile de travailler cet &amp;#233;t&amp;#233; sur &lt;i&gt;nfs(d)&lt;/i&gt;, si  le &lt;a href=&quot;http://code.google.com/soc/&quot;&gt;Dieu  du sel&lt;/a&gt; le veut bien.&lt;/p&gt;
	&lt;p&gt;Je tenterai, comme  je l'ai dit, de revenir sur les  d&amp;#233;bats en cours&amp;nbsp;: confinement       et        &lt;acronym title=&quot;Digital       Rights&lt;br /&gt;
Management&quot;&gt;DRM&lt;/acronym&gt;&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r19&quot;&gt;[19]&lt;/a&gt;, persistence&lt;a href=&quot;http://blogs.hurdfr.org/mmenal/#r20&quot;&gt;[20]&lt;/a&gt;,  etc. En attendant, je pense que les 19 URLs en note vous fourniront un peu  de lecture&amp;nbsp;-&amp;nbsp;la plupart  ne sont  que  les  points de  d&amp;#233;part  de &lt;i&gt;threads&lt;/i&gt;  tr&amp;#232;s int&amp;#233;ressants que je  vous invite &amp;#224; au moins  parcourir pour piocher ce qui vous int&amp;#233;resse. &lt;/p&gt;
	&lt;h4&gt;Quelques lectures&lt;/h4&gt;
	&lt;p&gt;Mais comme je  sais que vous &amp;#234;tes avides d'encore  plus de lecture, je rajoute quelques URLs&amp;nbsp;:&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;
  La pr&amp;#233;sentation  de Marcus Brinkmann  aux derniers LSM  reprenait de fa&amp;#231;on r&amp;#233;sum&amp;#233;e le chemin parcouru depuis  le d&amp;#233;but du port sur L4. Il d&amp;#233;taille moins l'historique,  mais plus les diff&amp;#233;rentes possibilit&amp;#233;s qui  se sont offertes  &amp;#224; lui  dans la  construction d'un  syst&amp;#232;me de&lt;br /&gt;
  &lt;i&gt;capabilities&lt;/i&gt; et pourquoi il  a d&amp;#251; les abandonner pour choisir  la           solution           actuelle.           Les           &lt;a href=&quot;http://medias.2005.libresoftwaremeeting.org/topics/os/slides/brinkmann-hurd.pdf&quot;&gt;slides&lt;/a&gt; sont          disponibles,          ainsi          qu'un          &lt;a href=&quot;http://medias.2005.libresoftwaremeeting.org/topics/os/speeches/brinkmann-hurd.ogg&quot;&gt;enregistrement&lt;/a&gt;.
&lt;/li&gt;
	&lt;li&gt;
  &lt;i&gt;HurdNG&lt;/i&gt; a un d&amp;#233;but de sp&amp;#233;cification&amp;nbsp;: &lt;a href=&quot;http://www.marcus-brinkmann.org/hurd-ng.pdf&quot;&gt;http://www.marcus-brinkmann.org/hurd-ng.pdf&lt;/a&gt;
&lt;/li&gt;
	&lt;li&gt;
  Et       il       y      a       m&amp;#234;me       une      partie       &lt;i&gt;&lt;a href=&quot;http://hurd.gnufans.org/bin/view/Hurd/NextHurd&quot;&gt;HurdNG&lt;/a&gt;&lt;/i&gt; dans le &lt;a href=&quot;http://hurd.gnufans.org&quot;&gt;wiki du Hurd&lt;/a&gt;.
&lt;/li&gt;
	&lt;li&gt;
  Marcus Brinkmann  a commenc&amp;#233; une s&amp;#233;rie  de posts dont le  but est de d&amp;#233;tailler la  d&amp;#233;marche de  construction de &lt;i&gt;HurdNG&lt;/i&gt;  et l'&amp;#233;tat  de ses  positions sur les  choix &amp;#224; faire.  Les deux  mails d&amp;#233;j&amp;#224; publi&amp;#233;s sont tr&amp;#232;s riches, et les threads qui s'en suivent tr&amp;#232;s instructifs :&lt;/p&gt;
	&lt;ol&gt;
	&lt;li&gt; &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2006-05/msg00184.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2006-05/msg00184.html&lt;/a&gt; &lt;/li&gt;
	&lt;li&gt; &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2006-05/msg00324.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2006-05/msg00324.html&lt;/a&gt; &lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;Mon prochain billet sera probablement politique. &amp;#192; dans quelques semaines pour les billets techniques.&lt;/p&gt;
	&lt;h3&gt;Notes et r&amp;#233;f&amp;#233;rences&lt;/h3&gt;
	&lt;ol start=&quot;0&quot;&gt;
	&lt;li&gt;&lt;a id=&quot;r0&quot;&gt;&lt;/a&gt;Hurd Traffic (ao&amp;#251;t 1999)&amp;nbsp;: &lt;a href=&quot;http://www.kerneltraffic.org/debian-hurd/dh19990817_11.html#2&quot;&gt;http://www.kerneltraffic.org/debian-hurd/dh19990817_11.html#2&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r1&quot;&gt;&lt;/a&gt;Harid Fajji on &amp;#171;&amp;nbsp;Porting the Hurd to L4&amp;nbsp;&amp;#187;&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/bug-hurd/2000-10/msg00112.html&quot;&gt;http://lists.gnu.org/archive/html/bug-hurd/2000-10/msg00112.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r2&quot;&gt;&lt;/a&gt;Page sur L4-Hurd (2000)&amp;nbsp;: &lt;a href=&quot;http://web.archive.org/web/20020213092049/http://duff.kuicr.kyoto-u.ac.jp/~okuji/l4-hurd.html&quot;&gt;http://web.archive.org/web/20020213092049/http://duff.kuicr.kyoto-u.ac.jp/~okuji/l4-hurd.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r3&quot;&gt;&lt;/a&gt;L'&amp;#233;tat du port sur L4 (2002)&amp;nbsp;: &lt;a href=&quot;http://kerneltrap.org/node/367/839&quot;&gt;http://kerneltrap.org/node/367/839&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r4&quot;&gt;&lt;/a&gt;Conf&amp;#233;rence de Neal Walfield en juillet 2002&amp;nbsp;: &lt;a href=&quot;http://web.walfield.org/pub/people/neal/papers/gnu-virtual-memory-management-system-lsm-2002-07-14/html/&quot;&gt;http://web.walfield.org/pub/people/neal/papers/gnu-virtual-memory-management-system-lsm-2002-07-14/html/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r5&quot;&gt;&lt;/a&gt;Wikip&amp;#233;dia sur les capabilities&amp;nbsp;: &lt;a href=&quot;http://en.wikipedia.org/wiki/Capability-based_security&quot;&gt;http://en.wikipedia.org/wiki/Capability-based_security&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r6&quot;&gt;&lt;/a&gt;Marcus Brinkmann on changing kernels&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00747.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00747.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r7&quot;&gt;&lt;/a&gt;Cette remarque vaut &amp;#233;galement pour tous les protocoles bas&amp;#233;s sur des sessions, c'est &amp;#224; dire n&amp;#233;cessitant que le serveur garde en m&amp;#233;moire des informations d'&amp;#233;tat pour chaque client  /   op&amp;#233;ration.   Dans  ces  protocoles,   le  serveur  doit syst&amp;#233;matiquement faire confiance aux clients. Il y a deux solutions &amp;#224; ce probl&amp;#232;me&amp;nbsp;: tenter de  faire en sorte que la m&amp;#233;moire associ&amp;#233;e &amp;#224; ces &amp;#233;tats,  bien qu'accessible qu'aux  serveurs, soit comptabilis&amp;#233;e dans   la   m&amp;#233;moire  du   client,   ou   utiliser  des   protocoles &lt;i&gt;session-less&lt;/i&gt;.  La  premi&amp;#232;re approche, bien  qu'&amp;#233;l&amp;#233;gante, est  extr&amp;#234;mement difficile  &amp;#224; mettre en  oeuvre (comment assurer  que le client  ne compromette pas  le serveur  par cette  m&amp;#233;moire &quot;pr&amp;#234;t&amp;#233;e&quot; ?). C'est donc la seconde qu'adopte finalement HurdNG.&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r8&quot;&gt;&lt;/a&gt;&lt;i&gt;MAP&lt;/i&gt; vs. &lt;i&gt;COPY&lt;/i&gt;&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00023.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00023.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r9&quot;&gt;&lt;/a&gt;Pourquoi pas &lt;i&gt;COPY&lt;/i&gt; sur &lt;i&gt;MAP&lt;/i&gt;&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00361.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00361.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r10&quot;&gt;&lt;/a&gt;La sp&amp;#233;cification Coyotos&amp;nbsp;: &lt;a href=&quot;http://coyotos.org/docs/ukernel/spec.html&quot;&gt;http://coyotos.org/docs/ukernel/spec.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r11&quot;&gt;&lt;/a&gt;Shapiro sur &quot;Changer de micro-noyau ?&quot;&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00714.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00714.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r12&quot;&gt;&lt;/a&gt;Marcus Brinkmann sur &quot;Quel micro-noyau choisir ?&quot;&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2006-04/msg00050.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2006-04/msg00050.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r13&quot;&gt;&lt;/a&gt;Les archives de L4-Hurd&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r14&quot;&gt;&lt;/a&gt;Interview de Marcus Brinkmann&amp;nbsp;: &lt;a href=&quot;http://wiki.hurdfr.org/index.php/InterviewMarcusWikiNerds&quot;&gt;http://wiki.hurdfr.org/index.php/InterviewMarcusWikiNerds&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r15&quot;&gt;&lt;/a&gt;Le serveur &lt;i&gt;auth&lt;/i&gt;&amp;nbsp;: &lt;a href=&quot;http://wiki.hurdfr.org/index.php/HIG#auth&quot;&gt;http://wiki.hurdfr.org/index.php/HIG#auth&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r16&quot;&gt;&lt;/a&gt;&lt;i&gt;Towards a new strategy in OS design revisited&lt;/i&gt;&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00651.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00651.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r17&quot;&gt;&lt;/a&gt;Conf&amp;#233;rence et d&amp;#233;mos du Hurd sur Mach&amp;nbsp;: &lt;a href=&quot;ftp://ftp.hurdfr.org/hurdfr/events/Kilobug-041023.ogm&quot;&gt;ftp://ftp.hurdfr.org/hurdfr/events/Kilobug-041023.ogm&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r18&quot;&gt;&lt;/a&gt;Mach revival project&amp;nbsp;: &lt;a href=&quot;http://hurd.gnufans.org/bin/view/Mach/GNUMachRevivalProject&quot;&gt;http://hurd.gnufans.org/bin/view/Mach/GNUMachRevivalProject&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r19&quot;&gt;&lt;/a&gt;Shapiro sur le d&amp;#233;bat sur le confinement&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2006-05/msg00056.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2006-05/msg00056.html&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a id=&quot;r20&quot;&gt;&lt;/a&gt;Marcus Brinkmann sur la persistence&amp;nbsp;: &lt;a href=&quot;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00081.html&quot;&gt;http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00081.html&lt;/a&gt;&lt;/li&gt;
	&lt;/ol&gt;
</description>
      <link>http://blogs.hurdfr.org/mmenal?title=mais_ou_va_le_hurd&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
    </item>
        <item>
      <title>Mon blog &#224; moi que j'ai</title>
      <description>	&lt;p&gt;Apr&amp;#232;s avoir (presque) c&amp;#233;d&amp;#233; (avec une dizaine d'ann&amp;#233;es de retard) &amp;#224; la mode des &lt;a href=&quot;http://wiki.hurdfr.org/index.php/Utilisateur:ManuelMenal&quot;&gt;pages perso&lt;/a&gt;, je c&amp;#232;de avec un peu moins de retard &amp;#224; celle du blog.&lt;/p&gt;
	&lt;p&gt;Au menu, posts techniques et informatifs (principalement sur le d&amp;#233;veloppement du Hurd, mais pas seulement), posts politiques et tout ce qui me passera par la t&amp;#234;te et que j'aurai envie de partager avec vous. N'h&amp;#233;sitez pas &amp;#224; trier par cat&amp;#233;gorie si seule une de ces cat&amp;#233;gories vous int&amp;#233;resse : mais promis, je ne parlerai pas de mes vacances en Cr&amp;#234;te, sauf si j'ai rencontr&amp;#233; un coder Hurd g&amp;#233;nial l&amp;#224;-bas.&lt;/p&gt;
	&lt;p&gt;Ce blog est h&amp;#233;berg&amp;#233; par &lt;span class=&quot;NonExistentWikiWord&quot;&gt;HurdFR&lt;a href=&quot;http://blogs.hurdfr.org/admin/b2edit.php?blog=5&amp;amp;post_title=Hurd%20FR&amp;amp;post_urltitle=hurd_fr&quot; title=&quot;Create...&quot;&gt;?&lt;/a&gt;&lt;/span&gt;. C'est un nouveau service aux adh&amp;#233;rents, encore en exp&amp;#233;rimentation. Il y aura bient&amp;#244;t un Planet regroupant les posts sur ces blogs traitant du Hurd ou de &lt;span class=&quot;NonExistentWikiWord&quot;&gt;HurdFR&lt;a href=&quot;http://blogs.hurdfr.org/admin/b2edit.php?blog=5&amp;amp;post_title=Hurd%20FR&amp;amp;post_urltitle=hurd_fr&quot; title=&quot;Create...&quot;&gt;?&lt;/a&gt;&lt;/span&gt;. Stay tuned.&lt;/p&gt;
</description>
      <link>http://blogs.hurdfr.org/mmenal?title=mon_blog_a_moi&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1</link>
    </item>
      </channel>
</rss>
