diff --git a/class/stats.php b/class/stats.php
new file mode 100644
index 0000000000000000000000000000000000000000..971daea44b781b707cb36d03cbc9d520cdc597f5
--- /dev/null
+++ b/class/stats.php
@@ -0,0 +1,142 @@
+<?php
+
+class Stats
+{    
+    public function factureMoyClient()
+    {
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT SUM(t.prix)/COUNT(*)
+                                                FROM (  SELECT c.nom, c.prenom, SUM(f.prix_total) AS prix
+                                                        FROM animal a, client c, facture f
+                                                        WHERE a.client = c.id
+                                                        AND f.animal = a.id
+                                                        GROUP BY c.nom, c.prenom, c.id) t" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+    public function nbAnimalMoyClient()
+    {
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT SUM(t.count)/COUNT(*)
+                                                FROM (  SELECT c.nom, c.prenom, COUNT(a.client) AS count
+                                                        FROM animal a, client c 
+                                                        WHERE a.client = c.id
+                                                        GROUP BY c.nom, c.prenom, c.id) t" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+
+    public function nbAnimalClient()
+    {
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT c.nom, c.prenom, COUNT(a.client)
+                                                FROM animal a, client c 
+                                                WHERE a.client = c.id
+                                                GROUP BY c.nom, c.prenom, c.id" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+    public function top3Client()
+    {
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT c.nom, c.prenom, SUM(f.prix_total) AS prix
+                                                FROM animal a, client c, facture f
+                                                WHERE a.client = c.id
+                                                AND f.animal = a.id
+                                                GROUP BY c.nom, c.prenom, c.id
+                                                LIMIT 3" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+    public function top3Facture()
+    {
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT c.nom, c.prenom, f.prix_total
+                                                FROM animal a, client c, facture f
+                                                WHERE a.client = c.id
+                                                AND f.animal = a.id
+                                                ORDER BY f.prix_total DESC
+                                                LIMIT 3" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+    public function top5Veterinaire()
+    {
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT e.nom, e.prenom, COUNT(*) AS c 
+                                                FROM employe e, rdv r 
+                                                WHERE e.id = r.employe
+                                                AND e.is_veterinaire = '1'
+                                                GROUP BY e.nom, e.prenom, e.id
+                                                ORDER BY c DESC
+                                                LIMIT 5" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+    public function top10Race()
+    {
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT r.nom, count(*)
+                                                FROM animal a, race r
+                                                WHERE a.race = r.id
+                                                GROUP BY r.nom, r.id
+                                                LIMIT 10" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+    public function top10Espece()
+    {
+
+        $bdd = new Db();
+
+        $requete_prepare = $bdd->db->prepare("  SELECT e.nom, count(*)
+                                                FROM animal a, race r, espece e
+                                                WHERE a.race = r.id
+                                                AND e.id = r.espece
+                                                GROUP BY e.nom, e.id
+                                                LIMIT 10" ); // on prépare notre requête
+        $requete_prepare->execute();
+
+        $ligne = $requete_prepare->fetch(PDO::FETCH_ASSOC);
+
+        return $ligne;
+    }
+
+    
+
+}
\ No newline at end of file