Implement table of content.
authorKim Nguyễn <kn@lri.fr>
Tue, 15 Oct 2013 06:25:06 +0000 (08:25 +0200)
committerKim Nguyễn <kn@lri.fr>
Tue, 15 Oct 2013 06:25:06 +0000 (08:25 +0200)
prog_internet/prog_internet_01.xhtml
prog_internet/prog_internet_02.xhtml
prog_internet/prog_internet_03.xhtml
prog_internet/prog_internet_04.xhtml
prog_internet/prog_internet_05.xhtml
simpleWebSlides.css
simpleWebSlides.js
themes/uPsud.css

index 8fba8e1..b8f7620 100644 (file)
@@ -4,7 +4,7 @@
 >
 <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
-    <title>Programmation Internet</title>
+    <title>Systèmes d'exploitation (1/2)</title>
 
     <meta http-equiv="Content-Type"
           content="text/html; charset=utf-8" />
index 3300219..497e323 100644 (file)
@@ -4,7 +4,7 @@
           >
 <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
-    <title>Programmation Internet</title>
+    <title>Systèmes d'exploitation (2/2)</title>
 
     <meta http-equiv="Content-Type"
           content="text/html; charset=utf-8" />
@@ -41,7 +41,7 @@
     </style>
   </head>
   <body>
-
+    <a href="prog_internet_01.xhtml" class="sws-previous" />
     <div class="sws-slide sws-cover sws-option-nofooter">
       <h1>Programmation Internet</h1>
       <h1>Cours 2</h1>
index fa93d63..b3dd771 100644 (file)
@@ -4,7 +4,7 @@
           >
 <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
-    <title>Programmation Internet</title>
+    <title>Réseaux, TCP/IP</title>
 
     <meta http-equiv="Content-Type"
           content="text/html; charset=utf-8" />
@@ -41,7 +41,7 @@
     </style>
   </head>
   <body>
-
+    <a class="sws-previous" href="prog_internet_02.xhtml" />
     <div class="sws-slide sws-cover sws-option-nofooter">
       <h1>Programmation Internet</h1>
       <h1>Cours 2</h1>
       <a href="http://www.lri.fr/~kn/">http://www.lri.fr/~kn</a>
     </div>
 
-    <div class="sws-slide" >
-      <h1> Plan </h1>
-      <ol >
-        <li> Systèmes d'exploitation &#10004;
-          <li class="hi"> Réseau et Internet 
-            <ul class="empty">
-              <li class="hi"> 2.1 Principes des réseaux</li>
-              <li> 2.2 TCP/IP</li>
-              <li> 3
-            </ul>
-        </li>
-      </ol>
-    </div>
-
-    <div class="sws-slide">
-      <h1> Définitions </h1>
-      <table class="desc">
-        <tr>
-          <td style="width:6.5em;">Programme</td> <td>séquences d'instructions effectuant
-            une tâche sur un ordinateur</td>
-        </tr>
-        <tr>
-          <td>Exécutable</td> <td>fichier binaire contenant des
-            instructions machines interprétables par le
-            microprocesseur</td>
-        </tr>
-        <tr>
-          <td><i>Thread</i> </td>
-          <td>plus petite unité de traitement (≡
-            séquence d'instructions) pouvant être ordonnancée par
-            l'OS
-          </td>
-        </tr>
-        <tr>
-          <td>Processus</td>
-          <td> instance d'un programme (≡ « un
-            programme en cours d'exécution »). Un processus est constitué
-            de un ou plusieurs <i>threads</i>.</td>
-        </tr>
-      </table>
-    </div>
-
-    <div class="sws-slide">
-      <h1> Exemple: programme </h1>
-      <p>Dans un fichier « <code> counter.c </code> »
-        (<span style="color:red;">attention c'est du pseudo
-          C</span>)</p>
-      <div style="float:left;clear:both;vertical-align:top;width:45%;display:inline-block;border-right: 1pt solid #494948;">
-<code > int count = 0;
- int exit = 0;
- void <span style="color:green;">display()</span> {
-    while (exit == 0) {
-      sleep (3);
-      printf("%i\n", count);
-    }
- }
- void <span style="color:red;">listen()</span> {
-    while (exit == 0) {
-      wait_connect(80);
-      count++;
-  }
- }</code>
-      </div> <div style="vertical-align:top;display:inline-block;width:45%;">
-<code> void <span style="color:blue;">main ()</span> {
-    run_function(display);
-    run_function(listen);
-    while (getc () != '\n') { };
-    exit = 1;
-    return;
- }</code>
-      </div>
-    </div>
-    <div class="sws-slide">
-      <h1> Exemple: programme </h1>
-      <p>Compilation <br/>
-        <code>
-          gcc -o counter.exe counter.c
-        </code><br/>
-        Le <em>fichier</em> « <code>counter.exe</code> » est un
-        exécutable (fichier binaire contenant du code machine)<br/>
-        <code>
-          ./counter.exe <span style="margin-left:2em;font-size:smaller;color:red;"> ← il faut la permission +x sur le fichier</span>
-        </code>
-        <br/>
-        Le contenu de l'exécutable est copié en mémoire et le processeur
-        commence à exécuter la première instruction du programme.
-      </p>
-    </div>
-    <div class="sws-slide">
-      <h1> Exemple: <i>threads</i> </h1>
-      <ol>
-        <li class="sws-pause" ><span style="color:white;background:blue">main</span> </li>
-        <li class="sws-pause" ><span style="color:blue;">attente d'un évènement clavier
-            →</span><span style="color:red;">←changement de <i>thread</i></span>
-        </li>
-        <li class="sws-pause" ><span style="color:white;background:red">listen</span> </li>
-        <li class="sws-pause" ><span style="color:red;">attente de connexion →</span><span style="color:green;">←changement de <i>thread</i></span>
-        </li>
-        <li class="sws-pause" ><span style="color:white;background:green">display</span> (<span style="color:green;">affiche
-            0 à l'écran)</span> </li>
-        <li class="sws-pause" ><span style="color:green;">attente pendant 3s →</span> (les
-          3 <i>threads</i> attendent un évènement externe)<br/>
-          <span class="sws-pause" >nouvelle connexion sur le port 80</span> <span style="color:red;">←
-            réveil du <i>thread</i> <code style="color:red;">listen</code></span>
-        </li>
-        <li class="sws-pause" ><span style="color:white;background:red">listen</span>
-          (<span style="color:red;">incrémente <code style="color:red">count</code></span>)<br/>
-          <span style="color:red;">attente de connexion →</span><br/>
-          <span>… fin des 3s</span><br/>
-          <span style="color:green;">←
-            réveil du <i>thread</i> <code style="color:green;">display</code></span>
-        </li>
-        <li class="sws-pause" ><span style="color:white;background:green">display</span> (<span style="color:green;">affiche
-            1 à l'écran)</span> </li>
-      </ol>
-      <p class="sws-pause" >Les <i>threads</i> partagent leur mémoire (variables communes)</p>
-    </div>
-    <div class="sws-slide">
-      <h1>Exemple: processus</h1>
-      <p>(différence: les processus
-        <em>ne partagent pas leur espace mémoire</em>)</p>
-      <ol>
-        <li>Exécution de <code><span style="color:blue;">coun</span><span style="color:red;">ter</span><span style="color:green;">.exe</span></code> pendant 50㎲
-        </li>
-        <li > Exécution
-          de <code><span style="color:orange;">firefox.exe</span></code>
-          pendant 50㎲ </li>
-        <li > Exécution du processus qui dessine le bureau pendant 50
-          ㎲<br/> … </li>
-        
-      </ol>
-      <p>C'est le <em>gestionnaire de processus</em> qui décide quel
-        programme a la main et pour combien de temps (priorité aux
-        tâches critiques par exemple)<br/>
-        Le système d'exploitation stocke pour chaque processus un
-        ensemble d'informations, le PCB (<i>Process Control Block</i>).
-      </p>
-    </div>
-    <div class="sws-slide">
-      <h1>Proccess Control Block</h1>
-      <p>Le PCB contient:</p>
-      <ul>
-        <li>l'<em>identificateur du processus</em> (pid)</li>
-        <li>l'<em>l'état</em> du processus (en attente, en exécution,
-          bloqué, …)</li>
-        <li>le compteur d'instructions (<i>i.e.</i> où on en est dans
-          le programme)</li>
-        <li>le <em>contexte courant</em>(état des registres, …)</li>
-        <li>position dans <em>la file d'attente de priorité
-            globale</em></li>
-        <li>informations mémoire (zones allouées, zones accessibles,
-          zones partagées)</li>
-        <li>listes des fichiers ouverts (en lecture, en écriture),
-          liste des connexions ouvertes, … <br/> … </li>
-      </ul>
-    </div>
-    <div class="sws-slide">
-      <h1>Opérations sur les processus</h1>
-      <ul>
-        <li><em>création</em> et <em>destruction</em> de
-          processus</li>
-        <li><em>suspension</em> et <em>reprise</em></li>
-        <li><em>duplication</em> (<i>fork</i>)</li>
-        <li>modification de la <em>priorité</em></li>
-        <li>modification des <em>permissions </em></li>
-      </ul>
-    </div>
-    <div class="sws-slide">
-      <h1>États d'un processus</h1>
-      <p>Un processus change d'état au cours de son exécution</p>
-      <table class="desc">
-        <tr><td style="width:6em;">Nouveau</td> <td>le processus est en cours de création</td></tr>
-        <tr><td>Exécution</td> <td>le processus s'exécute</td></tr>
-        <tr><td>En attente</td> <td>le processus attend un évènement
-            particulier (saisie au clavier, écriture sur le disque,
-            …)</td></tr>
-        <tr><td>Prêt</td> <td>le processus est prêt à reprendre son
-            exécution et attend que l'OS lui rende la main</td></tr>
-        <tr><td>terminé</td> <td>le processus a fini son exécution</td></tr>
-      </table>
-    </div>
-    <div class="sws-slide">
-      <h1>États d'un processus</h1>
-      <p>L'OS détermine et modifie l'état d'un processus:</p>
-      <ul>
-        <li>En fonction d'évènements internes au processus:
-          <ul><li>lecture d'un fichier (si le contenu n'est pas
-              disponible, le processus passe de « prêt » à « en attente
-              »)</li>
-            <li>le processus attends volontairement pendant x
-              secondes<br/>…</li>
-          </ul>
-        </li>
-        <li>
-          En fonction d'évènements externes au processus:
-          <ul><li>un fichier devient disponible</li>
-            <li>un <i>timer</i> arrive à 0</li>
-            <li>le matériel déclenche une <em>interruption</em></li>
-          </ul>
-        </li>
-      </ul>
-    </div>
-    <div class="sws-slide">
-      <h1>États d'un processus</h1>
-      <svg
-         xmlns:svg="http://www.w3.org/2000/svg"
-         xmlns="http://www.w3.org/2000/svg"
-         version="1.1"
-         width="340.10629"
-         height="207.70399"
-         viewBox="0 0 350 208"
-         id="svg2"
-         >
-        <defs
-           id="defs4">
-          <marker
-             refX="0"
-             refY="0"
-             orient="auto"
-             id="Arrow2Mend"
-             style="overflow:visible">
-            <path
-               d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-               transform="scale(-0.6,-0.6)"
-               id="path3842"
-               style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-          </marker>
-        </defs>
-        <g
-           transform="translate(-43.8,-16.162183)"
-           id="layer1">
-          <g
-             transform="translate(2.8953552e-6,-2.2416992e-6)"
-             id="g4956">
-            <text
-               x="50"
-               y="32.362183"
-               id="text2985"
-               xml:space="preserve"
-               style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                             x="50"
-                                                                                                                                                                                                                                                                             y="32.362183"
-                                                                                                                                                                                                                                                                             id="tspan2987">Nouveau</tspan></text>
-            <text
-               x="140"
-               y="102.36218"
-               id="text2989"
-               xml:space="preserve"
-               style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                             x="140"
-                                                                                                                                                                                                                                                                             y="102.36218"
-                                                                                                                                                                                                                                                                             id="tspan2991">Prêt</tspan></text>
-            <text
-               x="255"
-               y="102.36218"
-               id="text2993"
-               xml:space="preserve"
-               style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                             x="255"
-                                                                                                                                                                                                                                                                             y="102.36218"
-                                                                                                                                                                                                                                                                             id="tspan2995">En exécution</tspan></text>
-            <text
-               x="195"
-               y="187.36218"
-               id="text2997"
-               xml:space="preserve"
-               style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                             x="195"
-                                                                                                                                                                                                                                                                             y="187.36218"
-                                                                                                                                                                                                                                                                             id="tspan2999">En attente</tspan></text>
-            <rect
-               width="65"
-               height="20"
-               rx="5"
-               ry="5.25"
-               x="45"
-               y="17.362183"
-               id="rect3007"
-               style="fill:none;stroke:#ffff05;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-            <rect
-               width="45"
-               height="20"
-               rx="5"
-               ry="5.25"
-               x="130"
-               y="87.362183"
-               id="rect3007-2"
-               style="fill:none;stroke:#009eff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-            <rect
-               width="90"
-               height="20"
-               rx="5"
-               ry="5.25"
-               x="250"
-               y="87.362183"
-               id="rect3007-8"
-               style="fill:none;stroke:#5aff0b;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-            <rect
-               width="68"
-               height="19"
-               rx="5"
-               ry="5.25"
-               x="192"
-               y="173.36218"
-               id="rect3007-7"
-               style="fill:none;stroke:#ff7b00;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-            <path
-               d="m 70,42.362183 c 0,35 20,55 55,55"
-               id="path3809"
-               style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-            <path
-               d="m 150,82.362183 c 30,-30 120,-30 145,0"
-               id="path3809-2"
-               style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-            <path
-               d="m 295,112.36218 c -30,30 -121.15954,29.51126 -146.15954,-0.48874"
-               id="path3809-2-8"
-               style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-            <path
-               d="m 305,112.36218 c 0,35 -10,70 -45,70"
-               id="path3809-9"
-               style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-            <path
-               d="m 185,182.36218 c -35.00001,0 -45,-35 -45,-70"
-               id="path3809-9-6"
-               style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-            <text
-               x="325"
-               y="217.36218"
-               id="text2997-5"
-               xml:space="preserve"
-               style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                             x="325"
-                                                                                                                                                                                                                                                                             y="217.36218"
-                                                                                                                                                                                                                                                                             id="tspan2999-3">Terminé</tspan></text>
-            <rect
-               width="58"
-               height="19"
-               rx="5"
-               ry="5.25"
-               x="322"
-               y="203.36218"
-               id="rect3007-7-6"
-               style="fill:none;stroke:#ff0000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-            <path
-               d="m 315,112.36218 c 13.42024,11.32439 24.04764,43.74151 35,85"
-               id="path3809-9-6-7"
-               style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-            <path
-               d="m 225,197.36218 c 15,15 60,15 95,15"
-               id="path3809-9-6-2"
-               style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" />
-            <path
-               d="m 135,112.36218 c 5,85 20,100 185,105"
-               id="path3809-8"
-               style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" />
-            <text
-               x="225"
-               y="37.362183"
-               id="text4821"
-               xml:space="preserve"
-               style="font-size:9px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                                                               x="225"
-                                                                                                                                                                                                                                                                                                               y="37.362183"
-                                                                                                                                                                                                                                                                                                               id="tspan4823">mise en route</tspan><tspan
-                                                                                                                                                                                                                                                                                                                                                      x="225"
-                                                                                                                                                                                                                                                                                                                                                      y="48.612183"
-                                                                                                                                                                                                                                                                                                                                                      id="tspan4825">par l'ordonnanceur</tspan></text>
-            <text
-               x="220"
-               y="117.36218"
-               id="text4821-3"
-               xml:space="preserve"
-               style="font-size:9px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                                                               x="220"
-                                                                                                                                                                                                                                                                                                               y="112.36218"
-                                                                                                                                                                                                                                                                                                               id="tspan4823-1">interruption</tspan><tspan
-                                                                                                                                                                                                                                                                                                                                                       x="220"
-                                                                                                                                                                                                                                                                                                                                                       y="123.61218"
-                                                                                                                                                                                                                                                                                                                                                       id="tspan4825-7">par l'ordonnanceur</tspan></text>
-            <text
-               x="300"
-               y="187.36218"
-               id="text4821-0"
-               xml:space="preserve"
-               style="font-size:9px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                                                               x="300"
-                                                                                                                                                                                                                                                                                                               y="187.36218"
-                                                                                                                                                                                                                                                                                                               id="tspan4825-74">attente E/S</tspan><tspan
-                                                                                                                                                                                                                                                                                                                                                       x="300"
-                                                                                                                                                                                                                                                                                                                                                       y="198.61218"
-                                                                                                                                                                                                                                                                                                                                                       id="tspan4864">interruption</tspan></text>
-            <text
-               x="180"
-               y="152.36218"
-               id="text4821-0-2"
-               xml:space="preserve"
-               style="font-size:9px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                                                               x="180"
-                                                                                                                                                                                                                                                                                                               y="152.36218"
-                                                                                                                                                                                                                                                                                                               id="tspan4864-7">fin E/S</tspan><tspan
-                                                                                                                                                                                                                                                                                                                                                  x="180"
-                                                                                                                                                                                                                                                                                                                                                  y="163.61218"
-                                                                                                                                                                                                                                                                                                                                                  id="tspan4892">int. traitée</tspan><tspan
-                                                                                                                                                                                                                                                                                                                                                                                        x="180"
-                                                                                                                                                                                                                                                                                                                                                                                        y="174.86218"
-                                                                                                                                                                                                                                                                                                                                                                                        id="tspan4894">…</tspan></text>
-            <text
-               x="360"
-               y="147.36218"
-               id="text4821-0-29"
-               xml:space="preserve"
-               style="font-size:9px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                                                               x="365"
-                                                                                                                                                                                                                                                                                                               y="147.36218"
-                                                                                                                                                                                                                                                                                                               id="tspan4864-1">terminaison</tspan><tspan
-                                                                                                                                                                                                                                                                                                                                                      x="365"
-                                                                                                                                                                                                                                                                                                                                                      y="158.61218"
-                                                                                                                                                                                                                                                                                                                                                      id="tspan4909">normale</tspan></text>
-            <text
-               x="170"
-               y="212.36218"
-               id="text4821-0-7"
-               xml:space="preserve"
-               style="font-size:9px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-                                                                                                                                                                                                                                                                                                               x="170"
-                                                                                                                                                                                                                                                                                                               y="212.36218"
-                                                                                                                                                                                                                                                                                                               id="tspan4864-75">terminaison</tspan><tspan
-                                                                                                                                                                                                                                                                                                                                                       x="170"
-                                                                                                                                                                                                                                                                                                                                                       y="223.61218"
-                                                                                                                                                                                                                                                                                                                                                       id="tspan4935">anormale</tspan></text>
-          </g>
-        </g>
-      </svg>
-    </div>
-    <div class="sws-slide">
-      <h1>La commande <code><em>ps</em></code></h1>
-      <p>Permet d'avoir des informations sur les processus en cours
-        d'exécution (voir « <code>man ps</code> » pour les
-        options):<br/>
-        <code>$ ps -o user,pid,state,cmd x
-          USER     PID   S CMD
-          …
-          kim      27030 Z [chrome] &lt;defunct&gt;
-          kim      27072 S /opt/google/chrome/chrome --type=renderer
-          kim      29146 S bash
-          kim      29834 S evince
-          kim      29858 S emacs cours.xhtml
-          kim      29869 R ps -o user,pid,state,cmd x
-        </code><br/>
-      </p>
-      
-    </div>
-    <div class="sws-slide">
-      <h1>États des processus (sous Linux)</h1>
-      <table class="desc">
-        <tr> <td>R</td> <td> <i>Running</i> (en cours d'exécution)</td> </tr>
-        <tr> <td>S</td> <td> <i>Interruptible sleep</i> (en attente,
-            interruptible) </td> </tr>
-        <tr> <td>D</td> <td> <i>Uninterruptible sleep</i> (en attente,
-            non-interruptible) </td> </tr>
-        <tr> <td>T</td> <td> <i>Stopped</i> (interrompu)</td></tr>
-        <tr> <td>Z</td> <td> <i>Zombie</i> (terminé mais toujours
-            listé par le système)</td> </tr>
-      </table>
-    </div>
-
-    <div class="sws-slide">
-      <h1>Signaux</h1>
-      <p>L'OS peut envoyer des <em>signaux</em> à un processus. Sur réception
-        d'un signal, un processus peut interrompre son comportement normal
-        et exécuter son <em>gestionnaire de signal</em>. Quelques signaux:
-      </p>
-      <table class="simple">
-        <tr><th>Nom</th> <th>Code</th> <th>Description</th> </tr>
-        <tr><td>HUP</td> <td>1</td> <td>demande au processus de
-            s'interrompre</td></tr>
-        <tr><td>INT</td> <td>2</td> <td>demande au processus de se
-            terminer</td></tr>
-        <tr><td>ABRT</td> <td>2</td> <td>interrompt le processus et produit
-            un <i>dump</i></td></tr>
-        <tr><td>KILL</td> <td>9</td> <td>interrompt le processus immédiatement
-        </td></tr>
-        <tr><td>SEGV</td> <td>11</td> <td>signale au processus une erreur mémoire
-        </td></tr>
-        <tr><td>STOP</td> <td>24</td> <td>suspend l'exécution du processus
-        </td></tr>
-        <tr><td>CONT</td> <td>28</td> <td>reprend l'exécution d'un processus suspendu
-        </td></tr>
-      </table>
-    </div>
-    <div class="sws-slide">
-      <h1>Processus et terminal</h1>
-      <p >Un processus est lié au <em>terminal</em> dans lequel il est
-        lancé. Si on exécute un programme dans un terminal et que le
-        processus ne rend pas la main, le terminal est bloqué
-<code >
-
- $ gedit
-
-</code>
-        On peut envoyer au processus le signal <em>STOP</em> en
-        tapant <code>ctrl-Z</code> dans le terminal:
-<code>
-
- $ gedit
- ^Z
- [1]+  Stopped            gedit
 
-</code>
-        Le processus est suspendu, la fenêtre est gelée (ne répond plus).
-      </p>
-    </div>
-    <div class="sws-slide">
-      <h1>Processus et terminal</h1>
-      <p> <span>On peut reprendre l'exécution du programme de deux
-          manières:<br/>
-          <code> $ fg </code><br/>
-          Reprend l'exécution du processus et le remet en avant plan (terminal
-          bloqué)</span><br/>
-        <span class="sws-pause"><code> $ bg </code><br/>
-          Reprend l'exécution du processus et le remet en arrière plan (terminal
-libre)</span><br/>
-        <span class="sws-pause">On peut lancer un programme
-          directement en arrière plan en faisant:<br/>
-<code> $ gedit &amp; </code><br/></span>
-        <span class="sws-pause">On peut envoyer un signal à un
-          processus avec la commande «&nbsp;<code>kill [-signal] pid</code>&nbsp;»<br/>
-<code> $ kill -9 2345  </code></span>
-        </p>
-        </div>
-    <div class="sws-slide">
-      <h1>Processus et entrées/sorties</h1>
-      <p>Le terminal et le processus sont liés par trois fichiers
-      spéciaux:</p>
-      <ol>
-        <li> L'entrée standard (<code><em>stdin</em></code>), reliée
-          au clavier</li>
-        <li> La sortie standard (<code><em>stdout</em></code>), reliée
-          à l'affichage</li>
-        <li> La sortie d'erreur (<code><em>stderr</em></code>), reliée
-          à l'affichage</li>
-      </ol>
-      <p>Dans le <i>shell</i>, on peut utiliser les
-      opérateurs <code><em>&lt;</em></code>, <code><em>&gt;</em></code>
-      et <code><em>2&gt;</em></code> pour récupérer le contenu
-      de <code><em>stdin</em></code>, <code><em>stdout</em></code>
-      et <code><em>stderr</em></code>:<br/>
-<code>
-$ sort &lt; toto.txt
-$ ls -l  &gt; liste_fichiers.txt
-$ ls -l * 2&gt; erreurs.txt
-</code>
-</p>
-</div>
-    <div class="sws-slide">
-      <h1>Processus et entrées/sorties</h1>
-      <p>Dans le <i>shell</i>, l'opérateur <em>|</em> permet
-      d'enchaîner la sortie d'un programme avec l'entrée d'un
-      autre:<br/>
-<code> $ <span style="color:green;">ls -l *.txt</span> | <span style="color:blue">sort -n -r -k 5</span> | <span style="color:orange">head -n 1</span></code>
-      </p>
-      <ol>
-        <li style="color:green;">affiche la liste détaillée des
-        fichiers textes</li>
-        <li style="color:blue;">trie (et affiche) l'entrée standard par ordre
-        numérique décroissant selon le 5ème champ</li>
-        <li style="color:orange;">affiche la première ligne de
-        l'entrée standard</li>
-      </ol>
-      <div style="height:5em;position:relative;margin:0 0;padding:0 0;">
-<code class="sws-onframe-1" style="position:absolute;color:green;"> -rw-rw-r    1 kim kim 471 Sep 14 16:25 bd.txt
- -rw-rw-r    1 kim kim 234 Sep 15 17:46 foo.txt
- -rw-rw-r    1 kim kim 1048576 Sep 24 09:20 large.txt</code>
-<code class="sws-onframe-2" style="position:absolute;color:blue;"> -rw-rw-r    1 kim kim 1048576 Sep 24 09:20 large.txt
- -rw-rw-r    1 kim kim 471 Sep 14 16:25 bd.txt
- -rw-rw-r    1 kim kim 234 Sep 15 17:46 foo.txt
-</code>
-<code class="sws-onframe-3" style="position:absolute;color:orange;"> -rw-rw-r    1 kim kim 1048576 Sep 24 09:20 large.txt
-</code>
-      </div>
-
-    </div>
-<div class="sws-slide">
-  <h1>Processus de type <i>daemon</i></h1>
-<p>
-  Un <i>daemon</i> (prononcé démon) est un processus
-  qui <em>non-interactif</em> qui tourne en tâche de fond (pas
-  d'entrée/sortie sur le terminal, pas d'interface graphique, …). On
-  communique avec ce processus via des <em>signaux</em> ou en lisant
-  ou écrivant dans des fichiers ou connexions réseau. Le plus souvent,
-  leur but est de fournir un <em>service</em>
-</p>
-<p>Exemple de scénario: « <i> Les utilisateurs doivent interagir avec
-    le matériel. L'accès au matériel demande des droits
-    administrateur.</i> »
-</p>
-<ul class="empty">
-  <li>Solution 1 : tout le monde est administrateur (DOS, Win XP,
-  …)</li>
-  <li>Solution 2 : on crée un programme particulier qui a les
-  privilèges suffisants pour la tâche en question. Les utilisateurs
-  communiquent avec ce programme</li>
-</ul>
-</div>
-<div class="sws-slide">
-  <h1>Quelques <i>daemons</i> sous Linux</h1>
-<table class="simple">
-<tr><th>Nom</th> <th>Description</th> </tr>
-<tr><td>sshd</td> <td><i>shell</i> distant sécurisé</td> </tr>
-<tr><td>crond</td> <td>exécution périodique de programmes</td> </tr>
-<tr><td>cupsd</td> <td>serveur d'impressions</td> </tr>
-<tr><td>pulseaudio</td> <td>serveur de son (mixe les sons des
-    différentes applications)</td> </tr>
-<tr><td>udevd</td> <td>détection de matériel <i>hotplug</i></td></tr>
-<tr><td>nfsd</td> <td>serveur de fichier réseau</td></tr>
-<tr><td>smtpd</td> <td>livraison des e-mail</td></tr>
-<tr class="sws-pause"><td><em>httpd</em></td> <td>serveur de pages Web</td></tr>
-</table>
-</div>
-<div class="sws-slide">
-<h1>Architecture client-serveur</h1>
-<svg
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.1"
-   width="256"
-   height="163.70399"
-   id="svg3">
-  <defs
-     id="defs3115">
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend-9"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842-7"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend-2"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842-3"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend-1"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842-71"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="marker4143"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path4145"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend-11"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842-39"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="marker4143-8"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path4145-9"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend-6"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842-1"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="marker4245"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path4247"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend-7"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842-8"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="marker4353"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path4355"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="Arrow2Mend-8"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path3842-4"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-    <marker
-       refX="0"
-       refY="0"
-       orient="auto"
-       id="marker4353-5"
-       style="overflow:visible">
-      <path
-         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
-         transform="scale(-0.6,-0.6)"
-         id="path4355-9"
-         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
-    </marker>
-  </defs>
-  <g
-     transform="translate(-158.9,-91.262203)"
-     id="layer1">
-    <g
-       id="g3947">
-      <g
-         transform="translate(-1.1999969,-3.4960022)"
-         id="g4068">
-        <text
-           x="166.2"
-           y="180.85818"
-           id="text2985"
-           xml:space="preserve"
-           style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-             x="166.2"
-             y="180.85818"
-             id="tspan2987">Client</tspan></text>
-        <rect
-           width="43.800003"
-           height="21.503998"
-           rx="5"
-           ry="5.25"
-           x="161.2"
-           y="165.85818"
-           id="rect3007"
-           style="fill:none;stroke:#ff8305;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-      </g>
-    </g>
-    <g
-       transform="translate(-1.2000122,1.5039978)"
-       id="g3942">
-      <text
-         x="266.20001"
-         y="175.85818"
-         id="text2985-1"
-         xml:space="preserve"
-         style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-           x="266.20001"
-           y="175.85818"
-           id="tspan3164">Serveur</tspan></text>
-      <rect
-         width="53.799988"
-         height="21.503998"
-         rx="5"
-         ry="5.25"
-         x="261.20001"
-         y="160.85818"
-         id="rect3007-8"
-         style="fill:none;stroke:#0000ff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-    </g>
-    <g
-       id="g4097">
-      <path
-         d="m 210,177.36218 c 15,10 30,10 45,0"
-         id="path3809"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-      <path
-         d="m 255.84443,171.31278 c -15,-10 -30,-10 -45,0"
-         id="path3809-5"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-    </g>
-    <g
-       transform="translate(210,0)"
-       id="g3947-5">
-      <g
-         transform="translate(-1.1999969,-3.4960022)"
-         id="g4068-3">
-        <text
-           x="166.2"
-           y="180.85818"
-           id="text2985-0"
-           xml:space="preserve"
-           style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-             x="166.2"
-             y="180.85818"
-             id="tspan2987-3">Client</tspan></text>
-        <rect
-           width="43.800003"
-           height="21.503998"
-           rx="5"
-           ry="5.25"
-           x="161.2"
-           y="165.85818"
-           id="rect3007-5"
-           style="fill:none;stroke:#ff8305;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-      </g>
-    </g>
-    <g
-       transform="translate(109.96827,1.0864348)"
-       id="g4097-7">
-      <path
-         d="m 210,177.36218 c 15,10 30,10 45,0"
-         id="path3809-3"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-      <path
-         d="m 255.84443,171.31278 c -15,-10 -30,-10 -45,0"
-         id="path3809-5-7"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-    </g>
-    <g
-       transform="matrix(0.56532555,0.82486788,-0.82486788,0.56532555,266.51188,-153.17986)"
-       id="g4097-0">
-      <path
-         d="m 210,177.36218 c 15,10 30,10 45,0"
-         id="path3809-2"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-      <path
-         d="m 255.84443,171.31278 c -15,-10 -30,-10 -45,0"
-         id="path3809-5-5"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-    </g>
-    <g
-       transform="translate(40,-70)"
-       id="g3947-3">
-      <g
-         transform="translate(-1.1999969,-3.4960022)"
-         id="g4068-36">
-        <text
-           x="166.2"
-           y="180.85818"
-           id="text2985-2"
-           xml:space="preserve"
-           style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-             x="166.2"
-             y="180.85818"
-             id="tspan2987-4">Client</tspan></text>
-        <rect
-           width="43.800003"
-           height="21.503998"
-           rx="5"
-           ry="5.25"
-           x="161.2"
-           y="165.85818"
-           id="rect3007-7"
-           style="fill:none;stroke:#ff8305;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-      </g>
-    </g>
-    <g
-       transform="translate(165,-70)"
-       id="g3947-1">
-      <g
-         transform="translate(-1.1999969,-3.4960022)"
-         id="g4068-1">
-        <text
-           x="166.2"
-           y="180.85818"
-           id="text2985-9"
-           xml:space="preserve"
-           style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-             x="166.2"
-             y="180.85818"
-             id="tspan2987-6">Client</tspan></text>
-        <rect
-           width="43.800003"
-           height="21.503998"
-           rx="5"
-           ry="5.25"
-           x="161.2"
-           y="165.85818"
-           id="rect3007-6"
-           style="fill:none;stroke:#ff8305;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-      </g>
-    </g>
-    <g
-       transform="matrix(-0.56532555,0.82486788,0.82486788,0.56532555,302.25486,-153.17986)"
-       id="g4097-0-8">
-      <path
-         d="m 210,177.36218 c 15,10 30,10 45,0"
-         id="path3809-2-9"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-      <path
-         d="m 255.84443,171.31278 c -15,-10 -30,-10 -45,0"
-         id="path3809-5-5-7"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-    </g>
-    <g
-       transform="translate(40,70)"
-       id="g3947-3-1">
-      <g
-         transform="translate(-1.1999969,-3.4960022)"
-         id="g4068-36-8">
-        <text
-           x="166.2"
-           y="180.85818"
-           id="text2985-2-8"
-           xml:space="preserve"
-           style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-             x="166.2"
-             y="180.85818"
-             id="tspan2987-4-1">Client</tspan></text>
-        <rect
-           width="43.800003"
-           height="21.503998"
-           rx="5"
-           ry="5.25"
-           x="161.2"
-           y="165.85818"
-           id="rect3007-7-3"
-           style="fill:none;stroke:#ff8305;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-      </g>
-    </g>
-    <g
-       transform="translate(160,70)"
-       id="g3947-1-7">
-      <g
-         transform="translate(-1.1999969,-3.4960022)"
-         id="g4068-1-2">
-        <text
-           x="166.2"
-           y="180.85818"
-           id="text2985-9-4"
-           xml:space="preserve"
-           style="font-size:12.5px;font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:DIN;-inkscape-font-specification:DIN Semi-Bold"><tspan
-             x="166.2"
-             y="180.85818"
-             id="tspan2987-6-0">Client</tspan></text>
-        <rect
-           width="43.800003"
-           height="21.503998"
-           rx="5"
-           ry="5.25"
-           x="161.2"
-           y="165.85818"
-           id="rect3007-6-4"
-           style="fill:none;stroke:#ff8305;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
-      </g>
-    </g>
-    <g
-       transform="matrix(0.56532555,0.82486788,-0.82486788,0.56532555,327.54691,-80.416181)"
-       id="g4097-0-2">
-      <path
-         d="m 210,177.36218 c 15,10 30,10 45,0"
-         id="path3809-2-3"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-      <path
-         d="m 255.84443,171.31278 c -15,-10 -30,-10 -45,0"
-         id="path3809-5-5-5"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-    </g>
-    <g
-       transform="matrix(-0.56532555,0.82486788,0.82486788,0.56532555,242.10224,-81.191343)"
-       id="g4097-0-3">
-      <path
-         d="m 210,177.36218 c 15,10 30,10 45,0"
-         id="path3809-2-7"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-      <path
-         d="m 255.84443,171.31278 c -15,-10 -30,-10 -45,0"
-         id="path3809-5-5-9"
-         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
-    </g>
-  </g>
-</svg>
-<p>
-  <br/><br/>
-  Des processus <span style="color:blue;">clients</span> communiquent
-  avec le <span style="color:orange;">serveur</span> à travers le
-  réseau. Les clients sont indépendant et ne communiquent pas entre
-  eux. <em>Attention</em> plusieurs clients peuvent se trouver su la
-  même machine physique!
-</p>
-</div>
-<div class="sws-slide">
-  <h1>Architecture client-serveur</h1>
-<ul>
-  <li>Le serveur attend des connexions entrantes</li>
-  <li>Les clients peuvent se connecter à tout moment</li>
-  <li>L'application client est généralement légère, envoie une
-  requête au serveur et attend un résultat</li>
-  <li>Le serveur est une application plus lourde qui:
-    <ul><li>effectue des calculs trop coûteux pour le client</li>
-      <li>gère l'accès à une ressource distante partagée<br/>…</li>
-    </ul>
-  </li>
-</ul>
-<p>Exemples: serveur de bases de données, serveur mail, serveur Web,
-  terminal de carte bancaire, …</p>
-</div>
   </body>
 </html>
index beb1272..b0264bd 100644 (file)
@@ -4,7 +4,7 @@
           >
 <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
-    <title>Programmation Internet</title>
+    <title>Web et HTML</title>
 
     <meta http-equiv="Content-Type"
           content="text/html; charset=utf-8" />
@@ -35,7 +35,7 @@
     </script>
   </head>
   <body>
-
+    <a class="sws-previous" href="prog_internet_03.xhtml" />
     <div class="sws-slide sws-cover sws-option-nofooter">
       <h1>Programmation Internet</h1>
       <h1>Cours 4</h1>
@@ -59,7 +59,7 @@
         </li>
       </ol>
     </div>
-
+    <h1>Internet et ses services </h1>
     <div class="sws-slide">
       <h1> Bref historique d'Internet (1/2)</h1>
       <table class="desc">
         </li>
       </ol>
     </div>
-
+    <h1> Fonctionnement du Web </h1>
     <div class="sws-slide">
       <h1>Fonctionnement du Web</h1>
       <div style="text-align:center;">
         </li>
       </ol>
     </div>
+    <h1> Adressage des documents Web </h1>
     <div class="sws-slide">
       <h1>Adressage des documents Web (1/3)</h1>
       <table class="desc">
       <p>devient</p>
       <code>      /home/kn/public_html/index.html</code>
     </div>
+
+    <h1>Le protocole HTTP</h1>
     <div class="sws-slide" >
       <h1> Plan </h1>
       <ol >
         </li>
       </ol>
     </div>
+
     <div class="sws-slide">
       <h1>Caractéristiques du protocole HTTP</h1>
       <ul>
     <div class="sws-slide">
       <h1>Démo</h1>
     </div>
+    <h1>HTML, le format des documents</h1>
     <div class="sws-slide" >
       <h1> Plan </h1>
       <ol >
index 91d1ff4..3c32ca0 100644 (file)
@@ -4,7 +4,7 @@
           >
 <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
-    <title>Programmation Internet</title>
+    <title>CSS</title>
 
     <meta http-equiv="Content-Type"
           content="text/html; charset=utf-8" />
@@ -35,6 +35,7 @@
     </script>
   </head>
   <body>
+    <a href="prog_internet_04.xhtml" class="sws-previous"/>
 
     <div class="sws-slide sws-cover sws-option-nofooter">
       <h1>Programmation Internet</h1>
       <a href="mailto:kn@lri.fr">kn@lri.fr</a><br/>
       <a href="http://www.lri.fr/~kn/">http://www.lri.fr/~kn</a>
     </div>
-
-    <div class="sws-slide" >
-      <h1> Plan </h1>
-      <div>
-      <ol >
-        <li class="done"> Systèmes d'exploitation</li>
-        <li class="done"> Réseaux et Internet</li>
-        <li class="done"> Le Web </li>
-        <li > CSS
-          <ul class="empty">
-            <li class="hl">4.1 Introduction</li>
-            <li>4.2 Boîtes</li>
-            <li>4.3 Selecteurs</li>
-          </ul>
-        </li>
-      </ol>
-      </div>
-    </div>
-
+    <h1>Introduction</h1>
     <div class="sws-slide">
       <h1>Cascading Style Sheets (CSS)</h1>
       <table class="desc">
       </ul>
     </div>
     <div class="sws-slide">
-      <h1> L'attribut <tt>style</tt></h1>
-      <code> <![CDATA[ <a href="http://www.u-psud.fr" style="color:red">Un lien</a>]]>
+      <h1>L'attribut <tt>style</tt></h1>
+      <code> <![CDATA[ <a href="http://www.u-psud.fr" style="]]><em>color:red</em><![CDATA[">Un lien</a>]]>
       </code>
       <p>Apperçu:      </p>
       <p style="width:80%; margin-left:5%; border-style:solid;border-width:1pt;border-color:gray;">
        <a href="http://www.u-psud.fr" style="color:red;text-decoration:underline;">Un lien</a>
       </p>
-      <p class="sws-pause">Inconvénient: il faut copier l'attribut
-      style pour tous les liens de la page.
-      </p>
+      <p class="sws-pause">Inconvénients :</p>
+      <ul> <li>il faut copier l'attribut
+      style pour tous les liens de la page</li>
+        <li>modification de tous les éléments difficiles</li>
+      </ul>
     </div>
 
     <div class="sws-slide">
-      <h1> Internet </h1>
-      <ul>
-        <li> Ensemble de logiciels et protocoles basés sur <em>TCP/IP</em>
-          </li>
-        <li> Modèle Client/Serveur</li>
-        <li> Un serveur fournit un service:
-          <ul>
-            <li>courriel</li>
-            <li>transfert de fichier (ftp)</li>
-            <li>connexion à distance (ssh)</li>
-            <li>Web (http)</li>
-          </ul>
-          </li>
-        <li> Plusieurs services peuvent être actifs sur la même
-        machine (serveur). Un <em>port (identifiant numérique)</em>
-        est associé à chaque service. Sur Internet, un service est
-        identifié par:
-          <ul>
-            <li>L'adresse IP de la machine sur lequel il fonctionne</li>
-            <li>Le numéro de port sur lequel le programme attend les
-            connexions</li>
-          </ul>
-        </li>
-      </ul>
+      <h1>L'élément <tt>style</tt></h1>
+      <code><![CDATA[  <html>
+    <head>
+       <title>…</title>
+       <style>
+]]>       <em>a { color: red; }</em>
+<![CDATA[      </style>
+    </head>
+    <body>
+      <a href="…">Lien 1</a> <a href="…">Lien 2</a>
+    </body>
+  </html>]]></code>
+      <p>Apperçu :</p>
+      <p style="width:80%; margin-left:5%; border-style:solid;border-width:1pt;border-color:gray;">
+       <a href="…" style="color:red;text-decoration:underline;">Lien
+       1</a>
+       <a href="…" style="color:red;text-decoration:underline;">Lien 2
+       </a>
+      </p>
+      <p>Inconvénient : local à une page</p>
     </div>
     <div class="sws-slide">
-      <h1> Exemples de services </h1>
-      <table class="simple" style="width:100%">
-        <tr><th  style="width:10%">Service</th>
-          <th style="width:40%">Protocole</th>
-          <th  style="width:5%">Port</th>
-          <th style="width:45%;">Description</th>
-        </tr>
-        <tr>
-          <td>ftp</td> <td >File Transfer Protocol</td> <td>
-          20,21 </td> <td>Transfert de fichiers</td> </tr>
-        <tr> <td>telnet</td> <td>Network Virtual
-        Terminal</td> <td>23</td> <td>Shell à distance</td></tr>
-        <tr> <td>ssh</td> <td>Secure Shell</td> <td>22</td><td>Shell à
-        distance crypté</td></tr>
-        <tr> <td>mail</td><td>Simple Mail Transfer
-        Protocol</td> <td>25</td> <td>Envoi de mail</td></tr>
-        <tr><td>pop</td> <td>Post Office
-        Protocol</td> <td>110</td><td>Récupération de mail</td></tr>
-        <tr><td>imap</td> <td>Internet Message Access
-        Protocol</td> <td>143</td><td>Synchronisation de mails</td></tr>
-        <tr><td>nslookup</td> <td>Domain Name
-        System</td> <td>42</td> <td>Serveur de noms</td></tr>
-        <tr ><td><em>http</em></td> <td>Hyper Text Transfer Protocole</td><td>80</td><td>Web</td></tr>
-
-      </table>
+      <h1>Fichier <tt>.css</tt> séparé</h1>
+      <p>Fichier <tt>style.css</tt>:</p>
+      <p style="margin-left:5%;width:80%;margin-right:5%;border-width:1pt;border-style:solid">
+        <code >a { color: red; }</code>
+      </p>
+      <p>Fichier <tt>test.html</tt>:</p>
+      <p style="margin-left:5%;width:80%;margin-right:5%;border-width:1pt;border-style:solid">
+        <code >  <![CDATA[<html>
+    <head>
+    …
+    ]]><em>&lt;link href="style.css" type="text/css" rel="stylesheet" /&gt;</em>
+<![CDATA[    </head>
+    …
+  </html>]]></code>
+      </p>
+      <p class="sws-pause">Modifications &amp; déploiement aisé</p>
     </div>
     <div class="sws-slide">
-      <h1> World Wide Web (1/2)</h1>
+      <h1>Syntaxe</h1>
+      <p>Une <em>propriété</em> CSS est définie en utilisant la
+      syntaxe:
+      </p>
+      <p style="text-align:center"><tt> nom_prop : val_prop
+      ; </tt></p>
       <ul>
-        <li>Service de distribution de page <em>hypertexte</em></li>
-        <li>Une page <em>hypertexte</em> contient des références
-          immédiatement accessibles à d'autres pages (pointeurs
-          ou <em>liens hypertextes</em>)</li>
-        <li>Les pages sont décrites dans le
-          langage <em>HTML</em> (HyperText Markup Language) </li>
-        <li>Architecture client/serveur:
-          <ul>
-            <li>Les pages sont stockées sur le serveur</li>
-            <li>Les pages sont envoyées au client (navigateur Web) qui
-              en assure le rendu</li>
-          </ul>
+        <li>Si on utilise l'attribut <tt>style</tt> d'un
+        élément:<code>
+ <![CDATA[<a href="…" style="]]><em>color:red;border-style:solid;border:1pt;</em><![CDATA[">Lien 1</a>]]>
+          </code>
         </li>
-        <li>Utilise le protocole <em>HTTP</em> pour les échanges entre
-          le client et le serveur</li>
+        <li>Si on utilise un fichier <tt>.css</tt> ou une feuille de
+        style:<code>
+  a {
+         <em>color : red;
+         border-style: solid;
+         border: 1pt;</em>
+    }
+  h1 {   /* Le style des titres de niveau 1 */
+         text-decoration: underline;
+         color: green;
+     }
+</code></li>
       </ul>
     </div>
-
+<h1>Boîtes</h1>
     <div class="sws-slide">
-      <h1> World Wide Web (2/2)</h1>
-      <p>Concepts clé:</p>
+      <h1> Unités de longueur</h1>
+      <p>CSS permet de spécifier des longueurs comme valeurs de
+      certaines propriétés (position et taille des éléments, épaisseur
+      des bordures, …). Les longueurs <em>doivent</em> comporter une
+      unité. Les unités reconnues sont:</p>
       <table class="desc">
-        <tr><td>URL</td> <td>localisation d'une page Web (« adresse de
-        la page »)</td> </tr>
-        <tr><td>HTTP</td> <td>protocole de communication entre un
-        client et un serveur Web</td> </tr>
-        <tr><td>HTML</td> <td>langage de description des pages
-        Web</td> </tr>
+        <tr><td style="width:3em" >px</td> <td>pixel</td> </tr>
+        <tr><td>in</td> <td>pouce (2,54cm)</td> </tr>
+        <tr><td>cm</td> <td>centimètre</td> </tr>
+        <tr><td>mm</td> <td>millimètre</td> </tr>
+        <tr><td>pt</td> <td>point (1/72<up>ème</up> de pouce, 0,35mm) </td></tr>
+        <tr><td>pc</td> <td>pica (12 points)</td></tr>
+        <tr><td>em</td> <td>facteur de la largeur d'un caractère de la police
+        courante</td></tr>
+        <tr><td>ex</td> <td>facteur de la hauteur d'un caractère « x »
+        de la police courante</td></tr>
+        <tr><td>%</td> <td>pourcentage d'une valeur particulière
+        (définie par propriété)</td></tr>
+        <tr><td >vh</td> <td  class="css3"><i>viewport height</i> (% de la
+        hauteur de la partie visible de la page)</td></tr>
+        <tr  style="background:white"><td>vw</td> <td  class="css3"><i>viewport
+         width</i> (% de la largeur de la partie visible de la
+         page)</td></tr>
       </table>
-      <p>Évolutions récentes (Web 2.0, internet mobile, <i>Cloud</i>, …)</p>
-      <ul>
-        <li>Standardisation du contenu multimédia (images, vidéos et
-        sons en <i>streaming</i>)</li>
-        <li>Contenu interactif avancé (stockage de fichier coté
-        client, rendu 3D, …)</li>
-        <li>Uniformisation de nombreuses extensions <i>ad-hoc</i>: HTML5</li>
-      </ul>
     </div>
 
 
-    <div class="sws-slide" >
-      <h1> Plan </h1>
-      <ol >
-        <li class="done" > Systèmes d'exploitation</li>
-        <li class="done" > Réseaux et Internet </li>
-        <li> Le Web
-          <ul class="empty">
-            <li class="done">3.1 Internet et ses services</li>
-            <li class="hl" >3.2 Fonctionnement du Web</li>
-            <li class="">3.3 Adressage des documents Web </li>
-            <li>3.4 Le protocole HTTP</li>
-            <li>3.5 HTML, le format des documents</li>
-          </ul>
-        </li>
-      </ol>
-    </div>
-
     <div class="sws-slide">
-      <h1>Fonctionnement du Web</h1>
-      <div style="text-align:center;">
-        <img style="width:90%;height:50%;" src="cours_4.svg"
-        type="image/svg+xml" />
-      </div>
+      <h1>Boîte</h1>
 
+      <p >Chaque élément de la page HTML possède une <em>boîte
+      rectangulaire</em> qui délimite le contenu de l'élément:
+      </p>
+      <div style="text-align:center;vertical-align:text-bottom;">
+        <span class="b0" style="color:black;">← <span style="padding:0 24vh 0
+        25vh;"> width </span><span style="padding-right:10vh">→</span><br/>
+        <span id="b1" style="display:inline-block;
+                     color:black;
+                     padding:0 4vh 4vh 4vh;
+                     border:dotted 2pt black;"><i>margin</i> (marge)<br/>
+          <span  id="b2" style="display:inline-block;
+                                padding:0 4vh 4vh 4vh;
+                                color:white;background:black">
+            <i>border</i> (bordure)<br/>
+            <span  id="b3" style="display:inline-block;padding:0 3vh 3vh 3vh;
+                                  background:white;color:black;border:dotted
+                                  2pt black">
+              <i>padding</i> (ajustement)<br/>
+              <span style="border:dotted 2pt black;
+                           background:white;
+                           position:relative;
+                           display:inline-block;
+                           font-size:15vh;
+                           width:2.8em;
+                           height:12vh;">
+                <span style="color:red;
+                             top:-5vh;
+                             left:0vh;
+                             position:absolute;
+                             text-decoration:underline;
+                             padding:0 0 0 0;
+                             margin: 0 0 0 0;
+                             ">Lien 1
+                </span>
+              </span>
+            </span>
+          </span>
+        </span>
+        </span><span  class="b0" style="color:black;vertical-align:top;display:inline-block;font-size:large;height:100%;">↑<br/><br/><br/><br/>
+          height<br/><br/><br/><br/>↓
+        </span>
+      </div>
+      <script type="text/javascript">
+        function all(e) {
+        return $(e).children("*").addBack()
+        }
+        function hide(e) {
+        all(e).css('visibility', 'hidden');
+        };
+        function show(e) {
+        all(e).css('visibility', 'visible');
+        }
+        SWS.Presentation.registerCallback("0", function(c) {
+        hide(".b0");hide("#b1"); hide("#b2"); hide("#b3");
+        
+        });
+        SWS.Presentation.registerCallback("1", function(c) {
+        hide(".b0");hide("#b1"); hide("#b2"); show("#b3");
+        });
+        SWS.Presentation.registerCallback("2", function(c) {
+        hide(".b0");hide("#b1"); show("#b2"); show("#b3");
+        });
+        SWS.Presentation.registerCallback("3", function(c) {
+        hide(".b0");show("#b1"); show("#b2"); show("#b3");
+        });
+        SWS.Presentation.registerCallback("4", function(c) {
+        show(".b0");show("#b1"); show("#b2"); show("#b3");
+        });
+      </script>
+      <p class="sws-onframe-5">La <em>taille t du contenu</em> est calculée pour que:<br/>
+        <tt>(height|width) = padding + margin + border + t</tt>
+      </p>
     </div>
-
-    <div class="sws-slide">
-      <h1>Côté client</h1>
-      <p>Le navigateur :</p>
-      <ul>
-        <li>Analyse l'URL demandée</li>
-        <li>Obtient l'adresse IP auprès du serveur DNS</li>
-        <li>Établit une connexion (potentiellement sécurisée) avec le serveur</li>
-        <li>Envoie une <em>requête HTTP</em> au serveur</li>
-        <li>Récupère la page envoyée par le serveur dans
-        sa <em>réponse</em></li>
-        <li>Analyse la page et récupère les éléments référencés :
-        images, sons, …</li>
-        <li>Effectue le traitement du code client</li>
-        <li>Met en forme le contenu et l'affiche dans la fenêtre</li>
-      </ul>
-    </div>
-
     <div class="sws-slide">
-      <h1>Côté serveur</h1>
-      <ul>
-        <li>Un <i>listener</i> (<i>thread</i> particulier) attend les
-        connexions sur un port par défaut (80 dans le cas de HTTP)</li>
-        <li>À chaque nouvelle connexion, le <i>listener</i> crée
-        un <i>thread</i> de traitement et se remet en attente
-        </li>
-        <li>Le <i>thread</i> de traitement vérifie la validité de la
-        requête :
-          <ul>
-            <li>le document demandé existe ?
-              </li>
-            <li>le client est autorisé à accéder au document ?
-              </li>
-            <li>…</li>
-          </ul>
-        </li>
-        <li>Le <i>thread</i> de traitement répond à la requête :
-          <ul>
-            <li>Exécution de code côté serveur, récupération de
-            données dans une BD, …
-              </li>
-            <li>Envoi de la page au client
-              </li>
-          </ul>
-        </li>
+      <h1>Marge, bordure, ajustement</h1>
+      <p>On peut spécifier jusqu'à 4 valeurs:</p>
+      <ul><li>1 valeur: toutes les dimensions égales à cette
+      valeur</li>
+        <li>2 valeurs: haut et bas égal à la première valeur, gauche
+          et droite égale à la deuxième</li>
+        <li>3 valeurs: haut à la première valeur, gauche
+          et droite égale à la deuxième, bas égal à la troisième</li>
+        <li>4 valeurs: haut, droit, bas, gauche</li>
       </ul>
-    </div>
-
-    <div class="sws-slide" >
-      <h1> Plan </h1>
-      <ol >
-        <li class="done" > Systèmes d'exploitation</li>
-        <li class="done" > Réseaux et Internet </li>
-        <li> Le Web
-          <ul class="empty">
-            <li class="done">3.1 Internet et ses services</li>
-            <li class="done" >3.2 Fonctionnement du Web</li>
-            <li class="hl">3.3 Adressage des documents Web </li>
-            <li>3.4 Le protocole HTTP</li>
-            <li>3.5 HTML, le format des documents</li>
-          </ul>
-        </li>
-      </ol>
+      <code style="font-size:smaller;">  span {
+      padding:10pt 20pt 5pt 0pt;
+      margin:10pt 5pt;
+      border-width:3pt;
+      border-color:red blue green;
+      border-style:solid dotted;
+    } </code>
+      <div style="text-align:center;">Du <span style="padding:10pt
+      20pt 5pt 0pt;margin:10pt 5pt;border-style:solid dotted;border-width:3pt;border-color:red blue green;">texte</span> dans une boite
+      </div>
     </div>
     <div class="sws-slide">
-      <h1>Adressage des documents Web (1/3)</h1>
+      <h1>Modes d'affichage</h1>
+      <p>La propriété <em><i>display</i></em> contrôle le mode
+      d'affichage d'un élément:
+      </p>
       <table class="desc">
-        <tr><td>URL</td><td> <i>Uniform Resource Locator</i>
-        identifie un document sur internet</td></tr>
+        <tr><td>none</td><td>l'élément n'est pas dessiné et n'occupe
+        pas d'espace</td></tr>
+        <tr><td style="width:4em;">inline</td><td>l'élément est placé sur la ligne
+        courante, dans le flot de texte. La taille du contenu (avec
+        les marges, ajustements et bordures) dicte la
+        taille de la boîte, <tt>height</tt> et <tt>width</tt> sont
+        ignorés (<tt><![CDATA[<i>, <b>, <span>, <em>, …]]></tt>
+        sont <i>inline</i> par défaut). </td></tr>
+        <tr><td>block</td><td>l'élément est placé seul sur sa
+        ligne. La taille est calculée automatiquement mais peut être
+        modifiée par <tt>width</tt> et <tt>height</tt>
+        (<tt><![CDATA[<div>, <h1>, <p>, …]]></tt>
+        sont <i>block</i> par défaut)</td></tr>
+        <tr><td>inline-block</td><td>positionné comme <i>inline</i>
+        mais la taille peut être modifiée comme pour <i>block</i></td></tr>
+
       </table>
-      <p>Une URL se décompose en 3 partie</p>
-      <ul><li><em>protocole</em> (comment ?)</li>
-        <li><span style="color:orange;">adresse</span> (où ?)</li>
-        <li><span style="color:blue;">document</span> (quoi ?)</li>
-      </ul>
-      <p>Syntaxe (simplifiée) :</p>
-      <code>            <em>protocole</em>://<span style="color:orange">adresse</span>/<span style="color:blue;">document</span></code>
-      <p>Exemple :</p>
-      <code>            <em>http</em>://<span style="color:orange">www.lri.fr</span>/<span style="color:blue;">~kn/teach_fr.html</span></code>
     </div>
-
     <div class="sws-slide">
-      <h1>Adressage des documents Web (2/3)</h1>
-      <p>On peut aussi préciser <span style="color:purple;">un numéro
-      de port</span>, des <span style="color:black;">paramètres</span>
-      et un <span style="color:red;">emplacement</span> :
-      </p>
-      <code>            <em>protocole</em>://<span style="color:orange">adresse</span>:<span style="color:purple">port</span>/<span style="color:blue;">document</span>?<span style="color:black;">p1=v1</span>&amp;<span style="color:black;">p2=v2</span>#<span style="color:red">empl</span></code>
-      <p class="sws-pause" >Exemple :</p>
-      <code>    <a style="color:gray" href="http://www.youtube.com:80/results?search_query=tbbt#search-results"><em>http</em>://<span style="color:orange">www.youtube.com</span>:<span style="color:purple">80</span>/<span style="color:blue;">results</span>?<span style="color:black;">search_query=tbbt</span>#<span style="color:red">search-results</span></a></code>
-      <p>Le serveur utilise les paramètres passés par le client dans
-      l'URL pour <i>calculer</i> le contenu de la page (changer la
-      chaîne « <code>tbbt</code> » ci-dessus et essayer)</p>
+      <h1>Modes d'affichage (exemples)</h1>
+      <div>
+        <div style="width:39%;margin:0 5%;border-style:solid; border-width:0 1pt 0 0;border-color:black;float:left;">
+          <tt>a { display: inline; … } </tt>
+        </div>
+        <div style="width:50%;float:left;">
+          Le <span style="border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 1</span>,
+          le <span style="border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 2</span> et
+          le <span style="border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 3</span>.
+        </div>
+      </div>
+      <div >
+        <div style="width:39%;margin:0 5%;border-style:solid; border-width:0 1pt 0 0;border-color:black;float:left;">
+          <tt>a { display: block; … } </tt>
+        </div>
+        <div style="width:50%;float:left;">
+          Le <span style="display:block;border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 1</span>,
+          le <span style="display:block;border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 2</span> et
+          le <span style="display:block;border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 3</span>.
+        </div>
+      </div>
+      <div>
+        <div style="width:39%;margin:0 5%;border-style:solid; border-width:0 1pt 0 0;border-color:black;float:left;">
+          <code>a { display: inline-block;
+    width: 4em;
+    height: 2em;
+  … } </code>
+        </div>
+        <div style="width:50%;float:left;">
+          Le <span style="display:inline-block;width:4em;height:2em;border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 1</span>,
+          le <span style="display:inline-block;width:4em;height:2em;border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 2</span> et
+          le <span style="display:inline-block;width:4em;height:2em;border:solid 1pt
+          blue;color:blue;text-decoration:underline;">lien 3</span>.
+        </div>
+      </div>
     </div>
     <div class="sws-slide">
-      <h1>Adressage des documents Web (3/3)</h1>
-      <p>
-        La <em>racine</em> d'un site Web
-        (ex: <em><code>http://www.lri.fr/</code></em>) correspond
-        à un répertoire sur le disque du serveur
-        (ex: <em><code>/var/www</code></em>). Le fichier</p>
-      <code>      http://www.lri.fr/index.html</code>
-      <p>se trouve à l'emplacement</p>
-      <code>      /var/www/index.html</code>
-      <p>Le serveur Web peut aussi effectuer des <em>réécritures
-      d'adresses</em> :</p>
-      <code>      http://www.lri.fr/~kn/index.html</code>
-      <p>devient</p>
-      <code>      /home/kn/public_html/index.html</code>
-    </div>
-    <div class="sws-slide" >
-      <h1> Plan </h1>
-      <ol >
-        <li class="done" > Systèmes d'exploitation</li>
-        <li class="done" > Réseaux et Internet </li>
-        <li> Le Web
-          <ul class="empty">
-            <li class="done">3.1 Internet et ses services</li>
-            <li class="done" >3.2 Fonctionnement du Web</li>
-            <li class="done">3.3 Adressage des documents Web </li>
-            <li class="hl">3.4 Le protocole HTTP</li>
-            <li>3.5 HTML, le format des documents</li>
-          </ul>
-        </li>
-      </ol>
+      <h1>Positionnement</h1>
+      <p>Le type de positionnement est donné par la
+      propriété <em>position</em></p>
+      <table class="desc">
+        <tr><td>static</td><td>positionnement « automatique
+        » </td></tr>
+        <tr><td>fixed</td><td>positionnement par rapport à la fenêtre
+        du navigateur (la boîte est supprimée du flot)</td></tr>
+        <tr><td>relative</td><td>positionnement « relatif » par
+        rapport à la position normale</td></tr>
+        <tr><td style="width:5em;">absolute</td><td>positionnement « absolu » par rapport
+        à l'ancêtre le plus proche qui n'est pas <i>static</i></td></tr>
+      </table>
+      <p>Pour <tt>fixed</tt>, <tt>relative</tt> et <tt>absolute</tt>,
+      les propriétés <tt>top</tt>, <tt>bottom</tt>, <tt>left</tt>
+      et <tt>right</tt> dénotent les décalages respectifs.
+      </p>
     </div>
     <div class="sws-slide">
-      <h1>Caractéristiques du protocole HTTP</h1>
-      <ul>
-        <li>Sans connexion permanente:
-          <ul>
-            <li>Le client se connecte au serveur, envoie sa requête,
-            se déconnecte</li>
-            <li>Le serveur se connecte au client, envoie sa réponse,
-              se déconnecte</li>
-          </ul>
-        </li>
-        <li>Indépendant du contenu : permet d'envoyer des documents
-        (hyper) texte, du son, des images, …</li>
-        <li>Sans <em>état</em>: chaque paire requête/réponse est
-        indépendante (le serveur ne maintient pas d'information sur le
-          client entre les requêtes)</li>
-        <li>Protocole en mode <em>texte</em></li>
+      <h1>Positionnement (exemple)</h1>
+      <div>
+        <div style="45%;margin:0 4%;float:left;"><code>
+<span style="color:#02a">  a { position: static;
+    … }</span>
+<span style="color:#0a2">  a { position: fixed;
+    right:10pt;
+    top: 10pt;
+  }</span></code></div>
+        <div style="width:50%;float:left;"><code>
+<span style="color:#a20">  a { position: relative;
+    left: 10pt;
+    bottom: -5pt;
+    … }</span>
+<span style="color:#a2a">  a { position:absolute;
+    right:0pt;
+    bottom: 10pt;
+  }</span></code>
+        </div><code><![CDATA[    <ul style="position:relative;"><li>…</li> …</ul>]]></code>
+      </div><br/>
+      <ul style="position:relative;float:right;background:#ddd;">
+        <li>Positionnement <span style="position:static;color:#02a">static</span></li>
+        <li>Positionnement <span style="position:fixed;right:10pt;top:10pt;color:#0a2">fixed
+        (right:10pt,top:10pt)</span></li>
+        <li>Positionnement <span style="position:relative;left:10pt;bottom:-5pt;color:#a20">relative
+        (left:10pt,bottom:-5pt)</span></li>
+        <li>Positionnement <span style="position:absolute;right:0pt;bottom:10pt;color:#a2a">absolute
+        (right:10pt,bottom:10pt)</span></li>
+
       </ul>
     </div>
+    <h1>Autres propriétés</h1>
     <div class="sws-slide">
-      <h1>Format des messages HTTP</h1>
-      <p>Les messages ont la forme suivante</p>
-      <ul><li>Ligne initiale CR LF</li>
-        <li>zéro ou plusieurs lignes d'option CR LF</li>
-        <li>CR LF</li>
-        <li>Corp du message (document envoyé, paramètres de la
-        requête, …)</li>
-      </ul>
-      <ul><li><em>Requête</em> la première ligne contient un nom
-      de <em>méthode</em> (GET, POST, HEAD, …), le paramètre de la
-      méthode et la version du protocole</li>
-        <li><em>Réponse</em> la version du protocole, le code de la
-        réponse (200, 404, 403, …) et un message informatif
-        </li>
+      <h1>Couleurs</h1>
+      <p>Les couleurs peuvent être données:</p>
+      <ul>
+        <li>par nom
+        symbolique: <span style="color:red">red</span>,
+          <span style="color:blue">blue</span>,
+          <span style="color:purple">purple</span>,
+        …</li>
+        <li>en
+        hexadécimal: <tt>#<span style="color:red">xx</span><span style="color:green">yy</span><span style="color:blue">zz</span></tt>, avec
+        <tt>00 ≤ xx,yy,zz ≤ ff</tt></li>
+        <li>en
+        décimal: <tt>rgb(<span style="color:red">x</span>, <span style="color:green">y</span>, <span style="color:blue">z</span>)</tt>,
+        avec         <tt>0 ≤ x,y,z ≤ 255</tt></li>
+        <li class="css3">en
+        décimal avec
+        transparence: <tt >rgba(<span style="color:red">x</span>, <span style="color:green">y</span>, <span style="color:blue">z</span>,
+        a)</tt>,
+        avec         <tt>0 ≤ x,y,z ≤ 255</tt> et <tt>0 ≤ a ≤ 1 </tt></li>
+        
       </ul>
     </div>
     <div class="sws-slide">
-      <h1>Démo</h1>
-    </div>
-    <div class="sws-slide" >
-      <h1> Plan </h1>
-      <ol >
-        <li class="done" > Systèmes d'exploitation</li>
-        <li class="done" > Réseaux et Internet </li>
-        <li> Le Web
-          <ul class="empty">
-            <li class="done">3.1 Internet et ses services</li>
-            <li class="done" >3.2 Fonctionnement du Web</li>
-            <li class="done">3.3 Adressage des documents Web </li>
-            <li class="done">3.4 Le protocole HTTP</li>
-            <li class="hl">3.5 HTML, le format des documents</li>
-          </ul>
-        </li>
-      </ol>
-    </div>
-    <div class="sws-slide">
-      <h1>HTML</h1>
-      <p>
-        <em>HyperText Markup Language</em> : langage de mise en forme
-        de documents hypertextes (texte + liens vers d'autres
-        documents). Développé au CERN en 1989.<br/>
-        <em>1991</em> : premier navigateur en mode texte<br/>
-        <em>1993</em> : premier navigateur graphique (mosaic)
-        développé au NCSA (National Center for Supercomputing
-        Applications)
-      </p>
+      <h1>Propriétés du texte</h1>
+      <p>Certaines propriétés permettent d'alterer le rendu du texte
+      d'un élément</p>
+      <table class="desc">
+        <tr><td>direction</td><td><tt>ltr</tt> ou <tt>rtl</tt>
+        (orientation du texte)</td></tr>
+        <tr> <td>text-transform</td> <td><tt>capitalize</tt>, <tt>uppercase</tt>, <tt>lowercase</tt>
+        </td></tr>
+        <tr> <td>text-decoration</td> <td><tt>underline</tt>, <tt>overline</tt>, <tt>line-through</tt> </td></tr>
+        <tr> <td>text-align</td> <td><tt>left</tt>, <tt>right</tt>, <tt>center</tt>, <tt>justify</tt></td></tr>
+      <tr><td>text-indent</td> <td><tt>longueur du retrait de paragraphe</tt></td></tr>
+      </table>
     </div>
     <div class="sws-slide">
-      <h1>Document HTML</h1>
-      <ul><li> est un document <em>semi-structuré</em></li>
-        <li> dont la structure est donnée par
-        des <em>balises</em></li>
-      </ul>
-      <div>
-      <table class="btable simple" style="width:90%;margin-left:5%">
-        <thead>
-          <tr><th style="width:65%;">Exemple</th> <th>Rendu par défaut</th></tr>
-        </thead>
-        <tr><td ><tt><![CDATA[Un texte <b>en gras</b> ]]></tt></td><td>Un
-        texte <b>en gras</b></td></tr>
-        <tr><td ><code><![CDATA[<a href="http://www.u-psud.fr">Un lien</a> ]]></code></td> 
-          <td><a style="color:blue;text-decoration:underline;"
-        href="http://www.u-psud.fr">Un lien</a></td></tr>
-        <tr><td><code><![CDATA[<ul>
-  <li>Premièrement</li>
-  <li>Deuxièmement</li>
-</ul> ]]></code></td> <td><ul>
-<li>Premièrement</li>
-<li>Deuxièmement</li>
-</ul>
+      <h1>Propriétés de la police</h1>
+      <table class="desc">
+        <tr><td>font-family</td><td>liste de nom de polices séparées
+        par des virgules (<tt>Helvetica, sans, "Times New Roman"</tt>)</td></tr>
+        <tr> <td>font-style</td> <td><tt>normal</tt>, <tt>italic</tt>    </td></tr>
+        <tr> <td>font-weight</td> <td><tt>normal</tt>, <tt>lighter</tt>, <tt>bold</tt>, <tt>bolder</tt> </td></tr>
+        <tr> <td style="width:6.5em;">font-size</td> <td> soit une longueur
+        soit <tt>xx-small</tt>, <tt>x-small</tt>, <tt>small</tt>, <tt>medium</tt>, 
+            <tt>large</tt>, <tt>x-large</tt>, <tt>xx-large</tt>
 </td></tr>
       </table>
-      </div>
-<p>On dit que <em><tt><![CDATA[<toto>]]></tt></em> est une balise <em>
-    ouvrante</em> et <em><tt><![CDATA[</toto>]]></tt></em> une
-    balise <em>fermante</em>. On peut
-    écrire <em><tt><![CDATA[<toto/>]]></tt></em> comme raccourci pour
-    <tt><![CDATA[<toto></toto>]]></tt>.
-</p>
-    </div>
-    <div class="sws-slide">
-      <h1>Historique du langage HTML</h1>
-<table class="desc">
-  <tr><td style="width:3em;">1973</td> <td>GML, Generalised Markup Language développé chez
-IBM. Introduction de la notion de balise.</td></tr>
-<tr><td>1980</td><td> SGML, Standardised GML, adopté par l'ISO</td></tr>
-<tr><td>1989</td><td> HTML, basé sur SGML. Plusieurs entreprises (microsoft,
-netscape, ... ) interprètent le standard de manière
-différente</td></tr>
-<tr><td>1996</td> <td>XML, eXtensible Markup Language norme pour les
-documents semi-structurés (SGML simplifié)</td></tr>
-<tr><td>2000</td><td> XHTML, version de HTML suivant les conventions
-    XML</td></tr>
-<tr><td>2008</td><td> Première proposition pour le nouveau standard,
-    HTML5</td></tr>
-<tr><td>2014</td><td>Standardisation de HTML5</td></tr>
-</table>
+      <p class="css3" >On peut aussi spécifier un descripteur de
+      police</p>
+      <code>
+        @font-face {
+          font-family: Toto;
+          src: url(toto.ttf);
+        }
+        a { font-family: Toto; }
+      </code>
     </div>
-
+    <h1>Selecteurs</h1>
     <div class="sws-slide">
-      <h1>XHTML <i>vs</i> HTML</h1>
-      <p>On utilise XHTML dans le cours. Différences avec HTML:</p>
-      <ul>
-        <li>
-          Les balises sont <em>bien parenthésées</em>
-          (<tt><![CDATA[<a> <c> </c> ]]> <span style="color:red">&lt;/b&gt;</span></tt> est interdit)
-        </li>
-        <li>Les balises sont en minuscules</li>
-      </ul>
-      <p>Les avantages sont les suivants</p>
-      <ul><li>HTML autorise les mélanges majuscule/minuscule, de ne
-      pas fermer certaines balise … Les navigateurs corrigent ces
-      erreurs de manières <em>différentes</em></li>
-        <li>Le document est <em>structuré</em> comme un programme
-        informatique (les balises ouvrantes/fermantes correspondent à
-        { et }). Plus simple à débugger.</li>
-      </ul>
+      <h1>Selecteurs</h1>
+      <p>On peut sélectionner finement les éléments auxquels un style
+      s'applique</p>
+            <table class="desc">
+        <tr><td><tt>x</tt></td><td>tous les éléments dont la balise
+        est <tt>x</tt></td></tr>
+        <tr> <td><tt>.foo</tt></td> <td>tous les éléments dont
+        l'attribut <tt>class</tt> vaut <tt>foo</tt></td></tr>
+        <tr><td><tt>#foo</tt></td><td>l'élément dont l'attribut
+        <tt>id</tt> vaut <tt>foo</tt> (les <tt>id</tt> doivent être uniques)</td></tr>
+        <tr> <td><tt>X Y</tt></td> <td>tous les éléments
+        selectionnés par <tt>Y</tt> qui sont des descendants d'éléments
+        sélectionnés par <tt>X</tt></td></tr>
+        <tr> <td><tt>X &gt; Y</tt></td> <td>tous les éléments dont
+        selectionné par <tt>Y</tt> qui sont des fils d'éléments
+        sélectionnés par <tt>X</tt></td></tr>
+        <tr><td style="width:7em;"><tt>a:visited</tt></td><td>les liens déjà
+        visités</td></tr>
+        <tr><td><tt>a:link</tt></td><td>les liens non
+        visités</td></tr>
+        <tr><td><tt>X:hover</tt></td><td>élément selectionné
+        par <tt>X</tt> et survollé par la souris</td></tr>
+      </table>
+            <code>           div.foo ul li a:visited { color: red; } </code>
     </div>
-<div class="sws-slide">
-  <h1>Rôle d'(X)HTML</h1>
-  <p>Séparer la <em>structure</em> du document de
-  son <em>rendu</em>. La structure donne une <em>sémantique</em> au
-  document :</p>
-  <ul>
-    <li>ceci est un titre</li>
-    <li>ceci est un paragraphe</li>
-    <li>ceci est un ensemble de caractères importants</li>
-  </ul>
-  <p>Cela permet au navigateur d'assurer un rendu en fonction de la
-  sémantique. Il existe différents types de rendus:</p>
-  <ul>
-    <li>graphique interactif (Chrome, Firefox, Internet Explorer,
-    …)</li>
-    <li>texte interactif (Lynx, navigateur en mode texte)</li>
-    <li>graphique statique (par ex: sur livre électronique)</li>
-    <li>rendu sur papier</li>
-    <li>graphique pour petit écran (terminal mobile)</li>
-  </ul>
-</div>
-<div class="sws-slide">
-  <h1>Exemple de document</h1>
-  <p style="text-align:center;font-size:smaller;">(liste des balises
-  données sur la feuille de TD 4!)</p>
-<div style="margin-left:10%;">
-<code style="font-size:smaller;"><![CDATA[  <!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" xml:lang="fr" >
-    <head>
-      <title>Un titre</title>
-      <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-    </head>
-    <body>
-      <h1>Titre de section</h1>
-      <p> premier paragraphe de texte. On met
-      un <a href="http://www.lri.fr">lien</a> ici.
-      </p>
-      <!-- on peut aussi mettre des commentaires -->
     </body>
-  </html>]]></code>
-</div>
-</div>
-  </body>
 </html>
index a42c85e..794eed4 100644 (file)
@@ -164,6 +164,19 @@ body > h1, body > h2, body > h3 {
 
 p { width: 100%; }
 
+/* counters for the toc */
+
+.sws-toc ul {
+    counter-reset: list-item;
+}
+
+.sws-toc li {
+    counter-increment: list-item;
+
+}
+.sws-toc li::marker {
+    content : counters(list-item, '.');
+}
 
 
 /*             Control Panel             */
index cd19624..f42811d 100644 (file)
@@ -293,8 +293,9 @@ SWS.Presentation = new function () {
         if (_initialized) return;
         //jQuery does not seem to work well
         //on a partial DOM
-
-        var slide_num = $(".sws-slide").length - 1;
+        var slides = $(".sws-slide");
+        var h1s = $("body").children("h1");
+        var slide_num = slides.add(h1s).length - 1;
 
         SWS.Utils.push2(_slide_callbacks, slide_num,{ 'fn': f, 'frame': i });
 
@@ -490,6 +491,53 @@ SWS.Presentation = new function () {
 
     }
 
+    self.buildFullTOC = function () {
+
+        var build_sections = function (doc) {
+            var res = [];
+            var h1s = doc.find("body").first().children("h1");
+            var slides = doc.find("body").first().children(".sws-slide");
+            var slide_num = 1;
+            var collection = h1s.add(slides);
+            collection.each (function () {
+                if ($(this).is("h1")) {
+                    res.push({ 'title' : $(this).text(),
+                               'slide' : slide_num });
+                } else {
+                    slide_num++;
+                }
+            });
+            return res;
+        };
+
+        var toc = [];
+
+        var append = function (a,e) {
+            return a.push(e);
+        };
+        var prepend = function (a,e) {
+            return a.unshift(e);
+        };
+
+        var loop = function (doc, dir, add, ignoreFirst) {
+            if (ignoreFirst !== true) {
+                var this_toc = { 'title' : doc.find("title").first().text(),
+                                 'sections' : build_sections(doc) };
+                add(toc, this_toc);
+            };
+            var url = doc.find(dir).first().attr("href");
+            if (!SWS.Utils.isUndefined(url) && url != "") {
+                $.ajax({ 'url' : url, 'async' : false ,'success' : function (page) {
+                    loop ($(page), dir, add, false);
+                }});
+            };
+        };
+        loop ($(document), ".sws-previous", prepend, false);
+        return toc;
+
+    };
+
+
 
     var _xstart = 0;
     self.inputHandler = function (event) {
@@ -706,11 +754,38 @@ SWS.Presentation = new function () {
         $("html").addClass("sws-display");
         //$(window).resize(self.redraw);
 
+        var slides = $(".sws-slide");
+        var h1s = $("body").children("h1");
+        var slide_num = slides.add(h1s).length - 1;
 
-
-        _total_slides = $(".sws-slide").length;
+        _total_slides = $(".sws-slide").add($("body").children("h1")).length;
 
         var cur = self.getCurrentSlide();
+        var toc = self.buildFullTOC();
+        var common_html = "<div class='sws-slide sws-toc'><h1>Plan</h1><ul style='list-style-type:none'>";
+        var i;
+        for (i= 0; i < toc.length - 1; i++)
+            common_html += "<li class='done'>" + (i+1) +
+            ' ' + toc[i].title + "</li>";
+
+        common_html += "<li>" + toc.length + ' ' + toc[toc.length - 1].title;
+        common_html += "<ul style='list-style-type:none' >";
+        var sections = toc[toc.length - 1].sections;
+        $("body").children("h1").each(function (i) {
+            var this_html = common_html;
+            var j;
+            var secnum = toc.length + '.';
+            for (j = 0; j < i; ++j)
+                this_html += "<li class='done'>" + secnum + (j+1) + ' ' + 
+                sections[j].title + "</li>";
+            this_html += "<li class='hl'>" + secnum + (i+1) + ' ' +
+                sections[i].title + "</li>";
+            for (j = i+1; j < sections.length; j++)
+                this_html += "<li>" + secnum + (j+1) + ' ' 
+                +sections[j].title + "</li>";
+            this_html += "</ul></li></ul></div>";
+            $(this).after(this_html);
+        });
 
         $(".sws-slide").each(function (i) {
 
@@ -786,6 +861,8 @@ SWS.Presentation = new function () {
 
         _slide_callbacks = null; /* avoid a leak */
         var passed_theme = SWS.Utils.getParameterByName("theme");
+
+
         //workaround weird chrome CSS loading bug
         var f =
             function () {
index df9f424..eb41dbb 100644 (file)
@@ -23,6 +23,8 @@ h1 {
     background: white;
     padding: 0 0 0 0;
     margin: 0 0 0 0;
+    /* allows the canvas to cover the logo needed */
+    z-index:2;
 }
 
 .sws-footer {
@@ -37,10 +39,12 @@ h1 {
     display:block;
     width:10vh;
     height:10vh;
+    color:red;
     content:"";
     background-size: 10vh;
     background-image: url("upsud.png");
     background-repeat: no-repeat;
+    z-index: -1;
 }
 
 .sws-slide-num-sep:after {
@@ -76,6 +80,8 @@ p {
     text-align:justify;
 
 }
+
+
 code, pre, tt {
     font-family: 'Inconsolata', monospace;
     color: #494948;
@@ -131,15 +137,14 @@ table.desc {
 }
 
 table.desc tr {
+    margin: 0 0 0 0;
+    padding: 0 0 0 0;
+
 }
 table.desc td {
     vertical-align: top;
     text-align: justify;
-    padding-bottom: 3vh;
-}
-
-table.desc tr:last-child td {
-    padding-bottom:0;
+    margin: 0 0 0 0;
 }
 
 table.desc td:first-child {
@@ -218,4 +223,13 @@ table.simple th{
 table.simple th,
 table.simple tr {
     vertical-align:top;
+}
+.css3:after {
+    content:"CSS3";
+    color:white;
+    background: #0a64a4;
+    border-radius:0.25em;
+    font-size:small;
+    margin: 0.25em;
+    padding:0.1em;
 }
\ No newline at end of file