diff --git a/shukan/ShukanView.java b/shukan/ShukanView.java
index ae1e69d648e07f99aac8ae8cb895c44b0a5f9340..fca4fa21df28c9dee6d69c4cda10a578e11cd927 100644
--- a/shukan/ShukanView.java
+++ b/shukan/ShukanView.java
@@ -98,14 +98,12 @@ public class ShukanView extends JPanel
   /** Displayed data */
   private ShukanData data = null;
 
-
-
   /** Creates the shukan viewer.
    */
   public ShukanView (ShukanData data, ShukanIO myIO)
   {
     this.data = data;
-    this.myIO = myIO;
+    this.myIO = myIO;  
   }
 
   /** Saves Shukan data in a file.
@@ -149,7 +147,7 @@ public class ShukanView extends JPanel
     fontMetrics = g2.getFontMetrics ();
     fontHeight = fontMetrics.getAscent ();
     int i;
-    for (i = 0; i <= nbModules; i++)
+    for (i = 0; i <= nbModules + 2; i++)
     {
       int y = appliHeight - (i + 1) * 3 * textHeight + 2*textHeight;
 
@@ -217,26 +215,29 @@ public class ShukanView extends JPanel
 
   /** Updates the application size.
    */
-  private void adaptSize(int width, int height) {
-    if (data != null) {
-      nbWeeks = data.semesterSize();
-      nbModules = data.numberOfModules();
+  private void adaptSize (int width, int height)
+  {
+    if (data != null)
+    {
+      nbWeeks = data.semesterSize ();
+      nbModules = data.numberOfModules ();
 
       // Height
-      textHeight = (int) (height / (3.0f * nbModules +1));
-      appliHeight = textHeight * 3 * (nbModules +1);
+      textHeight = (int) (height / (3.0f * (nbModules + 2)));
+      appliHeight = textHeight * 3 * (nbModules + 2);
 
       // Width
       activWidth = width / (ShukanModule.MAX_ACTIV_PER_WEEK * (nbWeeks + 2));
       weekWidth = activWidth * ShukanModule.MAX_ACTIV_PER_WEEK;
       appliWidth = weekWidth * (nbWeeks + 2);
-    } else {
+    }
+    else
+    {
       appliWidth = STD_APPLI_WIDTH;
       appliHeight = STD_APPLI_HEIGHT;
     }
   }
 
-
   /** Displays the calendar grid background.
    */
   private void displayCalendar (Graphics2D g2)
@@ -289,7 +290,7 @@ public class ShukanView extends JPanel
       if (durations[i] != wd)
       {
         int start = (int) ((durations[i] * weekWidth) / (float) wd);
-        drawBox (g2, (2 + i) * weekWidth + start, 2 * textHeight,
+        drawBox (g2, (2 + i) * weekWidth + start, 5* textHeight,
                      weekWidth - start, appliHeight - 3 * textHeight);
       }
 
@@ -298,14 +299,28 @@ public class ShukanView extends JPanel
     for (int i = 2; i <= nbWeeks + 1; i++)
       drawVLine (g2, i * weekWidth, 0, appliHeight);
     // Lines
-    for (int i = 0; i <= nbModules ; i++)
+    for (int i = 0; i <= nbModules +1 ; i++)
       drawHLine (g2, 0, (2 + 3 * i) * textHeight, appliWidth);
 
     // Texts : semester and load name
-    drawText (g2, 0, appliHeight - textHeight,
-                  2 * weekWidth, textHeight, data.cursusName ());
-    drawText (g2, 0, textHeight,
-                  2 * weekWidth, textHeight, data.loadName ());
+    drawText (g2, 0, appliHeight - textHeight, 2 * weekWidth, textHeight, data.cursusName ());
+    drawText (g2, 0, textHeight - 1, 2 * weekWidth, textHeight, data.loadName ());
+
+
+    drawText (g2, 0, 3 * textHeight, 2* weekWidth, textHeight, data.studentName());
+
+    for (int i = 0; i < nbWeeks; i++)
+        {
+            int[] weekNumbers = data.weekNumbers ();
+            int[] hour = data.weekDurations ();
+            drawText (g2, (i + 2) * weekWidth, 61,
+                            weekWidth, textHeight, "" + data.studentLoad(i));
+            drawText (g2, (2 + i) * weekWidth, 0,
+                            weekWidth, 106, "/" + hour[i]);
+        }
+
+
+
     // Texts : weeks
     int[] weekNumbers = data.weekNumbers ();
     for (int i = 0; i < nbWeeks; i++)
@@ -483,15 +498,9 @@ public class ShukanView extends JPanel
         if (mod_start!=0) mod_start-=data.startWeekNumber();
         int nb_act = data.scheduleInWeek(num_mod, mod_start).length;
 
-
-        data.addNewActivity(cursus, num_mod, nb_act, ShukanModule.TYPES[num_act]);
-        data.scheduleActivity(cursus, num_mod, nb_act, mod_start);
-        data.setOnMiddle(cursus, num_mod, nb_act, true);
-        int[] weeks = data.schedule(num_mod);
-        data.unscheduleActivities(cursus, num_mod);
-        data.setSchedule(cursus, num_mod, weeks);
-
-
+        data.addActivity(cursus, num_mod, data.activityCount(cursus, num_mod), ShukanModule.TYPES[num_act]);
+        data.scheduleActivity(cursus, num_mod, data.activityCount(cursus, num_mod)-1, mod_start);
+        data.setOnMiddle(cursus, num_mod, data.activityCount(cursus, num_mod)-1, nb_act);
         repaint();
         f.dispose();
       }