private void begin(object sender, RoutedEventArgs e)
        {
            champAdressePhysique.Text = "";
            champAux.Text             = "";
            champRam.Text             = "";
            champTPages.Text          = "";
            deroulement.Text          = "";

            stop.IsEnabled             = true;
            suivant.IsEnabled          = true;
            suiteReferences.IsReadOnly = true;
            if (iteration == 0)
            {
                sauvSuite = suiteReferences.Text;
                requete   = sauvSuite.Split(' ').ToList <String>();
            }
            if (iteration < suiteReferences.Text.Split(' ').Length)
            {
                sequence.Push(new List <object> {
                    systemExploitation.Clone(), ram.Clone(), diskDur.Clone(), new List <EntreeTablePage>(tablePages.Select(x => x.Clone())), requete, sauvSuite
                });
                if (requete.Count != 0)
                {
                    String r = requete[iteration];
                    demande.Text = "Demande de l'adresse virtuelle: " + r;
                    try
                    {
                        int tmp = Convert.ToInt32(r);
                        switch (choixAlgorithme.SelectedIndex)
                        {
                        case 3:
                            affichMatriceAging();
                            break;
                        }

                        int             sDefaut = systemExploitation.getDefautDePage();
                        int             sNbpage = ram.getNombrepagesLibres();
                        SolidColorBrush myBrush = new SolidColorBrush();
                        myBrush.Color = Colors.White;
                        ColorAnimation ba = new ColorAnimation()
                        {
                            Duration = TimeSpan.FromMilliseconds(1000)
                        };
                        if (tablePages[tmp].getDisponible() == true)
                        {
                            ba.To = Colors.Green;
                        }
                        else
                        {
                            ba.To = Colors.Red;
                        }
                        myBrush.BeginAnimation(SolidColorBrush.ColorProperty, ba);
                        oTable.RowGroups[0].Rows[tmp].Background = myBrush;
                        systemExploitation.gestionRequete(choixAlgorithme.SelectedIndex, tablePages, tmp, ram, diskDur);
                        Line line = new Line()
                        {
                            X1 = 150, Y1 = (tmp + 1) * 51 + 25, Stroke = new SolidColorBrush(Colors.Black), StrokeThickness = 2
                        };
                        DoubleAnimation animation = new DoubleAnimation(260, TimeSpan.FromSeconds(0.5))
                        {
                            From = 150, AutoReverse = true
                        };

                        memVirtuelle.Children.Add(line);
                        line.BeginAnimation(Line.X2Property, animation);
                        animation.From = line.Y1;
                        animation.To   = 200 + (51) * tablePages[tmp].getPageCorrespandante();
                        line.BeginAnimation(Line.Y2Property, animation);



                        switch (choixAlgorithme.SelectedIndex)
                        {
                        case 0:
                            if (sDefaut < systemExploitation.getDefautDePage() && sNbpage == 0)
                            {
                                aux.Children.RemoveAt(0);
                                aux.Children.RemoveAt(0);
                            }
                            else
                            {
                                if (sDefaut == systemExploitation.getDefautDePage())
                                {
                                    for (int i = 1; i < aux.Children.Count; i = i + 2)
                                    {
                                        if (((TextBlock)aux.Children[i]).Text == r)
                                        {
                                            aux.Children.RemoveRange(i - 1, 2);
                                            for (int k = i - 1; k < aux.Children.Count; k++)
                                            {
                                                DoubleAnimation db = new DoubleAnimation
                                                {
                                                    To       = Canvas.GetLeft(aux.Children[k]) + 10,
                                                    Duration = new Duration(new TimeSpan(1000000))
                                                };
                                                aux.Children[k].BeginAnimation(Canvas.LeftProperty, db);
                                            }

                                            break;
                                        }
                                    }
                                }
                            }
                            ajoutFileLru();
                            break;

                        case 1:
                            if (sDefaut < systemExploitation.getDefautDePage())
                            {
                                if (sNbpage == 0)
                                {
                                    aux.Children.RemoveAt(0);
                                    aux.Children.RemoveAt(0);
                                }

                                ajoutFileFifo();
                            }

                            break;

                        case 2:
                            affichLfu();
                            break;

                        case 3:
                            affichMatriceAging();
                            break;
                        }
                        champTPages.Text = "Mise a jour de la table de pages ";
                        afficherRam(ram);
                        champAdressePhysique.Text = "L'adresse physique de la page " + r + " est: " + tablePages[Convert.ToInt32(r)].getPageCorrespandante().ToString();
                        deroulement.Text          = "Nombre de defauts de page: " + systemExploitation.getDefautDePage().ToString();
                        majTablePage();
                        iteration++;
                    }
                    catch (FormatException)
                    {
                        msgErreur.Text = "erreur dans la suite entrée.";
                    }

                    precedent.IsEnabled = true;
                    if (iteration == suiteReferences.Text.Split(' ').Length)
                    {
                        lancer.IsEnabled  = false;
                        suivant.IsEnabled = false;
                    }
                }
            }
        }