diff --git a/Code/profil_modif.php b/Code/profil_modif.php
index f5f5fb57cd5408bfb2c52646fcdbcb1908fbb3b5..5087780f0fd67f1d1699db85a4d8a44cfb69f75b 100644
--- a/Code/profil_modif.php
+++ b/Code/profil_modif.php
@@ -198,6 +198,12 @@ else {
             }
             print "</ul>";
 
+            if ($profil) {
+                print "<p>Modifier le mot de passe :</p><br/>";
+
+                print "Mot de passe : <input type='password' name='psw' pattern=\"(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}\" title='Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters'/>\n";
+                print "Vérification du mot de passe : <input type='password' name='psw2' pattern=\"(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}\" title='Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters'/>\n";
+            }
 
             print "<input type=\"hidden\" value=$login name=\"login\" />";
 
@@ -221,4 +227,6 @@ else {
 
 }
 retourAuMenu();
-pied();
\ No newline at end of file
+pied();
+
+?>
\ No newline at end of file
diff --git a/Code/validation_modif.php b/Code/validation_modif.php
index 0172e637fffa268db684444af27cc9b5375bd79c..55472d010641debd58f841230817c0e76ee64965 100644
--- a/Code/validation_modif.php
+++ b/Code/validation_modif.php
@@ -26,6 +26,8 @@ $telN=$_GET['telN'];
 $mailN=$_GET['mailN'];
 $ecoleN=$_GET['ecoleN'];
 $gpeN=$_GET['gpeN'];
+$mdp = $_GET['psw'];
+
 
 enTete("Modifications apportées", $nomUser);
 
@@ -205,8 +207,8 @@ list($nom,$prenom,$surnom,$promo,$ddn,$tel,$mail,$ecole,$gpe, $assocs) = consult
 
 
     /* GROUPE TD TP */
+    if ($gpeN == 0) $gpeN = "";
     if ($gpeN != $gpe) {
-        if ($gpeN == 0) $gpeN = "";
         $modifGpe = modifierEleve('gpe_td', $gpeN, $login, $nomHost, $nomBase, $nomRoot, $mdpRoot);
         /*print "<p>Le nouveau gpe doit être $gpe";
         print "Valeur de modifGpe : $modifGpe</p>";*/
@@ -218,7 +220,7 @@ list($nom,$prenom,$surnom,$promo,$ddn,$tel,$mail,$ecole,$gpe, $assocs) = consult
         } elseif ($modifGpe == 0) $nouvGpe = True; /* On a pu changer le groupe */
         else {
             print "<p class = 'erreur'>Erreur lors de la modification du groupe de TD/TP</p>";
-            $nouvNom = False;
+            $nouvGpe = False;
         }
     }
     else $nouvGpe = False;
@@ -245,9 +247,29 @@ list($nom,$prenom,$surnom,$promo,$ddn,$tel,$mail,$ecole,$gpe, $assocs) = consult
         }
     }
 
+    /* MDP */
+    if ($mdp == $_GET['psw2'] && $mdp!="") {
+        $modifMdp = modifierEleve('mdp', $mdp, $login, $nomHost, $nomBase, $nomRoot, $mdpRoot);
+
+        if ($modifMdp == -2) {
+            /* On n'a pas pu se connecter à la base */
+            print "<p class = 'erreur'>Erreur lors de la connexion à la base</p>";
+            $nouvMdp = False;
+        }
+        elseif ($modifMdp == 0) $nouvMdp = True; /* On a pu changer le groupe */
+        else {
+            print "<p class = 'erreur'>Erreur lors de la modification du mot de passe</p>";
+            $nouvMdp = False;
+        }
+
+    }
+
+
+
+
 
 
-if ($nouvNom || $nouvPrenom || $nouvSurnom || $nouvPromo || $nouvDdn || $nouvTel || $nouvMail || $nouvEcole || $nouvGpe || $ajoutAssoc != 0 || $suppAssoc != 0) {
+if ($nouvNom || $nouvPrenom || $nouvSurnom || $nouvPromo || $nouvDdn || $nouvTel || $nouvMail || $nouvEcole || $nouvGpe || $ajoutAssoc != 0 || $suppAssoc != 0 || $nouvMdp) {
 
     /* Affichage des modifications */
     print "<p>Les modifications suivantes ont été apportées : <br/>";
@@ -264,6 +286,7 @@ if ($nouvNom || $nouvPrenom || $nouvSurnom || $nouvPromo || $nouvDdn || $nouvTel
     if ($ajoutAssoc != 0) print "<li>Ajout de $ajoutAssoc association(s)</li><br/>";
     if ($suppAssoc != 0) print "<li>Suppression de $suppAssoc association(s)</li><br/>";
     print"</ul></p>";
+    if ($nouvMdp) print "<p>Changement du mot de passe effectué.</p><br/>";
 
 }
 else {