diff --git a/README b/README.md
similarity index 68%
rename from README
rename to README.md
index b17a1cccae3c18ef2a5dd358f7f35129cbbbcecd..7cd765d3c800aa37689f5edf7d1a63f77374a552 100644
--- a/README
+++ b/README.md
@@ -30,7 +30,7 @@ Loi du champ électrique :
 $$
 \vec{E} = \frac{\vec{F}}{q_0} = K\frac{\lvert q_1 \rvert}{r^2}\hat{r}
 $$
-Il est important de noté que $q_0$ est toujours une charge positive ayant une charge beaucoup moins importante que $q_1$ 
+Il est important de noté que $q_0$ est toujours une charge positive ayant une charge beaucoup moins importante que $q_1$
 
 Avec cette formule, il est aisé observer que le champ électrique ne dépend que la charge $q_1$, le champ électrique résultant sera le champs électrique à la position de $q_0$. Le vecteur unitaire $\hat{r}$ est dans la direction de $q_0$ vers $q_1$ quand $q_1$ est une charge négative et dans la direction opposée quand $q_1$ est une charge positive.
 
@@ -42,6 +42,26 @@ Le champ électrique en un point $p$ est la somme des champs électriques pour c
 
 ### Description général de l'algorithme utilisé pour la simulation
 
+Afin de pouvoir dessiner les lignes de champ des diverses charges présentent dans l'univers. Nous avons utilisé une boucle que nous allons stopper dans certaines conditions. Le point d'origine d'une ligne de champ est choisi aléatoirement.
+
+On commence d'abord par calculer le nouveau point à l'aide de la position courante et du champ électrique à cette position, avec de la formule de la loi du champ électrique, vu ci-dessus dans le document. Lors du calcul du champ électrique, si la norme de la distance entre le champ électrique et la charge est inférieure à une valeur arbitraire, alors la méthode nous retournera faux. Ce qui nous permet de savoir quand il faut quitter la boucle.
+
+Dans un second temps, on vérifie que le nouveau point se situe bel et bien dans l'univers afin de dessiner une ligne entre le point actuel et le nouveau point, sinon nous quittons la boucle.
+
+Attention, il faut calculer la ligne de champ dans les deux sens, car sinon nous n'obtiendrons que la moitié du tracé !
+
+La première formule ci-dessous permet de calculer dans un sens et la seconde dans l'autre.
+
+$$
+P_{suivant} = P + \delta * \frac{\vec{E}}{\lvert\lvert \vec{E} \rvert\rvert}\\
+P_{suivant} = P - \delta * \frac{\vec{E}}{\lvert\lvert \vec{E} \rvert\rvert}
+$$
+
+À noter que les calculs ci-dessus sont fait dans deux boucles différentes exécutées l'une après l'autre en recommençant par le même point d'origine.
+
+Pour passer à la suite, le point courant devient le nouveau point et on recalcule le nouveau point, jusqu'à ce que les conditions d'arrêts de la boucle soient atteintes.
+
+
 ## Résultats
 
 ## Conclusion
diff --git a/src/charge.c b/src/charge.c
index fbe17a4fc755e18ab261a7a0f02b5654219f956b..795460c5ace080331fe27d96ee8ea0d3df39475c 100644
--- a/src/charge.c
+++ b/src/charge.c
@@ -36,8 +36,7 @@ charge_t charge_create(double q, vector2_t pos) {
     return c;
 }
 
-bool
-compute_e(charge_t c, vector2_t p, double eps, vector2_t *e) {
+bool compute_e(charge_t c, vector2_t p, double eps, vector2_t *e) {
     *e = vector2_create_zero();
     vector2_t r = vector2_substract(c.pos, p);
     double norm_r = vector2_norm(r);