diff --git a/module2/exo1/toy_document_orgmode_python_fr.org b/module2/exo1/toy_document_orgmode_python_fr.org
index c7157ba42216cf2e1d291112bb351ce48811115c..a82e8799b3c473db428c6977511d7d8da66a2c98 100644
--- a/module2/exo1/toy_document_orgmode_python_fr.org
+++ b/module2/exo1/toy_document_orgmode_python_fr.org
@@ -1,6 +1,6 @@
-#+TITLE: Votre titre
-#+AUTHOR: Votre nom
-#+DATE: La date du jour
+#+TITLE: À propos de \pi
+#+AUTHOR: Konrad Hansen
+#+DATE: 2019-03-28
#+LANGUAGE: fr
# #+PROPERTY: header-args :eval never-export
@@ -11,6 +11,67 @@
#+HTML_HEAD:
#+HTML_HEAD:
+* En demandant à la lib maths
+
+Mon ordinateur indique que \pi vaut /approximativement/:
+
+#+begin_src python :results output :exports both
+from math import *
+pi
+#+end_src
+
+#+RESULTS:
+: 3.141592653589793
+
+* En utilisant la méthode des aiguilles de Buffon
+
+Mais calculé avec la *méthode* des [[https://fr.wikipedia.org/wiki/Aiguille_de_Buffon][aiguilles de Buffon]], on obtiendrait
+comme *approximation* :
+
+#+begin_src python :results output :exports both
+import numpy as np
+np.random.seed(seed=42)
+N = 10000
+x = np.random.uniform(size=N, low=0, high=1)
+theta = np.random.uniform(size=N, low=0, high=pi/2)
+2/(sum((x+np.sin(theta))>1)/N)
+#+end_src
+
+#+RESULTS:
+: 3.128911138923655
+
+* Avec un argument "fréquentiel" de surface
+
+Sinon, une méthode plus simple à comprendre et ne faisant pas
+intervenir d'appel à la fonction sinus se base sur le fait que si
+X∼U(0,1) et Y∼U(0,1) alors P[X^2+Y^2≤1]=π/4 (voir
+[[https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Monte-Carlo#D%C3%A9termination_de_la_valeur_de_%CF%80][méthode de Monte Carlo sur Wikipedia]]).
+Le code suivant illustre ce fait :
+
+#+begin_src python :results output :session :exports both
+import matplotlib.pyplot as plt
+
+np.random.seed(seed=42)
+N = 1000
+x = np.random.uniform(size=N, low=0, high=1)
+y = np.random.uniform(size=N, low=0, high=1)
+
+accept = (x*x+y*y) <= 1
+reject = np.logical_not(accept)
+
+fig, ax = plt.subplots(1)
+ax.scatter(x[accept], y[accept], c='b', alpha=0.2, edgecolor=None)
+ax.scatter(x[reject], y[reject], c='r', alpha=0.2, edgecolor=None)
+ax.set_aspect('equal')
+
+plt.savefig(matplot_lib_filename)
+print(matplot_lib_filename)
+#+end_src
+
+#+begin_src python :results output :session :exports both
+4*np.mean(accept)
+#+end_src
+
* Quelques explications
Ceci est un document org-mode avec quelques exemples de code