MFEn:
book.sgml 1.133 --> 1.137 basics/chapter.sgml 1.97 --> 1.109
This commit is contained in:
parent
7eb746701d
commit
7d9556503e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=17947
2 changed files with 367 additions and 17 deletions
|
@ -3,7 +3,7 @@
|
|||
The FreeBSD French Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
Original revision: 1.97
|
||||
Original revision: 1.109
|
||||
-->
|
||||
|
||||
<chapter id="basics">
|
||||
|
@ -18,7 +18,7 @@
|
|||
<!-- 10 Mar 2000 -->
|
||||
</chapterinfo>
|
||||
|
||||
<title>Quelques bases d'Unix</title>
|
||||
<title>Quelques bases d'UNIX</title>
|
||||
&trans.a.fonvieille;
|
||||
|
||||
<sect1 id="basics-synopsis">
|
||||
|
@ -29,7 +29,7 @@
|
|||
<para>Le chapitre suivant couvrira les commandes et fonctionnalités
|
||||
de base du système d'exploitation FreeBSD. La plupart de ces
|
||||
informations sera valable pour n'importe quel système
|
||||
d'exploitation Unix. Soyez libre de passer ce chapitre si vous
|
||||
d'exploitation &unix;. Soyez libre de passer ce chapitre si vous
|
||||
êtes familier avec ces informations. Si vous êtes nouveau
|
||||
à
|
||||
FreeBSD, alors vous voudrez certainement lire attentivement ce
|
||||
|
@ -39,7 +39,7 @@
|
|||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Comment les permissions de fichier d'Unix
|
||||
<para>Comment les permissions de fichier d'&unix;
|
||||
fonctionnent.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -62,10 +62,10 @@
|
|||
|
||||
<sect1 id="permissions">
|
||||
<title>Permissions</title>
|
||||
<indexterm><primary>Unix</primary></indexterm>
|
||||
<indexterm><primary>UNIX</primary></indexterm>
|
||||
|
||||
<para>FreeBSD, étant un descendant direct de l'Unix BSD, est
|
||||
basé sur plusieurs concepts clés d'Unix. Le premier,
|
||||
<para>FreeBSD, étant un descendant direct de l'&unix; BSD, est
|
||||
basé sur plusieurs concepts clés d'&unix;. Le premier,
|
||||
et le plus prononcé, est le fait que FreeBSD est un
|
||||
système d'exploitation multi-utilisateurs. Le système
|
||||
peut gérer plusieurs utilisateurs travaillant tous
|
||||
|
@ -228,6 +228,140 @@
|
|||
vous désirez plus d'information sur les permissions de fichier et
|
||||
comment les positionner, soyez sûr de consulter la page de manuel
|
||||
&man.chmod.1;.</para>
|
||||
|
||||
<sect2>
|
||||
<sect2info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
<contrib>Contribution de </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect2info>
|
||||
|
||||
<title>Permissions symboliques</title>
|
||||
<indexterm><primary>Permissions</primary><secondary>symboliques</secondary></indexterm>
|
||||
|
||||
<para>Les permissions symboliques, parfois désignées
|
||||
sous le nom d'expressions symboliques, utilisent des
|
||||
caractères à la place de valeur en octal pour
|
||||
assigner les permissions aux fichiers et répertoires.
|
||||
Les expressions symboliques emploient la syntaxe: (qui)
|
||||
(action) (permissions), avec les valeurs possibles
|
||||
suivantes:</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Option</entry>
|
||||
<entry>Lettre</entry>
|
||||
<entry>Représente</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>(qui)</entry>
|
||||
<entry>u</entry>
|
||||
<entry>Utilisateur</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(qui)</entry>
|
||||
<entry>g</entry>
|
||||
<entry>Groupe</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(qui)</entry>
|
||||
<entry>o</entry>
|
||||
<entry>Autre</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(qui)</entry>
|
||||
<entry>a</entry>
|
||||
<entry>Tous (<quote>le monde entier</quote>)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(action)</entry>
|
||||
<entry>+</entry>
|
||||
<entry>Ajouter des permissions</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(action)</entry>
|
||||
<entry>-</entry>
|
||||
<entry>Retirer des permissions</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(action)</entry>
|
||||
<entry>=</entry>
|
||||
<entry>Fixe les permissions de façon explicite</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(permissions)</entry>
|
||||
<entry>r</entry>
|
||||
<entry>Lecture</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(permissions)</entry>
|
||||
<entry>w</entry>
|
||||
<entry>Ecriture</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(permissions)</entry>
|
||||
<entry>x</entry>
|
||||
<entry>Exécution</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(permissions)</entry>
|
||||
<entry>t</entry>
|
||||
<entry>bit collant (sticky)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>(permissions)</entry>
|
||||
<entry>s</entry>
|
||||
<entry>Exécuter avec l'ID utilisateur (UID) ou groupe (GID)</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Ces valeurs sont utilisées avec la commande
|
||||
&man.chmod.1; comme précédemment mais avec
|
||||
des lettres. Par exemple, vous pourriez utiliser la commande
|
||||
suivante pour refuser l'accès au fichier
|
||||
<replaceable>FICHIER</replaceable> à d'autres
|
||||
utilisateurs:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>chmod go= FICHIER</userinput></screen>
|
||||
|
||||
<para>Une liste séparé par des virgules peut être
|
||||
fournie quand plus d'un changement doit être effectué
|
||||
sur un fichier. Par exemple la commande suivante retirera
|
||||
les permissions d'écriture aux groupes et au “reste du
|
||||
monde” sur le fichier <replaceable>FICHIER</replaceable>,
|
||||
puis ajoutera la permission d'exécution pour tout le
|
||||
monde:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>FICHIER</replaceable></userinput></screen>
|
||||
|
||||
<para>La plupart des utilisateurs ne relèveront pas ceci,
|
||||
mais il doit être précisé que la
|
||||
méthode avec les nombres en octal ne fera que fixer ou
|
||||
assigner des permissions à un fichier; elle n'en ajoutera
|
||||
ou n'en supprimera pas.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="dirstructure">
|
||||
|
@ -974,7 +1108,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
représente l'espace mémoire dont a eu besoin l'application,
|
||||
et la quantité résidente représente
|
||||
l'espace qui est en fait utilisé actuellement. Dans cet exemple
|
||||
vous pouvez voir que <application>Netscape</application> a
|
||||
vous pouvez voir que <application>&netscape;</application> a
|
||||
exigé presque 30 MO de RAM, mais
|
||||
utilise actuellement seulement 9MO.</para>
|
||||
|
||||
|
@ -1152,7 +1286,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
<prompt>Password:</prompt>
|
||||
&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen>
|
||||
|
||||
<para>Comme la plupart des commandes Unix, &man.kill.1; n'affichera
|
||||
<para>Comme la plupart des commandes &unix;, &man.kill.1; n'affichera
|
||||
rien si la commande est couronnée de succès. Si vous
|
||||
envoyez un signal à un processus dont vous n'êtes pas le
|
||||
propriétaire alors vous verrez <errorname>kill:
|
||||
|
@ -1230,7 +1364,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
sentir plus à l'aise avec un interpréteur de commandes
|
||||
proche du C
|
||||
comme <command>tcsh</command>. Si vous venez du monde Linux ou que
|
||||
vous êtes nouveau à l'interface en ligne de commande d'Unix
|
||||
vous êtes nouveau à l'interface en ligne de commande d'&unix;
|
||||
vous pourriez essayer <command>bash</command>. L'idée principale
|
||||
est que chaque interpréteur de commandes à des
|
||||
caractéristiques uniques qui peuvent ou ne peuvent pas
|
||||
|
@ -1478,8 +1612,8 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
est un éditeur appelé <application>ee</application>,
|
||||
qui signifie l'éditeur facile (easy editor). Pour lancer
|
||||
<application>ee</application>, on taperait sur la ligne de
|
||||
commande <command>ee fichier</command> où
|
||||
<literal>fichier</literal> est le nom du fichier qui doit être
|
||||
commande <command>ee <replaceable>fichier</replaceable></command> où
|
||||
<replaceable>fichier</replaceable> est le nom du fichier qui doit être
|
||||
édité. Par exemple, pour éditer
|
||||
<filename>/etc/rc.conf</filename>, tapez <command>ee
|
||||
/etc/rc.conf</command>. Une fois sous <command>ee</command>, toutes
|
||||
|
@ -1545,7 +1679,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
|
|||
représente le clavier.</para>
|
||||
|
||||
<para>La plupart de ces périphériques sous un système
|
||||
d'exploitation Unix peuvent être accédés par
|
||||
d'exploitation &unix; peuvent être accédés par
|
||||
l'intermédiaire de fichiers appelés fichiers
|
||||
spéciaux de périphérique
|
||||
(“device node”), qui sont situés dans le
|
||||
|
@ -1857,6 +1991,193 @@ console none unknown off secure</programlisting>
|
|||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="binary-formats">
|
||||
<title>Le format des fichiers binaires</title>
|
||||
|
||||
<para>Afin de comprendre pourquoi &os; utilise le format
|
||||
<acronym>ELF</acronym>, vous devez d'abord connaître
|
||||
quelques détails concernant les 3 formats
|
||||
“dominants” d'exécutables actuellement en vigueur
|
||||
sous &unix;:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>&man.a.out.5;</para>
|
||||
|
||||
<para>Le plus vieux et le format objet “classique”
|
||||
d'&unix;. Il utilise une entête courte et compacte
|
||||
avec un nombre magique au début qui est souvent
|
||||
utilisé pour caractériser le format (voir la
|
||||
page de manuel &man.a.out.5; pour plus de détails).
|
||||
Il contient trois segments chargés: .text, .data,
|
||||
et .bss plus une table de symboles et une table de
|
||||
chaînes de caractères.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><acronym>COFF</acronym></para>
|
||||
|
||||
<para>Le format objet SVR3. L'entête comprend une
|
||||
table de section, de telle sorte que vous avez plus de
|
||||
sections qu'uniquement .text, .data et .bss.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><acronym>ELF</acronym></para>
|
||||
|
||||
<para>Le successeur de <acronym>COFF</acronym>, qui
|
||||
permet des sections multiples et des valeurs possibles de 32
|
||||
bits et 64 bits. Un inconvénient majeur:
|
||||
<acronym>ELF</acronym> a aussi été conçu
|
||||
en supposant qu'il y aurait qu'un seul ABI par architecture
|
||||
système. Cette hypothèse est en fait assez
|
||||
incorrecte, et même dans le monde SYSV (qui a
|
||||
au moins trois ABIs: SVR4, Solaris, SCO) cela ne se
|
||||
vérifie pas.</para>
|
||||
|
||||
<para>&os; essaye de contourner ce problème en
|
||||
fournissant un utilitaire pour <emphasis>marquer</emphasis>
|
||||
un exécutable connu <acronym>ELF</acronym> avec
|
||||
des informations sur l'ABI qui va avec. Consultez la page
|
||||
de manuel de &man.brandelf.1; pour plus
|
||||
d'informations.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>&os; vient du camp “classique” et a
|
||||
utilisé le format &man.a.out.5;, une technologie
|
||||
employée et éprouvée à travers des
|
||||
générations de BSDs, jusqu'aux débuts de la
|
||||
branche 3.X. Bien qu'il fut possible de compiler et
|
||||
d'exécuter des binaires natifs <acronym>ELF</acronym> (et
|
||||
noyaux) sous &os; avant cela, &os; a initiallement
|
||||
résisté à la “pression” de passer
|
||||
à <acronym>ELF</acronym> comme format par défaut.
|
||||
Pourquoi? Bien, quand le camp Linux ont fait leur
|
||||
pénible transition vers <acronym>ELF</acronym>, ce n'est pas
|
||||
tant fuir le format <filename>a.out</filename> qui rendait
|
||||
difficile la construction de bibliothèques partagée
|
||||
pour les développeurs mais le mécanisme de
|
||||
bibliothèques partagées basé sur des tables de
|
||||
sauts inflexible. Puisque les outils <acronym>ELF</acronym>
|
||||
disponibles offraient une solution au problème
|
||||
des bibliothèques partagées et étaient
|
||||
perçus comme “le chemin à suivre” de toute
|
||||
façon, le coût de la migration a été
|
||||
accepté comme nécessaire, et la transition a
|
||||
été réalisée. Le mécanisme &os;
|
||||
de bibliothèques partagées se rapproche plus
|
||||
du style de mécanisme de bibliothèques
|
||||
partagées de &sunos; de Sun, et est très simple
|
||||
à utiliser.</para>
|
||||
|
||||
<para>Pourquoi existe-t-il tant de formats différents?</para>
|
||||
|
||||
<para>Dans un obscure et lointain passé, il y avait du
|
||||
matériel simple. Ce matériel simple supportait
|
||||
un simple petit système. <filename>a.out</filename>
|
||||
était complètement adapté pour
|
||||
réprésenter les binaires sur ce système simple
|
||||
(un PDP-11). Au fur et à mesure que des personnes
|
||||
portaient &unix; à partir de ce système
|
||||
simple, ils ont maintenus le format <filename>a.out</filename>
|
||||
parce qu'il était suffisant pour les premiers portages
|
||||
d'&unix; sur des architectures comme le Motorola 68k, les VAX,
|
||||
etc.</para>
|
||||
|
||||
<para>Alors un certain ingénieur matériel brillant
|
||||
a décidé qu'il pourrait forcer le matériel
|
||||
à faire des choses bizarre, l'autorisant ainsi à
|
||||
réduire le nombre de portes logiques et permettant
|
||||
au coeur du CPU de fonctionner plus rapidement.
|
||||
Bien qu'on l'a fait fonctionner avec ce nouveau
|
||||
type de matériel (connu de nos jour sous le nom de
|
||||
RISC), <filename>a.out</filename> n'était pas adapté
|
||||
à ce matériel, aussi beaucoup de formats ont
|
||||
été développés
|
||||
pour obtenir de meilleures performances de ce matériel
|
||||
que ce que pouvait offrir le simple et limité format
|
||||
qu'était <filename>a.out</filename>. Des
|
||||
choses comme <acronym>COFF</acronym>, <acronym>ECOFF</acronym>,
|
||||
et quelques autres obscures formats ont été
|
||||
inventé et leur limites explorées avant que les choses
|
||||
ne se fixent sur <acronym>ELF</acronym>.</para>
|
||||
|
||||
<para>En outre, les tailles des programmes devenaient
|
||||
énormes alors que les disques (et la mémoire
|
||||
physique) étaient toujours relativment
|
||||
petits, aussi le concept de bibliothèque partagée
|
||||
est né. Le système de VM (mémoire virtuelle)
|
||||
est également devenu plus sophistiqué.
|
||||
Tandis que chacune de ces avancées était
|
||||
faites en utilisant le format <filename>a.out</filename>,
|
||||
son utilité a été élargie
|
||||
de plus en plus avec chaque nouvelle fonction. De plus les
|
||||
gens ont voulu charger dynamiquement des choses à
|
||||
l'exécution, ou se débarasser de partie de
|
||||
leur programme après l'initialisation pour économiser
|
||||
de l'espace mémoire et de pagination. Les langages
|
||||
sont devenus plus sophistiqués et les gens ont voulu
|
||||
du code appelé automatiquement avant la partie
|
||||
principale du programme. Beaucoup de modifications ont
|
||||
été apportées au format <filename>a.out</filename>
|
||||
pour rendre possible toutes ces choses, et cela a
|
||||
fonctionné pendant un certain temps. Avec le temps,
|
||||
<filename>a.out</filename> n'était plus capable de
|
||||
gérer tous ces problèmes sans une augmentation
|
||||
toujours croissante du code et de sa complexité.
|
||||
Tandis <acronym>ELF</acronym> résolvait plusieurs de
|
||||
ces problèmes, il aurait été pénible
|
||||
de quitter un système qui a fonctionné.
|
||||
Ainsi <acronym>ELF</acronym> a dû attendre jusqu'au moment
|
||||
où il était plus pénible de rester avec
|
||||
<filename>a.out</filename> que d'émigrer vers
|
||||
<acronym>ELF</acronym>.</para>
|
||||
|
||||
<para>Cependant, avec le temps, les outils de compilation
|
||||
desquels ceux de &os; sont dérivés (l'assembleur
|
||||
et le chargeur tout spécialement) ont
|
||||
évolué en parallèle.
|
||||
Les développeurs &os; ajoutèrent les
|
||||
bibliothèques partagées et corrigèrent
|
||||
quelques bogues. Les gens de chez GNU qui ont à
|
||||
l'origine écrit ces programmes, les récrivèrent
|
||||
et ajoutèrent un support plus simple pour la compilation
|
||||
multi-plateformes, avec différents formats
|
||||
à volonté, etc. Lorsque beaucoup de personnes
|
||||
ont voulu élaborer des compilateurs multi-plateformes
|
||||
pour &os;, elles n'eurent pas beaucoup de chance puisque
|
||||
les anciennes sources que &os; avait pour
|
||||
<application>as</application> et <application>ld</application>
|
||||
n'étaient pas adaptées à cette tâche.
|
||||
Le nouvel ensemble d'outils de GNU
|
||||
(<application>binutils</application>) supporte la compilation
|
||||
multi-plateformes, <acronym>ELF</acronym>, les
|
||||
bibliothèques partagées, les extensions C++, etc.
|
||||
De plus, de nombreux vendeurs de logiciels fournissent des
|
||||
binaires <acronym>ELF</acronym>, et c'est une bonne chose pour
|
||||
permettre leur exécution sous &os;.</para>
|
||||
|
||||
<para><acronym>ELF</acronym> est plus expressif
|
||||
qu'<filename>a.out</filename> et permet plus d'extensibilité
|
||||
dans le système de base.
|
||||
Les outils <acronym>ELF</acronym> sont mieux maintenus, et
|
||||
offrent un support pour la compilation multi-plateformes, ce qui
|
||||
est important pour de nombreuses personnes.
|
||||
<acronym>ELF</acronym> peut être légèrement plus lent
|
||||
qu'<filename>a.out</filename>, mais tenter de mesurer cette
|
||||
différence n'est pas aisé. Il y a
|
||||
également de nombreux détails qui
|
||||
diffèrent entre les deux dans la façon dont
|
||||
ils mappent les pages mémoire, gère le code
|
||||
d'initialisation, etc.
|
||||
Dans le futur, le support <filename>a.out</filename> sera
|
||||
retiré du noyau <filename>GENERIC</filename>, et
|
||||
par la suite retiré des sources du noyau une fois que le
|
||||
besoin d'exécuter d'anciens programmes
|
||||
<filename>a.out</filename> aura disparu.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="basics-more-information">
|
||||
<title>Pour plus d'information</title>
|
||||
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
The FreeBSD French Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
$Id: book.sgml,v 1.14 2003-07-07 14:58:09 blackend Exp $
|
||||
Original revision: 1.133
|
||||
Original revision: 1.137
|
||||
-->
|
||||
|
||||
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
|
||||
|
@ -28,6 +27,8 @@
|
|||
%bookinfo;
|
||||
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
|
||||
%freebsd;
|
||||
<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
|
||||
%trademarks;
|
||||
|
||||
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
|
||||
<!ENTITY % txtfiles SYSTEM "../../../en_US.ISO8859-1/books/handbook/txtfiles.ent"> %txtfiles;
|
||||
|
@ -89,6 +90,34 @@
|
|||
|
||||
&bookinfo.legalnotice;
|
||||
|
||||
<legalnotice id="trademarks" role="trademarks">
|
||||
&tm-attrib.freebsd;
|
||||
&tm-attrib.3com;
|
||||
&tm-attrib.adobe;
|
||||
&tm-attrib.apple;
|
||||
&tm-attrib.corel;
|
||||
&tm-attrib.creative;
|
||||
&tm-attrib.ibm;
|
||||
&tm-attrib.ieee;
|
||||
&tm-attrib.intel;
|
||||
&tm-attrib.intuit;
|
||||
&tm-attrib.linux;
|
||||
&tm-attrib.macromedia;
|
||||
&tm-attrib.microsoft;
|
||||
&tm-attrib.netscape;
|
||||
&tm-attrib.opengroup;
|
||||
&tm-attrib.oracle;
|
||||
&tm-attrib.powerquest;
|
||||
&tm-attrib.realnetworks;
|
||||
&tm-attrib.redhat;
|
||||
&tm-attrib.sap;
|
||||
&tm-attrib.sun;
|
||||
&tm-attrib.symantec;
|
||||
&tm-attrib.waterloomaple;
|
||||
&tm-attrib.wolframresearch;
|
||||
&tm-attrib.general;
|
||||
</legalnotice>
|
||||
|
||||
<abstract>
|
||||
<para>Bienvenue à FreeBSD! Ce manuel décrit l'installation
|
||||
et l'utilisation quotidienne de la <emphasis>Version
|
||||
|
@ -149,7 +178,7 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Vous apprendront quelques bases d'Unix.</para>
|
||||
<para>Vous apprendront quelques bases d'&unix;.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -159,7 +188,7 @@
|
|||
|
||||
<listitem>
|
||||
<para>Vous présenteront X, le système de
|
||||
frenêtrage d'Unix, et détailleront comment configurer
|
||||
frenêtrage d'&unix;, et détailleront comment configurer
|
||||
un environnement de travail qui vous rendra plus productif.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
|
Loading…
Reference in a new issue