diff --git a/comparison/lib.py b/comparison/lib.py
index 072834992a7291ad3e3dae6d4a5931e5e43386ee..58df9d36af413c2884c7d29111cc7f13df64e459 100644
--- a/comparison/lib.py
+++ b/comparison/lib.py
@@ -26,7 +26,7 @@ def diff(cursor, prover1, prover2):
 
 
 
-def print_columns(lines):
+def print_columns(lines, sep = "."):
   "affiche les colonnes bien alignées"
   if len(lines) == 0:
     return
@@ -35,10 +35,15 @@ def print_columns(lines):
 
   for line in lines:
     for i in xrange(column_width-1):
-      widths[i] = max(widths[i], len(str(line[i])))
+      widths[i] = max(widths[i], len(unicode(line[i])))
 
   for line in lines:
     for i in xrange(column_width-1):
-      assert(len(str(line[i])) <= widths[i])
-      print str(line[i]).ljust(widths[i]+2, "."),
+      assert(len(unicode(line[i])) <= widths[i])
+      print unicode(line[i]).ljust(widths[i]+2, sep),
     print line[-1]
+
+
+def print_sep():
+  "affiche une ligne de '-' pour séparer clairement des sections de l'affichage"
+  print "---------------------------------------------------------------"
diff --git a/comparison/stats.py b/comparison/stats.py
new file mode 100755
index 0000000000000000000000000000000000000000..d3f8244a91e6b98566d21fec23cbf6c887aa6ed4
--- /dev/null
+++ b/comparison/stats.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python
+#-*- coding: UTF-8 -*-
+
+
+# ce script collecte des statistiques sur les prouveurs
+
+import sys
+
+import lib
+
+# connexion DB
+import sqlite3
+
+conn = sqlite3.connect("output.db")
+cursor = conn.cursor()
+
+# trouver les prouveurs
+
+provers = cursor.execute("select distinct prover from runs").fetchall()
+provers = [line[0] for line in provers]
+
+print "prouveurs trouvés :", ", ".join(provers)
+
+lib.print_sep()
+print ""
+
+
+# collecter les statistiques (succès, échecs) de chaque prouveur
+
+stats = {}
+
+for prover in provers:
+
+  successes = cursor.execute("""
+    SELECT DISTINCT file,goal FROM runs
+    WHERE result = "Valid"
+    AND prover = "%s"
+    """ % prover).fetchall()
+
+
+  failures = cursor.execute("""
+    SELECT DISTINCT file,goal FROM runs
+    WHERE result = "Timeout"
+    AND prover = "%s"
+    """ % prover).fetchall()
+
+  stats[prover] = (len(successes), len(failures))
+
+
+# mettre en forme
+
+table = [["prouveur", u"nombre de succès", u"nombre d'échecs", "nombre total"]]
+
+for prover in provers:
+
+  entry = [prover, stats[prover][0], stats[prover][1], stats[prover][0] + stats[prover][1]]
+  table.append(entry)
+
+lib.print_columns(table, sep = " ")