void Button_Click(object sender, RoutedEventArgs e)
        {
            // Bouton clické
            var button = (Button)sender;

            // Trou associé au bouton
            Trou trou = (Trou)button.DataContext;

            // Check si le Joueur clique sur la bonne rangée
            if (trou.Joueur != JoueurCourant)
            {
                MessageBox.Show("Tu triches " + JoueurCourant.Nom + ", ce n'est pas ton trou !");
                return;
            }

            // Check si le trou n'est pas vide
            if (trou.Valeur == 0)
            {
                MessageBox.Show("Tu ne peux pas tricheur " + trou.Joueur.Nom);
                return;
            }

            // Check pour le reseau
            if (IsCombatReseau == true && JoueurCourant != JoueurActuelReseau)
            {
                MessageBox.Show("Ce n'est pas à toi de jouer ! ");
                return;
            }

            // Si partie en réseau
            if (IsCombatReseau == true)
            {
                int indexTrou = ListTrousOrdonnes.IndexOf(trou);

                if (hostGame != null)
                {
                    hostGame.SendAction(indexTrou);
                }
                else
                {
                    connect.SendAction(indexTrou);
                }
            }

            // Gestion de l'action
            TraitementActionJoueur(trou);

            // Si le joueur 2 est une IA ...
            if (J2.IsIA == true)
            {
                // On fait jouer l'IA
                Trou trouChoisiParIA = IA.ChoisirAction(J2, ListTrousOrdonnes);

                // On traite son choix
                TraitementActionJoueur(trouChoisiParIA);
            }
        }