<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://u-classroom.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>U Classroom</title>
  <link>http://u-classroom.net/</link>
  <description>Un blog collectif, orienté vers l'apprentissage et l'enseignement collaboratif et communautaire de techniques applicables aux unix libres</description>
  <language>fr</language>
  <pubDate>Thu, 17 Apr 2008 12:08:42 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Installation de OpenBSD par PXE, configuration du serveur (Debian Lenny)</title>
    <link>http://u-classroom.net/post/2008/04/12/Installation-de-OpenBSD-par-PXE-configuration-du-serveur-Debian-Lenny</link>
    <guid isPermaLink="false">urn:md5:fb65d9516d3b2219613126e54ccd8772</guid>
    <pubDate>Sat, 12 Apr 2008 11:08:00 +0200</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>openbsd</category><category>pxe</category>    
    <description>    &lt;p&gt;Le but de ce post n'est pas de décrire comment se déroule l'installation de &lt;a href=&quot;http://u-classroom.net/post/2008/04/12/openbsd.org&quot;&gt;OpenBSD&lt;/a&gt; (tout en texte, donc diablement simple), mais de mettre en place un serveur qui permettra cette installation par boot PXE.&lt;/p&gt;
&lt;p&gt;Le client sur lequel sera installé OpenBSD doit pouvoir booter sur le réseau. Même si les cartes réseaux et les BIOS supportent de plus en plus souvent cette option, elle n'est pas toujours disponible. Des solutions logicielles – telles que celles fournies par &lt;a href=&quot;http://rom-o-matic.net/&quot;&gt;rom-o-matic&lt;/a&gt; – existent. Le serveur utilisé est sous Debian testing, mais les configurations seront les mêmes sur la plupart des linux/unix, à quelques détails près.&lt;/p&gt;
&lt;h3&gt;Installations&lt;/h3&gt;
&lt;h4&gt;Services&lt;/h4&gt;
&lt;p&gt;Première étape, installation des paquets nécessaires :&lt;/p&gt;
&lt;pre&gt;apt-get install dhcp3-server tftpd xinetd&lt;/pre&gt;
&lt;p&gt;Un serveur dhcp est nécessaire pour assigner une IP au client. tftpd est un client ftp très léger, configuré pour tourner à l'aide de xinetd sous Debian.&lt;/p&gt;
&lt;h4&gt;Fichiers&lt;/h4&gt;
&lt;p&gt;Il nous faut deux fichiers pour le boot. Ce sont le noyau BSD pour l'installation (&lt;tt&gt;bsd.rd&lt;/tt&gt;) et le fichier de boot PXE (&lt;tt&gt;pxeboot&lt;/tt&gt;), téléchargeable sur les &lt;a href=&quot;ftp://ftp.openbsd.org/pub/OpenBSD/4.2/i386/&quot;&gt;FTP OpenBSD (i386)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ils sont à placer dans le dossier &lt;tt&gt;/tftpboot&lt;/tt&gt; dont nous reparlerons plus tard :&lt;/p&gt;
&lt;pre&gt; # mkdir /tftpboot&lt;br /&gt; # chmod 777 /tftpboot&lt;br /&gt; # mv bsd.rd pxeboot /tftpboot&lt;/pre&gt;
&lt;h3&gt;Configurations&lt;/h3&gt;
&lt;h4&gt;Serveur dhcp&lt;/h4&gt;
&lt;p&gt;Son fichier de configuration est &lt;tt&gt;/etc/dhcp3/dhcpd.conf&lt;/tt&gt; :
&lt;/p&gt;
&lt;pre&gt;default-lease-time 86400;&lt;br /&gt;max-lease-time 90000;&lt;br /&gt;&lt;br /&gt;subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;  option routers 192.168.0.1;&lt;br /&gt;  range 192.168.0.10 192.168.0.20;&lt;br /&gt;  option subnet-mask 255.255.255.0;&lt;br /&gt;  next-server 192.168.0.1;&lt;br /&gt;  filename &quot;pxeboot&quot;;&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;J'utilise ici le sous réseau &quot;192.168.0.0&quot;, c'est une valeur arbitraire qui peut être remplacée, de même que l'adresse IP du routeur, et la plage (&lt;em&gt;range&lt;/em&gt;) d'adresses disponibles pour les clients dhcp.&lt;/p&gt;
&lt;p&gt;&lt;tt&gt;filename &quot;pxeboot&quot;&lt;/tt&gt; décrit le nom du fichier à utiliser par le client pour booter.&lt;/p&gt;
&lt;p&gt;C'est eth0 qui sera l'interface réseau pour le serveur. J'ai inclus sa configuration dans &lt;tt&gt;/etc/network/interfaces&lt;/tt&gt; :&lt;/p&gt;
&lt;pre&gt;auto eth0&lt;br /&gt;iface eth0 inet static&lt;br /&gt;    address 192.168.0.1&lt;br /&gt;    netmask 255.255.255.0&lt;br /&gt;    gateway 192.168.0.1&lt;/pre&gt;
&lt;h4&gt;tftp&lt;/h4&gt;
&lt;p&gt;tftp utilise xinetd pour démarrer (sous Debian). Sa configuration par défaut est appliquée dans &lt;tt&gt;/etc/inetd.conf&lt;/tt&gt; mais nécessite une petite modification. Editez ce fichier et remplacez la ligne de configuration de tftp (celle qui commence par tftp !) par celle-ci :&lt;/p&gt;
&lt;pre&gt;tftp        dgram   udp wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd -s /tftpboot&lt;/pre&gt;
&lt;p&gt;On retrouve notre &lt;tt&gt;/tftpboot&lt;/tt&gt; qui est le dossier racine pour les clients se connectant au serveur tftp.&lt;/p&gt;
&lt;p&gt;Par défaut le boot PXE va chercher un noyau nommé &lt;em&gt;bsd&lt;/em&gt;, qui n'existe pas pour nous. Il faudra donc indiquer à notre client PXE que nous voulons booter le noyau &lt;em&gt;bsd.rd&lt;/em&gt;. C'est faisable en créant un simple fichier de configuration &lt;tt&gt;/etc/boot.conf&lt;/tt&gt; dans le dossier racine de tftp :&lt;/p&gt;
&lt;pre&gt; # mkdir /tftpboot/etc&lt;br /&gt; # echo &quot;/bsd.rd&quot; &amp;gt; /tftpboot/etc/boot.conf&lt;/pre&gt;
&lt;h3&gt;Redémarrer les services&lt;/h3&gt;
&lt;p&gt;Redémarrez dhcp et xinetd :&lt;/p&gt;
&lt;pre&gt; # /etc/init.d/networking restart # pour appliquer les changement faits sur eth0&lt;br /&gt; # /etc/init.d/dhcp3-server restart&lt;br /&gt; # /etc/init.d/xinetd restart&lt;/pre&gt;
&lt;p&gt;Et voilà ! Il ne reste qu'à booter votre client PXE et à suivre les étape d'installation de BSD. Notez qu'il peut être intéressant d'installer un serveur web sur le serveur et d'en faire un miroir OpenBSD (pratique si la machine sur laquelle est installé BSD n'a pas accès à internet, ou sur un réseau local).&lt;/p&gt;
&lt;p&gt;Pour vous familiariser avec l'ambiance OpenBSD (si vous ne connaissez pas), la première chose à faire après l'installation est :&lt;/p&gt;
&lt;pre&gt;man afterboot&lt;/pre&gt;
&lt;p&gt;Pour un peu plus d'info :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://openbsd.org/faq/fr&quot;&gt;la FAQ OpenBSD&lt;/a&gt; (une mine d'infos) ;&lt;/li&gt;
&lt;li&gt;man 8 diskless&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Au revoir Effraie</title>
    <link>http://u-classroom.net/post/2008/04/08/Au-revoir-Effraie</link>
    <guid isPermaLink="false">urn:md5:ded341de963b01bc6bbb93c3eb6442aa</guid>
    <pubDate>Wed, 09 Apr 2008 08:30:00 +0200</pubDate>
    <dc:creator>Sp4rKy</dc:creator>
        <category>Planet</category><category>Ubuntu</category>    
    <description>    &lt;p&gt;&quot;Ma disparition'&quot;, c'est ainsi que Mathieu, alias Effraie vient d'annoncer son retrait de la vie Linuxienne publique. Distant depuis quelques temps il officialise ainsi son départ&amp;nbsp;: trop de boulot, moins de motivation; mais on ne peut lui en vouloir.&lt;/p&gt;


&lt;p&gt;Membre actif de la communauté GNU/Linux et Ubuntu depuis plusieurs années, Effraie s'était engagé dans plusieurs domaines tels que l'association Ubuntu-fr, où il participait activement à plusieurs actions.
Il est un des instigateurs de Mental PPC, un dépôt de paquets debian qui avait été fait pour les utilisateurs d'architectures PowerPC. Concernant les Macintosh libre, vous devez sans conteste connaître son blog où beaucoup d'astuces et d'aide à la configuration pour ces machines sont répertoriés.
Coté classroom, Effraie était à l'initiative du blog et peu de choses auraient vu le jour sans lui. C'est également lui qui héberge ce blog et les mailing listes du projet u-classroom.&lt;/p&gt;


&lt;p&gt;Pour tout ce qu'il a fait et pour ce qu'il fera encore (du moins on l'espère), toute l'équipe de la classroom tient à remercier Effraie et à lui souhaiter une bonne continuation dans ses projets personnels.&lt;/p&gt;


&lt;p&gt;&lt;q&gt;je ne suis plus vraiment sûr, ni d'avoir trop ma place parmi vous, ni d'avoir franchement le temps et la motivation nécessaire pour ça.&lt;/q&gt;&lt;/p&gt;


&lt;p&gt;Et contrairement à ce qu'il peut dire, Effraie aura toujours sa place au sein de la communauté pour laquelle il a tant donné.&lt;/p&gt;


&lt;p&gt;Au revoir Effraie, ou plutôt à bientôt&amp;nbsp;!&lt;/p&gt;




&lt;p&gt;La classroom&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>u-classroom : suite du cours vim</title>
    <link>http://u-classroom.net/post/2008/03/05/u-classroom-%3A-suite-du-cours-vim</link>
    <guid isPermaLink="false">urn:md5:f79e0f82d368eb2bbb3a6b65bae0fa00</guid>
    <pubDate>Wed, 05 Mar 2008 21:26:00 +0100</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>Planet</category><category>vim</category>    
    <description>    &lt;p&gt;La suite du cours Vim donné il y a 10 jours par yannick_lm aura lieu ce vendredi 07 mars à 20H00 (heure française métropolitaine), toujours sur le canal #u-classroom du réseau irc freenode.&lt;/p&gt;
&lt;p&gt;Si vous n'avez pas pu suivre la première session, &lt;a href=&quot;http://u-classroom.net/cours/logiciels/vim-1.html&quot;&gt;le cours est en ligne&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A vendredi !&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Prochaine session : vim</title>
    <link>http://u-classroom.net/post/2008/02/14/Prochaine-session-%3A-vim</link>
    <guid isPermaLink="false">urn:md5:49f0d3eb7b920b86c0e25d3416c7e8a5</guid>
    <pubDate>Thu, 14 Feb 2008 20:01:00 +0100</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>Planet</category><category>vim</category>    
    <description>    &lt;p&gt;Qui n'est jamais passé par là... Démarrage de vim (généralement par un
complet hasard), râleries parce que cet éditeur bizarre n'a pas l'air de
marcher (jusqu'à ce qu'on tombe sur la bonne touche, mais sans
comprendre ce qui s'est passé), et fermeture violente de console parce
qu'impossible de trouver comment sortir de l'éditeur  :)&lt;/p&gt;

&lt;p&gt;C'est &lt;a href=&quot;http://doc.ubuntu-fr.org/utilisateurs/yannick_lm&quot;&gt;Yannick LM&lt;/a&gt;
qui sera le professeur pour la session classroom sur
vim. Elle se déroulera le vendredi 22 février à 20 heures (heure
métropolitaine, 19H00 UTC), sur le canal #u-classroom du réseau irc
freenode.&lt;/p&gt;

&lt;p&gt;Aucun prérequis n'est nécessaire à ce cours, si ce n'est une
installation du logiciel ('sudo apt-get install vim' pour debian et
dérivés).&lt;/p&gt;

&lt;p&gt;Une fois vim maîtrisé, vous ne verrez plus votre console du même oeil !
Et vous pourrez profiter de la seconde session (dont la date sera donnée
ultérieurement).&lt;/p&gt;

&lt;p&gt;A bientôt sur #u-classroom !&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>s/buntu-fr//</title>
    <link>http://u-classroom.net/post/2008/02/05/sbuntu-fr</link>
    <guid isPermaLink="false">urn:md5:c2aa8a827687a4f3b348df3251e37fb3</guid>
    <pubDate>Wed, 06 Feb 2008 19:47:00 +0100</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>coolaboratif</category><category>migration</category><category>Planet</category>    
    <description>    &lt;h4&gt;Les faits&lt;/h4&gt;
&lt;p&gt;La migration de la (ubuntu-fr-)classroom est maintenant pratiquement achevée. Certains d'entre vous s'en sont sans doute aperçu, la classroom, qui jusque là s'appuyait quasi-exclusivement sur les structures d'ubuntu-fr, prend son envol. Un site autonome a vu le jour, &lt;a class=&quot;linkification-ext&quot; href=&quot;http://u-classroom.net/&quot; title=&quot;Linkification: http://u-classroom.net/&quot;&gt;http://u-classroom.net/&lt;/a&gt;, sur lequel vous pouvez trouver :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les logs des sessions ;&lt;/li&gt;
&lt;li&gt;les cours ;&lt;/li&gt;
&lt;li&gt;le détail des sessions passées et à venir ;&lt;/li&gt;
&lt;li&gt;le blog.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le canal IRC, jusque là nommé #ubuntu-fr-classroom, devient #u-classroom, toujours sur le réseau freenode.&lt;/p&gt;
&lt;p&gt;Par ailleurs, nous profitons de cette &quot;migration&quot; pour travailler sur l'établissement d'un cadre technique visant à faciliter la restitution des sessions live, et leur transformation simple et automatisée en &lt;a href=&quot;http://u-classroom.net/cours&quot;&gt;cours statiques&lt;/a&gt; (bot irc, svn...).&lt;/p&gt;
&lt;h4&gt;C'est quoi, u-classroom ?&lt;/h4&gt;
&lt;p&gt;U-classroom c'est la volonté de partager le savoir et le savoir-faire de la communauté d'utilisateurs de logiciels libres, en proposant une formule vivante de cours sur &lt;a href=&quot;http://fr.wikipedia.org/wiki/IRC&quot;&gt;IRC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les premiers cours donnés sur #ubuntu-fr-classroom concernaient le packaging ubuntu (et donc debian par la même occasion).
Rapidement, le champ des connaissances transmises s'est élargi, et des sessions ont eu lieu concernant des sujets aussi
variés que apache, python, le shell...&lt;/p&gt;
&lt;p&gt;Dans cette &quot;u-classroom&quot;, chacun peut tour à tour être enseigné et enseignant, et aucun niveau minimal
n'est en général requis (si ce n'est avoir suivi ou lu les logs des sessions précédentes sur le même sujet).&lt;/p&gt;
&lt;h4&gt;Pourquoi cette migration ?&lt;/h4&gt;
&lt;p&gt;Loin de nous l'idée de nous éloigner d'ubuntu-fr. Cependant, la classroom existe depuis désormais plus d'un an et demi,
et nous avons le recul nécessaire pour nous apercevoir que nos centres d'intérets ne sont pas (pour la plupart)
directement liés à ubuntu, et que les sessions s'adressent généralement à tous les utilisateurs d'UNIX ou technologies
libres ; la proximité avec Ubuntu-fr traduit plus notre histoire qu'un réel lien organique.
Ce constat fait, il nous a semblé logique de nous émanciper du wiki d'ubuntu-fr, pour trouver une audience plus
vaste dans la communauté francophone des logiciels libres.&lt;/p&gt;
&lt;p&gt;Nous sommes toujours à la recherche de nouveaux thèmes et de nouveaux professeurs pour assurer les sessions.
Si un sujet vous tient à coeur (depuis l'utilisation de OOo jusqu'à l'utilisation fine des flags GCC sur LFS),
nous serions ravis de vous accueuillir, pour une ou plusieurs sessions. Prenez directement contact
avec nous sur &lt;a class=&quot;linkification-ext&quot; href=&quot;irc://#u-classroom@irc.freenode.net&quot; title=&quot;Linkification: irc://#u-classroom@irc.freenode.net&quot;&gt;#u-classroom@irc.freenode.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;N'oubliez pas aussi de vous abonner à notre mailing list &lt;a href=&quot;http://effraie.org/mailman/listinfo/classroom-annonces&quot;&gt;classroom-annonces&lt;/a&gt; qui vous permettra d'être informé des
dates et sujets des sessions futures.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Introduction à PyGTK</title>
    <link>http://u-classroom.net/post/2008/01/28/Introduction-a-PyGTK</link>
    <guid isPermaLink="false">urn:md5:9cf60db5feaed1545bcac31b45176a88</guid>
    <pubDate>Mon, 28 Jan 2008 12:32:00 +0100</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>gtk</category><category>Planet</category><category>python</category>    
    <description>    &lt;p&gt;On continue avec python pour la prochaine session de la classroom, en abordant l'utilisation du framework GTK.&lt;/p&gt;

&lt;p&gt;L'introduction à PyGTK se passera le &lt;b&gt;lundi 04 février&lt;/b&gt; à &lt;b&gt;20h00&lt;/b&gt; (heure métropolitaine, 19H00 UTC), sur le canal &lt;b&gt;#u-classroom&lt;/b&gt; de Freenode.&lt;/p&gt;

&lt;p&gt;Mieux vaut avoir fréquenté python pour suivre cette session. Si vous n'étiez pas là aux cours précédents, vous pouvez vous rattraper en jetant un oeil &lt;a href=&quot;http://u-classroom.net/cours/&quot;&gt;aux cours 'papier'&lt;/a&gt;. N'hésitez pas à venir nous rendre visite sur le chan avant la session si vous avez des questions.&lt;/p&gt;

&lt;p&gt;Pour éviter d'oublier la session, inscrivez-vous à la mailing liste &lt;a href=&quot;http://effraie.org/mailman/listinfo/classroom-annonces &quot;&gt;u-classroom annonces&lt;/a&gt;, un message de rappel sera envoyé ;)&lt;/p&gt;

&lt;p&gt;A lundi !&lt;/a&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Déménagement IRC</title>
    <link>http://u-classroom.net/post/2008/01/25/Demenagement-IRC</link>
    <guid isPermaLink="false">urn:md5:949bd4afef8dfe1fff64b2ffd9924eb5</guid>
    <pubDate>Fri, 25 Jan 2008 07:08:00 +0100</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>irc</category>    
    <description>    &lt;p&gt;Encore un peu de mouvement pour u-classroom, notre canal irc a changé, et tout se passera maintenant sur &lt;b&gt;#u-classroom&lt;/b&gt;, toujours sur le réseau freenode (vous serez redirigés en venant sur #ubuntu-fr-classroom).&lt;/p&gt;

&lt;p&gt;On inaugurera le canal le 4 février avec un nouveau cours (annonce 'officielle' à suivre...).&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>SVN: done</title>
    <link>http://u-classroom.net/post/2008/01/13/SVN%3A-done</link>
    <guid isPermaLink="false">urn:md5:8f52b26fe68f2c52e863e171679399b6</guid>
    <pubDate>Sun, 13 Jan 2008 02:24:00 +0100</pubDate>
    <dc:creator>effraie</dc:creator>
        <category>classroom</category><category>Misc</category><category>SVN</category>    
    <description>    &lt;p&gt;Salut la foule! &lt;br /&gt; &lt;br /&gt;
Ça faisait un moment qu'on voulait le faire, ça y est, un svn est en place pour bosser à plusieurs sur les logs/cours/whatever pour la classroom. &lt;br /&gt; &lt;br /&gt;
En pratique, vous avez accès à&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://u-classroom.net/logs/&quot; hreflang=&quot;fr&quot;&gt;logs&lt;/a&gt; qui contient... les logs des sessions passée (étonnant, non?)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://u-classroom.net/cours/&quot; hreflang=&quot;fr&quot;&gt;cours&lt;/a&gt; qui contiendra les cours mis en forme&lt;sup&gt;[&lt;a href=&quot;http://u-classroom.net/post/2008/01/13/#pnote-22-1&quot; id=&quot;rev-pnote-22-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://u-classroom.net/misc/&quot; hreflang=&quot;fr&quot;&gt;misc&lt;/a&gt; qui contiendra du  vrac, du bordel, et pire encore!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt; &lt;br /&gt;
Je suis assez content, parce que c'est mon tout premier SVN, et ça rox pas mal, je trouve&amp;nbsp;!&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://u-classroom.net/post/2008/01/13/#rev-pnote-22-1&quot; id=&quot;pnote-22-1&quot;&gt;1&lt;/a&gt;] quand skateinmars aura adapté un template :) &lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
      </item>
    
  <item>
    <title>Le retour du Python</title>
    <link>http://u-classroom.net/post/2008/01/04/Le-retour-du-Python</link>
    <guid isPermaLink="false">urn:md5:f4b43ae8cc983ac32e5a9aefbd03eef7</guid>
    <pubDate>Fri, 04 Jan 2008 19:50:00 +0100</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>Planet</category><category>python</category>    
    <description>    &lt;p&gt;C'est parti pour une nouvelle session classroom sur Python ! On abordera cette fois ci la programmation orientée objet, ce qui nous permettra de découvrir pygtk lors de la session suivante.&lt;/p&gt;
&lt;p&gt;Ca se passera le 21 Janvier à 20H00 (heure métropolitaine, 19H00 UTC) sur le canal irc #ubuntu-fr-classroom (réseau freenode).&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Session éclair sur Subversion le 01/01/08</title>
    <link>http://u-classroom.net/post/2007/12/30/Session-eclair-sur-Subversion-le-01/01/08</link>
    <guid isPermaLink="false">urn:md5:f4e877d1258192171398bf9aeee2dd38</guid>
    <pubDate>Sun, 30 Dec 2007 15:16:00 +0100</pubDate>
    <dc:creator>Skateinmars</dc:creator>
        <category>classroom</category><category>irc</category><category>Planet</category><category>session</category>    
    <description>    &lt;p&gt;Pour fêter la nouvelle année (ou alors cela n'a aucun rapport), une session éclair est organisée sur subversion le premier janvier 2008, à 17h (heure en France métropolitaine); comme d'habitude sur le channel irc #ubuntu-fr-classroom du serveur Freenode.&lt;/p&gt;
&lt;br /&gt;&lt;p&gt;Au programme, une petite partie installation et intégration à apache avant de passer à son utilisation basique : checkout, update, commits...&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;EDIT : La session éclair n'était pas si éclair que ca :) Les logs sont dispos sur http://gauvain.pocentek.net/2008-01-01-svn.log pour le moment.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Python : Retard, retard...</title>
    <link>http://u-classroom.net/post/2007/12/09/Python-%3A-Retard-retard</link>
    <guid isPermaLink="false">urn:md5:78240326f1476adf4a4a20f86ed100d6</guid>
    <pubDate>Sun, 09 Dec 2007 18:39:00 +0100</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>python</category><category>trop_de_taff</category>    
    <description>    &lt;p&gt;Message rapide aux personnes qui ont suivi les deux premiers cours python, et qui attendent le suivant : désolé du retard que ça prend mais les dernières semaines ont été plutôt chargés aux taffs (au pluriel ? oui, &lt;a href=&quot;http://ulteo.com&quot;&gt;un&lt;/a&gt; plus &lt;a href=&quot;http://linutop.com&quot;&gt;un&lt;/a&gt; ça fait deux).&lt;/p&gt;

&lt;p&gt;Ca devrait commencer à se calmer et je me bouge un peu pour préparer la suite (programmation orientée objet et pygtk).&lt;/p&gt;

&lt;p&gt;Si la classroom vous manque et que vous vous sentez l'envie de partager vos connaissances, venez nous en parler sur #ubuntu-fr-classroom sur le réseau irc &lt;a href=&quot;http://freenode.net&quot;&gt;freenode&lt;/a&gt;, on organisera ça !&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Squelette de documentation des fonctions C/C++ avec vim</title>
    <link>http://u-classroom.net/post/2007/12/07/Squelette-de-documentation-des-fonctions-C/C-avec-vim</link>
    <guid isPermaLink="false">urn:md5:16e54e2886f8cd78f48016bebbb8da46</guid>
    <pubDate>Fri, 07 Dec 2007 00:16:00 +0100</pubDate>
    <dc:creator>Sp4rKy</dc:creator>
        <category>C</category><category>Planet</category><category>regexp</category><category>Ubuntu</category><category>Vim</category>    
    <description>    &lt;p&gt;Bon, j'avoue, le titre ne veut rien dire, mais faut m'excuser, il est tard, skateinmars a pas arrêté de m'embêter, etc, etc ...&lt;/p&gt;


&lt;p&gt;Le but de ce petit topic est de vous montrer comment générer un début de docmentation des fonctions C sous vim.&lt;/p&gt;


&lt;p&gt;D'abord, le code. Prenez une chaise, des aspirines, un grand verre, de l'eau . Vous êtes prêt&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
map T :copy.&amp;lt;ESC&amp;gt;k&amp;lt;ESC&amp;gt;:.!sed -r 's@(.[^ ]*) (.[^\(]*)\((.*)\).*@/**\n* \@name \2 :\n* \@Param \3 :\n* \@Return \1 :\n*/@; s/,/ :\n* \@Param /g; s/ [ ]+/ /g;' &amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;
&lt;/pre&gt;



&lt;p&gt;J'avais prévenu :)&lt;/p&gt;


&lt;p&gt;Alors ça fait quoi ça&amp;nbsp;? Ca va générer à l'aide d'une simple touche de raccourci un squelette de documentation compatible doxygen &amp;amp; autres. Vous mettez cette petite ligne à la fin de votre ~/.vimrc, vous enregistrez tout ça et vous ouvrez votre code source C préféré.&lt;/p&gt;


&lt;p&gt;Placez vous sur la ligne de déclaration d'une fonction par exemple&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt; int main (int argc, const char ** argv) { &lt;/pre&gt;



&lt;p&gt;et, en mode commande, appuyez sur T (shift + t).&lt;/p&gt;


&lt;p&gt;Et là magie, vous voyez apparaître ceci au dessus de la déclaration&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
/**
* @name main :
* @Param int argc :
* @Param const char ** argv :
* @Return int :
*/
&lt;/pre&gt;


&lt;p&gt;Si ça ne marche pas c'est que&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vous avez mal fait&lt;/li&gt;
&lt;li&gt;J'ai mal fait&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans le premier cas, reprenez vous, que diable&amp;nbsp;! Dans le second, tant pis pour vous je vais me coucher :)&lt;/p&gt;


&lt;p&gt;PS&amp;nbsp;: un &lt;strong&gt;GRAND GRAND&lt;/strong&gt; merci au petit petit gapz qui du fond de sa cave m'a grandement aidé à faire ça (pour ne pas dire qu'il a fait de loin le plus dur) :)&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Création d'un Média Center avec Freevo</title>
    <link>http://u-classroom.net/post/2007/10/16/Creation-dun-Media-Center-avec-Freevo</link>
    <guid isPermaLink="false">urn:md5:21c86c299eb658b4379291491f674960</guid>
    <pubDate>Wed, 24 Oct 2007 22:00:00 +0200</pubDate>
    <dc:creator>Sp4rKy</dc:creator>
        <category>Freevo</category><category>Media Center</category><category>Planet</category>    
    <description>    &lt;h2&gt;Introduction&lt;/h2&gt;


&lt;p&gt;Je viens de finir la réalisation d'une centrale multimédia complète à l'aide du HTPC &lt;a href=&quot;http://u-classroom.net/tag/Freevo&quot;&gt;Freevo&lt;/a&gt;. Voici donc un (petit) tutorial pour détailler la réalisation d'une telle centrale.&lt;/p&gt;



&lt;h2&gt;Capacités du &lt;a href=&quot;http://u-classroom.net/tag/Media%20Center&quot;&gt;Media Center&lt;/a&gt;&lt;/h2&gt;


&lt;p&gt;Une fois l'installation terminée, le Media Center sera capable de&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * Lire la musique (mp3, ogg, etc)
   * Lire les WebRadios
   * Lire des vidéos (divx, etc ...)
   * Lire la télévision (TNT) et afficher les programmes
   * Enregistrer les émissions télé
   * Lire les flux RSS
   * Afficher des photos
   * Contrôler les périphériques X10
   * Démarrer automatiquement au lancement de l'ordinateur et arrêter l'ordinateur en quittant
   * Etre contrôlé par une télécommande&lt;/pre&gt;


&lt;p&gt;Ce tutorial est disponible au format PDF (généré à partir de source LaTeX) &lt;a href=&quot;http://people.dunnewind.net/maxence/latex/tutofreevo.pdf&quot; hreflang=&quot;fr&quot;&gt;ici&lt;/a&gt; .&lt;/p&gt;


&lt;h2&gt;Prérequis&lt;/h2&gt;


&lt;pre&gt;   * L'ordinateur sur lequel le Média Center a été installé est un PIII 900Mhz, et cela suffit amplement.
   * Côté logiciel, j'ai utilisé une Ubuntu minimale avec serveur X.
   * Votre télécommande doit être fonctionnelle (l'utilisation détaillée ici se sert de lirc)&lt;/pre&gt;


&lt;h2&gt;Installation de Freevo&lt;/h2&gt;


&lt;p&gt;Freevo n'existe pas dans les dépots officiels d'Ubuntu, il faut donc utiliser des dépôts tierce partie. Vous êtes donc prévenu qu'il ne sont pas supportés par Canonical / Ubuntu et vous ne pourrez vous en prendre qu'à vous seul si cela pourrit votre système.&lt;/p&gt;


&lt;p&gt;Donc, maintenant que vous êtes prévenus, il va vous falloir ajouter cette ligne à votre fichier /etc/apt/sources.list&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;deb http://ubuntu.geole.info/ gutsy universe multiverse&lt;/code&gt;&lt;/p&gt;




&lt;p&gt;Une fois cette ligne ajoutée à votre fichier et le fichier sauvegardé, on installe freevo&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo apt-get update&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;apt-get install geole-keyring&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo apt-get install freevo freevo-common python-freevo freevo-lirc&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;L'installation du paquet va vous proposer quelques options, choisissez dans l'ordre&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * x11
   * 768*576 (format PAL)
   * PAL
   * france
   * rien
   * rien
   * rien
   * rien
   * rien
   * rien
   * rien
   * rien&lt;/pre&gt;


&lt;p&gt;Cela va vous définir le fichier de configuration général de freevo (/etc/freevo/freevo.conf) .
Tous les champs que vous n'avez pas saisi seront défini manuellement plus tard dans le fichier
/etc/freevo/local_conf.py&lt;/p&gt;


&lt;p&gt;Freevo utilise le concept de modules. Par conséquent vous pouvez charger seulement ce dont vous avez besoin.&lt;/p&gt;


&lt;p&gt;La totalité de la configuration de Freevo se fait via le fichier /etc/freevo/local_conf.py .
Il vous est possible de personnaliser ce fichier de configuration pour chaque utilisateur en le copiant dans  /.freevo/ .
Cependant, le but du tutorial étant de faire un media center, un seul utilisateur est utilisé. Nous travaillerons donc sur le fichier /etc/freevo/local_conf.py .&lt;/p&gt;


&lt;h2&gt;Lirc&lt;/h2&gt;

&lt;p&gt;Freevo utilise son propre mapping LIRC (ie son propre fichier lircrc).
Si vous n'avez pas de fichier /etc/freevo/lircrc, vous pouvez en générer un de base avec la commande&lt;/p&gt;


&lt;p&gt;&lt;code&gt;freevo makelircrc -w&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;qui créera une config par défaut. Ensuite, on va rapidement tester que lirc/freevo reconnaissent bien la télécommande.
Pour cela, lircd doit être lancé, et on exécute:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;ircat -config=/etc/freevo/lircrc freevo&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Ensuite appuyez sur les touches de votre télécommande, cela devrait afficher la correspondance freevo (le nom utilisé par freevo).
Vérifiez ainsi que toutes les touches fonctionnent, si ce n'est pas le cas, 2 possibilités sont à envisager&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * La touche est bien reconnue par lirc (elle s'affiche lors de l'utilisation de irw par exemple). Il est à ce moment là fort probable qu'elle soit manquante dans /etc/freevo/lircrc . Il suffit d'éditer ce fichier et de rajouter une section sur le format suivant :&lt;/pre&gt;

&lt;pre&gt;
begin
    prog = freevo
    button = nomquisaffichedansirw
    config = correspondancefreevo
end
&lt;/pre&gt;

&lt;pre&gt;   * La touche ne fonctionne pas avec irw. Il faut alors regarder dans le fichier de configuration de Lirc.&lt;/pre&gt;


&lt;p&gt;Bon, maintenant que la télécommande fonctionne on va pouvoir s'attaquer à la configuration en elle-même.&lt;/p&gt;


&lt;h2&gt;Configuration&lt;/h2&gt;

&lt;p&gt;Donc on ouvre le fichier /etc/freevo/local_conf.py (avec sudo).&lt;/p&gt;


&lt;p&gt;Comme vous pouvez le voir, ce fichier est plutôt bien documenté ce qui vous aidera pour le modifier vous même.&lt;/p&gt;


&lt;p&gt;Je vais prendre dans l'ordre les options à modifier. Presque toutes les options sont existantes dans le fichier, mais sont le plus souvent commentées (avec un # en début de ligne), donc une petite recherche sur le nom de l'option, décommentage et modification.&lt;/p&gt;


&lt;h3&gt;Audio&lt;/h3&gt;


&lt;p&gt;La première section va permettre la gestion du son, voici ce que j'ai défini, à éventuellement adapter selon vos préférences&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * AUDIO_DEVICE = '/dev/dsp'
   * AUDIO_INPUT_DEVICE = '/dev/dsp1'
   * MAJOR_AUDIO_CTRL = 'VOL'
   * MAJOR_AUDIO_CTRL_MUTE = 'VOL'
   * CONTROL_ALL_AUDIO = 1
   * MAX_VOLUME = 95
   * DEFAULT_VOLUME = 40
   * TV_IN_VOLUME = 60
   * RADIO_IN_VOLUME = 80
   * DEV_MIXER = '/dev/mixer'&lt;/pre&gt;


&lt;p&gt;La fonction des options est détaillée dans le fichier et les noms sont suffisamment explicites. Il est possible d'avoir à modifier les 2 premières options ainsi que la dernière, suivant votre carte son.&lt;/p&gt;


&lt;p&gt;Les autres options sont plus des préférences. Les nombres correspondent à des pourcentages.&lt;/p&gt;


&lt;h3&gt;Généralités&lt;/h3&gt;


&lt;pre&gt;   * START_FULLSCREEN_X = 1
   * CONFIRM_SHUTDOWN = 1&lt;/pre&gt;


&lt;p&gt;Idem, suffisamment explicite :)&lt;/p&gt;


&lt;p&gt;Disque ROM
La configuration que je propose utilisant fstab, nous n'aurons pas besoin de ce paramètre, on peut donc le désactiver.&lt;/p&gt;


&lt;pre&gt;   * ROM_DRIVES = []
   * HIDE_UNUSABLE_DISCS = 1&lt;/pre&gt;


&lt;p&gt;La deuxième option permet de cacher des répertoires dans les menus s'ils ne sont pas accessibles par le logiciel. On l'active donc pour nous permettre de proprement utiliser des disques USB plus tard. Vous pouvez la mettre à 0 si vous n'avez pas de disques externes.&lt;/p&gt;


&lt;h3&gt;Arrêt&lt;/h3&gt;

&lt;p&gt;Freevo permet d'arrêter le système lorsqu'on le quitte, ce qui nous intéresse :)
On active donc les options suivantes&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * ENABLE_SHUTDOWN_SYS = 1
   * SHUTDOWN_SYS_CMD = &quot;sudo shutdown -h now&quot;&lt;/pre&gt;


&lt;p&gt;Il va de plus falloir modifier le fichier /etc/sudoers pour permettre à freevo d'éteindre sans avoir besoin de mot de passe.&lt;/p&gt;


&lt;p&gt;Attention, cette manipulation peut poser certains problèmes de sécurité . Cependant, pour un PC destiné seulement à devenir un Media Center, cela ne pose pas vraiment de soucis.&lt;/p&gt;


&lt;p&gt;Ouvrez donc un terminal et tapez&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo su&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;visudo&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Il vous ouvre alors le fichier /etc/sudoers via l'éditeur VI. Le passage par le compte root est volontaire. En effet, une erreur dans le fichier /etc/sudoers peut vous faire perdre l'accès aux privilèges administrateur.&lt;/p&gt;


&lt;p&gt;Déplacez vous avec les flèches sur la dernière ligne du fichier (%admin ALL= (ALL) ALL). Placez vous sur la parenthèse avant le ALL et tapez &lt;ins&gt;exactement&lt;/ins&gt; cette séquence de touche&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * Appuyez 5 fois sur 'x', cela effacera le mot (ALL)
   * Appuyez une fois sur 'i', cela vous permet d'entrer dans le mode édition de vi
   * Tapez 'NOPASSWD:' , sans oublier les ':'
   * Appuyez une fois sur 'Echap'&lt;/pre&gt;


&lt;pre&gt;     A ce moment là votre ligne devrait être &quot; %admin ALL= NOPASSWD: ALL &quot;. Il ne vous reste plus qu'à quitter :&lt;/pre&gt;


&lt;pre&gt;   * Appuyez sur ':wq', sans oublier les ':'&lt;/pre&gt;


&lt;p&gt;ATTENTION&amp;nbsp;: il se peut que visudo utilise chez vous l'éditeur nano, auquel cas la séquence de touche ne suffira pas. Mais nano étant beaucoup plus intuitif, je suis sur que vous y arriverez seul :)&lt;/p&gt;


&lt;p&gt;Une façon plus sécurisée  serait d'autoriser seulement à l'utilisateur actuel le droit d'éteindre. Pour celà vous devez rajoutez dans le fichier les lignes suivantes&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * Cmnd_Alias HALT=/sbin/shutdown
   * votreuser ALL=NOPASSWD:HALT&lt;/pre&gt;


&lt;p&gt;Si vous utilisez cette méthode, il n'ai pas nécessaire de modifier la première ligne comme indiqué,&lt;/p&gt;


&lt;p&gt;Vous voilà de nouveau sur votre terminal. Laissez le ouvert et ouvrez en un autre pour vérifier que vous n'avez pas fait d'erreur. Tapez-y&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo -k&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo ls&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Là il devrait vous lister votre répertoire personnel. Si vous avez un message comme quoi il y a un problème dans le fichier /etc/sudoers, c'est que vous avez fait une mauvaise manipulation.&lt;/p&gt;


&lt;p&gt;S'il ne vous mets pas d'erreur et vous affiche le contenu de votre répertoire, vous pouvez fermer les deux terminaux.&lt;/p&gt;


&lt;p&gt;Maintenant, Freevo n'aura plus besoin du mot de passe pour éteindre le PC.&lt;/p&gt;


&lt;p&gt;Bon, passons à la suite.&lt;/p&gt;


&lt;h3&gt;Ajout de fonctions pour la télécommande&lt;/h3&gt;


&lt;p&gt;Une (autre) des grandes puissances de Freevo est la flexibilité du mappage des touches de la télécommande. Freevo est divisé en 'scènes' et met à dispositions de l'utilisateur un certain nombre d'actions sur l'interface (appelées événements). Les scènes correspondent aux parties de Freevo&amp;nbsp;: globale ( effectives partout), menu, music, video, tv, image, games, dvd, vcd (et peut-être d'autres encore) .&lt;/p&gt;


&lt;p&gt;Freevo vous permet donc de mapper des touches à des événements particuliers pour chaque scène . Autrement dit, vos touches ne réagissent pas forcément pareil suivant la section dans laquelle vous vous trouvez.&lt;/p&gt;


&lt;p&gt;Un grand nombre de paramétrages sont déjà effectuez, vous pourrez les trouver dans le fichier&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;/usr/share/pycentral/python-freevo/site-packages/freevo/event.py&lt;/p&gt;


&lt;p&gt;J'ai cependant (re)défini quelques mapping supplémentaires. J'ai en effet des touches d'accès 'TV','Vidéos','Radio', etc ... sur ma télécommande (Hauppauge). Je souhaitais donc pourvoir accéder directement aux différentes sections de Freevo quelque soit la section dans laquelle je me trouve.&lt;/p&gt;


&lt;p&gt;Rien de plus simple, ajoutez dans votre ficher de configuration les lignes&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * EVENTS['global']['TV'] = Event(MENU_GOTO_TVGUIDE)
   * EVENTS['global']['VIDEOS'] = Event(MENU_GOTO_VIDEOS)
   * EVENTS['global']['PICTURES'] = Event(MENU_GOTO_IMAGES)
   * EVENTS['global']['GUIDE'] = Event(MENU_GOTO_TVGUIDE)
   * EVENTS['global']['MUSIC'] = Event(MENU_GOTO_MUSIC)
   * EVENTS['global']['RADIO'] = Event(MENU_GOTO_RADIO)
   * EVENTS['global']['DISPLAY'] = Event(MENU_GOTO_MAINMENU)
   * EVENTS['global']['BACK'] = Event(MENU_BACK_ONE_MENU)&lt;/pre&gt;


&lt;p&gt;Les 2 derniers permettent de retourner directement au menu principal avec la touche DISPLAY (chez moi en haut à gauche appelée Go), et de remonter d'un niveau dans les menus avec la touche 'Back/Exit' .&lt;/p&gt;


&lt;p&gt;Ma touche Go n'était pas configurée correctement, il m'a donc fallu éditer le fichier /etc/freevo/lircrc, puis vérifier que vous avez la section&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
begin
    prog = freevo
    button = go
    config = DISPLAY
end
&lt;/pre&gt;


&lt;p&gt;Sinon, changez la valeur du paramètre 'config'. Cette fonction DISPLAY est assez importante car elle sera utilisée pour la suite.&lt;/p&gt;


&lt;p&gt;J'ai en plus de ça rajouté quelques mapping pour l'audio (le réglage du son ne fonctionnait pas par défaut)&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * EVENTS['global']['BACKTRACK'] = Event(PLAYLIST_PREV)
   * EVENTS['global']['FFWD'] = Event(PLAYLIST_NEXT)
   * EVENTS['global']['MIXER_VOLUP'] = Event(MIXER_VOLUP, arg=5)
   * EVENTS['global']['MIXER_VOLDOWN'] = Event(MIXER_VOLDOWN, arg=5)&lt;/pre&gt;


&lt;p&gt;La valeur du paramètre 'arg' correspond au pourcentage d'augmentation / diminution du son lorsque l'on appuie sur la touche de réglage du volume.&lt;/p&gt;


&lt;p&gt;Vous pourrez par la suite modifier vous même les actions de votre télécommande via ces paramètres, la forme générale étant&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;EVENTS['SCENE']['TOUCHE'] = Event(EVENEMENT, arg=PARAMETRE)&lt;/p&gt;


&lt;p&gt;Les touches étant celles définies pour les paramètres config dans /etc/freevo/lircrc et les événements étant décrit dans le fichier event.py.&lt;/p&gt;


&lt;h3&gt;Clavier&lt;/h3&gt;


&lt;p&gt;Le but avoué de ce montage étant de ne plus avoir à utiliser que la télécommande, et ceci étant le cas chez moi, j'ai pu désactiver le clavier&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * USE_SDL_KEYBOARD = 0&lt;/pre&gt;


&lt;p&gt;Cependant, laissez ce paramètre commenté / à 1 si vous comptez utiliser le clavier.&lt;/p&gt;


&lt;p&gt;Commande des événements&lt;/p&gt;


&lt;p&gt;Notre télécommande étant gérée par LIRC, on peut désactiver le paramètre EVENT_DEVS&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * EVENT_DEVS = []&lt;/pre&gt;


&lt;h3&gt;Réseau&lt;/h3&gt;


&lt;p&gt;Freevo peut utiliser de nombreux services via Internet pour récupérer le programme télé, écouter les webradios, rechercher des données sur un morceau / un CD, etc. Il semble donc plus qu'utile d'activer le réseau&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * USE_NETWORK = 1&lt;/pre&gt;


&lt;p&gt;Attention, ceci ne gère pas la configuration du réseau. il vous faut donc vous assurer que votre ordinateur est connecté à internet avant le lancement de Freevo.&lt;/p&gt;


&lt;h3&gt;Gestion du cache&lt;/h3&gt;


&lt;p&gt;Freevo peut garder un certain nombre de données en cache pour accélérer l'utilisation. Le paramètre MEDIAINFO_USE_MEMORY défini l'utilisation de la mémoire vive pour le cache. Ayant peu de mémoire, j'ai défini le paramètre sur 0, ce qui permet de garder uniquement le répertoire courant en mémoire. Si vous avez plus de mémoire, vous pouvez définir le paramètre sur 1 ou sur 2.&lt;/p&gt;


&lt;pre&gt;   * MEDIAINFO_USE_MEMORY = 0&lt;/pre&gt;


&lt;p&gt;On active également le cache des images&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * CACHE_IMAGES = 1&lt;/pre&gt;


&lt;h3&gt;Fils RSS&lt;/h3&gt;


&lt;p&gt;Freevo intègre un lecteur de news plutôt simplissime, il suffit de l'activer car il ne l'est pas par défaut&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * plugin.activate('headlines', level=45)&lt;/pre&gt;


&lt;pre&gt;     Ensuite, le paramètre HEADLINES_LOCATIONS contient des tuples avec le nom du fil et l'adresse du fichier xml. Par défaut j'y ajoute 2 fils de nouvelles et le fil de notre planet préféré :&lt;/pre&gt;


&lt;pre&gt;   * HEADLINES_LOCATIONS = [ ('LÉXPRESS', 'http://www.feediz.com/synd/1500.xml'), ('Echos Du Net','http://www.feediz.com/synd/1870.xml'), ('PUF','http://planet.ubuntu-fr.org/feed/rss2'),]&lt;/pre&gt;


&lt;p&gt;S'ensuit de nombreuses lignes de commentaires que vous pouvez observer (notamment le passage sur le CDROM, je ne l'ai pas activé n'ayant pas de lecteur).&lt;/p&gt;


&lt;h3&gt;Vidéo&lt;/h3&gt;

&lt;p&gt;La configuration de la lecture des vidéos est une fois encore pas très compliquée.
Il suffit presque de définir les répertoires dans lesquels sont stockés les vidéos (vous vous rappelez, les 'rien' du début)&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * VIDEO_ITEMS = [ ('Vidéos', ' votreuser/Videos'), ('USB', '/media/sda3') ]&lt;/pre&gt;


&lt;pre&gt;     Pour définir des répertoires, le format est le suivant : [ ('NOM','/path/du/repertoire'), ('autrenom','autrepath') ].&lt;/pre&gt;


&lt;pre&gt;     Si les répertoires n'existent pas, ils ne seront pas affichés grâce à notre HIDE_UNUSABLE_DISCS du début. Par conséquent, on peut se permettre de définir ici des points de montage n'acceuillant pas forcément quelque chose (disque externe pour moi).
     Il faut par contre, si le répertoire existe et n'est pas vide, que les permissions soient bonnes.&lt;/pre&gt;


&lt;pre&gt;     Le choix par défaut pour le lecteur vidéo est mplayer, ce qui convient très bien, donc :&lt;/pre&gt;


&lt;pre&gt;   * VIDEO_PREFERED_PLAYER = 'mplayer'&lt;/pre&gt;


&lt;h3&gt;Audio&lt;/h3&gt;


&lt;p&gt;C'est un peu le même topo que pour le paramétrage de la partie vidéo, il suffit de définir les répertoires, le player, les formats audios&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * AUDIO_ITEMS = [ ('Musique', '/home/votreuser/Musique'), ('USB','/media/sda2'), '/usr/share/freevo/fxd/webradio.fxd' ]
   * AUDIO_SUFFIX = [ 'mp3', 'ogg', 'wav','m4a', 'wma', 'aac', 'flac', 'mka' ]
   * AUDIO_PREFERED_PLAYER = 'mplayer'&lt;/pre&gt;


&lt;p&gt;Et voilà ... Comment ça non&amp;nbsp;? Ah oui, vous ne voyez pas ce qu'est ce paramètre bizarre&amp;nbsp;: '/usr/share/freevo/fxd/webradio.fxd' .&lt;/p&gt;


&lt;p&gt;C'est en fait le moyen qu'utilise freevo pour vous permettre d'écouter des WebRadios. Il utilise un fichier basé sur du xml contenant les descriptions des flux.
Une base pour ce fichier est téléchargeable à l'adresse http://membres.lycos.fr/gouchi2k1/files/webradio-freevo.tar.bz2http://membres.lycos.fr/gouchi2k1/files/webradio-freevo.tar.bz2.
Il vous suffit donc de faire&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;wget http://membres.lycos.fr/gouchi2k1/files/webradio-freevo.tar.bz2&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;tar xvjf webradio-freevo.tar.bz2&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo cp -a Webradio/src/img/ /usr/share/freevo/fxd/&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo cp Webradio/src/webradio.fxd /usr/share/freevo/fxd/webradio-french.fxd&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;em&gt;Si jamais vous trouvez un fichier plus complet, n'hésitez pas à le partager !&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Ce fichier sera lu par Freevo qui y reconnaîtra une liste de Webradios qu'il vous proposera classée par thèmes dans le menu Musique.&lt;/p&gt;


&lt;p&gt;Il va également être intéressant d'activer le plugin audio.detach&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * plugin.activate('audio.detach')&lt;/pre&gt;


&lt;p&gt;Ce plugin permet de continuer à écouter de la musique sans rester bloqué sur le player, ce qui permet par exemple de regarder des photos ou de lire les news pendant ce temps.
Une fois le morceau lancé, pour quitter l'écran, il suffit d'appuyer sur la touche ... DISPLAY (je vous avais dit qu'elle serait utile). Le player se range alors dans la barre en haut de l'écran et vous pouvez naviguer comme vous voulez dans Freevo.&lt;/p&gt;


&lt;h3&gt;Les images&lt;/h3&gt;


&lt;p&gt;Comme précédemment, configuration assez rapide et explicite&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * IMAGE_ITEMS = [ ('Photos', ' votreuser/photos') ]&lt;/pre&gt;


&lt;pre&gt;   * IMAGE_SUFFIX = [ 'jpg','gif','png','jpeg','bmp','tiff','psd' ]&lt;/pre&gt;


&lt;pre&gt;     Vous pouvez définir des fichiers de slideshow permettant un défilement automatique des images.
     Il vous suffit alors de préciser l'extension de ces fichiers :&lt;/pre&gt;


&lt;pre&gt;   * IMAGE_SSHOW_SUFFIX = [ 'ssr' ]&lt;/pre&gt;


&lt;pre&gt;     Vous pouvez laisser ce paramètre commenté si vous ne prévoyez pas de l'utiliser.&lt;/pre&gt;


&lt;pre&gt;     Freevo permet également une transition un peu plus belle qu'un bête changement d'image :&lt;/pre&gt;


&lt;pre&gt;   * IMAGEVIEWER_BLEND_MODE = -1&lt;/pre&gt;


&lt;p&gt;0 fait un effet de transparence, 1 déplace la photo, et -1 fait les 2 de façon aléatoire.&lt;/p&gt;


&lt;h3&gt;Jeux&lt;/h3&gt;


&lt;p&gt;N'utilisant pas les jeux sur Freevo, je n'ai simplement rien activé dans cette partie.&lt;/p&gt;


&lt;h3&gt;Skin&lt;/h3&gt;


&lt;p&gt;Un certain nombre de thèmes sont inclus dans le paquets de Freevo, vous pouvez les voir dans le répertoire /usr/share/freevo/skins/main/, qui contient pour chaque thème le fichier fxd du thème et une image du thème 'en action'. Il vous suffit, une fois votre thème choisi, de faire&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;   * SKIN_XML_FILE = 'mediaportal'&lt;/pre&gt;


&lt;pre&gt;     (le nom du thème sans le .fxd pour ceux qui n'auraient pas compris). Vous pouvez également changer de skin en appuyant sur la touche display alors que vous êtes sur le menu principal.&lt;/pre&gt;


&lt;h3&gt;Polices de caractères&lt;/h3&gt;


&lt;p&gt;Freevo peut utilisé des polices de caractères autres que celles inclues par défaut, il faut pour cela lui préciser où&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;OSD_EXTRA_FONT_PATH = [ '/usr/X11R6/lib/X11/fonts/truetype/' ]&lt;/p&gt;


&lt;p&gt;Vous pouvez également jouer un son lors des déplacements dans le menu grâce au paramètre OSD_SOUNDS (ce que je n'ai pas fait).&lt;/p&gt;


&lt;h3&gt;Télécommande&lt;/h3&gt;


&lt;p&gt;Pour activer lirc, rien de plus simple&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;LIRCRC = '/etc/freevo/lircrc'&lt;/p&gt;


&lt;p&gt;Oui oui, c'est tout :) (sauf bien sur qu'il est nécessaire que lircd se lance au démarrage et soit fonctionnel, ce que je ne détaillerais pas ici)&lt;/p&gt;


&lt;h3&gt;Mplayer&lt;/h3&gt;


&lt;p&gt;Comme Freevo utilise par défaut le logiciel Mplayer pour la lecture des fichiers audios et vidéos, on peut le paramétrer un peu via ce fichier de configuration&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;MPLAYER_AO_DEV = 'alsa'
DVD_LANG_PREF = 'fr,en'&lt;/p&gt;


&lt;p&gt;Il faut également vérifier que les options pour mplayer contiennent bien le dvb&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;MPLAYER_ARGS = { 'dvb'&amp;nbsp;: '-vf pp=md -cache 1024',
'dvd'&amp;nbsp;: '-cache 8192',
'vcd'&amp;nbsp;: '-cache 4096',
'cd'&amp;nbsp;: '-cache 1024 -cdda speed=2',
'tv'&amp;nbsp;: '-nocache',
'ivtv'&amp;nbsp;: '-cache 8192',
'avi'&amp;nbsp;: '-cache 5000 -idx',
'rm'&amp;nbsp;: '-cache 5000 -forceidx',
'rmvb'&amp;nbsp;: '-cache 5000 -forceidx',
'webcam'&amp;nbsp;: 'tv:// -tv driver=v4l:width=352:height=288:outfmt=yuy2:device=/dev/video2',
'default': '-cache 5000'
}&lt;/p&gt;


&lt;p&gt;De nombreuses autres customisations sont possibles mais les choix par défaut sont largement assez performants pour moi :)&lt;/p&gt;


&lt;p&gt;Il reste encore à définir les chaînes pour mplayer.
Récupérez à l'adresse  &lt;a href=&quot;http://www.linuxtv.org/cgi-bin/viewcvs.cgi/dvb-apps/util/scan/dvb-t/&quot; hreflang=&quot;fr&quot;&gt;http://www.linuxtv.org/cgi-bin/viewcvs.cgi/dvb-apps/util/scan/dvb-t/&lt;/a&gt; le fichier qui correspond au mieux à votre localisation géographique.
Ensuite récupérez les chaînes par la commande&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;scan fichierRecupéré &amp;gt; channels.conf&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Le binaire scan se trouve dans le paquet dvb-utils.
Une fois le fichier créé, il faut le mettre dans le répertoire de mplayer&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;mv channels.conf /.mplayer/&lt;/code&gt;&lt;/p&gt;


&lt;h3&gt;Enregistrements&lt;/h3&gt;


&lt;p&gt;Le paramétrage de l'enregistrement se fait en précisant un répertoire de sauvegarde&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;TV_RECORD_DIR = &quot;/home/votreuser/Records&quot;&lt;/p&gt;


&lt;p&gt;L'enregistreur de Freevo est un service dédié séparé de freevo, et communiquant via socket réseau (cela peut par exemple permettre de l'avoir sur un autre ordinateur).&lt;/p&gt;


&lt;p&gt;//TODO détailler la configuration de l'enregistreur que je n'ai pas encore mis en place&lt;/p&gt;


&lt;h3&gt;Paramétrage de la télé&lt;/h3&gt;


&lt;p&gt;C'est sûrement une des sections les plus complète, pour ne pas la détailler, voici ce qui peut être intéressant&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;TIMESHIFT_BUFFER_SIZE = 512
TIMESHIFT_ENCODE_CMD = 'mp1e -m3 -c%s -p%s -r14,100' % (TV_SETTINGS.split()[3], AUDIO_INPUT_DEVICE)
TIMESHIFT_BUFFER = '%s/timeshift.mpeg' % FREEVO_CACHEDIR&lt;/p&gt;


&lt;p&gt;Cela correspond aux paramètres d'enregistrement pour le 'direct décalé'. La taille du buffer influence directement le temps de pause maximal.&lt;/p&gt;


&lt;p&gt;Il est également possible de modifier l'affichage de la date, la description à ce sujet étant très détaillée dans le fichier de configuration.&lt;/p&gt;


&lt;p&gt;TV_RECORDFILE_MASK = '%%m-%%d %%H:%%M %(progname)s - %(title)s'&lt;/p&gt;


&lt;p&gt;Cette option vous permet de définir le format du nom de fichier des enregistrements.&lt;/p&gt;


&lt;h3&gt;TNT&lt;/h3&gt;


&lt;p&gt;La configuration de la TNT se détaille en 2 parties, la première au sein de ce fichier de configuration&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;VIDEO_GROUPS[0].group_type = 'dvb'&lt;/p&gt;


&lt;p&gt;TV_CHANNELS = [('C1.telepoche.com', 'TF1', 'TF1' ),
('C2.telepoche.com', 'France 2', 'France 2' ),
('C3.telepoche.com', 'France 3', 'France 3' ),
('C4.telepoche.com', 'Canal +', 'Canal +' ),
('C7.telepoche.com', 'France 5', 'France 5' ),
('C6.telepoche.com', 'M6', 'M6' ),
('C5.telepoche.com', 'Arte', 'Arte' ),
('C167.telepoche.com', 'Direct 8', 'Direct 8' ),
('C38.telepoche.com', 'W9', 'W9' ),
('C9.telepoche.com', 'TMC', 'TMC' ),
('C168.telepoche.com', 'NT 1', 'NT 1 ' ),
('C169.telepoche.com', 'NRJ 12', 'NRJ 12' ),
('C170.telepoche.com', 'LCP', 'LCP' ),
('C28.telepoche.com', 'France 4', 'France 4' ),
('C122.telepoche.com', 'I&amp;lt;TV', 'I&amp;lt;TV' ),
('C193.telepoche.com', 'Europe 2 TV', 'Europe 2 TV' ) ]&lt;/p&gt;


&lt;p&gt;Le premier champ de chaque entrée doit correspondre au nom donné par xmltv pour pouvoir avoir les programmes (ce qui est le cas ici)&lt;/p&gt;


&lt;p&gt;Reste à préciser à Freevo d'utiliser _tv_grab_fr pour récupérer les programmes&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;XMLTV_GRABBER = 'tv_grab_fr'
XMLTV_DAYS = 1&lt;/p&gt;


&lt;p&gt;Le deuxième paramètre correspondant au nombre de jour de programme à récupérer. Il suffira pour cela de lancer la commande 'freevo tv_grab' une fois xmltv configuré.&lt;/p&gt;


&lt;p&gt;Si votre media center est éteint tous les jours, il peut être intéressant de mettre cette commande au démarrage (on le verra plus tard). Si il reste allumer, le meilleur moyen reste encore de le mettre dans un cron.&lt;/p&gt;


&lt;p&gt;Les lignes de configurations suivantes permettent le fonctionnement de différents daemon de Freevo, tels qu'un serveur de news RSS, un serveur Web pour le contrôle à distance, etc ...
Nous ne l'utiliseront pas ici, et je ne le détaillerait donc pas&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;S'ensuivent à nouveau quelques paramètres de configurations de xmlTV&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;XMLTV_FILE = '/tmp/TV.xml'&lt;/p&gt;


&lt;p&gt;Fichier dans lequel seront stockées les chaînes&lt;/p&gt;


&lt;p&gt;TV_LOGOS = OS_CACHEDIR + '/xmltv/logos'&lt;/p&gt;


&lt;p&gt;Cela permettra de récupérer les logos des chaînes et de les stocker dans ce répertoire (devant exister). Il faudra pour cela faire une fois la commande&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;freevo makelogos&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Et enfin, définition de la locale&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;LOCALE='utf-8'&lt;/p&gt;


&lt;h3&gt;Bar d'état&lt;/h3&gt;

&lt;p&gt;La barre d'état, ou 'Idle bar' se situe en haut de Freevo, et peut contenir un certain nombre d'items, tels que l'état de la TV, du disque, l'heure.
Un exemple de paramétrage est&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;plugin.activate('idlebar')&lt;/p&gt;


&lt;p&gt;plugin.activate('idlebar.tv', level = 20)&lt;/p&gt;


&lt;p&gt;plugin.activate('idlebar.diskfree', level = 30)&lt;/p&gt;


&lt;p&gt;plugin.activate('idlebar.clock', level = 50)&lt;/p&gt;


&lt;p&gt;plugin.activate('idlebar.system.procstats',level=20)&lt;/p&gt;


&lt;p&gt;CLOCK_FORMAT = '%a %d %H:%M'&lt;/p&gt;


&lt;p&gt;DISKFREE_VERY_LOW = 20&lt;/p&gt;


&lt;p&gt;DISKFREE_LOW = 50&lt;/p&gt;


&lt;p&gt;Les DISKFREE* correspondent aux changements de couleurs de la bar de place restante (en GigaOctets).&lt;/p&gt;


&lt;h3&gt;Amazon&lt;/h3&gt;


&lt;p&gt;Le site Amazon.com peut vous permettre de télécharger les pochettes de CD. Il faut pour cela créer un compte à l'adresse http://www.amazon.com/webservices, puis récupérer sa clé de &quot;développeur&quot;.&lt;/p&gt;


&lt;p&gt;Il vous reste ensuite à ajouter ces lignes&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;AMAZON_LOCALE = 'us'
AMAZON_QUERY_ENCODING = 'utf-8'
plugin.activate('audio.coversearch', args=('1234567890AZERTYUIO'))&lt;/p&gt;


&lt;p&gt;Malheureusement, 'fr' ne fait pas parti des locales supportées.&lt;/p&gt;


&lt;h3&gt;Domotique&lt;/h3&gt;


&lt;p&gt;Si vous utilisez du X10, pour, par exemple, contrôler vos prises, un petit plugin vous permettra de le faire à partir de Freevo.&lt;/p&gt;


&lt;p&gt;Si vous n'en avez pas, passez cette partie :)&lt;/p&gt;


&lt;p&gt;Il fait tout simplement appel à un programme externe. J'utilise heyu car il est simple d'utilisation et fonctionne pas trop mal.
il n'est pas dans les dépôts, mais est téléchargeable http://heyu.tanj.com/heyu/http://heyu.tanj.com/heyu/ et se compile tout seul.&lt;/p&gt;


&lt;p&gt;Une fois ce logiciel installé, il vous suffit d'ajouter ceci à la fin de votre fichier de configuration&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;plugin.activate('home_automation')
AUTOMATION_ITEMS = [('Chambre',
&lt;img src=&quot;http://u-classroom.net/post/2007/10/16/&amp;#039;Guirlande&amp;#039;,(&amp;#039;Allumer&amp;#039;,&amp;#039;heyu on A1&amp;#039;,&amp;#039;Éteindre&amp;#039;,&amp;#039;heyu off A1&amp;#039;&quot; alt=&quot;&quot; /&gt;,
('Lampe',('Allumer','heyu on A2','Éteindre','heyu off A2')),
('Parfum',('Allumer','heyu on A3','Éteindre','heyu off A3'))
)]&lt;/p&gt;


&lt;p&gt;La syntaxe de la variable AUTOMATION_ITEMS est&amp;nbsp;: [ ('LIEU',&lt;img src=&quot;http://u-classroom.net/post/2007/10/16/&amp;#039;MODULE&amp;#039;,( &amp;#039;ACTION1&amp;#039;, &amp;#039;COMMANDE1&amp;#039;,&amp;#039;ACTION2&amp;#039;,&amp;#039;COMMANDE2&amp;#039;,&amp;#039;ACTION3&amp;#039;,&amp;#039;COMMANDE3&amp;#039;&quot; alt=&quot;&quot; /&gt;,('MODULE2',( ...))) ] .&lt;/p&gt;


&lt;p&gt;Ici par exemple, j'ai une seule pièce, la chambre, ayant une guirlande, une lampe et un diffuseur de parfum, que je peux allumer ou éteindre, ce qui appellera la commande ' heyu (on|off) Ai' .&lt;/p&gt;


&lt;p&gt;Cela sera représenté sur Freevo par un nouveau menu avec les éléments par pièce.&lt;/p&gt;


&lt;p&gt;Vous pouvez maintenant contrôler vos lumières (et bien plus) via votre télécommande&amp;nbsp;!&lt;/p&gt;


&lt;h3&gt;Paramétrages externes&lt;/h3&gt;


&lt;p&gt;Voilà, votre Freevo commence à être un tantinet fonctionnel, reste maintenant à l'installer bien comme il faut sur votre système&lt;/p&gt;


&lt;h3&gt;Nettoyage&lt;/h3&gt;


&lt;p&gt;Bon, vous n'avez besoin que d'un serveur X, à la poubelle les diverses Windows Manager, Freevo se gère lui même comme tel.
Vous pouvez donc juste garder les xserver-xorg-* et épargner les quelques Mo occupés par vos WM.
Il vous faut également les logiciels utilisés par Freevo, à savoir&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;MPlayer&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;xmlTV&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;Heyu (si vous faites du X10)&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Éventuellement autre chose si vous avez activé d'autres options comme l'encodage de CD audios.&lt;/p&gt;


&lt;p&gt;Pour heyu, récupérez l'archive sur le site (cf url plus haut), décompressez là, puis &lt;code&gt;./Configure&lt;/code&gt; (attention au 'C'), &lt;code&gt;make &amp;amp;&amp;amp; sudo make install&lt;/code&gt; .
Il faut que votre adaptateur soit branché pour le make.&lt;/p&gt;


&lt;h3&gt;XmlTV&lt;/h3&gt;


&lt;p&gt;Reste à configurer xmlTV, pour cela ouvrez un terminal, et dans le homedir de l'utilisateur, effectuez&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;tv_grab_fr -configure&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Qui vous demandera les chaînes à récupérer.&lt;/p&gt;


&lt;p&gt;Freevo peut utiliser lui même xmltv avec les configurations qu'on lui a fourni. Mon MediaCenter étant arrêté tous les jours, j'ai pris le parti de mettre l'update dans le .xinitrc.&lt;/p&gt;


&lt;p&gt;Si vous le laissez allumé plus souvent, il serait plus judicieux de le rajouter dans le crontab.&lt;/p&gt;


&lt;p&gt;Donc éditez le  votreuser/.xinitrc, puis ajoutez y:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;/usr/bin/freevo tv_grab &amp;amp;&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;&lt;code&gt;/usr/bin/freevo&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;N'oubliez pas l'esperluette sur la première ligne, car l'opération prend du temps et vous risquez donc d'attendre au démarrage si vous la mettez pas.&lt;/p&gt;


&lt;h3&gt;Serveur SSH&lt;/h3&gt;


&lt;p&gt;Il pourra être (très) intéressant de pouvoir accéder à notre media center à distance, pour cela&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo apt-get install openssh-server&lt;/code&gt;&lt;/p&gt;


&lt;h3&gt;Montage USB&lt;/h3&gt;


&lt;p&gt;N'ayant pu de daemon Gnome / KDE / smthgelse pour gérer les mounts USB, on va installer et configurer ivman&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;apt-get install ivman&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Puis éditez (en sudo), le fichier /etc/ivman/IvmConfigBase.xml, qui contient les paramètres principaux d'IvMan.&lt;/p&gt;


&lt;p&gt;Nous allons modifier l'utilisateur sous lequel les partitions seront montées&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;&amp;lt;ivm:Option name=&quot;user&quot; value=&quot;VOTREUSER&quot; /&amp;gt;&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Il peut également s'avérer utile de définir directement les mounts directement dans /etc/fstab, rien de bien compliqué, le format de la ligne étant&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;/dev/sdaX /media/mountpoint ext3 user 0 0&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Cependant, l'inconvénient des disques USB est qu'ils ne sont pas forcément toujours reconnus de la même façon, c'est à dire qu'il pourra lors d'un démarrage se trouver en /dev/sdaX, puis lors d'un autre sur /dev/sdbX .&lt;/p&gt;


&lt;p&gt;Pour contourner ce problème, une des méthodes simple est d'utiliser les labels. Sur des disques en ext2/3, le plus simple étant d'utiliser e2label.&lt;/p&gt;


&lt;p&gt;Branchez votre disque dur externe, regardez si il est en /deb/sda, /dev/sdb, ou autre (vous verrez des chiffres correspondant au numéro des partitions.&lt;/p&gt;


&lt;p&gt;Une fois vos partitions identifiées, il vous suffit de faire&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo e2label /dev/sdaX MonLabel&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Et votre partition portera désormais le nom &quot;MonLabel&quot;.&lt;/p&gt;


&lt;p&gt;Il suffit ensuite de modifier la première partie de la ligne du /etc/fstab&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;LABEL=MonLabel /media/mountpoint ext3 user 0 0&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Et voilà votre partition qui se montera quelque soit sa correspondance système.&lt;/p&gt;


&lt;h3&gt;Getty&lt;/h3&gt;


&lt;p&gt;On à presque fini tout notre petit montage (on se réveille au fond de la classe).
Reste un petit détail&amp;nbsp;: Activer l'auto-connexion au compte de l'utilisateur lors du démarrage.&lt;/p&gt;


&lt;p&gt;Pour cela, éditez le fichier /etc/event.d/tty6 .&lt;/p&gt;


&lt;p&gt;Ces fichiers servent à définir le comportement des tty (les textes bizarre sur écran noir :))&lt;/p&gt;


&lt;p&gt;Remplacez la dernière ligne qui doit être&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;exec /sbin/getty 38400 tty6&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Par&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;exec /sbin/mingetty -noclear -autologin tele tty6&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Enregistrez et fermez le fichier, puis un petit&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo apt-get install mingetty&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;PS: On pourrait encore optimiser un peu le système en désactivant certains tty au démarrage et en en gardant pas exemple que 2 tty.&lt;/p&gt;


&lt;p&gt;Si vous désirez le faire, éditez les fichiers /etc/event.d/tty[2345], puis enlevez les lignes commençant par 'start' .&lt;/p&gt;


&lt;h3&gt;Pour finir&lt;/h3&gt;


&lt;p&gt;Bon, bah il me semble que nous avons fait le tour de la configuration.&lt;/p&gt;


&lt;p&gt;Un dernier petit détail pourrait être d'alléger les services au démarrage. Pour cela je conseille l'utilisation de sysv-rc-conf&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;sudo apt-get install sysv-rc-conf &amp;amp;&amp;amp; sudo sysv-rc-conf&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Il ne vous reste plus qu'à décocher les programmes ne devant pas être lancés au démarrage.&lt;/p&gt;


&lt;p&gt;Attention ... Reboot final, vérifiez que vous avez bien tout enregistré, puis redémarrez.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Python Classroom - 2ème épisode</title>
    <link>http://u-classroom.net/post/2007/10/20/Python-Classroom-2eme-episode</link>
    <guid isPermaLink="false">urn:md5:4d3b1ce4b63d77807506075f324fe6b6</guid>
    <pubDate>Sat, 20 Oct 2007 10:25:00 +0200</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>Planet</category><category>python</category>    
    <description>    &lt;p&gt;Les 2 heures sont vites passées lors de la dernière session sur Python... et beaucoup de questions sont restées en suspens.&lt;/p&gt;

&lt;p&gt;La prochaine session classroom sur Python sera en partie consacrée à répondre aux interrogations levées lors de la précédente session, en entrant un peu plus dans le détail sur les sujets déjà abordés. On verra aussi quelques nouveautés bien sûr !&lt;/p&gt;

&lt;p&gt;Ca se passera sur le canal irc &lt;em&gt;#ubuntu-fr-classroom&lt;/em&gt; du réseau freenode, &lt;b&gt;mardi 23 octobre&lt;/b&gt; à &lt;b&gt;20H&lt;/b&gt; heure française (métroplitaine, 18H00 UTC).&lt;/p&gt;

&lt;p&gt;Le résumé de la première session &lt;a href=&quot;http://doc.ubuntu-fr.org/projets/ecole/python/1&quot;&gt;est en ligne&lt;/a&gt;. N'hésitez pas à embarquer vos questions avec vous mardi, ou à passer sur le chan d'ici là !&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Sessions Python</title>
    <link>http://u-classroom.net/post/2007/10/11/Sessions-Python</link>
    <guid isPermaLink="false">urn:md5:a5a0686fd56802798e99b5e5ad20a463</guid>
    <pubDate>Thu, 11 Oct 2007 21:55:00 +0200</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>classroom</category><category>Planet</category><category>python</category>    
    <description>    &lt;p&gt;Une nouvelle session de la classroom est prévue ce &lt;b&gt;mardi 16 octobre 2007&lt;/b&gt; à &lt;b&gt;20h&lt;/b&gt; (heure parisienne).&lt;/p&gt;

&lt;p&gt;On y abordera le langage &lt;a href=&quot;http://python.org&quot;&gt;python&lt;/a&gt; (les débutants en programmation sont les bienvenus), et d'autres sessions viendront compléter ce premier cours par la suite.&lt;/p&gt;

&lt;p&gt;A mardi !&lt;/p&gt;

&lt;p&gt;Edit : ça se passe sur le canal &lt;em&gt;#ubuntu-fr-classroom&lt;/em&gt; sur le réseau irc freenode (merci à KiKouN pour le rappel ;) )&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Session Apache/HTTP</title>
    <link>http://u-classroom.net/post/2007/09/26/Session-Apache/HTTP</link>
    <guid isPermaLink="false">urn:md5:d8ea1ccd943f966ba84d25480602339b</guid>
    <pubDate>Wed, 26 Sep 2007 14:28:00 +0200</pubDate>
    <dc:creator>Skateinmars</dc:creator>
        <category>apache</category><category>classroom</category><category>debian</category><category>Planet</category><category>Ubuntu</category>    
    <description>    Certains se croient encore en vacances et remettent sans cesse leurs projets au lendemain, mais il faut bien se mettre au travail à un moment donné.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Voila donc pour vous une session HTTP/Apache. Bien que l'on parlera du célèbre serveur web, son installation et sa configuration basique l'accent sera mis sur le principe des serveurs webs en général, d'ou une partie importante sur HTTP.&lt;/p&gt;
&lt;p&gt;Rendez-vous le &lt;strong&gt;mardi 2 octobre&lt;/strong&gt; à &lt;strong&gt;20h30&lt;/strong&gt; heure de Paris (UTC+0200), comme toujours sur le channel irc #ubuntu-fr-classroom (serveur irc.freenode.net).&lt;/p&gt;
&lt;br /&gt;Prérequis pour ce cours qui s'annonce passionnant (sisi) :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Un système ubuntu (ou debian)&lt;/li&gt;
&lt;li&gt;Avoir déjà utilisé la ligne de commande (se déplacer dans un répertoire, obtenir les droits root)&lt;/li&gt;
&lt;/ul&gt;
L'installation sera vue durant le cours mais les utilisateurs en 56k peuvent dès à présent télécharger les paquets suivants : apache2 apache2-mpm-prefork libapache2-mod-php5.&lt;br /&gt;&lt;br /&gt;A bientôt !&lt;br /&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Non, ce n'est pas la rentrée !</title>
    <link>http://u-classroom.net/post/2007/09/09/Non-ce-nest-pas-la-rentree</link>
    <guid isPermaLink="false">urn:md5:79b6862189688d0f8a098fdf1b38d1a4</guid>
    <pubDate>Sun, 09 Sep 2007 13:59:00 +0200</pubDate>
    <dc:creator>gapz</dc:creator>
        <category>classroom</category><category>Planet</category><category>réseau</category>    
    <description>    Bonjour à toutes et à tous, &lt;br /&gt;comme vous l'aurez sûrement remarqué cela fait un petit peu de temps que la classroom est au repos (ceci n'ayant bien sûr aucun rapport avec les vacances). &lt;br /&gt;&lt;br /&gt;Malgré tout, dans un élan de motivation collectif, quelques uns (FiFouille et moi même, pour ne citer qu'eux) on décidé de vous proposer une présentation de la cryptographie et de l'outil GnuPG. Seulement voila, il faut trouver le temps de faire ça entre les moments de travail (glande ?) et du fait de notre organisation pointue, cette session aura lieu dans le courant de la semaine 38. Nous vous tiendrons au courant de la date précise.&lt;br /&gt;&lt;br /&gt;Je n'allais bien sûr pas faire un billet pour vous expliquer qu'une session allait avoir lieu dans deux semaines bien sûr, mais pour vous annoncer que mardi 11 septembre, à partir de 20 heures (heure de Paris) allait avoir lieu une petite session sur l'introduction au fonctionnement des réseaux locaux.&lt;br /&gt;Pourquoi une petite session allez vous me demander ? En fait, petite n'est pas le mot approprié, mais le concept de cette session ne va pas être de faire une présentation théorique et complète sur les LANs (Local Area Network). Mais plutôt de vous présenter quelques concepts simples, démystifier un peu le fonctionnement, et vous amener ainsi à vous poser des questions et à suivre un raisonnement logique.&lt;br /&gt;Cette session se déroulera en deux parties: la première permettra de vous présenter quelques concepts, et la deuxième donc, de répondre à vos innombrables questions.&lt;br /&gt;&lt;br /&gt;A mardi !&lt;br /&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Le point sur les PPAs</title>
    <link>http://u-classroom.net/post/2007/09/07/Le-point-sur-les-PPAs</link>
    <guid isPermaLink="false">urn:md5:69916988bbb65c86d4d24a616d0d2fab</guid>
    <pubDate>Fri, 07 Sep 2007 19:35:00 +0200</pubDate>
    <dc:creator>Skateinmars</dc:creator>
        <category>coolaboratif</category><category>debian</category><category>launchpad</category><category>mentors</category><category>pidgin</category><category>Planet</category><category>ppa</category><category>revu</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Depuis peu, on a &lt;a hreflang=&quot;fr&quot; href=&quot;http://www.kagou.fr/blog/index.php?post/2007/09/05/PPA&quot;&gt;vu apparaître&lt;/a&gt; une nouvelle fonctionnalité sur Launchpad : les Personal Package Archives, ou PPAs.&lt;br /&gt;Cet
outil permet aux packageurs de tous horizons et tous niveaux de
construire et héberger leurs propres paquets en profitant de la
structure déjà mise en place par Canonical pour les dépôts officiels.&lt;br /&gt;&lt;br /&gt;L'annonce
de la mise à disposition des PPAs par l'équipe de développement de
Launchpad a été accueillie de façon très enthousiaste par bon nombre de
packageurs.&lt;br /&gt;Les PPAs ont en effet un avantage indéniable pour le
développement et l'assurance qualité des paquets, en permettant par
exemple de tester ces derniers avant leur envoi dans les dépôts
officiels Ubuntu.&lt;br /&gt;Les équipes ont également la possibilité de créer
leur propre PPA, facilitant le travail collaboratif, puisque les
membres d'une même équipe (telle que Medibuntu ou MOTUMedia) ont la
possibilité d'utiliser un PPA commun pour travailler sur leurs paquets.&lt;br /&gt;&lt;br /&gt;Mais au-delà de tous ces intéressants aspects (pour le développeur), réside une source de problèmes pour l'utilisateur.&lt;br /&gt;Une dérive possible de l'utilisation des PPAs est le &lt;em&gt;phénomène Pidgin&lt;/em&gt;. &lt;br /&gt;En
effet, lors du renommage de Gaim vers Pidgin, on a vu fleurir de
nombreux paquets non-officiels... chacun se mettant à recréer depuis
zéro son petit paquet personnel de plus ou moins bonne qualité (plutôt
moins que plus d'ailleurs).&lt;br /&gt;Il est aisé de prédire que ceci va
s'étendre aux PPAs. D'ici quelques semaines, on disposera probablement
d'une bonne demi-douzaine de PPAs proposant le même programme pour une
même version d'Ubuntu (par exemple, pidgin pour Ubuntu 6.06). Comment
s'assurer de la qualité des paquets, comment gérer les conflits qui
naîtront entre les différents PPAs ? Le problème, qui a déjà été évoqué
a plusieurs reprises concernant les dépôts tiers, pourrait donc prendre
une dimension bien plus importante cette fois.&lt;br /&gt;&lt;br /&gt;Il faut savoir
que les PPAs sont également utilisés par les développeurs Ubuntu, et
donc que la construction de 12 paquets Pidgin engendre une attente non
négligeable pour ces packageurs.&lt;br /&gt;&lt;br /&gt;L'argument récurrent concernant
la légitimité de dépôts tiers est la mise à disposition de versions
plus récentes de logiciels. C'est un argument fallacieux. Les versions
stables d'Ubuntu le sont en grande partie grâce au gel des versions des
logiciels. Importer une nouvelle version c'est ajouter un gros risque
de bugs, de régressions ou de problèmes de dépendances, en particulier
lors de mises à jours de bibliothèques ou de logiciels système (une
mise à jour de dbus peut apporter beaucoup plus de soucis que de
nouveautés). C'est d'ailleurs pour cette raison que les mises à jour
pour les versions stables d'Ubuntu sont aussi limitées que possible (et
n'apportent *jamais* de nouvelles versions de logiciels).&lt;br /&gt;&lt;br /&gt;Un
autre argument très souvent avancé est la mise à disposition de paquets
n'existant pas dans Ubuntu (ou dans Debian). Il existe déjà des
structures telles que &lt;a hreflang=&quot;en&quot; href=&quot;http://mentors.debian.net/&quot;&gt;http://mentors.debian.net/&lt;/a&gt; ou encore &lt;a hreflang=&quot;en&quot; href=&quot;http://revu.tauware.de/&quot;&gt;http://revu.tauware.de/&lt;/a&gt; qui permettent de proposer des paquets à l'inclusion dans les dépôts officiels Debian et Ubuntu.&lt;br /&gt;De
plus, si vous avez besoin d'aide, &amp;lt;pub&amp;gt;le chan
#ubuntu-fr-classroom@irc.freenode.net est toujours peuplé de
MOTU/core-dev/aspirants Développeurs Debian prêts à vous accueillir
avec le sourire, dans la joie et la bonne humeur&amp;lt;/pub&amp;gt;.&lt;br /&gt;&lt;br /&gt;Conclusion:
utilisez les PPA avec précaution (néanmoins si vous désirez réellement
casser votre système, vous pouvez également utiliser &lt;a hreflang=&quot;en&quot; href=&quot;http://mjg59.livejournal.com/77440.html&quot;&gt;Automatix2&lt;/a&gt;, efficacité garantie)&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(Ce billet est fièrement propulsé par &lt;/em&gt;&lt;a style=&quot;font-style: italic;&quot; hreflang=&quot;en&quot; href=&quot;http://gobby.0x539.de/trac/&quot;&gt;Gobby&lt;/a&gt;&lt;em&gt; !)&lt;/em&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>LANG=C</title>
    <link>http://u-classroom.net/post/2007/08/17/LANGC</link>
    <guid isPermaLink="false">urn:md5:e24036128255100f89240341afbdf63a</guid>
    <pubDate>Fri, 17 Aug 2007 06:28:00 +0200</pubDate>
    <dc:creator>gpocentek</dc:creator>
        <category>scripting</category><category>shell</category>    
    <description>    &lt;p&gt;Si un jour vous avez à écrire un script qui parse la sortie std{in,err} d'un programme, pensez à le lancer dans une langue donnée en mettant à jour la variable d'environnement &lt;em&gt;LANG&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Ca peut vous éviter une prise de tête pas possible pour comprendre pourquoi le script a décidé de ne plus fonctionner du jour au lendemain (oui oui, c'est du vécu).&lt;/p&gt;

&lt;p&gt;Exemple&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
gauvain@joe:~# parted --script /dev/sda print | grep &quot;^Disk&quot; | awk '{print $3}' | sed 's/GB//'
160
gauvain@joe:~# LANG=fr_FR.UTF8 parted --script /dev/sda print | grep &quot;^Disk&quot; | awk '{print $3}' | sed 's/GB//'
gauvain@joe:~# 
&lt;/pre&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Prochaine session classroom: Initiation au packaging Debian/Ubuntu</title>
    <link>http://u-classroom.net/post/2007/07/08/Prochaine-session-classroom%3A-Initiation-au-packaging-Debian/Ubuntu</link>
    <guid isPermaLink="false">urn:md5:ab6c816869098fbd995fa49f559c98f4</guid>
    <pubDate>Sun, 08 Jul 2007 20:19:00 +0200</pubDate>
    <dc:creator>Arthur Loiret</dc:creator>
        <category>classroom</category><category>debian</category><category>packaging</category><category>Planet</category><category>Ubuntu</category>    
    <description>    &lt;p&gt;Une de vos application préférée pas encore packagée&amp;nbsp;? Vous souhaiteriez vous en charger vous-même, ou tout simplement apprendre à packager des softs pour Debian/Ubuntu&amp;nbsp;? Dans ce cas ce cours est fait pour vous, rendez-vous le vendredi 13 Juillet à 18H UTC (20H à Paris) sur le canal &lt;em&gt;#ubuntu-fr-classroom&lt;/em&gt; du réseau freenode (irc.freenode.net).&lt;/p&gt;


&lt;p&gt;Nous verrons dans un premier temps de quoi est constitué un package Debian, puis comment en créer un manière (pas puis plus) propre, et enfin comment faire pour que son paquet soit inclus dans les Dépôts officiels de notre distribution préférée :-)&lt;/p&gt;



&lt;p&gt;Prérequis pour le cours:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoir installé pastbinit (sudo aptitude install pastebinit)&lt;/li&gt;
&lt;li&gt;Avoir installé debhelper cdbs linda build-essential fakeroot devscripts pbuilder dh-make debootstrap (sudo aptitde install...)&lt;/li&gt;
&lt;li&gt;Avoir installée la version suivante de lintian: &lt;a href=&quot;http://people.dunnewind.net/arthur/lintian_1.23.32ubuntu1_all.deb&quot; title=&quot;http://people.dunnewind.net/arthur/lintian_1.23.32ubuntu1_all.deb&quot;&gt;http://people.dunnewind.net/arthur/...&lt;/a&gt; (wget puis dpkg -i, ou gdebi...)&lt;/li&gt;
&lt;li&gt;Si possible avoir déjà &lt;a href=&quot;http://doc.ubuntu-fr.org/projets/paquets/compiler_un_programme&quot; hreflang=&quot;fr&quot;&gt;Compilé un programme&lt;/a&gt; et éventuellement savoir ce qu'est un Makefile&lt;/li&gt;
&lt;li&gt;Avoir déjà utilisé la ligne de commande&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rassurez vous si ces deux dernières notions ne vous sont pas encore familières, elle seront brièvement expliquées pendant le cours ;-)&lt;/p&gt;


&lt;p&gt;Note: ce cours est aussi valable pour Debian que Ubuntu, donc utilisateurs Debian, venez nombreux&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;A vendredi&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>