Add XPI course.
authorKim Nguyễn <kn@lri.fr>
Mon, 8 Sep 2014 17:36:32 +0000 (19:36 +0200)
committerKim Nguyễn <kn@lri.fr>
Mon, 8 Sep 2014 17:36:32 +0000 (19:36 +0200)
xpi/xpi_01.xhtml [new file with mode: 0644]

diff --git a/xpi/xpi_01.xhtml b/xpi/xpi_01.xhtml
new file mode 100644 (file)
index 0000000..b8f7620
--- /dev/null
@@ -0,0 +1,643 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+>
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Systèmes d'exploitation (1/2)</title>
+
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="copyright"
+          content="Copyright &#169; 2013 Kim Nguyễn" />
+
+    <!-- Load jQuery -->
+    <script src="../jquery-1.9.1.min.js" type="text/javascript" ></script>
+    <!-- Load the library -->
+    <script src="../simpleWebSlides.js" type="text/javascript" ></script>
+
+    <link rel="stylesheet" href="../simpleWebSlides.css" type="text/css"  media="all" />
+    <!-- Load a custom Theme, the class-element marks this style-sheet
+      a "theme" that can be swtiched dynamicaly -->
+    <link class="sws-theme" rel="stylesheet"  title="U-Psud style"  href="../themes/uPsud.css" type="text/css" />
+
+    <!-- Customize some templates and initialize -->
+
+    <script type="text/javascript">
+      SWS.Config['sws-slide-change'] = SWS.Effects.slideChangeFadeOutIn;
+      SWS.Config['sws-object-deactivate'] =  SWS.Effects.objectDeactivateFadeOut;
+      SWS.Config['sws-object-activate'] = SWS.Effects.objectActivateFadeIn;
+
+      //Ensures that we load SWS at the very end, after MathJax has
+      //been initialized
+
+      $(window).load(SWS.Presentation.init);
+    </script>
+
+  </head>
+  <body>
+
+    <div class="sws-slide sws-cover sws-option-nofooter">
+      <h1>Programmation Internet</h1>
+      <h1>Cours 1</h1>
+      <a href="mailto:kn@lri.fr">kn@lri.fr</a>
+    </div>
+
+    <div class="sws-slide" >
+      <h1>Contenu du cours</h1>
+      <ol >
+        <li > Comprendre les bases du Web
+          <ul>
+            <li>Fonctionnement des ordinateusr Unix (cours 1 et 2) </li>
+            <li>Notions de réseau (cours 3 et 4) </li>
+          </ul>
+        </li>
+        <li class="sws-pause" style="padding:20pt 0;" > Programmer (pour) le Web
+        <ul>
+          <li>Pages statiques (HTML &amp; CSS cours 5)</li>
+          <li>Pages dynamiques avec PHP (cours 6, 7 et 8)</li>
+          <li>Notions de sécurité des sites Web (cours 9)</li>
+          <li>Bonus (cours 10)</li>
+        </ul>
+        </li>
+
+      </ol>
+
+    </div>
+    <div class="sws-slide" >
+      <h1>Modalités de Contrôle des Connaissances (MCC)</h1>
+      <p>2 sessions:</p>
+      <ul >
+        <li > 1<sup>ère</sup> session
+          <ul>
+            <li> Contrôle continu (50%):
+            <ul>
+              <li> Partiel (fin octobre/début novembre) 25% </li>
+              <li> 1 interro de TD (12,5 %) </li>
+              <li> 1 interro de TP (12,5 %) </li>
+            </ul>
+            </li>
+            <li> Examen (50%) </li>
+          </ul>
+        </li>
+        <li class="sws-pause" >
+          2<sup>ème</sup> session (examen 100%)</li>
+      </ul>
+      <p class="sws-pause" ><b>Rappel:</b>
+        <i>La défaillance fait obstacle au calcul de la moyenne
+          et implique l'ajournement.
+          La présence de l'étudiant étant obligatoire en TP [...], plus
+          d'une absence injustiée dans un enseignement peut entraîner
+          la défaillance de l'étudiant dans l'enseignement concerné
+        </i>
+      </p>
+    </div>
+
+    <div class="sws-slide" >
+      <h1>Organisation</h1>
+      <ul>
+        <li> 10 semaines de cours :
+          <ul>
+            <li> 16/9, 23/9, 30/9, 7/10, 14/10, 21/11 (cours
+            uniquement, ni TD, ni TP) </li>
+            <li> partiel entre le 22-25/11 </li>
+            <li> congés du 28-1/11</li>
+            <li> 4/11, 11/11 (TD/TP uniquement, pas de cours) 18/11, 25/11, 2/11, 9/11</li>
+          </ul>
+        </li>
+        <li> examen début Janvier</li>
+        <li> cours tous les lundi (15h30) </li>
+        <li> TD le mardi (3 groupes) </li>
+        <li> TP le mecrecredi/jeudi </li>
+      </ul>
+    </div>
+    <div class="sws-slide" >
+      <h1> Plan </h1>
+      <ol >
+        <li> Systèmes d'exploitation
+          <ul class="empty">
+            <li class="hl">1.1 Principes des systèmes
+            d'exploitation</li>
+            <li>1.2 Système de gestion de fichiers</li>
+            <li>1.3 Système de gestion de processus</li>
+            </ul>
+        </li>
+      </ol>
+    </div>
+
+    <div class="sws-slide">
+      <h1> Système d'exploitation </h1>
+      <p>Quelques systèmes:</p>
+      <ul>
+        <li>Windows XP/NT/2003/7/8, …</li>
+        <li>Linux, FreeBSD, NetBSD, OpenBSD, …</li>
+        <li>MacOS X (basé sur une variante de FreeBSD), …</li>
+        <li>Unix, AIX, Solaris, HP-UX, …</li>
+        <li>Symbian OS (Nokia), iOS, Android, …</li>
+      </ul>
+    </div>
+
+    <div class="sws-slide">
+      <h1> Système d'exploitation </h1>
+      <p>Qu'est-ce qu'un système d'exploitation ?</p>
+      <ul>
+        <li class="sws-pause" >c'est un <em>programme</em></li>
+        <li class="sws-pause" > qui <em>organise</em> l'accès aux <em>ressources</em> de la machine</li>
+      </ul>
+      <p class="sws-pause"> Quelles sont les ressources d'une machine?</p>
+      <ul>
+        <li>Processeur (temps d'exécution)</li>
+        <li>Mémoire</li>
+        <li>Accès aux périphériques de stockage</li>
+        <li>Accès aux périphériques d'entrées/sorties</li>
+        <li>…</li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1> Système d'exploitation </h1>
+      <br/>
+      <div style="display:inline-block;vertical-align:middle;width:19%;text-align:center;">
+        Haut niveau<br/>
+      <span style="font-size:6cm;">↓</span><br/>
+      Bas niveau
+      </div>
+      <div style="display:inline-block; width:80%;vertical-align:middle;">
+        <ul class="empty">
+          <li><em>Applications</em>: navigateur Web, éditeur de
+          texte, anti-virus, jeu, compilateur, …</li>
+          <li style="margin-top:2em;" ><em><b>Système d'exploitation</b></em>:
+            <ul>
+              <li>Gestion des ressources</li>
+              <li>Interface avec le matériel (pilotes)</li>
+            </ul>
+          </li>
+          <li style="margin-top:2em;"><em>Matériel</em>: CPU, mémoire, périphériques, …</li>
+        </ul>
+      </div>
+    </div>
+    <div class="sws-slide centerbox">
+      <h1>Le système Unix</h1>
+      <table class="desc">
+        <tr><td>1965</td> <td>MultICS: <i>Multiplexed Information and Computing Service</i> (Bell &amp; MIT) </td>
+        </tr>
+        <tr><td>1969</td> <td>Unix: 1<sup>ère</sup> version en
+        assembleur (AT&amp;T)</td>
+        </tr>
+        <tr><td style="width:4em;">1972-73</td><td> Unix réécrit en C</td></tr>
+        <tr><td>1976</td><td> Invention de TCP/IP</td></tr>
+        <tr><td>1977</td><td> <i>Berkeley Software Distribution</i>
+        (BSD)</td></tr>
+        <tr><td>1985</td><td>Unix System V</td></tr>
+        <tr><td>1988</td><td>Minix</td></tr>
+        <tr><td>1992</td><td>Linux</td></tr>
+      </table>
+    </div>
+    <div class="sws-slide">
+      <div class="centerbox">
+      <h1>Unix : architecture</h1>
+      <table style="position:relative;left:5%;width:90%;" class="rounded">
+        <tr><td colspan="2" style="background:#ddf;width:100%;">
+            Applications
+            </td>
+        </tr>
+        <tr><td style="width:50%;background:#bbf;">
+            Interface utilisateur
+          </td>
+          <td style="width:50%;background:#bbf;">
+            Services
+          </td>
+        </tr>
+        <tr><td colspan="2" style="width:100%;background:#99f;color:white;">
+            Noyau (<i>kernel</i>)
+            </td>
+        </tr>
+        <tr><td style="border-style:none;"/> <td style="background:#88f;color:white;">
+            Micro-code
+          </td>
+        </tr>
+        <tr><td colspan="2" style="width:100%;background:#77f;color:white;">
+            Matériel
+            </td>
+        </tr>
+      </table>
+      </div>
+    </div>
+    <div class="sws-slide">
+      <h1>Zoom sur le noyau</h1>
+      <table style="position:relative;left:5%;width:90%;" class="rounded">
+        <tr> <td style="background:#ddf;width:20%;">
+            Applications
+            </td>
+        </tr>
+        <tr><td style="width:20%; border-style:none;" />
+          <td style="width:80%;background:#ddf;">
+            Bibliothèques
+            (<code>libc</code>, <code>DirectX</code>, <code>OpenGL</code>, …)
+          </td>
+        </tr>
+      </table>
+      <hr style="border-bottom: dashed 1pt #696968; width: 90%;border-top:none;" />
+      <table  style="position:relative;left:5%;width:90%;"
+              class="rounded sws-pause">
+        <tr><td  style="width:100%;background:#f99;color:white;">
+            Appels systèmes
+            </td>
+        </tr>
+        <tr> <td style="background:#f66;color:white;">
+            Noyau <br/>
+            <div style="font-size:smaller">
+            pilotes de périphériques <span style="display:inline-block;width:4em"> </span>
+            ordonnanceur (gestion du temps CPU)<br/>
+            gestionnaire de mémoire <span style="display:inline-block;width:4em"> </span>
+            système de fichier<br/>
+            </div>
+          </td>
+        </tr>
+        <tr><td  style="width:100%;background:#f33;color:white;">
+            Matériel
+            </td>
+        </tr>
+      </table>
+    </div>
+    <div class="sws-slide">
+      <h1>Le <i>Shell</i> Unix</h1>
+      <ul>
+        <li>Interface utilisateur <em>en mode texte</em><br/>
+        L'utilisateur écrit des commandes dont le résultat est
+          affiché à l'écran</li>
+        <li>Interface « historique » sous Unix</li>
+        <li>Expose à l'utilisateur certains concepts Unix
+        (pesmissions, propriétaires, processus, …)</li>
+        <li>(Utilisé dans la première partie du cours)</li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1>Le <i>Shell</i> Unix</h1>
+      <p>Exemple de session <i>shell</i>:</p>
+      <div>
+        <code>
+          $ ls
+          <span style="color:blue">Documents   Downloads   Public    Person</span>
+          $ cd Documents
+          $ ls
+          <span style="color:blue">compte_rendu.txt</span>
+          $ mv compte_rendu.txt cr.txt
+          $ ls
+          <span style="color:blue">cr.txt</span>
+        </code>
+      </div>
+    </div>
+
+    <div class="sws-slide" >
+      <h1> Plan </h1>
+      <ol >
+        <li> Systèmes d'exploitation
+          <ul class="empty">
+            <li >1.1 Principes des systèmes
+            d'exploitation</li>
+            <li class="hl">1.2 Système de gestion de fichiers</li>
+            <li>1.3 Système de gestion de processus</li>
+            </ul>
+        </li>
+      </ol>
+    </div>
+    <div class="sws-slide">
+      <h1>Système de gestion de fichiers (<i>filesystem</i>)</h1>
+      <ul>
+        <li> <em>Organise</em> les données sur le support
+        physique </li>
+        <li>Protège contre les <em>corruptions de données</em> </li>
+        <li>Gestion optimale de l'espace disponible</li>
+        <li><em>Accès efficace</em> aux données</li>
+        <li><em>Abstraction</em> du support physique (DVD, mémoire
+        flash, disque réseau, …)</li>
+        <li>Enregistrement des <em>méta-données</em> (date de
+        création, propriétaire, taille, …)</li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1>Le concept de <em>fichier</em></h1>
+      <p>
+        Un fichier est une <em>collection d'infromations
+        numériques</em> réunies sous un même <em>nom</em> et
+        enregistrée sur un support de stockage
+      </p>
+      <ul>
+        <li>Manipulable comme une unité</li>
+        <li>Selon les systèmes, le <em>nom</em> a plus ou moins
+        d'importance</li>
+        <li>possède un type</li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1>Le concept de <em>fichier</em></h1>
+      <p>Ne pas confondre:</p>
+      <ul>
+        <li>type du fichier: il influe sur le comportement du système
+        (fichier « normal », répertoire, lien (raccourcis), fichier
+        système, …). C'est une méta-donnée conservée par le système
+        de fichier</li>
+        <li>type du contenu: le type des <em>données</em> contenues
+        dans le fichier:
+          <ul>
+            <li>DOS puis Windows: l'extension (les 3 derniers
+            caractères après le « . ») détermine le type de contenu
+            </li>
+            <li>MacOS puis OS X/iOS: les premiers octets du fichier
+            déterminent son type
+            </li>
+            <li>Premiers octets ou extension, selon les interfaces
+            utilisées</li>
+          </ul>
+        </li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1>Les attributs d'un fichier</h1>
+      <table class="desc">
+        <tr>
+          <td><em>Nom</em></td> <td/>
+        </tr>
+        <tr>
+          <td><em>Propriétaire</em></td>
+          <td>utilisateur qui possède ce fichier</td>
+        </tr>
+        <tr>
+          <td><em>Groupe</em></td>
+          <td>groupe d'utilisateurs qui possède ce fichier</td>
+        </tr>
+        <tr>
+          <td><em>Emplacement</em></td>
+          <td>localisation du fichier sur le support physique</td>
+        </tr>
+        <tr>
+          <td><em>Taille</em></td>
+          <td>en octet (peut être la taille réelle ou la taille
+        occupée sur le support)</td>
+        </tr>
+        <tr>
+          <td><em>Permissions</em></td>
+          <td> « qui a quel droit » sur le fichier (lecture, écriture,
+          exécution, …)
+          </td>
+        </tr>
+        <tr>
+          <td><em>Type</em></td>
+          <td/>
+        </tr>
+        <tr>
+          <td><em>Dates</em></td>
+          <td>dernier accès, dernière modification, création, …</td>
+        </tr>
+      </table>
+    </div>
+<div class="sws-slide">
+<h1>Organisation logique des fichiers</h1>
+<p> Usuellement, les fichiers sont regroupés en <em>répertoires</em>. Les
+répertoires sont imbriqués les uns dans les autres de manière a former
+une <em>arborescence</em>.
+</p>
+<p>
+  <em>Sous Unix</em> il y a un répertoire racine, « <em>/</em> »
+(<i>slash</i>) qui contient toute l'arborescence du système.<br/>
+Chaque utilisateur possède aussi un répertoire personnel
+</p>
+</div>
+
+<div class="sws-slide">
+<h1>Noms de fichiers et chemins</h1>
+<p>
+Un chemin est une <em>liste de répertoire</em> à traverser pour
+atteindre un fichier ou répertoire donné.
+Sous Unix, le séparateur de chemin est le « <em>/</em> » <br/>
+<em>Les chemins absolus </em> commencent par un <code>/</code> et
+           dénotent des fichiers à partir de la racine. Exemple:
+           <code>
+             /home/kim/Documents/ProgInternet/cours01.pdf
+           </code>
+<br/>
+<em>Les chemins relatifs</em> dénotent des fichiers à partir du
+  répertoire courant. Exemple:<br/>
+<code>
+           Documents/ProgInternet/cours01.pdf
+</code>
+si on se trouve dans le répertoire <code>/home/kim</code>
+<br/>
+<em>Les noms spéciaux</em>: « . » dénote le répertoire
+    courant,
+  « .. » le répertoire parent, « ~ » le répertoire de
+  l'utilisateur et « ~<code>toto</code> » le répertoire de l'utilisateur
+    <code>toto</code>
+</p>
+</div>
+
+<div class="sws-slide">
+  <h1>Utilisation du <i>Shell</i></h1>
+  <p>
+    Le <em>shell</em> affiche un <em>invite de commande</em>
+    (<i>prompt</i>). Exemple:<br/>
+    <code>kim@machine $ <span class="sws-pause" /></code><br/><br/>
+    <span>On peut alors saisir une commande:</span><br/><br/>
+    <code>   kim@machine $ ls *.txt<span class="sws-pause"/></code><br/><br/>
+    <span>Le shell affiche la <em>sortie</em> de la commande:</span><br/><br/>
+    <code>   fichier1.txt   fichier2.txt</code><br/><br/>
+    <span>Certains caractères doivent être précédés d'un « \ » (échappés):</span><br/><br/>
+    <code>   kim@machine $ ls mon\ fichier\#1.txt</code>
+  </p>
+</div>
+<div class="sws-slide">
+<h1>La ligne de commande</h1>
+<p>
+  Une ligne de commande a la forme:<br/>
+  <code>prog item1 item2 item3 item4 … </code>
+</p>
+  <ol>
+  <li class="sws-pause"> Si <tt>prog</tt> est un chemin il doit
+    dénoter <em>un fichier exécutable </em>
+  </li>
+  <li class="sws-pause"> Si <tt>prog</tt> est un simple nom, il doit dénoter un fichier
+    exécutable se trouvant dans un des <em>répertoires prédéfinis</em>
+    (<tt>/bin</tt>, <tt>/usr/bin</tt>, …)
+  </li>
+  <li class="sws-pause"> Pour chaque <tt>item<sub>i</sub></tt> (séparés par un ou plusieurs espaces
+    non échappés) le <i>shell</i> fait une <em>expansion de nom</em>
+  </li>
+  <li class="sws-pause"> La liste de toutes les chaînes de caractères expansées est
+    passée comme argument au programme <tt>prog</tt>
+  </li>
+  </ol>
+</div>
+<div class="sws-slide">
+<h1>Expansion des noms<br/>Expressions régulières glob</h1>
+<p>
+  Certains caractères sont <em>interprétés</em> de manière spéciale par le
+  <i>shell</i>. Ces caractères sont « expansés » selon des
+  règles. Si la forme <em>expansée</em> correspond a un ou plusieurs fichiers
+  existants, alors leurs noms sont placés sur la ligne de commande. Sinon
+  la chaîne de caractère de départ garde sa valeur textuelle.
+</p>
+</div>
+<div class="sws-slide">
+  <h1>Expressions régulières glob</h1>
+  <p>Règles d'expansion:
+  <tt><em>*</em></tt> n'importe quelle chaîne<br/>
+   <tt><em>?</em></tt> n'importe quel caractère
+   <tt><em>[ab12…]</em></tt> un caractère dans la liste <br/>
+   <tt><em>[^ab12…]</em></tt> un caractère absent de liste<br/>
+   <tt><em>[a-z]</em></tt> un caractère dans l'intervalle<br/>
+   <tt><em>[^a-z]</em></tt> un caractère absent de l'intervalle<br/>
+   <tt><em>{m<sub>1</sub>, m<sub>2</sub>}</em></tt>
+  motif <tt>m<sub>1</sub></tt> ou <tt>m<sub>2</sub></tt> <br/>
+  <tt><em>?(m<sub>1</sub>|…|m<sub>n</sub>)</em></tt>
+  <span style="display:inline-block;width:2em" />
+  <tt><em>@(m<sub>1</sub>|…|m<sub>n</sub>)</em></tt>
+  <span style="display:inline-block;width:2em" />
+  <tt><em>*(m<sub>1</sub>|…|m<sub>n</sub>)</em></tt>
+  <span style="display:inline-block;width:2em" />
+  <tt><em>+(m<sub>1</sub>|…|m<sub>n</sub>)</em></tt><br/>
+  <i>k</i> motifs parmi <tt>m<sub>i</sub></tt> <br/>
+  <tt><em>?</em></tt>: <tt>0 ≤ <i>k</i> ≤ 1</tt>
+  <span style="display:inline-block;width:2em" />
+  <tt><em>@</em></tt>: <tt><i>k</i> = 1</tt>
+  <span style="display:inline-block;width:2em" />
+  <tt><em>*</em></tt>: <tt><i>k</i> ≥ 0</tt>
+  <span style="display:inline-block;width:2em" />
+  <tt><em>+</em></tt>: <tt><i>k</i> ≥ 1</tt>
+  <br/>
+  <tt><em>!(m<sub>1</sub>|…|m<sub>n</sub>)</em></tt>:
+  ni <tt>m<sub>1</sub></tt>, …, ni <tt>m<sub>n</sub></tt>
+</p>
+</div>
+<div class="sws-slide">
+<h1>Expressions régulières glob<br/>Exemples</h1>
+<p><tt><em>ls  !(*[aeiouy]?)</em></tt> <span class="sws-pause">
+  La chaine « <tt>!(*[aeiouy]?)</tt> » est remplacée par la liste de tous
+  les fichiers dont l'avant dernière lettre du nom n'est pas une
+  voyelle. S'il n'y a pas de tel fichier, la chaîne
+  « <tt>!(*[aeiouy]?)</tt> » est passée à la commande <tt>ls</tt>.</span><br/><br/>
+  <span>
+  <tt><em>ls [0-9]*</em></tt> affiche la liste des fichiers commençant par un
+  chiffre<br/><br/>
+  <tt><em>ls +(abc)</em></tt> affiche la liste des fichiers dont le nom est une
+  répétition de «&nbsp;abc&nbsp;».
+</span>
+</p>
+</div>
+<div class="sws-slide">
+<h1>Commandes shell de base</h1>
+<ul class="empty">
+<li><em>cd </em><i>chemin</i>: <i>chemin</i> devient le
+  répertoire courant. Si absent, utilise le répertoire personnel
+</li>
+<li><em>ls</em> <i>chemin<sub>1</sub></i> … <i>chemin<sub>n</sub></i>:
+  affiche le nom des <i>n</i> fichiers. Si <i>n=0</i> affiche le contenu du
+  répertoire courant. Avec l'option <tt><em>-l</em></tt> affiche la liste
+  détaillée.
+</li>
+<li><em>cp</em> <i>chemin<sub>1</sub></i>  <i>chemin<sub>2</sub></i>:
+copie de fichier
+</li>
+<li><em>mv</em> <i>chemin<sub>1</sub></i>  <i>chemin<sub>2</sub></i>:
+  déplacement
+  de fichier (et renommage)
+</li>
+<li><em>rm</em> <i>chemin<sub>1</sub></i> … <i>chemin<sub>n</sub></i>:
+  supprime les fichiers (définitif)
+</li>
+</ul>
+</div>
+<div class="sws-slide">
+<h1>Droits et propriétés des fichiers</h1>
+<p>
+Sous Unix un utilisateur est identifié par son <em>login</em> (ou nom
+d'utilisateur). Chaque utilisateur est dans  un <em>groupe
+  principal</em>.<br/>
+Chaque fichier appartient à un utilisateur et à un groupe.<br/>
+Chaque fichier possède 3 permissions pour son propriétaire, son groupe
+et tous les autres. Les permissions sont lecture, écriture, exécution
+(plus d'autres non abordées dans ce cours).<br/>
+<table >
+  <tr><th style="width:20%">Permission</th> <th  style="width:40%">fichier</th> <th style="width:40%">répertoire</th> </tr>
+  <tr><td><em>lecture</em> (r)</td> <td>lire le contenu du
+  fichier</td>
+    <td >lister le contenu du répertoire</td></tr>
+  
+  <tr><td style="vertical-align:top;"><em>écriture</em> (w)</td> <td style="vertical-align:top;">écrire dans le fichier</td>
+    <td style="vertical-align:top;">supprimer/renommer/créer des
+    fichiers dans le répertoire</td></tr>
+  <tr><td style="vertical-align:top;"><em>exécution</em>
+  (x)</td> <td style="vertical-align:top;">exécuter le fichier
+  (si<br/>
+
+  c'est un programme)</td>
+    <td style="vertical-align:top;">rentrer dans le répertoire
+  </td></tr>
+</table>
+<code>$ ls -l
+drwxr-x---  9 kim prof 4096 Sep  7 21:31 Documents</code>
+</p>
+</div>
+<div class="sws-slide">
+<h1>La commande <em>chmod</em></h1>
+<code>
+   chmod <i>permissions</i> <i>chemin<sub>1</sub></i> … <i>chemin<sub>n</sub></i>
+</code>
+<p> modifie les permissions des fichiers <i>1</i> à <i>n</i>. La chaîne
+<i><tt>permissions</tt></i> est soit une suite de modifications de
+permissions <em>symbolique</em> soit l'ensemble des permissions données
+de manière <em>numérique</em>: <br/>
+<code>
+    chmod 755 fichier.txt
+    chmod u-w,a+x,g=w fichier.txt
+</code>
+</p>
+</div>
+<div class="sws-slide">
+<h1>Permissions numériques</h1>
+<p>
+On groupe les <em>bits</em> de permissions par trois puis on convertit
+en décimal:<br/>
+<table style="width:100%;text-align:center;" class="btable">
+<tr> <th colspan="3" style="width:33%"> Utilisateur </th>
+  <th colspan="3" style="width:33%">
+    Groupe</th>
+  <th colspan="3" style="width:33%">Autres</th>
+</tr>
+<tr>
+  <td>r</td>   <td>w</td>    <td>x</td>   <td>r</td>   <td>w</td>    <td>x</td>   <td>r</td>   <td>w</td>    <td>x</td> 
+</tr>
+<tr>
+  <td>1</td>   <td>1</td>    <td>0</td>   <td>1</td>   <td>0</td>    <td>0</td>   <td>0</td>   <td>0</td>    <td>0</td> 
+</tr>
+<tr>
+<td colspan="3"> 6 </td> <td colspan="3">
+    4</td><td colspan="3">0</td>
+</tr>
+</table>
+Le fichier est lisible et modifiable mais pas exécutable par son
+propriétaire, lisible pour le groupe. Les autres ne peuvent ni le lire
+ni le modifier.</p>
+</div>
+<div class="sws-slide">
+<h1>Permissions symboliques</h1>
+<code>
+       cible modifieur permission
+</code>
+<ul class="empty">
+  <li> <em>cible</em> : u (utilisateur), g (groupe), o (others), a
+  (all)
+  </li>
+
+  <li> <em>modifieur</em> : + (autorise), - (interdit), = (laisse
+  inchangé)
+  </li>
+
+  <li><em>permission</em> : r (lecture), w (écriture), x (exécution)</li>
+</ul>
+<p>
+Exemple:<br/>
+<code>   chmod u+rw,u-x,g+r,g-wx,o-rwx fichier.txt </code>
+</p>
+</div>
+  </body>
+</html>