public async Task <IActionResult> Modifier([FromRoute] string Id, string editBtn, Person person)
        {
            if (!ModelState.IsValid)
            {
                return(View(User));
            }

            // Récupération de l'utilisateur
            var OriginalUser = await _userManager.FindByIdAsync(person.Id);

            // Mise à jour de l'utilisateur
            OriginalUser.Address     = person.Address;
            OriginalUser.ZIPCode     = person.ZIPCode;
            OriginalUser.Email       = person.Email;
            OriginalUser.Surname     = person.Surname;
            OriginalUser.PhoneNumber = person.PhoneNumber;
            OriginalUser.Name        = person.Name;
            OriginalUser.Town        = person.Town;
            OriginalUser.Status      = person.Status;
            OriginalUser.Civility    = person.Civility;

            var result = await _userManager.UpdateAsync(OriginalUser);

            if (!result.Succeeded)
            {
                // Retour des erreurs
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
                return(View(User));
            }

            if (editBtn == "edit_resend")
            {
                // Génération du token pour la génération du mot de passe
                var Token = await _userManager.GeneratePasswordResetTokenAsync(OriginalUser);

                // Envoi du mail pour la création du compte
                var callbackUrl = Url.Action("ResetPassword", "Login", new { area = "", userId = OriginalUser.Id, code = Token }, Request.Scheme);

                await _emailSender.SendEmailAsync(OriginalUser.Email, "Veuillez définir votre mot de passe",
                                                  $"Veuillez définir votre mot de passe <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>En cliquant ici</a>.");
            }

            return(RedirectToAction(nameof(Index)));
        }