/// <summary>
        /// Assigne l'utilisateur courant à l'atelier représenté par l'ID du bouton cliqué.
        /// La souscription est réflétée dans la BD.
        /// </summary>
        /// <param name="sender">Bouton cliqué. Son ID correspond au numéro de l'atelier choisi dans la BD.</param>
        public static void Subscribe(object sender, EventArgs e)
        {
            HtmlInputButton button = (HtmlInputButton)sender;

            //Recherche d'un numéro étudiant à partir de l'utilisateur authentifié.
            string user        = HttpContext.Current.User.Identity.Name;
            string numEtudiant = context.Etudiant.SingleOrDefault(etudiant => etudiant.username == user)
                                 .username;

            //Ce if sert principalement à la détection d'erreurs. Le ID du bouton est assigné
            //programmatiquement, alors il devrait toujours parser. Si le programme assigne le ID faussement et celui-ci ne parse pas,
            //nous saurons immédiatement d'où vient l'erreur.
            if (int.TryParse(button.ID, out int numAtelier))
            {
                Etudiant_Atelier newEntry = new Etudiant_Atelier()
                {
                    Numero_Etudiant = numEtudiant,
                    NumAtelier      = numAtelier
                };

                context.Etudiant_Atelier.InsertOnSubmit(newEntry);

                context.SubmitChanges();
            }
            else
            {
                throw new System.ArgumentException($"int.Parse() Could not parse {button.ID} on {button.ToString()}.")
                      {
                          Source = button.ID
                      };
            }
        }
        /// <summary>
        /// Prend en charge la désinscription d'un atelier. L'identité de l'étudiant provient du contexte HTTP,
        /// et l'identité de l'atelier provient de l'ID du bouton cliqué.
        /// </summary>
        /// <param name="sender">Bouton cliqué. Son ID correspond au numéro de l'atelier choisi dans la BD.</param>
        /// <param name="e"></param>
        public static void Unsubscribe(object sender, EventArgs e)
        {
            HtmlInputButton button = (HtmlInputButton)sender;
            string          user   = HttpContext.Current.User.Identity.Name;


            if (int.TryParse(button.ID, out int numAtelier))
            {
                Etudiant_Atelier toDelete = context.Etudiant_Atelier.SingleOrDefault(ea => ea.Numero_Etudiant == user &&
                                                                                     ea.NumAtelier == numAtelier);

                context.Etudiant_Atelier.DeleteOnSubmit(toDelete);

                context.SubmitChanges();
                button.Value = "Succès";
            }
        }