Update Prog-Internet course
authorKim Nguyễn <kn@lri.fr>
Tue, 9 Sep 2014 10:24:12 +0000 (12:24 +0200)
committerKim Nguyễn <kn@lri.fr>
Tue, 9 Sep 2014 10:24:12 +0000 (12:24 +0200)
prog_internet/prog_internet_01.xhtml
themes/uPsud.css

index b8f7620..5928b08 100644 (file)
@@ -60,7 +60,9 @@
           <li>Bonus (cours 10)</li>
         </ul>
         </li>
-
+       <p>Cours disponible en ligne
+       sur <a href="https://www.lri.fr/~kn/teaching_fr.html">https://www.lri.fr/~kn/teaching_fr.html</a>. Les
+       supports de cours seront distribués à partir de la semaine prochaine.</p>
       </ol>
 
     </div>
@@ -73,8 +75,7 @@
             <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>
+              <li> 1 interro(s) de TP (25 %) </li>
             </ul>
             </li>
             <li> Examen (50%) </li>
       <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>
+            <li> 8/9, 16/9, 23/9, 30/9, 7/9, 14/9 </li>
+            <li> partiel/toussaint </li>
+            <li>  4/11, <em>(pas de cours le 11/11)</em>, 18/11, 25/11, 2/12</li>
           </ul>
         </li>
+       <li> 10 semaines de TP :
+         <ul><li>18/9, 25/9, 2/10, 9/10, 16/10</li>
+           <li> partiel/toussaint</li>
+           <li>6/11, 13/11, 20/11, 27/11, 4/12</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>
+        <li> cours tous les mardi (13h30) </li>
+        <li> TP le jeudi (9h) </li>
       </ul>
     </div>
     <div class="sws-slide" >
         <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>, …)
+            (<tt>libc</tt>, <tt>DirectX</tt>, <tt>OpenGL</tt>, …)
           </td>
         </tr>
       </table>
           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>
+        (permissions, propriétaires, processus, …)</li>
+        <li>Ces concepts sont importants pour pouvoir concevoir de
+        sites Web</li>
       </ul>
     </div>
     <div class="sws-slide">
       <h1>Les attributs d'un fichier</h1>
       <table class="desc">
         <tr>
-          <td><em>Nom</em></td> <td/>
+          <td style="width:7em;"><em>Nom</em></td> <td/>
         </tr>
         <tr>
           <td><em>Propriétaire</em></td>
@@ -406,28 +411,26 @@ Chaque utilisateur possède aussi un répertoire personnel
 
 <div class="sws-slide">
 <h1>Noms de fichiers et chemins</h1>
-<p>
+<p style="background:white;">
 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
+<em>Les chemins absolus </em> commencent par un <tt>/</tt> et
            dénotent des fichiers à partir de la racine. Exemple:
            <code>
              /home/kim/Documents/ProgInternet/cours01.pdf
-           </code>
-<br/>
+       </code>
 <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>
+<code>                    Documents/ProgInternet/cours01.pdf</code>
+si on se trouve dans le répertoire <tt>/home/kim</tt>
+<br/>
 <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>
+  l'utilisateur et « ~<tt>toto</tt> » le répertoire de l'utilisateur
+    <tt>toto</tt>
 </p>
 </div>
 
@@ -561,7 +564,7 @@ et tous les autres. Les permissions sont lecture, écriture, exécution
   <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>
@@ -604,10 +607,10 @@ en décimal:<br/>
   <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> 
+  <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> 
+  <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">
@@ -638,6 +641,147 @@ ni le modifier.</p>
 Exemple:<br/>
 <code>   chmod u+rw,u-x,g+r,g-wx,o-rwx fichier.txt </code>
 </p>
+</div>
+<div class="sws-slide">
+  <h1>Liens symboliques (1)</h1>
+<p>Pour des raisons d'organisation, on veut pouvoir « voir » le même
+  fichier ou répertoire sous deux noms différents (ou à deux endroits
+  différents). Par exemple:
+</p>
+<code style="background:white">
+ $  ls -l <mark>Documents/Cours</mark>
+ total 8
+ drwxr-xr-x 3 kim prof 4096 Sep  9 11:30 <mark>Licence</mark>
+ drwxr-xr-x 3 kim prof 4096 Sep  9 11:30 <mark>Master</mark>
+
+ $  cd <mark>Documents/Cours/Master</mark>; ls
+  <mark>Compilation    XMLProgInternet</mark>
+
+ $  cd <mark>XML_Prog_Internet</mark>; ls
+ <mark>cours01 cours02  cours03 cours04 cours05  cours06</mark>   <mark style="color:turquoise">Prereq</mark>  
+
+ $ ls -l Prereq
+ lrwxrwxrwx 1 kim prof 28 Sep  9 11:30 <mark style="color:turquoise">Prereq</mark> -> <mark>../../Licence/UnixProgWeb/</mark>
+</code>
+
+</div>
+<div class="sws-slide">
+  <h1>Liens symboliques (2)</h1>
+  <p>La commande <em><tt>ln</tt></em> permet de créer des <em>liens
+  symboliques</em>. Un lien est un petit fichier qui contient
+  un <em>chemin</em> vers un fichier de destination.
+  </p>
+  <p>Exemple d'utilisation</p>
+<code>    $ ln -s ../foo/bar/baz/toto.txt rep/titi.txt
+</code>
+<p class="sws-pause">crée un lien vers le fichier <tt>toto.txt</tt>
+  sous le nom <tt>titi.txt</tt> (chacun placé dans des sous/sur
+  répertoires)
+</p>
+<ul>
+  <li>Ouvrir/modifier le lien &gt; ouvre/modifie la cible</li>
+  <li>Supprimer le lien &gt; supprime le lien mais pas la cible</li>
+  <li>Si la cible est un répertoire, faire <tt>cd</tt> nous place «
+  dans » la cible, mais le repertoire parent est celui d'où l'on vient</li>
+</ul>
+<p>Cela permet de créer l'illusion que la cible a été copiée à
+  l'identique, sans les inconvénients</p>
+</div>
+<div class="sws-slide">
+  <h1>À propos de la suppression</h1>
+  <p>La commande <tt>rm  fichier</tt> efface un fichier définitivement<br/>
+  La commande <tt>rm -d  rep</tt> efface un répertoire s'il est vide<br/>
+  La commande <tt>rm -r  rep</tt> efface un répertoire récursivement
+  mais demande confirmation avant d'effacer des éléments<br/>
+  La commande <tt>rm -rf rep</tt> efface un répertoire
+  récursivement et sans confirmation</p>
+  <p><s>Toute suppression est définitive</s></p>
+  <p>Gag classique :</p>
+  <code style="background:white">    $  mkdir <s>\~</s>
+    ...
+    $ ls
+     <mark> Documents  Photos  Musique   ~</mark>
+    $ rm -rf <s>~</s>
+     <mark style="font-size:200%;"> &#9760; &#9760; &#9760; &#9760; &#9760; &#9760;</mark>
+</code>
+</div>
+<div class="sws-slide">
+  <h1>Obtenir de l'aide sur une commande</h1>
+  <p>La commande <em><tt>man</tt></em> permet d'obtenir de l'aide sur
+  une commande. Lors qu'une page d'aide est affichée, on peut la faire
+  défiler avec les touches du clavier, la quitter avec « <tt>q</tt> »
+  et rechercher un mot avec la touch « <tt>/</tt> »</p>
+  <code style="position:relative;left:10%;font-size:70%">
+LS(1L)            Manuel de l'utilisateur Linux            LS(1L)
+
+
+<FONT COLOR="#000000"><B>NOM</B></FONT>
+       ls, dir, vdir - Afficher le contenu d'un répertoire.
+
+<FONT COLOR="#000000"><B>SYNOPSIS</B></FONT>
+       <FONT COLOR="#000000"><B>ls</B></FONT> <FONT COLOR="#000000"><B>[options]</B></FONT> <FONT COLOR="#000000"><B>[fichier...]</B></FONT>
+
+       Options POSIX : <FONT COLOR="#000000"><B>[-1acdilqrtuCFR]</B></FONT>
+
+       Options  GNU  (forme courte) : <FONT COLOR="#000000"><B>[-1abcdfgiklmnopqrstuxABCD­</B></FONT>
+       <FONT COLOR="#000000"><B>FGLNQRSUX]</B></FONT> <FONT COLOR="#000000"><B>[-w</B></FONT> <FONT COLOR="#0000ff"><I>cols<FONT COLOR="#000000"><B>]</B></FONT></I></FONT> <FONT COLOR="#000000"><B>[-T</B></FONT> <FONT COLOR="#0000ff"><I>cols<FONT COLOR="#000000"><B>]</B></FONT></I></FONT>  <FONT COLOR="#000000"><B>[-I</B></FONT>  <FONT COLOR="#0000ff"><I>motif<FONT COLOR="#000000"><B>]</B></FONT></I></FONT>  <FONT COLOR="#000000"><B>[--full-time]</B></FONT>
+       <FONT COLOR="#000000"><B>[--format={long,verbose,commas,across,vertical,single-col­</B></FONT>
+       <FONT COLOR="#000000"><B>umn}]</B></FONT>                  <FONT COLOR="#000000"><B>[--sort={none,time,size,extension}]</B></FONT>
+       <FONT COLOR="#000000"><B>[--time={atime,access,use,ctime,status}]</B></FONT>
+       <FONT COLOR="#000000"><B>[--color[={none,auto,always}]]</B></FONT> <FONT COLOR="#000000"><B>[--help]</B></FONT> <FONT COLOR="#000000"><B>[--version]</B></FONT> <FONT COLOR="#000000"><B>[--]</B></FONT>
+
+<FONT COLOR="#000000"><B>DESCRIPTION</B></FONT>
+       La commande <FONT COLOR="#000000"><B>ls</B></FONT> affiche  tout  d'abord  l'ensemble  de  ses
+       arguments  <FONT COLOR="#0000ff"><I>fichiers</I></FONT>  autres  que  des répertoires. Puis <FONT COLOR="#000000"><B>ls</B></FONT>
+       affiche  l'ensemble  des  fichiers  contenus  dans  chaque
+       répertoire  indiqué.   <FONT COLOR="#000000"><B>dir</B></FONT> et <FONT COLOR="#000000"><B>vdir</B></FONT> sont des versions de <FONT COLOR="#000000"><B>ls</B></FONT>
+       affichant par défaut leurs résultats  avec  d'autres  for­
+       mats.
+</code>
+
+</div>
+<div class="sws-slide">
+  <h1>Recherche de fichiers</h1>
+  <p>La commande <tt>find rep <i>criteres</i></tt> permet de trouver
+  tous les fichiers se trouvant dans le répertoire <tt>rep</tt> (ou un
+  sous répertoire) et répondant à certains critères. Exemples de
+  critères :</p>
+  <ul>
+    <li> <tt>-name '*toto*'</tt>  dont le nom
+      contient <tt>toto</tt></li>
+    <li> <tt>-size +200M</tt> dont la taille sur le disque est
+      supérieure à 200 Mo</li>
+    <li> <tt> <i>c<sub>1</sub></i> -a <i>c<sub>2</sub></i></tt> pour
+      lesquel les critères <tt> <i>c<sub>1</sub></i></tt>
+      et <tt> <i>c<sub>2</sub></i></tt> sont vrais</li>
+    <li> <tt> <i>c<sub>1</sub></i> -o <i>c<sub>2</sub></i></tt> pour
+      lesquel l'un au moins des critères <tt> <i>c<sub>1</sub></i></tt>
+      et <tt> <i>c<sub>2</sub></i></tt> est vrais</li>
+    <li> <tt>-user toto</tt> qui appartiennent à l'utilisateur <tt>toto</tt></li>
+  </ul>
+  <p> Comment trouver toutes les options de la commande <tt>find</tt>
+  ? <span class="sws-pause"><tt><em> man find</em></tt></span></p>
+</div>
+<div class="sws-slide">
+  <h1>Quelques commandes utiles</h1>
+  <ul>
+    <li> <tt>cat <i>fichier</i></tt> permet d'afficher le contenu d'un fichier dans
+    le terminal</li>
+    <li> <tt>less <i>fichier</i></tt> permet de lire le contenu d'un fichier (avec
+    défilement en utilisant les flêches du clavier si le fichier est
+    trop grand)</li>
+    <li> <tt>sort <i>fichier</i></tt> permet d'afficher les lignes d'un fichier
+    triées (on peut spécifier des options de tri)</li>
+    <li> <tt>file <i>fichier</i></tt> permet de connaître le type d'un
+    fichier</li>
+    <li> <tt>wc <i>fichier</i></tt> permet de compter le nombre de
+    caractères/mots/lignes d'un fichier</li>
+    <li> <tt>head <i>fichier</i></tt> permet de garder les <i>n</i>
+    premières lignes d'un fichier</li>
+  </ul>
+  <p>On verra comment composer ces commandes pour exécuter des
+  opérations complexes</p>
 </div>
   </body>
 </html>
index 6d4777c..9f200f0 100644 (file)
@@ -279,4 +279,9 @@ table.withborder td {
     border-width: 1pt;
     min-width:20pt;
     height: 20pt;
+}
+
+mark {
+    color: #00486c;
+    background: none;
 }
\ No newline at end of file