diff --git a/README b/README
deleted file mode 100644
index 59f8fb0015dfe2f35550678a47552639c71997f0..0000000000000000000000000000000000000000
--- a/README
+++ /dev/null
@@ -1 +0,0 @@
-sudo apt-get install freeglut3-dev
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..332ccb2da867e54417fdd2f3073b4882cc0b3eb2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,122 @@
+
+# Rapport du travail pratique de physique - SolarSystemSimulator
+
+Ce travail est réalisé par M. Ackermann Gawen et M. Burgener Florian, dans le cours de physique appliquée à l'ingénirie.
+
+## But
+
+Le but de ce projet est de réaliser un simulateur de système planétaire.
+
+## Projet
+
+Afin de mener ce projet à terme, nous avons dû créer certaines de nos structures. De plus, le sujet traitant sur des éléments existants, nous avons fait des recherches afin d'obtenir les informations exactes des diverses : masses, excentricités et périhélies.
+
+### Données
+
+| Objet céleste |      Masse      | Excentricité |  Demi-grand axe  |
+|:-------------:|:---------------:|:------------:|:----------------:|
+| Soleil        | 1.988900 * 1E30 |       /      |         /        |
+| Mercure       | 0.33018 * 1E24  | 0.20563069   | 579.09227 * 1E8  |
+| Venus         | 4.8685 * 1E24   | 0.00677323   | 108.208475 * 1E9 |
+| Terre         | 5.9736 * 1E24   | 0.01671022   | 149.598262 * 1E9 |
+| Mars          | 0.64185 * 1E24  | 0.09341233   | 227.943824 * 1E9 |
+
+### Mise en place
+
+Pour utiliser le simulateur, il faut en premier temps clone ce repository. Ensuite, si ce n'est pas déjà fait, il faut installer OpenGL avec `sudo apt-get install freeglut3-dev`. Une fois ceci fait, il faut compiler le projet à l'aide de la commande puis lancer le programme à l'aide d'un terminal ouvert dans ce même répertoire et de lancer la commande suivante : `./main`
+
+### Structures
+
+#### CelestialObject
+
+Représente un corps céleste tel que : Une planète ou une étoile.
+
+```c
+typedef struct CelestialObject {
+    double mass;
+    Vector2 previous_position;
+    Vector2 current_position;
+    double semi_major_axis;
+    double eccentricity;
+    uint32_t drawing_disc_radius;
+    uint32_t drawing_color;
+    Vector2 *points;
+    int32_t points_length;
+} CelestialObject;
+
+CelestialObject *celestial_object_create(double mass, double semi_major_axis, double eccentricity, uint32_t drawing_disc_radius, uint32_t drawing_color);
+
+```
+
+#### PlanetarySystem
+
+Représente un système planétaire composé d'une étoile en son centre et des planètes orbitant autour.
+
+```c
+typedef struct {
+    uint32_t objects_length;
+    CelestialObject **objects;
+    double interval;
+    double zoom_factor;
+    int32_t reference_frame_object_index;
+} PlanetarySystem;
+
+PlanetarySystem *planetary_system_create();
+void planetary_system_update(PlanetarySystem *planetary_system, double interval);
+void planetary_system_draw(PlanetarySystem *planetary_system);
+```
+
+#### Vector 2
+
+Représente un vecteur en 2 dimensions.
+
+```c
+typedef struct Vector2 Vector2;
+struct Vector2 {
+    double x;
+    double y;
+};
+
+Vector2 vector2_create(double x, double y);
+Vector2 vector2_create_zero();
+bool vector2_is_zero(Vector2 v);
+Vector2 vector2_add(Vector2 a, Vector2 b);
+Vector2 vector2_substract(Vector2 a, Vector2 b);
+Vector2 vector2_multiply(Vector2 v, double scalar);
+double vector2_dot_product(Vector2 a, Vector2 b);
+double vector2_norm_sqr(Vector2 v);
+double vector2_norm(Vector2 v);
+Vector2 vector2_normalize(Vector2 v);
+bool vector2_is_similiar(Vector2 a, Vector2 b, double epsilon);
+Vector2 vector2_fit_canvas(Vector2 v, uint32_t width, uint32_t height);
+void vector2_print(Vector2 v);
+```
+
+### Fonctionnement
+
+#### Système de mise à jour
+
+:TODO:
+Décrire le système de mise à jour étape par étape
+
+### Commandes utiles (Interface)
+
+#### Naviguer à travers les objets célestes
+
+Pour naviguer à travers les objets célestes, il faut utiliser les `flèches directionnelles horizontales` du clavier.
+
+#### Accélérer la simulation
+
+Pour accélerer la vitesse de simulation, il faut utiliser la `flèche du haut` du clavier.
+
+#### Decélerrer la simulation
+
+Pour décélerrer la vitesse de simulation, il faut utiliser la `flèche du bas` du clavier.
+
+#### Zoomer sur les objets célestes
+
+Pour agrandir la taille des objets célestes afin d'y voir un peu plus clair, il faut utiliser le `roulement haut de la souris`
+
+#### Dézoomer les objets célestes
+
+Pour rapeticir la taille des objets célestes afin de voir le système dans son ensemble, il faut utiliser le `roulement bas de la souris`