diff --git a/public/connexion.php b/public/connexion.php
index 9b8e2ab00b4c0ef2ee20229e2fabe722ede4b318..75be731959f645837d254a2474af54350a01189d 100644
--- a/public/connexion.php
+++ b/public/connexion.php
@@ -109,10 +109,47 @@ if (isset($_POST['inscription'])&&isset($_POST['page'])&&isset($_POST['nom'])&&i
 		$_SESSION['inscriptionHidden'] = false;
 		$_SESSION['connexionHidden'] = true;		
 	}	
-
 	header("Location:".$page.".php");
 }
 
+
+
+$ok_mdp = 1;
+if (isset($_POST['page'])&&isset($_POST['old_mdp'])&&isset($_POST['mdp'])&&isset($_POST['cmdp'])) {
+	$ok_mdp=-2;
+	foreach ($users as $user) {
+		if ($user->getId() == $_SESSION["id_user"]) {
+			if (isset($_POST['old_mdp']) && isset($_POST['mdp']) && isset($_POST['cmdp']) ) {
+				if (password_verify($_POST['old_mdp'], $user->getMdp())) {
+						if($_POST['mdp'] == $_POST['cmdp']) {
+							$userRepository->updateUser_editer_password($_SESSION["id_user"], $_POST['mdp']);
+							$ok_mdp = 1;
+							$_SESSION['chgtMdpHidden'] = true;
+							$_SESSION['ok_mdp'] = $ok_mdp;
+							header("Location: espace_perso.php");
+						}
+						else {
+							// Mdp et confirmation mdp sont différents
+							$ok_mdp = 0;
+							$_SESSION['ok_mdp'] = $ok_mdp;
+							$_SESSION['chgtMdpHidden'] = false;							
+						}
+				}			
+				else {
+					// L'ancien mdp est faux
+					$ok_mdp = -1;
+					$_SESSION['ok_mdp'] = $ok_mdp;
+					$_SESSION['chgtMdpHidden'] = false;
+				}    
+			}	
+		}
+	}	
+	header("Location: espace_perso.php");
+}
+
+
+
+
 ?>
 
 
diff --git a/public/espace_perso.php b/public/espace_perso.php
index fac5ce62f445f30fbe5b9c94846d351db13f9a90..6bb68fb6447f6772f2973d1cadadce429079a344 100644
--- a/public/espace_perso.php
+++ b/public/espace_perso.php
@@ -58,6 +58,8 @@ foreach ($users as $user) {
 	}
 }
 
+urlHasArgument();
+
 ?>
 
 
@@ -66,38 +68,11 @@ foreach ($users as $user) {
 <?php
   generateHeader('espace perso');
   generateUserBanner();
-
+	fenetreModalChgtMdp(); // dans content.php
+	
 
   //Création modale de modification du mot de passe
-  echo '	
-	<div class="modal fade" id="modalChgtMDP" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-		<div class="modal-dialog">
-			<div class="modal-content">
-				<div class="modal-header">
-					<h4 class="modal-title" id="modalInscriptionLabel">Connexion</h4>
-					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-				</div>';
-				if ($ok_mdp == 0)
-					echo '<p>Vos mots de passe doivent être identiques !</p>';
-				if ($ok_mdp == -1)
-					echo '<p>Votre mot de passe actuel est erroné !</p>';
-				if ($ok_mdp == 1)
-					echo '<p>Mot de passe changé !</p>';
-				echo "<form class=\"form\" id=\"form_editer_mdp\" action=\"espace_perso.php\" method=\"POST\">
-					<!-- champs caché pour savoir si on vient de info ou mdp -->
-					<input type=\"hidden\" name=\"form_mdp\" value=\"42\"/> 
-					Ancien mot de passe: <br>
-					<input class=\"formulaire\" id=\"mdp0\" type=\"password\" name=\"old_mdp\" required><br>
-					Nouveau mot de passe :<br>
-					<input class=\"formulaire\" id=\"mdp1\" type=\"password\" name=\"mdp\" required><br>
-					Confirmation du nouveau mot de passe :<br>
-					<input class=\"formulaire\" id=\"mdp2\" type=\"password\" name=\"cmdp\" oninput=\"check_mdp(this)\" required><br>
-
-					<input class=\"formulaire\" id=\"valider_mdp\" type=\"submit\" value=\"Envoyer\">
-				</form> 
-			</div>
-		</div>
-	</div>";
+  
 	if( $ok_mdp == -2 )
 		echo '<script>$(document).ready(function(){$("#modalChgtMDP").modal(\'hide\');});</script>';
 	else
diff --git a/public/js/connexion.js b/public/js/connexion.js
index f2f6f374c4172030a520e01e29f98655061f122f..2f5b510f3cc32a2a24c1f1e0b0a2405881acc836 100644
--- a/public/js/connexion.js
+++ b/public/js/connexion.js
@@ -17,23 +17,28 @@ function check_mdp(input) {
 */
 function fenetreModalFermee(fenetreModal) 
 {
-  console.log("JS: modalFermee appelée");
+  //console.log("JS: modalFermee appelée");
   var modal = "";
   if (fenetreModal == 1) {
     modal = "inscription";
-    console.log("modal = inscription");
+    //console.log("modal = inscription");
   }
   if (fenetreModal == 2) {
     modal = "connexion";
-    console.log("modal = connexion");
+    //console.log("modal = connexion");
   }
   
   
+  
   document.getElementById('logoPhp').setAttribute('href', 'index.php?modal=' + modal);
   document.getElementById('indexPhp').setAttribute('href', 'index.php?modal=' + modal);
   document.getElementById('imageRandomPhp').setAttribute('href', 'image_alea.php?modal=' + modal);
   document.getElementById('bibliothequePhp').setAttribute('href', 'bibliotheque.php?modal=' + modal);
 
+  if (fenetreModal == 3) {
+    modal = "chgtMdp";
+    document.getElementById('logoPhp').setAttribute('href', 'espace_perso.php?modal=' + modal);
+  }
   
 
 };
diff --git a/public/utils/content.php b/public/utils/content.php
index 268b1e73b277a4989ce7d2fc051c9ff4bb8f255a..ffdff4e30c73986c0b6b77dc2befbc27e0839f1c 100644
--- a/public/utils/content.php
+++ b/public/utils/content.php
@@ -276,11 +276,79 @@ function urlHasArgument() {
 		$_SESSION['ok_pseudo'] = 1;
 		$_SESSION['ok_mdp'] = 1;
 	}
+	else if ($modal == "chgtMdp") {
+		$_SESSION['chgtMdpHidden'] = true;
+		$_SESSION['ok_mdp'] = 1;
+	}	
+}
+
+
+function fenetreModalChgtMdp() {
+	$chgtMdpHidden = isset($_SESSION['chgtMdpHidden']) ? $_SESSION['chgtMdpHidden'] : true;
+	$ok_mdp = isset($_SESSION['ok_mdp']) ? $_SESSION['ok_mdp'] : 1;
+	echo '	
+	<div class="modal fade" id="modalChgtMDP" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+		<div class="modal-dialog">
+			<div class="modal-content">
+				<div class="modal-header">
+					<h4 class="modal-title" id="modalChgtMdpLabel">Changer mon mot de passe</h4>
+					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+				</div>';
+
+				if ($ok_mdp == -1 || $ok_mdp == 0) {
+					echo 
+						'<div class="alert alert-danger">
+							<span class="invalid_submit">';
+							if ($ok_mdp == 0)
+								echo '<p>Vos mots de passe doivent être identiques !</p>';
+							if ($ok_mdp == -1)
+								echo '<p>Votre mot de passe actuel est erroné !</p>';							
+					echo 
+							'</span>
+						</div>';							
+				}	
+				
+				echo 
+				'<div class="modal-body">
+					<form class="form" id="form_editer_mdp" class="form-inline my-2 my-lg-0 float-right" action="connexion.php" method="POST">
+						<input class="form-control mr-sm-2" name="page" type="hidden" value="chgtMdp">
+						<input class="form-control mr-sm-2" id="mdp0" placeholder="Ancien mot de passe" type="password" name="old_mdp" required><br>
+						<input class="form-control mr-sm-2" id="mdp1" placeholder="Nouveau mot de passe" type="password" name="mdp" required><br>
+						<input class="form-control mr-sm-2" id="mdp2" placeholder="Confirmation" type="password" name="cmdp" oninput=\"check_mdp(this)\" required><br>
+						<button class="btn btn-success" type="submit">Changer</button>
+					</form> 
+				</div>
+			</div>
+		</div>
+	</div>';
+
 
+	// si $inscriptionHidden == false, on affiche la modal fenetre
+	if ($chgtMdpHidden == false) {
+		echo 
+		'<script>
+			$(document).ready(function(){
+				$("#modalChgtMDP").modal(\'show\')
+				$("#modalChgtMDP").on(\'hidden.bs.modal\', function () {
+					fenetreModalFermee(3);
+				});
+			});
+		</script>';
+	}
 	
-}
 
+	// si $inscriptionHidden == true, on affiche la modal fenetre
+	if ($chgtMdpHidden == true) {
+		echo '<script>
+				$(document).ready(function(){
+						$("#modalChgtMDP").modal(\'hide\');
+				});
+		</script>';
+	}
+}
 
+			
+		
 
 
 function generateFooter() {