diff --git a/ex_01(TutoQt)/ex_01.pro b/ex_01(TutoQt)/ex_01.pro
deleted file mode 100644
index acd0112..0000000
--- a/ex_01(TutoQt)/ex_01.pro
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Ce fichier est lu par le programme qmake pour générer le Makefile
-#
-
-QT             += core gui opengl
-CONFIG += -std=c++11
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET   = ex_01
-TEMPLATE = app
-
-SOURCES += \
-    main_qt_gl.cc \
-    glwidget.cc
-
-HEADERS += \
-    glwidget.h \
-    vertex_shader.h
-
-RESOURCES += \
-    resource.qrc
diff --git a/ex_01(TutoQt)/fragment_shader.glsl b/ex_01(TutoQt)/fragment_shader.glsl
deleted file mode 100644
index 2f77fe7..0000000
--- a/ex_01(TutoQt)/fragment_shader.glsl
+++ /dev/null
@@ -1,6 +0,0 @@
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_FragColor = vec4(ma_couleur, 1.0);
-}
diff --git a/ex_01(TutoQt)/glwidget.cc b/ex_01(TutoQt)/glwidget.cc
deleted file mode 100644
index ccdbb64..0000000
--- a/ex_01(TutoQt)/glwidget.cc
+++ /dev/null
@@ -1,114 +0,0 @@
-#include <QMatrix4x4>
-#include "glwidget.h"
-#include "vertex_shader.h" // Identifiants Qt de nos différents attributs
-
-// ======================================================================
-void GLWidget::initializeGL()
-{
-  /* Initialise notre vue OpenGL.
-   * Dans cet exemple, nous créons et activons notre shader.
-   *
-   * En raison du contenu des fichiers *.glsl, le shader de cet exemple
-   * NE permet QUE de dessiner des primitives colorées 
-   * (pas de textures, brouillard, reflets de la lumière ou autres).
-   *
-   * Il est séparé en deux parties VERTEX et FRAGMENT.
-   * Le VERTEX :
-   * - récupère pour chaque sommet des primitives de couleur (dans
-   *     l'attribut couleur) et de position (dans l'attribut sommet)
-   * - multiplie l'attribut sommet par les matrices 'vue_modele' et
-   *     'projection' et donne le résultat à OpenGL
-   *   - passe la couleur au shader FRAGMENT.
-   *
-   * Le FRAGMENT :
-   *   - applique la couleur qu'on lui donne
-   */
-
-  prog.addShaderFromSourceFile(QGLShader::Vertex,   ":/vertex_shader.glsl");
-  prog.addShaderFromSourceFile(QGLShader::Fragment, ":/fragment_shader.glsl");
-
-  /* Identifie les deux attributs du shader de cet exemple
-   * (voir vertex_shader.glsl).
-   *
-   * L'attribut identifié par 0 est particulier, il permet d'envoyer un
-   * nouveau "point" à OpenGL
-   * 
-   * C'est pourquoi il devra obligatoirement être spécifié et en dernier 
-   * (après la couleur dans cet exemple, voir plus bas).
-   */
-
-  prog.bindAttributeLocation("sommet",  SommetId);
-  prog.bindAttributeLocation("couleur", CouleurId);
-  
-  // Compilation du shader OpenGL
-  prog.link();
-
-  // Activation du shader
-  prog.bind();
-
-  /* Activation du "Test de profondeur" et du "Back-face culling"
-   * Le Test de profondeur permet de dessiner un objet à l'arrière-plan
-   * partielement caché par d'autres objets.
-   * 
-   * Le Back-face culling consiste à ne dessiner que les face avec ordre 
-   * de déclaration dans le sens trigonométrique.
-   */
-  glEnable(GL_DEPTH_TEST);
-  glEnable(GL_CULL_FACE);
-}
-
-// ======================================================================
-void GLWidget::resizeGL(int width, int height)
-{
-  /* On commence par dire sur quelle partie de la 
-   * fenêtre OpenGL doit dessiner.
-   * Ici on lui demande de dessiner sur toute la fenêtre.
-   */
-  glViewport(0, 0, width, height);
-
-  /* Puis on modifie la matrice de projection du shader.
-   * Pour ce faire on crée une matrice identité (constructeur 
-   * par défaut), on la multiplie par la droite par une matrice
-   * de perspective.
-   * Plus de détail sur cette matrice
-   *     http://www.songho.ca/opengl/gl_projectionmatrix.html
-   * Puis on upload la matrice sur le shader avec la méthode
-   * setUniformValue
-   */
-  QMatrix4x4 matrice;
-  matrice.perspective(70.0, qreal(width) / qreal(height ? height : 1.0), 1e-3, 1e5);
-  prog.setUniformValue("projection", matrice);
-}
-
-// ======================================================================
-void GLWidget::paintGL()
-{
-  // On commence par effacer ce qu'il y avait à l'écran
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-  
-  /* Puis on crée une matrice identitée (constructeur par défaut)
-   * que l'on multiplie à droite par une matrice de translation
-   * avec comme vecteur de translation (0,0,-2).
-   * Finalement, on envoie cette matrice au shader.
-   * 
-   * Sur notre shader (voir les sources .glsl), il y a deux matrices
-   * projection et vue_modele.
-   * Les sommets dessinés seront multipliés par la matrice vue_modele
-   * puis par projection avant d'être dessiné sur l'écran.
-   */
-  QMatrix4x4 matrice;
-  matrice.translate(0.0, 0.0, -2.0);
-  prog.setUniformValue("vue_modele", matrice);
-
-  // On dessine un joli triangle coloré
-  glBegin(GL_TRIANGLES);
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 0.0); // rouge
-  prog.setAttributeValue(SommetId,  0.0, 0.0, 0.0);
-
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 0.0); // vert
-  prog.setAttributeValue(SommetId,  1.0, 0.0, 0.0);
-
-  prog.setAttributeValue(CouleurId, 0.0, 0.0, 1.0); // bleu
-  prog.setAttributeValue(SommetId,  1.0, 1.0, 0.0);
-  glEnd();
-}
diff --git a/ex_01(TutoQt)/glwidget.h b/ex_01(TutoQt)/glwidget.h
deleted file mode 100644
index 199b9a3..0000000
--- a/ex_01(TutoQt)/glwidget.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef GLWIDGET_H
-#define GLWIDGET_H
-
-#include <QGLWidget>        // Classe pour faire une fenêtre OpenGL
-#include <QGLShaderProgram> // Classe qui wrap les fonctions OpenGL liées aux shaders
-
-class GLWidget : public QGLWidget
-/* La fenêtre hérite de QGLWidget ;
- * les événements (clavier, souris, temps) sont des méthodes virtuelles à redéfinir.
- */
-{
-public:
-  GLWidget(QWidget* parent = nullptr)
-    : QGLWidget(parent) {}
-  virtual ~GLWidget() {}
-
-private:
-  // Les 3 méthodes clés de la classe QGLWidget à réimplémenter
-  virtual void initializeGL()                  override;
-  virtual void resizeGL(int width, int height) override;
-  virtual void paintGL()                       override;
-
-  // Un shader OpenGL encapsulé dans une classe Qt
-  QGLShaderProgram prog;
-};
-
-#endif // GLWIDGET_H
diff --git a/ex_01(TutoQt)/main_qt_gl.cc b/ex_01(TutoQt)/main_qt_gl.cc
deleted file mode 100644
index 60bb9a5..0000000
--- a/ex_01(TutoQt)/main_qt_gl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <QApplication>
-#include "glwidget.h"
-
-int main(int argc, char* argv[])
-{
-  QApplication a(argc, argv);
-  GLWidget w;
-  w.show();
-
-  return a.exec();
-}
diff --git a/ex_01(TutoQt)/resource.qrc b/ex_01(TutoQt)/resource.qrc
deleted file mode 100644
index 7329486..0000000
--- a/ex_01(TutoQt)/resource.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/">
-        <file>fragment_shader.glsl</file>
-        <file>vertex_shader.glsl</file>
-    </qresource>
-</RCC>
diff --git a/ex_01(TutoQt)/vertex_shader.glsl b/ex_01(TutoQt)/vertex_shader.glsl
deleted file mode 100644
index 7494cd6..0000000
--- a/ex_01(TutoQt)/vertex_shader.glsl
+++ /dev/null
@@ -1,13 +0,0 @@
-attribute vec3 sommet;
-attribute vec3 couleur;
-
-uniform mat4 projection;
-uniform mat4 vue_modele;
-
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_Position = projection * vue_modele * vec4(sommet, 1.0);
-  ma_couleur = couleur;
-}
diff --git a/ex_01(TutoQt)/vertex_shader.h b/ex_01(TutoQt)/vertex_shader.h
deleted file mode 100644
index 53e0582..0000000
--- a/ex_01(TutoQt)/vertex_shader.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef VERTEX_SHADER_H
-#define VERTEX_SHADER_H
-
-enum Vertex_Shader_Attribute_Id {
-  SommetId = 0,
-  CouleurId,
-};
-
-#endif
diff --git a/ex_02(TutoQt)/Qt_GL/Qt_GL.pro b/ex_02(TutoQt)/Qt_GL/Qt_GL.pro
deleted file mode 100644
index eeecdf1..0000000
--- a/ex_02(TutoQt)/Qt_GL/Qt_GL.pro
+++ /dev/null
@@ -1,24 +0,0 @@
-QT             += opengl
-QMAKE_CXXFLAGS += -std=c++11
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = ex_02_gl
-
-INCLUDEPATH = ../general
-
-SOURCES += \
-    main_qt_gl.cc \
-    glwidget.cc \
-    vue_opengl.cc
-
-HEADERS += \
-    glwidget.h \
-    vertex_shader.h \
-    vue_opengl.h \
-    ../general/dessinable.h \
-    ../general/support_a_dessin.h \
-    ../general/contenu.h
-    
-RESOURCES += \
-    resource.qrc
diff --git a/ex_02(TutoQt)/Qt_GL/fragment_shader.glsl b/ex_02(TutoQt)/Qt_GL/fragment_shader.glsl
deleted file mode 100644
index 2f77fe7..0000000
--- a/ex_02(TutoQt)/Qt_GL/fragment_shader.glsl
+++ /dev/null
@@ -1,6 +0,0 @@
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_FragColor = vec4(ma_couleur, 1.0);
-}
diff --git a/ex_02(TutoQt)/Qt_GL/glwidget.cc b/ex_02(TutoQt)/Qt_GL/glwidget.cc
deleted file mode 100644
index 8a71b39..0000000
--- a/ex_02(TutoQt)/Qt_GL/glwidget.cc
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <QKeyEvent>
-#include <QTimerEvent>
-#include <QMatrix4x4>
-#include "glwidget.h"
-
-// ======================================================================
-void GLWidget::initializeGL()
-{
-  vue.init();
-}
-
-// ======================================================================
-void GLWidget::resizeGL(int width, int height)
-{
-  /* On commance par dire sur quelle partie de la 
-   * fenêtre OpenGL doit dessiner.
-   * Ici on lui demande de dessiner sur toute la fenêtre.
-   */
-  glViewport(0, 0, width, height);
-
-  /* Puis on modifie la matrice de projection du shader.
-   * Pour ce faire on crée une matrice identité (constructeur 
-   * par défaut), on la multiplie par la droite par une matrice
-   * de perspective.
-   * Plus de détail sur cette matrice
-   *     http://www.songho.ca/opengl/gl_projectionmatrix.html
-   * Puis on upload la matrice sur le shader à l'aide de la
-   * méthode de la classe VueOpenGL
-   */
-  QMatrix4x4 matrice;
-  matrice.perspective(70.0, qreal(width) / qreal(height ? height : 1.0), 1e-3, 1e5);
-  vue.setProjection(matrice);
-}
-
-// ======================================================================
-void GLWidget::paintGL()
-{
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-  c.dessine();
-}
-
diff --git a/ex_02(TutoQt)/Qt_GL/glwidget.h b/ex_02(TutoQt)/Qt_GL/glwidget.h
deleted file mode 100644
index 5eace9f..0000000
--- a/ex_02(TutoQt)/Qt_GL/glwidget.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef GLWIDGET_H
-#define GLWIDGET_H
-
-#include <QGLWidget>        // Classe pour faire une fenêtre OpenGL
-#include "vue_opengl.h"
-#include "contenu.h"
-
-class GLWidget : public QGLWidget
-/* La fenêtre hérite de QGLWidget ;
- * les événements (clavier, souris, temps) sont des méthodes virtuelles à redéfinir.
- */
-{
-public:
-  GLWidget(QWidget* parent = nullptr)
-    : QGLWidget(parent)
-    , c(&vue)
-  {}
-  virtual ~GLWidget() {}
-
-private:
-  // Les 3 méthodes clés de la classe QGLWidget à réimplémenter
-  virtual void initializeGL()                  override;
-  virtual void resizeGL(int width, int height) override;
-  virtual void paintGL()                       override;
-
-  // Vue : ce qu'il faut donner au contenu pour qu'il puisse se dessiner sur la vue
-  VueOpenGL vue;
-
-  // objets à dessiner
-  Contenu c;
-};
-
-#endif // GLWIDGET_H
diff --git a/ex_02(TutoQt)/Qt_GL/main_qt_gl.cc b/ex_02(TutoQt)/Qt_GL/main_qt_gl.cc
deleted file mode 100644
index 60bb9a5..0000000
--- a/ex_02(TutoQt)/Qt_GL/main_qt_gl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <QApplication>
-#include "glwidget.h"
-
-int main(int argc, char* argv[])
-{
-  QApplication a(argc, argv);
-  GLWidget w;
-  w.show();
-
-  return a.exec();
-}
diff --git a/ex_02(TutoQt)/Qt_GL/resource.qrc b/ex_02(TutoQt)/Qt_GL/resource.qrc
deleted file mode 100644
index 7329486..0000000
--- a/ex_02(TutoQt)/Qt_GL/resource.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/">
-        <file>fragment_shader.glsl</file>
-        <file>vertex_shader.glsl</file>
-    </qresource>
-</RCC>
diff --git a/ex_02(TutoQt)/Qt_GL/vertex_shader.glsl b/ex_02(TutoQt)/Qt_GL/vertex_shader.glsl
deleted file mode 100644
index 7494cd6..0000000
--- a/ex_02(TutoQt)/Qt_GL/vertex_shader.glsl
+++ /dev/null
@@ -1,13 +0,0 @@
-attribute vec3 sommet;
-attribute vec3 couleur;
-
-uniform mat4 projection;
-uniform mat4 vue_modele;
-
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_Position = projection * vue_modele * vec4(sommet, 1.0);
-  ma_couleur = couleur;
-}
diff --git a/ex_02(TutoQt)/Qt_GL/vertex_shader.h b/ex_02(TutoQt)/Qt_GL/vertex_shader.h
deleted file mode 100644
index 53e0582..0000000
--- a/ex_02(TutoQt)/Qt_GL/vertex_shader.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef VERTEX_SHADER_H
-#define VERTEX_SHADER_H
-
-enum Vertex_Shader_Attribute_Id {
-  SommetId = 0,
-  CouleurId,
-};
-
-#endif
diff --git a/ex_02(TutoQt)/Qt_GL/vue_opengl.cc b/ex_02(TutoQt)/Qt_GL/vue_opengl.cc
deleted file mode 100644
index 6a73d85..0000000
--- a/ex_02(TutoQt)/Qt_GL/vue_opengl.cc
+++ /dev/null
@@ -1,133 +0,0 @@
-#include "vue_opengl.h"
-#include "vertex_shader.h" // Identifiants Qt de nos différents attributs
-#include "contenu.h"
-
-// ======================================================================
-void VueOpenGL::dessine(Contenu const& a_dessiner)
-{
-  Q_UNUSED(a_dessiner); // Dans cet exemple simple, on n'utilise pas le paramètre.
-  
-  /* Création d'une matrice pour modifier le point de vue.                    *
-   * Cette matrice sera appliquée aux 8 sommets du cube.                      *
-   * Au départ, la matrice est la matrice identité (constructeur par défaut). */
-  QMatrix4x4 matrice; 
-
-  // Multiplie la matrice à droite par une matrice de translation (0, 0, -4).
-  matrice.translate(0.0, 0.0, -4.0);  
-
-  // Multiplie la matrice à droite par une matrice de rotation de 60 degrés autour de l'axe Y.
-  matrice.rotate(60.0, 0.0, 1.0, 0.0);
-
-  // Multiplie la matrice à droite par une matrice de rotation de 45 degrés autour de l'axe Z.
-  matrice.rotate(45.0, 0.0, 0.0, 1.0); 
-
-  // Dessine le cube
-  dessineCube(matrice);
-}
-
-// ======================================================================
-void VueOpenGL::init()
-{
-  /* Initialise notre vue OpenGL.
-   * Dans cet exemple, nous créons et activons notre shader.
-   *
-   * En raison du contenu des fichiers *.glsl, le shader de cet exemple
-   * NE permet QUE de dessiner des primitives colorées 
-   * (pas de textures, brouillard, reflets de la lumière ou autres).
-   *
-   * Il est séparé en deux parties VERTEX et FRAGMENT.
-   * Le VERTEX :
-   * - récupère pour chaque sommet des primitives de couleur (dans
-   *     l'attribut couleur) et de position (dans l'attribut sommet)
-   * - multiplie l'attribut sommet par les matrices 'vue_modele' et
-   *     'projection' et donne le résultat à OpenGL
-   *   - passe la couleur au shader FRAGMENT.
-   *
-   * Le FRAGMENT :
-   *   - applique la couleur qu'on lui donne
-   */
-
-  prog.addShaderFromSourceFile(QGLShader::Vertex,   ":/vertex_shader.glsl");
-  prog.addShaderFromSourceFile(QGLShader::Fragment, ":/fragment_shader.glsl");
-
-  /* Identifie les deux attributs du shader de cet exemple
-   * (voir vertex_shader.glsl).
-   *
-   * L'attribut identifié par 0 est particulier, il permet d'envoyer un
-   * nouveau "point" à OpenGL
-   * 
-   * C'est pourquoi il devra obligatoirement être spécifié et en dernier 
-   * (après la couleur dans cet exemple, voir plus bas).
-   */
-
-  prog.bindAttributeLocation("sommet",  SommetId);
-  prog.bindAttributeLocation("couleur", CouleurId);
-  
-  // Compilation du shader OpenGL
-  prog.link();
-
-  // Activation du shader
-  prog.bind();
-
-  /* Activation du "Test de profondeur" et du "Back-face culling"
-   * Le Test de profondeur permet de dessiner un objet à l'arrière-plan
-   * partielement caché par d'autres objets.
-   * 
-   * Le Back-face culling consiste à ne dessiner que les face avec ordre 
-   * de déclaration dans le sens trigonométrique.
-   */
-  glEnable(GL_DEPTH_TEST);
-  glEnable(GL_CULL_FACE);
-}
-
-// ======================================================================
-void VueOpenGL::dessineCube (QMatrix4x4 const& point_de_vue)
-{
-  // Passe la matrice point_de_vue au shader
-  prog.setUniformValue("vue_modele", point_de_vue);
-
-  glBegin(GL_QUADS);
-  // face coté X = +1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 0.0); // rouge
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-
-  // face coté X = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 0.0); // vert
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-
-  // face coté Y = +1
-  prog.setAttributeValue(CouleurId, 0.0, 0.0, 1.0); // bleu
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-
-  // face coté Y = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 1.0); // cyan
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-
-  // face coté Z = +1
-  prog.setAttributeValue(CouleurId, 1.0, 1.0, 0.0); // jaune
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-
-  // face coté Z = -1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 1.0); // magenta
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-
-  glEnd();
-}
diff --git a/ex_02(TutoQt)/Qt_GL/vue_opengl.h b/ex_02(TutoQt)/Qt_GL/vue_opengl.h
deleted file mode 100644
index b302182..0000000
--- a/ex_02(TutoQt)/Qt_GL/vue_opengl.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef VUEOPENGL_H
-#define VUEOPENGL_H
-
-#include <QGLShaderProgram> // Classe qui regroupe les fonctions OpenGL liées aux shaders
-#include <QMatrix4x4>
-#include "support_a_dessin.h"
-
-class VueOpenGL : public SupportADessin {
- public:
-  // méthode(s) de dessin (héritée(s) de SupportADessin)
-  virtual void dessine(Contenu const& a_dessiner) override;
-
-  // méthode d'initialisation
-  void init();
-
-  // méthode set
-  void setProjection(QMatrix4x4 const& projection)
-  { prog.setUniformValue("projection", projection); }
-
-  // méthode utilitaire offerte pour simplifier
-  void dessineCube(QMatrix4x4 const& point_de_vue = QMatrix4x4() );
-
- private:
-  // Un shader OpenGL encapsulé dans une classe Qt
-  QGLShaderProgram prog;
-};
-
-#endif
diff --git a/ex_02(TutoQt)/ex_02.pro b/ex_02(TutoQt)/ex_02.pro
deleted file mode 100644
index 4caac76..0000000
--- a/ex_02(TutoQt)/ex_02.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
-   Qt_GL \
-   text
diff --git a/ex_02(TutoQt)/general/contenu.h b/ex_02(TutoQt)/general/contenu.h
deleted file mode 100644
index 179fbb6..0000000
--- a/ex_02(TutoQt)/general/contenu.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef CONTENU_H
-#define CONTENU_H
-
-#include "dessinable.h"
-#include "support_a_dessin.h"
-
-class Contenu : public Dessinable {
-public:
-  Contenu(SupportADessin* vue)
-    : Dessinable(vue)
-  {}
-  virtual ~Contenu() {}
-
-  virtual void dessine() override
-  { support->dessine(*this); }
-};
-
-#endif // CONTENU_H
diff --git a/ex_02(TutoQt)/general/dessinable.h b/ex_02(TutoQt)/general/dessinable.h
deleted file mode 100644
index 7996eb8..0000000
--- a/ex_02(TutoQt)/general/dessinable.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef DESSINABLE_H
-#define DESSINABLE_H
-
-class SupportADessin;
-
-class Dessinable {
- public:
-  Dessinable(SupportADessin* support)
-    : support(support)
-  {}
-  virtual ~Dessinable() {}
-  virtual void dessine() = 0;
-
- protected:
-  /* Nous mettons un pointeur au lieu d'une référence *
-   * au cas où l'on voudrait changer de support (non  *
-   * implémenté ici), ou même copier un dessinable,   *
-   * échanger (swap) deux dessinables, etc.           *
-   * Il n'est pas nécessaire d'implémenter une copie  *
-   * profonde ici ; c'est bien une copie de surface   *
-   * dont nous avons besoin.                          */
-  SupportADessin* support;
-};
-
-#endif
diff --git a/ex_02(TutoQt)/general/support_a_dessin.h b/ex_02(TutoQt)/general/support_a_dessin.h
deleted file mode 100644
index aafaa33..0000000
--- a/ex_02(TutoQt)/general/support_a_dessin.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef SUPPORT_A_DESSIN_H
-#define SUPPORT_A_DESSIN_H
-
-class Contenu;
-
-class SupportADessin
-{
- public:
-  virtual ~SupportADessin() {}
-
-  virtual void dessine(Contenu const& a_dessiner) = 0;
-
-  /* Mettre ici toutes les méthodes nécessaires pour dessiner tous les
-   * objets que l'on veut dessiner. Par exemple :
-   *    virtual void dessine(Nounours const& a_dessiner) = 0;
-   *    virtual void dessine(Voiture  const& a_dessiner) = 0;
-   */
-};
-
-#endif
diff --git a/ex_02(TutoQt)/text/main_text.cc b/ex_02(TutoQt)/text/main_text.cc
deleted file mode 100644
index 3db2786..0000000
--- a/ex_02(TutoQt)/text/main_text.cc
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <iostream>
-#include "text_viewer.h"
-#include "contenu.h"
-using namespace std;
-
-int main()
-{
-  /* Nous voulons un support à dessin :                          *
-   * ici un TextViewer qui écrit sur cout                        */
-  TextViewer ecran(cout);
-  
-  /* Nous voulons un contenu à dessiner, et que ce contenu       *
-   * se dessine sur notre support à dessin précédent             */
-  Contenu c(&ecran);
-
-  // Nous dessinons notre contenu
-  c.dessine();
-
-  return 0;
-}
diff --git a/ex_02(TutoQt)/text/text.pro b/ex_02(TutoQt)/text/text.pro
deleted file mode 100644
index bf21499..0000000
--- a/ex_02(TutoQt)/text/text.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-QMAKE_CXXFLAGS+= -std=c++11
-
-TARGET = ex_02_text
-
-INCLUDEPATH = ../general
-
-SOURCES += \
-    main_text.cc \
-    text_viewer.cc
-    
-HEADERS += \
-    ../general/contenu.h \
-    text_viewer.h \
-    ../general/dessinable.h \
-    ../general/support_a_dessin.h
diff --git a/ex_02(TutoQt)/text/text_viewer.cc b/ex_02(TutoQt)/text/text_viewer.cc
deleted file mode 100644
index 11d75d5..0000000
--- a/ex_02(TutoQt)/text/text_viewer.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <iostream> // pour endl
-#include "text_viewer.h"
-#include "contenu.h"
-
-void TextViewer::dessine(Contenu const&)
-{
-  /* Dans ce premier exemple très simple, on n'utilise       *
-   * pas l'argument Contenu. Nous ne l'avons donc pas nommé. */
-
-  flot << "un cube" << std::endl;
-}
diff --git a/ex_02(TutoQt)/text/text_viewer.h b/ex_02(TutoQt)/text/text_viewer.h
deleted file mode 100644
index 7fcc9e4..0000000
--- a/ex_02(TutoQt)/text/text_viewer.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef TEXT_VIEWER_H
-#define TEXT_VIEWER_H
-
-#include <iostream>
-#include "support_a_dessin.h"
-
-class TextViewer : public SupportADessin {
- public:
- TextViewer(std::ostream& flot)
-    : flot(flot)
-  {}
-  virtual ~TextViewer() {}
-
-  virtual void dessine(Contenu const& a_dessiner) override;
-
- private:
-  std::ostream& flot;
-};
-
-#endif
diff --git a/ex_03(TutoQt)/Qt_GL/Qt_GL.pro b/ex_03(TutoQt)/Qt_GL/Qt_GL.pro
deleted file mode 100644
index 57a41a8..0000000
--- a/ex_03(TutoQt)/Qt_GL/Qt_GL.pro
+++ /dev/null
@@ -1,24 +0,0 @@
-QT             += opengl
-QMAKE_CXXFLAGS += -std=c++11
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = ex_03_gl
-
-INCLUDEPATH = ../general
-
-SOURCES += \
-    main_qt_gl.cc \
-    glwidget.cc \
-    vue_opengl.cc
-
-HEADERS += \
-    glwidget.h \
-    vertex_shader.h \
-    vue_opengl.h \
-    ../general/dessinable.h \
-    ../general/support_a_dessin.h \
-    ../general/contenu.h
-    
-RESOURCES += \
-    resource.qrc
diff --git a/ex_03(TutoQt)/Qt_GL/fragment_shader.glsl b/ex_03(TutoQt)/Qt_GL/fragment_shader.glsl
deleted file mode 100644
index 2f77fe7..0000000
--- a/ex_03(TutoQt)/Qt_GL/fragment_shader.glsl
+++ /dev/null
@@ -1,6 +0,0 @@
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_FragColor = vec4(ma_couleur, 1.0);
-}
diff --git a/ex_03(TutoQt)/Qt_GL/glwidget.cc b/ex_03(TutoQt)/Qt_GL/glwidget.cc
deleted file mode 100644
index 8a71b39..0000000
--- a/ex_03(TutoQt)/Qt_GL/glwidget.cc
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <QKeyEvent>
-#include <QTimerEvent>
-#include <QMatrix4x4>
-#include "glwidget.h"
-
-// ======================================================================
-void GLWidget::initializeGL()
-{
-  vue.init();
-}
-
-// ======================================================================
-void GLWidget::resizeGL(int width, int height)
-{
-  /* On commance par dire sur quelle partie de la 
-   * fenêtre OpenGL doit dessiner.
-   * Ici on lui demande de dessiner sur toute la fenêtre.
-   */
-  glViewport(0, 0, width, height);
-
-  /* Puis on modifie la matrice de projection du shader.
-   * Pour ce faire on crée une matrice identité (constructeur 
-   * par défaut), on la multiplie par la droite par une matrice
-   * de perspective.
-   * Plus de détail sur cette matrice
-   *     http://www.songho.ca/opengl/gl_projectionmatrix.html
-   * Puis on upload la matrice sur le shader à l'aide de la
-   * méthode de la classe VueOpenGL
-   */
-  QMatrix4x4 matrice;
-  matrice.perspective(70.0, qreal(width) / qreal(height ? height : 1.0), 1e-3, 1e5);
-  vue.setProjection(matrice);
-}
-
-// ======================================================================
-void GLWidget::paintGL()
-{
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-  c.dessine();
-}
-
diff --git a/ex_03(TutoQt)/Qt_GL/glwidget.h b/ex_03(TutoQt)/Qt_GL/glwidget.h
deleted file mode 100644
index 5eace9f..0000000
--- a/ex_03(TutoQt)/Qt_GL/glwidget.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef GLWIDGET_H
-#define GLWIDGET_H
-
-#include <QGLWidget>        // Classe pour faire une fenêtre OpenGL
-#include "vue_opengl.h"
-#include "contenu.h"
-
-class GLWidget : public QGLWidget
-/* La fenêtre hérite de QGLWidget ;
- * les événements (clavier, souris, temps) sont des méthodes virtuelles à redéfinir.
- */
-{
-public:
-  GLWidget(QWidget* parent = nullptr)
-    : QGLWidget(parent)
-    , c(&vue)
-  {}
-  virtual ~GLWidget() {}
-
-private:
-  // Les 3 méthodes clés de la classe QGLWidget à réimplémenter
-  virtual void initializeGL()                  override;
-  virtual void resizeGL(int width, int height) override;
-  virtual void paintGL()                       override;
-
-  // Vue : ce qu'il faut donner au contenu pour qu'il puisse se dessiner sur la vue
-  VueOpenGL vue;
-
-  // objets à dessiner
-  Contenu c;
-};
-
-#endif // GLWIDGET_H
diff --git a/ex_03(TutoQt)/Qt_GL/main_qt_gl.cc b/ex_03(TutoQt)/Qt_GL/main_qt_gl.cc
deleted file mode 100644
index 60bb9a5..0000000
--- a/ex_03(TutoQt)/Qt_GL/main_qt_gl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <QApplication>
-#include "glwidget.h"
-
-int main(int argc, char* argv[])
-{
-  QApplication a(argc, argv);
-  GLWidget w;
-  w.show();
-
-  return a.exec();
-}
diff --git a/ex_03(TutoQt)/Qt_GL/resource.qrc b/ex_03(TutoQt)/Qt_GL/resource.qrc
deleted file mode 100644
index 7329486..0000000
--- a/ex_03(TutoQt)/Qt_GL/resource.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/">
-        <file>fragment_shader.glsl</file>
-        <file>vertex_shader.glsl</file>
-    </qresource>
-</RCC>
diff --git a/ex_03(TutoQt)/Qt_GL/vertex_shader.glsl b/ex_03(TutoQt)/Qt_GL/vertex_shader.glsl
deleted file mode 100644
index 7494cd6..0000000
--- a/ex_03(TutoQt)/Qt_GL/vertex_shader.glsl
+++ /dev/null
@@ -1,13 +0,0 @@
-attribute vec3 sommet;
-attribute vec3 couleur;
-
-uniform mat4 projection;
-uniform mat4 vue_modele;
-
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_Position = projection * vue_modele * vec4(sommet, 1.0);
-  ma_couleur = couleur;
-}
diff --git a/ex_03(TutoQt)/Qt_GL/vertex_shader.h b/ex_03(TutoQt)/Qt_GL/vertex_shader.h
deleted file mode 100644
index 53e0582..0000000
--- a/ex_03(TutoQt)/Qt_GL/vertex_shader.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef VERTEX_SHADER_H
-#define VERTEX_SHADER_H
-
-enum Vertex_Shader_Attribute_Id {
-  SommetId = 0,
-  CouleurId,
-};
-
-#endif
diff --git a/ex_03(TutoQt)/Qt_GL/vue_opengl.cc b/ex_03(TutoQt)/Qt_GL/vue_opengl.cc
deleted file mode 100644
index a054c88..0000000
--- a/ex_03(TutoQt)/Qt_GL/vue_opengl.cc
+++ /dev/null
@@ -1,148 +0,0 @@
-#include "vue_opengl.h"
-#include "vertex_shader.h" // Identifiants Qt de nos différents attributs
-#include "contenu.h"
-
-// ======================================================================
-void VueOpenGL::dessine(Contenu const& a_dessiner)
-{
-  Q_UNUSED(a_dessiner); // Dans cet exemple simple, on n'utilise pas le paramètre.
-  
-  /* Création d'une matrice pour modifier le point de vue.                    *
-   * Cette matrice sera appliquée aux 8 sommets du cube.                      *
-   * Au départ, la matrice est la matrice identité (constructeur par défaut). */
-  QMatrix4x4 matrice; 
-
-  // Multiplie la matrice à droite par une matrice de translation (0, 0, -4).
-  matrice.translate(0.0, 0.0, -4.0);  
-
-  // Multiplie la matrice à droite par une matrice de rotation de 60 degrés autour de l'axe Y.
-  matrice.rotate(60.0, 0.0, 1.0, 0.0);
-
-  // Multiplie la matrice à droite par une matrice de rotation de 45 degrés autour de l'axe Z.
-  matrice.rotate(45.0, 0.0, 0.0, 1.0); 
-
-  // Dessine le cube
-  dessineCube(matrice);
-
-  QMatrix4x4 reference(matrice); // sauvegarde le point de vue de référence
-
-  // Dessine le 2e cube
-  matrice.translate(0.0, 1.5, 0.0); // on se déplace de 1.5 au dessus (axe y)
-  matrice.scale(0.25); // on réduit le cube d'un facteur 0.25 (homothétie)
-  dessineCube(matrice); // et on dessine le cube
-
-  // Revient au point de référence
-  matrice = reference;
-  
-  // Dessine le 3e cube
-  matrice.translate(0.0, 0.0, 1.5);    // (3) puis on se déplace à droite (axe z)
-  matrice.scale(0.25);                 // (2) puis on réduit la taille
-  matrice.rotate(45.0, 0.0, 1.0, 0.0); // (1) on tourne de 45 degrés
-  dessineCube(matrice);
-}
-
-// ======================================================================
-void VueOpenGL::init()
-{
-  /* Initialise notre vue OpenGL.
-   * Dans cet exemple, nous créons et activons notre shader.
-   *
-   * En raison du contenu des fichiers *.glsl, le shader de cet exemple
-   * NE permet QUE de dessiner des primitives colorées 
-   * (pas de textures, brouillard, reflets de la lumière ou autres).
-   *
-   * Il est séparé en deux parties VERTEX et FRAGMENT.
-   * Le VERTEX :
-   * - récupère pour chaque sommet des primitives de couleur (dans
-   *     l'attribut couleur) et de position (dans l'attribut sommet)
-   * - multiplie l'attribut sommet par les matrices 'vue_modele' et
-   *     'projection' et donne le résultat à OpenGL
-   *   - passe la couleur au shader FRAGMENT.
-   *
-   * Le FRAGMENT :
-   *   - applique la couleur qu'on lui donne
-   */
-
-  prog.addShaderFromSourceFile(QGLShader::Vertex,   ":/vertex_shader.glsl");
-  prog.addShaderFromSourceFile(QGLShader::Fragment, ":/fragment_shader.glsl");
-
-  /* Identifie les deux attributs du shader de cet exemple
-   * (voir vertex_shader.glsl).
-   *
-   * L'attribut identifié par 0 est particulier, il permet d'envoyer un
-   * nouveau "point" à OpenGL
-   * 
-   * C'est pourquoi il devra obligatoirement être spécifié et en dernier 
-   * (après la couleur dans cet exemple, voir plus bas).
-   */
-
-  prog.bindAttributeLocation("sommet",  SommetId);
-  prog.bindAttributeLocation("couleur", CouleurId);
-  
-  // Compilation du shader OpenGL
-  prog.link();
-
-  // Activation du shader
-  prog.bind();
-
-  /* Activation du "Test de profondeur" et du "Back-face culling"
-   * Le Test de profondeur permet de dessiner un objet à l'arrière-plan
-   * partielement caché par d'autres objets.
-   * 
-   * Le Back-face culling consiste à ne dessiner que les face avec ordre 
-   * de déclaration dans le sens trigonométrique.
-   */
-  glEnable(GL_DEPTH_TEST);
-  glEnable(GL_CULL_FACE);
-}
-
-// ======================================================================
-void VueOpenGL::dessineCube (QMatrix4x4 const& point_de_vue)
-{
-  prog.setUniformValue("vue_modele", point_de_vue);
-
-  glBegin(GL_QUADS);
-  // face coté X = +1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 0.0); // rouge
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-
-  // face coté X = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 0.0); // vert
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-
-  // face coté Y = +1
-  prog.setAttributeValue(CouleurId, 0.0, 0.0, 1.0); // bleu
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-
-  // face coté Y = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 1.0); // cyan
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-
-  // face coté Z = +1
-  prog.setAttributeValue(CouleurId, 1.0, 1.0, 0.0); // jaune
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-
-  // face coté Z = -1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 1.0); // magenta
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-
-  glEnd();
-}
diff --git a/ex_03(TutoQt)/Qt_GL/vue_opengl.h b/ex_03(TutoQt)/Qt_GL/vue_opengl.h
deleted file mode 100644
index b302182..0000000
--- a/ex_03(TutoQt)/Qt_GL/vue_opengl.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef VUEOPENGL_H
-#define VUEOPENGL_H
-
-#include <QGLShaderProgram> // Classe qui regroupe les fonctions OpenGL liées aux shaders
-#include <QMatrix4x4>
-#include "support_a_dessin.h"
-
-class VueOpenGL : public SupportADessin {
- public:
-  // méthode(s) de dessin (héritée(s) de SupportADessin)
-  virtual void dessine(Contenu const& a_dessiner) override;
-
-  // méthode d'initialisation
-  void init();
-
-  // méthode set
-  void setProjection(QMatrix4x4 const& projection)
-  { prog.setUniformValue("projection", projection); }
-
-  // méthode utilitaire offerte pour simplifier
-  void dessineCube(QMatrix4x4 const& point_de_vue = QMatrix4x4() );
-
- private:
-  // Un shader OpenGL encapsulé dans une classe Qt
-  QGLShaderProgram prog;
-};
-
-#endif
diff --git a/ex_03(TutoQt)/ex_03.pro b/ex_03(TutoQt)/ex_03.pro
deleted file mode 100644
index 4caac76..0000000
--- a/ex_03(TutoQt)/ex_03.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
-   Qt_GL \
-   text
diff --git a/ex_03(TutoQt)/general/contenu.h b/ex_03(TutoQt)/general/contenu.h
deleted file mode 100644
index 179fbb6..0000000
--- a/ex_03(TutoQt)/general/contenu.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef CONTENU_H
-#define CONTENU_H
-
-#include "dessinable.h"
-#include "support_a_dessin.h"
-
-class Contenu : public Dessinable {
-public:
-  Contenu(SupportADessin* vue)
-    : Dessinable(vue)
-  {}
-  virtual ~Contenu() {}
-
-  virtual void dessine() override
-  { support->dessine(*this); }
-};
-
-#endif // CONTENU_H
diff --git a/ex_03(TutoQt)/general/dessinable.h b/ex_03(TutoQt)/general/dessinable.h
deleted file mode 100644
index 7996eb8..0000000
--- a/ex_03(TutoQt)/general/dessinable.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef DESSINABLE_H
-#define DESSINABLE_H
-
-class SupportADessin;
-
-class Dessinable {
- public:
-  Dessinable(SupportADessin* support)
-    : support(support)
-  {}
-  virtual ~Dessinable() {}
-  virtual void dessine() = 0;
-
- protected:
-  /* Nous mettons un pointeur au lieu d'une référence *
-   * au cas où l'on voudrait changer de support (non  *
-   * implémenté ici), ou même copier un dessinable,   *
-   * échanger (swap) deux dessinables, etc.           *
-   * Il n'est pas nécessaire d'implémenter une copie  *
-   * profonde ici ; c'est bien une copie de surface   *
-   * dont nous avons besoin.                          */
-  SupportADessin* support;
-};
-
-#endif
diff --git a/ex_03(TutoQt)/general/support_a_dessin.h b/ex_03(TutoQt)/general/support_a_dessin.h
deleted file mode 100644
index aafaa33..0000000
--- a/ex_03(TutoQt)/general/support_a_dessin.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef SUPPORT_A_DESSIN_H
-#define SUPPORT_A_DESSIN_H
-
-class Contenu;
-
-class SupportADessin
-{
- public:
-  virtual ~SupportADessin() {}
-
-  virtual void dessine(Contenu const& a_dessiner) = 0;
-
-  /* Mettre ici toutes les méthodes nécessaires pour dessiner tous les
-   * objets que l'on veut dessiner. Par exemple :
-   *    virtual void dessine(Nounours const& a_dessiner) = 0;
-   *    virtual void dessine(Voiture  const& a_dessiner) = 0;
-   */
-};
-
-#endif
diff --git a/ex_03(TutoQt)/text/main_text.cc b/ex_03(TutoQt)/text/main_text.cc
deleted file mode 100644
index 3db2786..0000000
--- a/ex_03(TutoQt)/text/main_text.cc
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <iostream>
-#include "text_viewer.h"
-#include "contenu.h"
-using namespace std;
-
-int main()
-{
-  /* Nous voulons un support à dessin :                          *
-   * ici un TextViewer qui écrit sur cout                        */
-  TextViewer ecran(cout);
-  
-  /* Nous voulons un contenu à dessiner, et que ce contenu       *
-   * se dessine sur notre support à dessin précédent             */
-  Contenu c(&ecran);
-
-  // Nous dessinons notre contenu
-  c.dessine();
-
-  return 0;
-}
diff --git a/ex_03(TutoQt)/text/text.pro b/ex_03(TutoQt)/text/text.pro
deleted file mode 100644
index 2b62460..0000000
--- a/ex_03(TutoQt)/text/text.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-QMAKE_CXXFLAGS += -std=c++11
-
-TARGET = ex_03_text
-
-INCLUDEPATH = ../general
-
-SOURCES += \
-    main_text.cc \
-    text_viewer.cc
-    
-HEADERS += \
-    ../general/contenu.h \
-    text_viewer.h \
-    ../general/dessinable.h \
-    ../general/support_a_dessin.h
diff --git a/ex_03(TutoQt)/text/text_viewer.cc b/ex_03(TutoQt)/text/text_viewer.cc
deleted file mode 100644
index 5ea6b26..0000000
--- a/ex_03(TutoQt)/text/text_viewer.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <iostream> // pour endl
-#include "text_viewer.h"
-#include "contenu.h"
-
-void TextViewer::dessine(Contenu const&)
-{
-  /* Dans ce premier exemple très simple, on n'utilise       *
-   * pas l'argument Contenu. Nous ne l'avons donc pas nommé. */
-
-  flot << "un cube" << std::endl;
-  flot << "un autre cube à droite" << std::endl;
-  flot << "un 3e cube au dessus" << std::endl;
-}
diff --git a/ex_03(TutoQt)/text/text_viewer.h b/ex_03(TutoQt)/text/text_viewer.h
deleted file mode 100644
index 7fcc9e4..0000000
--- a/ex_03(TutoQt)/text/text_viewer.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef TEXT_VIEWER_H
-#define TEXT_VIEWER_H
-
-#include <iostream>
-#include "support_a_dessin.h"
-
-class TextViewer : public SupportADessin {
- public:
- TextViewer(std::ostream& flot)
-    : flot(flot)
-  {}
-  virtual ~TextViewer() {}
-
-  virtual void dessine(Contenu const& a_dessiner) override;
-
- private:
-  std::ostream& flot;
-};
-
-#endif
diff --git a/ex_04(TutoQt)/Qt_GL/Qt_GL.pro b/ex_04(TutoQt)/Qt_GL/Qt_GL.pro
deleted file mode 100644
index f2d52b8..0000000
--- a/ex_04(TutoQt)/Qt_GL/Qt_GL.pro
+++ /dev/null
@@ -1,24 +0,0 @@
-QT             += opengl
-QMAKE_CXXFLAGS += -std=c++11
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = ex_04_gl
-
-INCLUDEPATH = ../general
-
-SOURCES += \
-    main_qt_gl.cc \
-    glwidget.cc \
-    vue_opengl.cc
-
-HEADERS += \
-    glwidget.h \
-    vertex_shader.h \
-    vue_opengl.h \
-    ../general/dessinable.h \
-    ../general/support_a_dessin.h \
-    ../general/contenu.h
-    
-RESOURCES += \
-    resource.qrc
diff --git a/ex_04(TutoQt)/Qt_GL/fragment_shader.glsl b/ex_04(TutoQt)/Qt_GL/fragment_shader.glsl
deleted file mode 100644
index 2f77fe7..0000000
--- a/ex_04(TutoQt)/Qt_GL/fragment_shader.glsl
+++ /dev/null
@@ -1,6 +0,0 @@
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_FragColor = vec4(ma_couleur, 1.0);
-}
diff --git a/ex_04(TutoQt)/Qt_GL/glwidget.cc b/ex_04(TutoQt)/Qt_GL/glwidget.cc
deleted file mode 100644
index 5b4b9e1..0000000
--- a/ex_04(TutoQt)/Qt_GL/glwidget.cc
+++ /dev/null
@@ -1,107 +0,0 @@
-#include <QKeyEvent>
-#include <QTimerEvent>
-#include <QMatrix4x4>
-#include "glwidget.h"
-
-// ======================================================================
-void GLWidget::initializeGL()
-{
-  vue.init();
-}
-
-// ======================================================================
-void GLWidget::resizeGL(int width, int height)
-{
-  /* On commance par dire sur quelle partie de la 
-   * fenêtre OpenGL doit dessiner.
-   * Ici on lui demande de dessiner sur toute la fenêtre.
-   */
-  glViewport(0, 0, width, height);
-
-  /* Puis on modifie la matrice de projection du shader.
-   * Pour ce faire on crée une matrice identité (constructeur 
-   * par défaut), on la multiplie par la droite par une matrice
-   * de perspective.
-   * Plus de détail sur cette matrice
-   *     http://www.songho.ca/opengl/gl_projectionmatrix.html
-   * Puis on upload la matrice sur le shader à l'aide de la
-   * méthode de la classe VueOpenGL
-   */
-  QMatrix4x4 matrice;
-  matrice.perspective(70.0, qreal(width) / qreal(height ? height : 1.0), 1e-3, 1e5);
-  vue.setProjection(matrice);
-}
-
-// ======================================================================
-void GLWidget::paintGL()
-{
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-  c.dessine();
-}
-
-
-// ======================================================================
-void GLWidget::keyPressEvent(QKeyEvent* event)
-{
-  constexpr double petit_angle(5.0); // en degrés
-  constexpr double petit_pas(1.0);
-
-  switch (event->key()) {
-
-  case Qt::Key_Left:
-    vue.rotate(petit_angle, 0.0, -1.0, 0.0);
-    break;
-
-  case Qt::Key_Right:
-    vue.rotate(petit_angle, 0.0, +1.0, 0.0);
-    break;
-
-  case Qt::Key_Up:
-    vue.rotate(petit_angle, -1.0, 0.0, 0.0);
-    break;
-
-  case Qt::Key_Down:
-    vue.rotate(petit_angle, +1.0, 0.0, 0.0);
-    break;
-
-  case Qt::Key_PageUp:
-  case Qt::Key_W:
-    vue.translate(0.0, 0.0,  petit_pas);
-    break;
-
-  case Qt::Key_PageDown:
-  case Qt::Key_S:
-    vue.translate(0.0, 0.0, -petit_pas);
-    break;
-
-  case Qt::Key_A:
-    vue.translate( petit_pas, 0.0, 0.0);
-    break;
-
-  case Qt::Key_D:
-    vue.translate(-petit_pas, 0.0, 0.0);
-    break;
-
-  case Qt::Key_R:
-    vue.translate(0.0, -petit_pas, 0.0);
-    break;
-
-  case Qt::Key_F:
-    vue.translate(0.0,  petit_pas, 0.0);
-    break;
-
-  case Qt::Key_Q:
-    vue.rotate(petit_angle, 0.0, 0.0, -1.0);
-    break;
-
-  case Qt::Key_E:
-    vue.rotate(petit_angle, 0.0, 0.0, +1.0);
-    break;
-
-  case Qt::Key_Home:
-    vue.initializePosition();
-    break;
-  };
-
-  updateGL(); // redessine
-}
diff --git a/ex_04(TutoQt)/Qt_GL/glwidget.h b/ex_04(TutoQt)/Qt_GL/glwidget.h
deleted file mode 100644
index 5541d1f..0000000
--- a/ex_04(TutoQt)/Qt_GL/glwidget.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef GLWIDGET_H
-#define GLWIDGET_H
-
-#include <QGLWidget>        // Classe pour faire une fenêtre OpenGL
-#include "vue_opengl.h"
-#include "contenu.h"
-
-class GLWidget : public QGLWidget
-/* La fenêtre hérite de QGLWidget ;
- * les événements (clavier, souris, temps) sont des méthodes virtuelles à redéfinir.
- */
-{
-public:
-  GLWidget(QWidget* parent = nullptr)
-    : QGLWidget(parent)
-    , c(&vue)
-  {}
-  virtual ~GLWidget() {}
-
-private:
-  // Les 3 méthodes clés de la classe QGLWidget à réimplémenter
-  virtual void initializeGL()                  override;
-  virtual void resizeGL(int width, int height) override;
-  virtual void paintGL()                       override;
-
-  // Méthodes de gestion d'évènements
-  virtual void keyPressEvent(QKeyEvent* event) override;
-
-  // Vue : ce qu'il faut donner au contenu pour qu'il puisse se dessiner sur la vue
-  VueOpenGL vue;
-
-  // objets à dessiner
-  Contenu c;
-};
-
-#endif // GLWIDGET_H
diff --git a/ex_04(TutoQt)/Qt_GL/main_qt_gl.cc b/ex_04(TutoQt)/Qt_GL/main_qt_gl.cc
deleted file mode 100644
index 60bb9a5..0000000
--- a/ex_04(TutoQt)/Qt_GL/main_qt_gl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <QApplication>
-#include "glwidget.h"
-
-int main(int argc, char* argv[])
-{
-  QApplication a(argc, argv);
-  GLWidget w;
-  w.show();
-
-  return a.exec();
-}
diff --git a/ex_04(TutoQt)/Qt_GL/resource.qrc b/ex_04(TutoQt)/Qt_GL/resource.qrc
deleted file mode 100644
index 7329486..0000000
--- a/ex_04(TutoQt)/Qt_GL/resource.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/">
-        <file>fragment_shader.glsl</file>
-        <file>vertex_shader.glsl</file>
-    </qresource>
-</RCC>
diff --git a/ex_04(TutoQt)/Qt_GL/vertex_shader.glsl b/ex_04(TutoQt)/Qt_GL/vertex_shader.glsl
deleted file mode 100644
index 7494cd6..0000000
--- a/ex_04(TutoQt)/Qt_GL/vertex_shader.glsl
+++ /dev/null
@@ -1,13 +0,0 @@
-attribute vec3 sommet;
-attribute vec3 couleur;
-
-uniform mat4 projection;
-uniform mat4 vue_modele;
-
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_Position = projection * vue_modele * vec4(sommet, 1.0);
-  ma_couleur = couleur;
-}
diff --git a/ex_04(TutoQt)/Qt_GL/vertex_shader.h b/ex_04(TutoQt)/Qt_GL/vertex_shader.h
deleted file mode 100644
index 53e0582..0000000
--- a/ex_04(TutoQt)/Qt_GL/vertex_shader.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef VERTEX_SHADER_H
-#define VERTEX_SHADER_H
-
-enum Vertex_Shader_Attribute_Id {
-  SommetId = 0,
-  CouleurId,
-};
-
-#endif
diff --git a/ex_04(TutoQt)/Qt_GL/vue_opengl.cc b/ex_04(TutoQt)/Qt_GL/vue_opengl.cc
deleted file mode 100644
index 7112331..0000000
--- a/ex_04(TutoQt)/Qt_GL/vue_opengl.cc
+++ /dev/null
@@ -1,164 +0,0 @@
-#include "vue_opengl.h"
-#include "vertex_shader.h" // Identifiants Qt de nos différents attributs
-#include "contenu.h"
-
-// ======================================================================
-void VueOpenGL::dessine(Contenu const& a_dessiner)
-{
-  Q_UNUSED(a_dessiner); // dans cet exemple simple on n'utilise pas le paramètre
-
-   // Dessine le 1er cube (à l'origine)
-  dessineCube();
-
-  QMatrix4x4 matrice;
-  // Dessine le 2e cube
-  matrice.translate(0.0, 1.5, 0.0);
-  matrice.scale(0.25);
-  dessineCube(matrice);
-
-  // Dessine le 3e cube
-  matrice.setToIdentity();
-  matrice.translate(0.0, 0.0, 1.5);
-  matrice.scale(0.25);
-  matrice.rotate(45.0, 0.0, 1.0, 0.0);
-  dessineCube(matrice);
-}
-
-// ======================================================================
-void VueOpenGL::init()
-{
-  /* Initialise notre vue OpenGL.
-   * Dans cet exemple, nous créons et activons notre shader.
-   *
-   * En raison du contenu des fichiers *.glsl, le shader de cet exemple
-   * NE permet QUE de dessiner des primitives colorées 
-   * (pas de textures, brouillard, reflets de la lumière ou autres).
-   *
-   * Il est séparé en deux parties VERTEX et FRAGMENT.
-   * Le VERTEX :
-   * - récupère pour chaque sommet des primitives de couleur (dans
-   *     l'attribut couleur) et de position (dans l'attribut sommet)
-   * - multiplie l'attribut sommet par les matrices 'vue_modele' et
-   *     'projection' et donne le résultat à OpenGL
-   *   - passe la couleur au shader FRAGMENT.
-   *
-   * Le FRAGMENT :
-   *   - applique la couleur qu'on lui donne
-   */
-
-  prog.addShaderFromSourceFile(QGLShader::Vertex,   ":/vertex_shader.glsl");
-  prog.addShaderFromSourceFile(QGLShader::Fragment, ":/fragment_shader.glsl");
-
-  /* Identifie les deux attributs du shader de cet exemple
-   * (voir vertex_shader.glsl).
-   *
-   * L'attribut identifié par 0 est particulier, il permet d'envoyer un
-   * nouveau "point" à OpenGL
-   * 
-   * C'est pourquoi il devra obligatoirement être spécifié et en dernier 
-   * (après la couleur dans cet exemple, voir plus bas).
-   */
-
-  prog.bindAttributeLocation("sommet",  SommetId);
-  prog.bindAttributeLocation("couleur", CouleurId);
-  
-  // Compilation du shader OpenGL
-  prog.link();
-
-  // Activation du shader
-  prog.bind();
-
-  /* Activation du "Test de profondeur" et du "Back-face culling"
-   * Le Test de profondeur permet de dessiner un objet à l'arrière-plan
-   * partielement caché par d'autres objets.
-   * 
-   * Le Back-face culling consiste à ne dessiner que les face avec ordre 
-   * de déclaration dans le sens trigonométrique.
-   */
-  glEnable(GL_DEPTH_TEST);
-  glEnable(GL_CULL_FACE);
-
-  initializePosition();
-}
-
-// ======================================================================
-void VueOpenGL::initializePosition()
-{
-  // position initiale
-  matrice_vue.setToIdentity();
-  matrice_vue.translate(0.0, 0.0, -4.0);
-  matrice_vue.rotate(60.0, 0.0, 1.0, 0.0);
-  matrice_vue.rotate(45.0, 0.0, 0.0, 1.0);
-}
-
-// ======================================================================
-void VueOpenGL::translate(double x, double y, double z)
-{
-  /* Multiplie la matrice de vue par LA GAUCHE.
-   * Cela fait en sorte que la dernière modification apportée
-   * à la matrice soit appliquée en dernier (composition de fonctions).
-   */
-  QMatrix4x4 translation_supplementaire;
-  translation_supplementaire.translate(x, y, z);
-  matrice_vue = translation_supplementaire * matrice_vue;
-}
-
-// ======================================================================
-void VueOpenGL::rotate(double angle, double dir_x, double dir_y, double dir_z)
-{
-  // Multiplie la matrice de vue par LA GAUCHE
-  QMatrix4x4 rotation_supplementaire;
-  rotation_supplementaire.rotate(angle, dir_x, dir_y, dir_z);
-  matrice_vue = rotation_supplementaire * matrice_vue;
-}
-
-// ======================================================================
-void VueOpenGL::dessineCube (QMatrix4x4 const& point_de_vue)
-{
-  prog.setUniformValue("vue_modele", matrice_vue * point_de_vue);
-
-  glBegin(GL_QUADS);
-  // face coté X = +1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 0.0); // rouge
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-
-  // face coté X = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 0.0); // vert
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-
-  // face coté Y = +1
-  prog.setAttributeValue(CouleurId, 0.0, 0.0, 1.0); // bleu
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-
-  // face coté Y = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 1.0); // cyan
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-
-  // face coté Z = +1
-  prog.setAttributeValue(CouleurId, 1.0, 1.0, 0.0); // jaune
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-
-  // face coté Z = -1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 1.0); // magenta
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-
-  glEnd();
-}
diff --git a/ex_04(TutoQt)/Qt_GL/vue_opengl.h b/ex_04(TutoQt)/Qt_GL/vue_opengl.h
deleted file mode 100644
index 3e3772b..0000000
--- a/ex_04(TutoQt)/Qt_GL/vue_opengl.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef VUEOPENGL_H
-#define VUEOPENGL_H
-
-#include <QGLShaderProgram> // Classe qui regroupe les fonctions OpenGL liées aux shaders
-#include <QMatrix4x4>
-#include "support_a_dessin.h"
-
-class VueOpenGL : public SupportADessin {
- public:
-  // méthode(s) de dessin (héritée(s) de SupportADessin)
-  virtual void dessine(Contenu const& a_dessiner) override;
-
-  // méthodes de (ré-)initialisation
-  void init();
-  void initializePosition();
-
-  // méthode set
-  void setProjection(QMatrix4x4 const& projection)
-  { prog.setUniformValue("projection", projection); }
-
-  // Méthodes set
-  void translate(double x, double y, double z);
-  void rotate(double angle, double dir_x, double dir_y, double dir_z);
-  
-  // méthode utilitaire offerte pour simplifier
-  void dessineCube(QMatrix4x4 const& point_de_vue = QMatrix4x4() );
-
- private:
-  // Un shader OpenGL encapsulé dans une classe Qt
-  QGLShaderProgram prog;
-
-  // Caméra
-  QMatrix4x4 matrice_vue;
-};
-
-#endif
diff --git a/ex_04(TutoQt)/ex_04.pro b/ex_04(TutoQt)/ex_04.pro
deleted file mode 100644
index f092f0d..0000000
--- a/ex_04(TutoQt)/ex_04.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
-   Qt_GL
diff --git a/ex_04(TutoQt)/general/contenu.h b/ex_04(TutoQt)/general/contenu.h
deleted file mode 100644
index 179fbb6..0000000
--- a/ex_04(TutoQt)/general/contenu.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef CONTENU_H
-#define CONTENU_H
-
-#include "dessinable.h"
-#include "support_a_dessin.h"
-
-class Contenu : public Dessinable {
-public:
-  Contenu(SupportADessin* vue)
-    : Dessinable(vue)
-  {}
-  virtual ~Contenu() {}
-
-  virtual void dessine() override
-  { support->dessine(*this); }
-};
-
-#endif // CONTENU_H
diff --git a/ex_04(TutoQt)/general/dessinable.h b/ex_04(TutoQt)/general/dessinable.h
deleted file mode 100644
index 7996eb8..0000000
--- a/ex_04(TutoQt)/general/dessinable.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef DESSINABLE_H
-#define DESSINABLE_H
-
-class SupportADessin;
-
-class Dessinable {
- public:
-  Dessinable(SupportADessin* support)
-    : support(support)
-  {}
-  virtual ~Dessinable() {}
-  virtual void dessine() = 0;
-
- protected:
-  /* Nous mettons un pointeur au lieu d'une référence *
-   * au cas où l'on voudrait changer de support (non  *
-   * implémenté ici), ou même copier un dessinable,   *
-   * échanger (swap) deux dessinables, etc.           *
-   * Il n'est pas nécessaire d'implémenter une copie  *
-   * profonde ici ; c'est bien une copie de surface   *
-   * dont nous avons besoin.                          */
-  SupportADessin* support;
-};
-
-#endif
diff --git a/ex_04(TutoQt)/general/support_a_dessin.h b/ex_04(TutoQt)/general/support_a_dessin.h
deleted file mode 100644
index aafaa33..0000000
--- a/ex_04(TutoQt)/general/support_a_dessin.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef SUPPORT_A_DESSIN_H
-#define SUPPORT_A_DESSIN_H
-
-class Contenu;
-
-class SupportADessin
-{
- public:
-  virtual ~SupportADessin() {}
-
-  virtual void dessine(Contenu const& a_dessiner) = 0;
-
-  /* Mettre ici toutes les méthodes nécessaires pour dessiner tous les
-   * objets que l'on veut dessiner. Par exemple :
-   *    virtual void dessine(Nounours const& a_dessiner) = 0;
-   *    virtual void dessine(Voiture  const& a_dessiner) = 0;
-   */
-};
-
-#endif
diff --git a/ex_05(TutoQt)/Qt_GL/Qt_GL.pro b/ex_05(TutoQt)/Qt_GL/Qt_GL.pro
deleted file mode 100644
index 3379a03..0000000
--- a/ex_05(TutoQt)/Qt_GL/Qt_GL.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-QT             += opengl
-QMAKE_CXXFLAGS += -std=c++11
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = ex_05_gl
-
-LIBS += -L../general -lgeneral
-PRE_TARGETDEPS += ../general/libgeneral.a
-
-INCLUDEPATH = ../general
-
-SOURCES += \
-    main_qt_gl.cc \
-    glwidget.cc \
-    vue_opengl.cc
-
-HEADERS += \
-    glwidget.h \
-    vertex_shader.h \
-    vue_opengl.h \
-    ../general/dessinable.h \
-    ../general/support_a_dessin.h \
-    ../general/contenu.h
-    
-RESOURCES += \
-    resource.qrc
diff --git a/ex_05(TutoQt)/Qt_GL/fragment_shader.glsl b/ex_05(TutoQt)/Qt_GL/fragment_shader.glsl
deleted file mode 100644
index 2f77fe7..0000000
--- a/ex_05(TutoQt)/Qt_GL/fragment_shader.glsl
+++ /dev/null
@@ -1,6 +0,0 @@
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_FragColor = vec4(ma_couleur, 1.0);
-}
diff --git a/ex_05(TutoQt)/Qt_GL/glwidget.cc b/ex_05(TutoQt)/Qt_GL/glwidget.cc
deleted file mode 100644
index 73c860a..0000000
--- a/ex_05(TutoQt)/Qt_GL/glwidget.cc
+++ /dev/null
@@ -1,137 +0,0 @@
-#include <QKeyEvent>
-#include <QTimerEvent>
-#include <QMatrix4x4>
-#include "glwidget.h"
-
-// ======================================================================
-void GLWidget::initializeGL()
-{
-  vue.init();
-  timerId = startTimer(20);
-}
-
-// ======================================================================
-void GLWidget::resizeGL(int width, int height)
-{
-  /* On commance par dire sur quelle partie de la 
-   * fenêtre OpenGL doit dessiner.
-   * Ici on lui demande de dessiner sur toute la fenêtre.
-   */
-  glViewport(0, 0, width, height);
-
-  /* Puis on modifie la matrice de projection du shader.
-   * Pour ce faire on crée une matrice identité (constructeur 
-   * par défaut), on la multiplie par la droite par une matrice
-   * de perspective.
-   * Plus de détail sur cette matrice
-   *     http://www.songho.ca/opengl/gl_projectionmatrix.html
-   * Puis on upload la matrice sur le shader à l'aide de la
-   * méthode de la classe VueOpenGL
-   */
-  QMatrix4x4 matrice;
-  matrice.perspective(70.0, qreal(width) / qreal(height ? height : 1.0), 1e-3, 1e5);
-  vue.setProjection(matrice);
-}
-
-// ======================================================================
-void GLWidget::paintGL()
-{
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-  c.dessine();
-}
-
-
-// ======================================================================
-void GLWidget::keyPressEvent(QKeyEvent* event)
-{
-  constexpr double petit_angle(5.0); // en degrés
-  constexpr double petit_pas(1.0);
-
-  switch (event->key()) {
-
-  case Qt::Key_Left:
-    vue.rotate(petit_angle, 0.0, -1.0, 0.0);
-    break;
-
-  case Qt::Key_Right:
-    vue.rotate(petit_angle, 0.0, +1.0, 0.0);
-    break;
-
-  case Qt::Key_Up:
-    vue.rotate(petit_angle, -1.0, 0.0, 0.0);
-    break;
-
-  case Qt::Key_Down:
-    vue.rotate(petit_angle, +1.0, 0.0, 0.0);
-    break;
-
-  case Qt::Key_PageUp:
-  case Qt::Key_W:
-    vue.translate(0.0, 0.0,  petit_pas);
-    break;
-
-  case Qt::Key_PageDown:
-  case Qt::Key_S:
-    vue.translate(0.0, 0.0, -petit_pas);
-    break;
-
-  case Qt::Key_A:
-    vue.translate( petit_pas, 0.0, 0.0);
-    break;
-
-  case Qt::Key_D:
-    vue.translate(-petit_pas, 0.0, 0.0);
-    break;
-
-  case Qt::Key_R:
-    vue.translate(0.0, -petit_pas, 0.0);
-    break;
-
-  case Qt::Key_F:
-    vue.translate(0.0,  petit_pas, 0.0);
-    break;
-
-  case Qt::Key_Q:
-    vue.rotate(petit_angle, 0.0, 0.0, -1.0);
-    break;
-
-  case Qt::Key_E:
-    vue.rotate(petit_angle, 0.0, 0.0, +1.0);
-    break;
-
-  case Qt::Key_Home:
-    vue.initializePosition();
-    break;
-
-  case Qt::Key_Space:
-    pause();
-    break;
-  };
-
-  updateGL(); // redessine
-}
-
-// ======================================================================
-void GLWidget::timerEvent(QTimerEvent* event)
-{
-  Q_UNUSED(event);
-
-  double dt = chronometre.restart() / 1000.0;
-
-  c.evolue(dt);
-  updateGL();
-}
-
-// ======================================================================
-void GLWidget::pause()
-{
-  if (timerId == 0) {
-    // dans ce cas le timer ne tourne pas alors on le lance
-    timerId = startTimer(20);
-    chronometre.restart();
-  } else {
-    // le timer tourne alors on l'arrête
-    killTimer(timerId);
-    timerId = 0;
-  }
-}
diff --git a/ex_05(TutoQt)/Qt_GL/glwidget.h b/ex_05(TutoQt)/Qt_GL/glwidget.h
deleted file mode 100644
index 8154664..0000000
--- a/ex_05(TutoQt)/Qt_GL/glwidget.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef GLWIDGET_H
-#define GLWIDGET_H
-
-#include <QGLWidget>        // Classe pour faire une fenêtre OpenGL
-#include <QTime>            // Classe pour gérer le temps
-#include "vue_opengl.h"
-#include "contenu.h"
-
-class GLWidget : public QGLWidget
-/* La fenêtre hérite de QGLWidget ;
- * les événements (clavier, souris, temps) sont des méthodes virtuelles à redéfinir.
- */
-{
-public:
-  GLWidget(QWidget* parent = nullptr)
-    : QGLWidget(parent)
-    , c(&vue)
-  {}
-  virtual ~GLWidget() {}
-
-private:
-  // Les 3 méthodes clés de la classe QGLWidget à réimplémenter
-  virtual void initializeGL()                  override;
-  virtual void resizeGL(int width, int height) override;
-  virtual void paintGL()                       override;
-
-  // Méthodes de gestion d'évènements
-  virtual void keyPressEvent(QKeyEvent* event) override;
-  virtual void timerEvent(QTimerEvent* event)  override;
-
-  // Méthodes de gestion interne
-  void pause();
-
-  // Vue : ce qu'il faut donner au contenu pour qu'il puisse se dessiner sur la vue
-  VueOpenGL vue;
-
-  // Timer
-  int timerId;
-  // pour faire évoluer les objets avec le bon "dt"
-  QTime chronometre;
-
-  // objets à dessiner, faire évoluer
-  Contenu c;
-};
-
-#endif // GLWIDGET_H
diff --git a/ex_05(TutoQt)/Qt_GL/main_qt_gl.cc b/ex_05(TutoQt)/Qt_GL/main_qt_gl.cc
deleted file mode 100644
index 60bb9a5..0000000
--- a/ex_05(TutoQt)/Qt_GL/main_qt_gl.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <QApplication>
-#include "glwidget.h"
-
-int main(int argc, char* argv[])
-{
-  QApplication a(argc, argv);
-  GLWidget w;
-  w.show();
-
-  return a.exec();
-}
diff --git a/ex_05(TutoQt)/Qt_GL/resource.qrc b/ex_05(TutoQt)/Qt_GL/resource.qrc
deleted file mode 100644
index 7329486..0000000
--- a/ex_05(TutoQt)/Qt_GL/resource.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/">
-        <file>fragment_shader.glsl</file>
-        <file>vertex_shader.glsl</file>
-    </qresource>
-</RCC>
diff --git a/ex_05(TutoQt)/Qt_GL/vertex_shader.glsl b/ex_05(TutoQt)/Qt_GL/vertex_shader.glsl
deleted file mode 100644
index 7494cd6..0000000
--- a/ex_05(TutoQt)/Qt_GL/vertex_shader.glsl
+++ /dev/null
@@ -1,13 +0,0 @@
-attribute vec3 sommet;
-attribute vec3 couleur;
-
-uniform mat4 projection;
-uniform mat4 vue_modele;
-
-varying vec3 ma_couleur;
-
-void main()
-{
-  gl_Position = projection * vue_modele * vec4(sommet, 1.0);
-  ma_couleur = couleur;
-}
diff --git a/ex_05(TutoQt)/Qt_GL/vertex_shader.h b/ex_05(TutoQt)/Qt_GL/vertex_shader.h
deleted file mode 100644
index 53e0582..0000000
--- a/ex_05(TutoQt)/Qt_GL/vertex_shader.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef VERTEX_SHADER_H
-#define VERTEX_SHADER_H
-
-enum Vertex_Shader_Attribute_Id {
-  SommetId = 0,
-  CouleurId,
-};
-
-#endif
diff --git a/ex_05(TutoQt)/Qt_GL/vue_opengl.cc b/ex_05(TutoQt)/Qt_GL/vue_opengl.cc
deleted file mode 100644
index 2803cd1..0000000
--- a/ex_05(TutoQt)/Qt_GL/vue_opengl.cc
+++ /dev/null
@@ -1,169 +0,0 @@
-#include "vue_opengl.h"
-#include "vertex_shader.h" // Identifiants Qt de nos différents attributs
-#include "contenu.h"
-
-// ======================================================================
-void VueOpenGL::dessine(Contenu const& a_dessiner)
-{
-   // Dessine le 1er cube (à l'origine)
-  dessineCube();
-
-  QMatrix4x4 matrice;
-  // Dessine le 2e cube
-  matrice.translate(0.0, 1.5, 0.0);
-  matrice.scale(0.25);
-  dessineCube(matrice);
-
-  // Dessine le 3e cube
-  matrice.setToIdentity();
-  matrice.translate(0.0, 0.0, 1.5);
-  matrice.scale(0.25);
-  matrice.rotate(45.0, 0.0, 1.0, 0.0);
-  dessineCube(matrice);
-
-  // Dessine le 4e cube
-  matrice.setToIdentity();
-  matrice.rotate(a_dessiner.infos(), 1.0, 0.0, 0.0);
-  matrice.translate(0.0, 2.3, 0.0);
-  matrice.scale(0.2);
-  dessineCube(matrice);
-}
-
-// ======================================================================
-void VueOpenGL::init()
-{
-  /* Initialise notre vue OpenGL.
-   * Dans cet exemple, nous créons et activons notre shader.
-   *
-   * En raison du contenu des fichiers *.glsl, le shader de cet exemple
-   * NE permet QUE de dessiner des primitives colorées 
-   * (pas de textures, brouillard, reflets de la lumière ou autres).
-   *
-   * Il est séparé en deux parties VERTEX et FRAGMENT.
-   * Le VERTEX :
-   * - récupère pour chaque sommet des primitives de couleur (dans
-   *     l'attribut couleur) et de position (dans l'attribut sommet)
-   * - multiplie l'attribut sommet par les matrices 'vue_modele' et
-   *     'projection' et donne le résultat à OpenGL
-   *   - passe la couleur au shader FRAGMENT.
-   *
-   * Le FRAGMENT :
-   *   - applique la couleur qu'on lui donne
-   */
-
-  prog.addShaderFromSourceFile(QGLShader::Vertex,   ":/vertex_shader.glsl");
-  prog.addShaderFromSourceFile(QGLShader::Fragment, ":/fragment_shader.glsl");
-
-  /* Identifie les deux attributs du shader de cet exemple
-   * (voir vertex_shader.glsl).
-   *
-   * L'attribut identifié par 0 est particulier, il permet d'envoyer un
-   * nouveau "point" à OpenGL
-   * 
-   * C'est pourquoi il devra obligatoirement être spécifié et en dernier 
-   * (après la couleur dans cet exemple, voir plus bas).
-   */
-
-  prog.bindAttributeLocation("sommet",  SommetId);
-  prog.bindAttributeLocation("couleur", CouleurId);
-  
-  // Compilation du shader OpenGL
-  prog.link();
-
-  // Activation du shader
-  prog.bind();
-
-  /* Activation du "Test de profondeur" et du "Back-face culling"
-   * Le Test de profondeur permet de dessiner un objet à l'arrière-plan
-   * partielement caché par d'autres objets.
-   * 
-   * Le Back-face culling consiste à ne dessiner que les face avec ordre 
-   * de déclaration dans le sens trigonométrique.
-   */
-  glEnable(GL_DEPTH_TEST);
-  glEnable(GL_CULL_FACE);
-
-  initializePosition();
-}
-
-// ======================================================================
-void VueOpenGL::initializePosition()
-{
-  // position initiale
-  matrice_vue.setToIdentity();
-  matrice_vue.translate(0.0, 0.0, -4.0);
-  matrice_vue.rotate(60.0, 0.0, 1.0, 0.0);
-  matrice_vue.rotate(45.0, 0.0, 0.0, 1.0);
-}
-
-// ======================================================================
-void VueOpenGL::translate(double x, double y, double z)
-{
-  /* Multiplie la matrice de vue par LA GAUCHE.
-   * Cela fait en sorte que la dernière modification apportée
-   * à la matrice soit appliquée en dernier (composition de fonctions).
-   */
-  QMatrix4x4 translation_supplementaire;
-  translation_supplementaire.translate(x, y, z);
-  matrice_vue = translation_supplementaire * matrice_vue;
-}
-
-// ======================================================================
-void VueOpenGL::rotate(double angle, double dir_x, double dir_y, double dir_z)
-{
-  // Multiplie la matrice de vue par LA GAUCHE
-  QMatrix4x4 rotation_supplementaire;
-  rotation_supplementaire.rotate(angle, dir_x, dir_y, dir_z);
-  matrice_vue = rotation_supplementaire * matrice_vue;
-}
-
-// ======================================================================
-void VueOpenGL::dessineCube (QMatrix4x4 const& point_de_vue)
-{
-  prog.setUniformValue("vue_modele", matrice_vue * point_de_vue);
-
-  glBegin(GL_QUADS);
-  // face coté X = +1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 0.0); // rouge
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-
-  // face coté X = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 0.0); // vert
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-
-  // face coté Y = +1
-  prog.setAttributeValue(CouleurId, 0.0, 0.0, 1.0); // bleu
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-
-  // face coté Y = -1
-  prog.setAttributeValue(CouleurId, 0.0, 1.0, 1.0); // cyan
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-
-  // face coté Z = +1
-  prog.setAttributeValue(CouleurId, 1.0, 1.0, 0.0); // jaune
-  prog.setAttributeValue(SommetId, -1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, +1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, +1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, +1.0);
-
-  // face coté Z = -1
-  prog.setAttributeValue(CouleurId, 1.0, 0.0, 1.0); // magenta
-  prog.setAttributeValue(SommetId, -1.0, -1.0, -1.0);
-  prog.setAttributeValue(SommetId, -1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, +1.0, -1.0);
-  prog.setAttributeValue(SommetId, +1.0, -1.0, -1.0);
-
-  glEnd();
-}
diff --git a/ex_05(TutoQt)/Qt_GL/vue_opengl.h b/ex_05(TutoQt)/Qt_GL/vue_opengl.h
deleted file mode 100644
index 3e3772b..0000000
--- a/ex_05(TutoQt)/Qt_GL/vue_opengl.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef VUEOPENGL_H
-#define VUEOPENGL_H
-
-#include <QGLShaderProgram> // Classe qui regroupe les fonctions OpenGL liées aux shaders
-#include <QMatrix4x4>
-#include "support_a_dessin.h"
-
-class VueOpenGL : public SupportADessin {
- public:
-  // méthode(s) de dessin (héritée(s) de SupportADessin)
-  virtual void dessine(Contenu const& a_dessiner) override;
-
-  // méthodes de (ré-)initialisation
-  void init();
-  void initializePosition();
-
-  // méthode set
-  void setProjection(QMatrix4x4 const& projection)
-  { prog.setUniformValue("projection", projection); }
-
-  // Méthodes set
-  void translate(double x, double y, double z);
-  void rotate(double angle, double dir_x, double dir_y, double dir_z);
-  
-  // méthode utilitaire offerte pour simplifier
-  void dessineCube(QMatrix4x4 const& point_de_vue = QMatrix4x4() );
-
- private:
-  // Un shader OpenGL encapsulé dans une classe Qt
-  QGLShaderProgram prog;
-
-  // Caméra
-  QMatrix4x4 matrice_vue;
-};
-
-#endif
diff --git a/ex_05(TutoQt)/ex_05.pro b/ex_05(TutoQt)/ex_05.pro
deleted file mode 100644
index 66a76d6..0000000
--- a/ex_05(TutoQt)/ex_05.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += \
-   general \
-   Qt_GL \
-   text
-
-Qt_GL.depends = general
-
-text.depends  = general
diff --git a/ex_05(TutoQt)/general/contenu.cc b/ex_05(TutoQt)/general/contenu.cc
deleted file mode 100644
index 35f2a63..0000000
--- a/ex_05(TutoQt)/general/contenu.cc
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "contenu.h"
-
-// ======================================================================
-void Contenu::evolue(double dt)
-{
-  constexpr double omega(100.0);
-  angle += omega * dt;
-}
diff --git a/ex_05(TutoQt)/general/contenu.h b/ex_05(TutoQt)/general/contenu.h
deleted file mode 100644
index 0940c2a..0000000
--- a/ex_05(TutoQt)/general/contenu.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef CONTENU_H
-#define CONTENU_H
-
-#include "dessinable.h"
-#include "support_a_dessin.h"
-
-class Contenu : public Dessinable {
-public:
-  Contenu(SupportADessin* vue)
-    : Dessinable(vue), angle(0.0)
-  {}
-  virtual ~Contenu() {}
-
-  virtual void dessine() override
-  { support->dessine(*this); }
-
-  void evolue(double dt);
-
-  // accesseur
-  double infos() const { return angle; }
-
-private:
-  double angle; /* pour le mouvement ;
-                   dans cet exemple, juste une rotation
-                   au cours du temps                    */
-};
-
-#endif // CONTENU_H
diff --git a/ex_05(TutoQt)/general/dessinable.h b/ex_05(TutoQt)/general/dessinable.h
deleted file mode 100644
index 7996eb8..0000000
--- a/ex_05(TutoQt)/general/dessinable.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef DESSINABLE_H
-#define DESSINABLE_H
-
-class SupportADessin;
-
-class Dessinable {
- public:
-  Dessinable(SupportADessin* support)
-    : support(support)
-  {}
-  virtual ~Dessinable() {}
-  virtual void dessine() = 0;
-
- protected:
-  /* Nous mettons un pointeur au lieu d'une référence *
-   * au cas où l'on voudrait changer de support (non  *
-   * implémenté ici), ou même copier un dessinable,   *
-   * échanger (swap) deux dessinables, etc.           *
-   * Il n'est pas nécessaire d'implémenter une copie  *
-   * profonde ici ; c'est bien une copie de surface   *
-   * dont nous avons besoin.                          */
-  SupportADessin* support;
-};
-
-#endif
diff --git a/ex_05(TutoQt)/general/general.pro b/ex_05(TutoQt)/general/general.pro
deleted file mode 100644
index 7cd6f6e..0000000
--- a/ex_05(TutoQt)/general/general.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-QMAKE_CXXFLAGS += -std=c++11
-
-TEMPLATE = lib
-
-CONFIG = staticlib
-
-SOURCES = contenu.cc
-
-HEADERS += \
-    contenu.h \
-    dessinable.h \
-    support_a_dessin.h
diff --git a/ex_05(TutoQt)/general/support_a_dessin.h b/ex_05(TutoQt)/general/support_a_dessin.h
deleted file mode 100644
index aafaa33..0000000
--- a/ex_05(TutoQt)/general/support_a_dessin.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef SUPPORT_A_DESSIN_H
-#define SUPPORT_A_DESSIN_H
-
-class Contenu;
-
-class SupportADessin
-{
- public:
-  virtual ~SupportADessin() {}
-
-  virtual void dessine(Contenu const& a_dessiner) = 0;
-
-  /* Mettre ici toutes les méthodes nécessaires pour dessiner tous les
-   * objets que l'on veut dessiner. Par exemple :
-   *    virtual void dessine(Nounours const& a_dessiner) = 0;
-   *    virtual void dessine(Voiture  const& a_dessiner) = 0;
-   */
-};
-
-#endif
diff --git a/ex_05(TutoQt)/text/main_text.cc b/ex_05(TutoQt)/text/main_text.cc
deleted file mode 100644
index 768bb5d..0000000
--- a/ex_05(TutoQt)/text/main_text.cc
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <iostream>
-#include "text_viewer.h"
-#include "contenu.h"
-using namespace std;
-
-int main()
-{
-  TextViewer ecran(cout);
-  Contenu c(&ecran);
-
-  cout << "Au départ :" << endl;
-  c.dessine();
-
-  c.evolue(0.1);
-  cout << "Après un pas de calcul :" << endl;
-  c.dessine();
-
-  c.evolue(0.1);
-  cout << "Après deux pas de calcul :" << endl;
-  c.dessine();
-
-  return 0;
-}
diff --git a/ex_05(TutoQt)/text/text.pro b/ex_05(TutoQt)/text/text.pro
deleted file mode 100644
index 2b4f414..0000000
--- a/ex_05(TutoQt)/text/text.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-QMAKE_CXXFLAGS += -std=c++11
-
-TARGET = ex_05_text
-
-LIBS += -L../general -lgeneral
-PRE_TARGETDEPS += ../general/libgeneral.a
-
-INCLUDEPATH = ../general
-
-SOURCES += \
-    main_text.cc \
-    text_viewer.cc
-    
-HEADERS += \
-    ../general/contenu.h \
-    text_viewer.h \
-    ../general/dessinable.h \
-    ../general/support_a_dessin.h
diff --git a/ex_05(TutoQt)/text/text_viewer.cc b/ex_05(TutoQt)/text/text_viewer.cc
deleted file mode 100644
index 33d95b2..0000000
--- a/ex_05(TutoQt)/text/text_viewer.cc
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <iostream> // pour endl
-#include "text_viewer.h"
-#include "contenu.h"
-
-void TextViewer::dessine(Contenu const& a_dessiner)
-{
-  flot << a_dessiner.infos() << std::endl;
-}
diff --git a/ex_05(TutoQt)/text/text_viewer.h b/ex_05(TutoQt)/text/text_viewer.h
deleted file mode 100644
index 7fcc9e4..0000000
--- a/ex_05(TutoQt)/text/text_viewer.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef TEXT_VIEWER_H
-#define TEXT_VIEWER_H
-
-#include <iostream>
-#include "support_a_dessin.h"
-
-class TextViewer : public SupportADessin {
- public:
- TextViewer(std::ostream& flot)
-    : flot(flot)
-  {}
-  virtual ~TextViewer() {}
-
-  virtual void dessine(Contenu const& a_dessiner) override;
-
- private:
-  std::ostream& flot;
-};
-
-#endif