<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>
<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>
<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>
<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>
<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">
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 > ouvre/modifie la cible</li>
+ <li>Supprimer le lien > 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%;"> ☠ ☠ ☠ ☠ ☠ ☠</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>