diff --git a/accueil.php b/accueil.php
index d33986263f1ba7bba6b853101a3e867b79fcaaee..230b7580f17c4a23d8ad03a193e77a13feab5d7f 100644
--- a/accueil.php
+++ b/accueil.php
@@ -12,8 +12,6 @@ $bdd=bdd();
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="stylesheet" href="./bootstrap/css/bootstrap.css">
   <link rel="stylesheet" href="./bootstrap/css/mystyle.css">
-  <script src="./bootstrap/js/jquery.min.js"></script>
-  <script src="./bootstrap/js/bootstrap.min.js"></script>
 </head>
 <body>
   <div class="container-fluid">
@@ -26,8 +24,8 @@ $bdd=bdd();
         if (isset($_SESSION['pseudo'])) {
           $pseudo=$_SESSION['pseudo'];
         ?>
-          <button type="button" class="btn btn-success btn-right" onclick="location.href='./edit.php'" >Edit</button>
           <button type="button" class="btn btn-success btn-right" onclick="location.href='./deconnexion.php'">Deconnexion</button>
+          <button type="button" class="btn btn-success btn-right" onclick="location.href='./edit.php'" >Edit</button>
           <button type="button" class="btn btn-success btn-right" onclick="location.href='./newtopics.php'" >Nouveau sujet</button>
           <label for="hello"><?php echo "Vous êtes connectés entant que : $pseudo";?></label>
         <?php
diff --git a/bootstrap/css/mystyle.css b/bootstrap/css/mystyle.css
index b2a920f6f871fa2d947bc424969a8416df52869b..8c4e20306539a9730bdc31b4b49332dfa82b9ec2 100644
--- a/bootstrap/css/mystyle.css
+++ b/bootstrap/css/mystyle.css
@@ -31,3 +31,9 @@ and open the template in the editor.
         margin-right:20px; 
         float: right;
     }
+input[aria-invalid="true"],
+textarea[aria-invalid="true"]
+{
+  border:1px solid #f00;
+  box-shadow:0 0 4px 0 #f00;
+}
\ No newline at end of file
diff --git a/class/edit.class.php b/class/edit.class.php
new file mode 100644
index 0000000000000000000000000000000000000000..9a7f9bc3fa2292fe523023aeccee595c837657a3
--- /dev/null
+++ b/class/edit.class.php
@@ -0,0 +1,90 @@
+<?php
+require_once("/../fonction.php");
+
+class edit
+{
+	private $mdp;
+	private $mdpC;
+	private $mail;
+	private $bdd;
+
+	public function __construct($mdp, $mdpC, $mail)
+	{
+		$mdp=pg_escape_string(htmlspecialchars($mdp));
+		$mdpC=pg_escape_string(htmlspecialchars($mdpC));
+		$mail=pg_escape_string(htmlspecialchars($mail));
+
+		$this->mdp = $mdp;
+		$this->mdpC = $mdpC;
+		$this->mail = $mail;
+		$this->bdd = bdd();
+	}
+
+	public function verify()
+	{
+		if (!empty($this->mdp))
+		{
+			if(strlen($this->mdp) >= 6 AND strlen($this->mdp) <= 30)
+			{
+				if($this->mdp == $this->mdpC)
+				{
+					if(!empty($this->mail))
+					{
+						$syntax = "#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#";
+						if(preg_match($syntax, $this->mail))
+						{
+							return "ok";
+						}
+						else
+						{
+							return "format de l'adresse mail incorecte !";
+						}
+					}
+					return "ok";
+				}
+				else
+				{
+					return "les mots de passe ne correspondent pas !";
+				}
+			}
+			else
+			{
+				return "format du mot de passe incorecte !";
+			}
+		}
+		else
+		{
+			$syntax = "#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#";
+			if(preg_match($syntax, $this->mail))
+			{
+				return "ok";
+			}
+			else
+			{
+				return "format de l'adresse mail incorecte !";
+			}
+		}
+	}
+
+	public function update()
+	{
+		$pseudo=$_SESSION['pseudo'];
+		$requete=pg_query("SELECT * FROM users WHERE pseudo = '$pseudo'");
+		$result=pg_fetch_array($requete);
+		if (empty($this->mdp)) {
+			$requete=pg_query("UPDATE users SET adr_mail='$this->mail'");
+		}
+		else
+		{
+			if (empty($this->mail)) {
+				$this->mdp = password_hash($this->mdp, PASSWORD_BCRYPT);
+				$requete=pg_query("UPDATE users SET adr_mail='$this->mail'");
+			}
+			$requete2=pg_query("UPDATE users SET mdp='$this->mdp'");
+		}
+		return 1;
+	}
+
+}
+
+?>
\ No newline at end of file
diff --git a/class/inscription.class.php b/class/inscription.class.php
index e977c746e581f9ddb70586f937103c6a969cb324..ba40fc5c05a8457b2131f390402c7bc1e64b4af4 100644
--- a/class/inscription.class.php
+++ b/class/inscription.class.php
@@ -11,8 +11,8 @@ class inscription
 
 	public function __construct($pseudo, $mail, $mdp, $mdpC)
 	{
-		$pseudo = htmlspecialchars($pseudo);
-		$mail = htmlspecialchars($mail);
+		$pseudo = pg_escape_string(htmlspecialchars($pseudo));
+		$mail = pg_escape_string(htmlspecialchars($mail));
 
 		$this->pseudo = $pseudo;
 		$this->mail = $mail;
diff --git a/class/newtopics.class.php b/class/newtopics.class.php
index a77d1dcd2c6375d6ac15508250e9e31a016e7aca..f0a1c7a61758a70ae96627505bc2fadd48d69e45 100644
--- a/class/newtopics.class.php
+++ b/class/newtopics.class.php
@@ -29,7 +29,7 @@ class newtopics
 		}
 		else
 		{
-			return "Le nom du sujet doit contenir 5 carctéres minimum et 40 maximum"
+			return "Le nom du sujet doit contenir 5 carctéres minimum et 40 maximum";
 		}
 	}
 
diff --git a/edit.php b/edit.php
new file mode 100644
index 0000000000000000000000000000000000000000..37652d15d32ee846deaff3da274449649294e85b
--- /dev/null
+++ b/edit.php
@@ -0,0 +1,131 @@
+<?php
+session_start();
+require_once"fonction.php";
+require_once"./class/edit.class.php";
+$bdd=bdd();
+
+if (isset($_POST['mdp'], $_POST['mdpC']) OR isset($_POST['mail'])) {
+  $mdp=$_POST['mdp'];
+  $mdpC=$_POST['mdpC'];
+  $mail = $_POST['mail'];
+  $edit = new edit($mdp, $mdpC, $mail);
+  $verif = $edit->verify();
+
+  if ($verif =="ok") {
+    $insert = $edit->update();
+    header("Location: ./login.php");
+  }
+  else
+  {
+    $erreur = $verif;
+  }
+}
+
+?>
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <title>Com-Ensiie</title>
+  <meta charset="utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="./bootstrap/css/bootstrap.css">
+  <link rel="stylesheet" href="./bootstrap/css/mystyle.css">
+</head>
+<body>
+  <div class="container-fluid">
+  <div class="jumbotron">
+      <h1><span style="color: white">Com-Ensiie</span></h1>
+<?php
+if(isset($_SESSION['pseudo'])){
+  $pseudo=$_SESSION['pseudo'];
+?>
+       </div>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./deconnexion.php'" >Deconnexion</button>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./edit.php'" >Edit</button>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./newtopics.php'" >Nouveau sujet</button>
+       <label for="hello"><?php echo "Vous êtes connectés entant que : $pseudo";?></label>
+       </div>
+<?php
+}
+else
+{
+?>
+  </div>
+    <button type="button" class="btn btn-success btn-right" onclick="location.href='./login.php'" >Log In</button>
+    <button type="button" class="btn btn-success btn-right" onclick="location.href='./register.php'">Register</button>
+  </div>
+<?php
+}
+?>
+  <nav class="navbar navbar-inverse">
+    <div class="navbar-header">
+      <a class="navbar-brand" href="./accueil.php">Com-Ensiie</a>
+    </div>
+    <ul class="nav navbar-nav">
+  <li class="dropdown active"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Commercial <span class="caret"></span></a>
+            <ul class="dropdown-menu">
+                <?php
+                    $dn2 = pg_query("SELECT * FROM keys ORDER BY name asc");
+                    while($reponse=pg_fetch_assoc($dn2))
+                    {
+                ?>
+                <li><a id="cat" href="./topiclist.php?category=<?php echo $reponse['name']; ?>"><?php echo $reponse['name']; ?></a></li>
+                
+                <?php
+                    }
+                ?>
+            </ul>
+        </li>
+    </ul>
+  </nav>
+</div>
+    
+
+
+<div class="container-fluid text-center">    
+  <div class="row content">
+    <div class="col-sm-2 sidenav">
+      
+    </div>
+    <div class="col-lg-8 text-left"> 
+      <h1>Modify profil</h1>
+        <form class="form-horizontal" role="form" method="post" action="./edit.php">
+          <div class="row edir">
+               <label class="col-sm-2 text-right">Mot de passe</label>
+               <div class="col-xs-4">
+                  <input class="form-control" id="focusedInput" type="password" name="mdp" placeholder ="Mot de passe...">
+               </div>
+          </div>
+          <div class="row edir">
+               <label class="col-sm-2 text-right">Mot de passe</label>
+               <div class="col-xs-4">
+                  <input class="form-control" id="focusedInput" type="password" name="mdpC" placeholder ="Confirmation mot de passe...">
+               </div>
+          </div>
+          <div class="row edit">
+                <label class="col-sm-2 text-right ">Nouveau mail</label>
+              <div class="col-xs-4">
+                  <input type="mail" name="mail" class="form-control" placeholder="Nouvelle adresse mail...">
+              </div>
+          </div>
+          <div class="row edit">
+            <div class="col-sm-offset-2 col-xs-4">
+            <button id="submit" class="btn btn-primary edit center-block">Edit</button>
+            <?php
+            if (isset($erreur)) {
+                echo $erreur;
+            }
+            ?>
+        </div>
+          </div>
+        </form>
+    </div>
+  
+    
+  </div>
+</div>
+    <div class="footer"></div>
+</div>
+</body>
+</html>
diff --git a/login.php b/login.php
index 3413ece978408ef828f5138df35758b7e107c8b1..90ff96eddb327da1b62912aabe88ffdd8a2032dd 100644
--- a/login.php
+++ b/login.php
@@ -32,8 +32,7 @@ if (isset($_POST['pseudo']) AND isset($_POST['mdp']))
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="stylesheet" href="./bootstrap/css/bootstrap.css">
   <link rel="stylesheet" href="./bootstrap/css/mystyle.css">
-  <script src="./bootstrap/js/jquery.min.js"></script>
-  <script src="./bootstrap/js/bootstrap.min.js"></script>
+  <script src="./script.js"></script>
 </head>
 <body>
   <div class="container-fluid">
@@ -90,14 +89,16 @@ if (isset($_POST['pseudo']) AND isset($_POST['mdp']))
                             <label for="username" class="col-sm-2 control-label" >Pseudo</label>
                             <div class="col-xs-4">
                                 <input type="text" class="form-control" name="pseudo" 
-                                       placeholder="Votre pseudo..." required>
+                                       placeholder="Votre pseudo..." required
+                                       aria-required="true" pattern="^([- \w\d\u00c0-\u024f]+)$" spellcheck="false" size="20">
                             </div>
                         </div>
                         <div class="form-group">
                             <label for="password" class="col-sm-2 control-label">Mot de passe</label>
                             <div class="col-xs-4">
                                 <input type="password" class="form-control" name="mdp" 
-                                       placeholder="Votre mot de passe..." required>
+                                       placeholder="Votre mot de passe..." required
+                                       aria-required="true" pattern="^([- \w\d\u00c0-\u024f]+)$" spellcheck="false">
                             </div>
                         </div>
                         <div class="form-group">
diff --git a/newtopics.php b/newtopics.php
index f1a817cd7eabbca7349086033f9621502ae2a579..68d3607dcb0f607a4632790ca9d4a915b920da80 100644
--- a/newtopics.php
+++ b/newtopics.php
@@ -4,7 +4,7 @@ require_once"fonction.php";
 require_once"./class/newtopics.class.php";
 $bdd=bdd();
 
-if (isset($_POST['name'], $_POST['content']) {
+if (isset($_POST['name'], $_POST['content'])) {
   $name=$_POST['name'];
   $content = $_POST['content'];
   $newtop = new newtopics($name, $content);
@@ -29,8 +29,7 @@ if (isset($_POST['name'], $_POST['content']) {
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="stylesheet" href="./bootstrap/css/bootstrap.css">
   <link rel="stylesheet" href="./bootstrap/css/mystyle.css">
-  <script src="./bootstrap/js/jquery.min.js"></script>
-  <script src="./bootstrap/js/bootstrap.min.js"></script>
+  <script src="./script.js"></script>
 </head>
 <body>
   <div class="container-fluid">
@@ -43,6 +42,7 @@ if(isset($_SESSION['pseudo'])){
        </div>
        <button type="button" class="btn btn-success btn-right" onclick="location.href='./deconnexion.php'" >Deconnexion</button>
        <button type="button" class="btn btn-success btn-right" onclick="location.href='./edit.php'" >Edit</button>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./newtopics.php'" >Nouveau sujet</button>
        <label for="hello"><?php echo "Vous êtes connectés entant que : $pseudo";?></label>
        </div>
 <?php
@@ -113,13 +113,15 @@ else
           <div class="row topic-create">
                <label class="col-sm-2 text-right">Titre</label>
                <div class="col-sm-10">
-                  <input class="form-control" id="focusedInput" type="text" name="name" placeholder ="Le titre ..."required>
+                  <input class="form-control" id="focusedInput" type="text" name="name" placeholder ="Le titre ..."required
+                  aria-required="true" pattern="^([- \w\d\u00c0-\u024f]+)$" spellcheck="false" size="40">
                </div>
           </div>
           <div class="row topic-create">
                 <label class="col-sm-2 text-right ">Déscription</label>
               <div class="col-sm-10">
-                  <textarea name="content" class="form-control" rows="5" placeholder="Le contenu ..."required></textarea>
+                  <textarea name="content" class="form-control" rows="5" placeholder="Le contenu ..."required
+                  aria-required="true" spellcheck="false"></textarea>
               </div>
           </div>
             <button id="submit" class="btn btn-primary topic-create center-block">Ajouter</button>
diff --git a/register.php b/register.php
index 2db0d0e71a725799a7d5dc64e6d172772de94cd7..607acbbbb052d5e8443859cc81266b9d06aacc25 100644
--- a/register.php
+++ b/register.php
@@ -31,8 +31,7 @@ if (isset($_POST['pseudo'], $_POST['mdp'], $_POST['mdpC'], $_POST['mail']))
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="stylesheet" href="./bootstrap/css/bootstrap.css">
   <link rel="stylesheet" href="./bootstrap/css/mystyle.css">
-  <script src="./bootstrap/js/jquery.min.js"></script>
-  <script src="./bootstrap/js/bootstrap.min.js"></script>
+  <script src="./script.js"></script>
 </head>
 <body>
   <div class="container-fluid">
@@ -81,21 +80,25 @@ if (isset($_POST['pseudo'], $_POST['mdp'], $_POST['mdpC'], $_POST['mail']))
                             <label for="usernamelabel" class="col-sm-2 control-label">Pseudo</label>
                             <div class="col-xs-4">
                                 <input type="text" class="form-control" name="pseudo" 
-                                       placeholder="Entre 5 et 20 caractéres">
+                                        placeholder="Entre 5 et 20 caractéres" required
+                                        aria-required="true" pattern="^([- \w\d\u00c0-\u024f]+)$" spellcheck="false" size="20"
+                                       >
                             </div>
                         </div>
                         <div class="form-group">
                             <label for="passwordlabel" class="col-sm-2 control-label">Mot de passe</label>
                             <div class="col-xs-4">
-                                <input type="password" class="form-control" name="mdp" 
-                                       placeholder="Minimum 6 caractéres">
+                                <input type="password" class="form-control" name="mdp" size="30"
+                                       placeholder="Minimum 6 caractéres" required
+                                       aria-required="true" pattern="^([- \w\d\u00c0-\u024f]+)$" spellcheck="false">
                             </div>
                         </div>
                         <div class="form-group">
                             <label for="password_againlabel" class="col-sm-2 control-label">Mot de passe</label>
                             <div class="col-xs-4">
-                                <input type="password" class="form-control" name="mdpC" 
-                                       placeholder="Confirmation du mot de passe...">
+                                <input type="password" class="form-control" name="mdpC" size="30"
+                                       placeholder="Confirmation du mot de passe..." rquired
+                                       aria-required="true" pattern="^([- \w\d\u00c0-\u024f]+)$" spellcheck="false">
                             </div>
                         </div>
 
@@ -103,7 +106,9 @@ if (isset($_POST['pseudo'], $_POST['mdp'], $_POST['mdpC'], $_POST['mail']))
                             <label for="adrmaillabel" class="col-sm-2 control-label">Adresse mail</label>
                             <div class="col-xs-4">
                                 <input type="text" class="form-control" name="mail" 
-                                       placeholder="Votre adresse mail...">
+                                       placeholder="Votre adresse mail..." aria-required="true" 
+                                       pattern="^(([-\w\d]+)(\.[-\w\d]+)*@([-\w\d]+)(\.[-\w\d]+)*(\.([a-zA-Z]{2,5}|[\d]{1,3})){1,2})$"
+                                       spellcheck="false" size="30" requierd>
                             </div>
                         </div>
 
diff --git a/script.js b/script.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec8327f7387eb62ad8ee3c657344a23d10a15d8d
--- /dev/null
+++ b/script.js
@@ -0,0 +1,77 @@
+function addEvent(node, type, callback)
+{
+  if(node.addEventListener)
+  {
+    node.addEventListener(type, function(e)
+    {
+      callback(e, e.target);
+      
+    }, false);
+  }
+  else if(node.attachEvent)
+  {
+    node.attachEvent('on' + type, function(e)
+    {
+      callback(e, e.srcElement);
+    });
+  }
+}
+
+function shouldBeValidated(field)
+{
+  return (
+    !(field.getAttribute('readonly') || field.readonly)
+    &&
+    !(field.getAttribute('disabled') || field.disabled)
+    &&
+    (field.getAttribute('pattern') || field.getAttribute('required'))
+  ); 
+}
+
+function instantValidation(field)
+{
+  if(shouldBeValidated(field))
+  {
+    var invalid = 
+    (
+      (field.getAttribute('required') && !field.value)
+      ||
+      (
+        field.getAttribute('pattern') 
+        && 
+        field.value 
+        && 
+        !new RegExp(field.getAttribute('pattern')).test(field.value)
+      )
+    );
+
+    if(!invalid && field.getAttribute('aria-invalid'))
+    {
+      field.removeAttribute('aria-invalid');
+    }
+    else if(invalid && !field.getAttribute('aria-invalid'))
+    {
+      field.setAttribute('aria-invalid', 'true');
+    }
+  }
+}
+
+addEvent(document, 'change', function(e, target)
+{
+  instantValidation(target);
+});
+
+var fields = [
+  document.getElementsByTagName('input'), 
+  document.getElementsByTagName('textarea')
+  ];
+for(var a = fields.length, i = 0; i < a; i ++)
+{
+  for(var b = fields[i].length, j = 0; j < b; j ++)
+  {
+    addEvent(fields[i][j], 'change', function(e, target)
+    {
+      instantValidation(target);
+    });
+  }
+}
\ No newline at end of file
diff --git a/topiclist.php b/topiclist.php
index 2adf233a361afdaa80a9726f75908f5292f846d4..0b36546506b32031d94aaa1d771547d80cda0323 100644
--- a/topiclist.php
+++ b/topiclist.php
@@ -2,6 +2,7 @@
 session_start();
   require_once"fonction.php";
   $bdd = bdd();
+
 ?>
 
 <!DOCTYPE html>
@@ -12,8 +13,7 @@ session_start();
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="stylesheet" href="./bootstrap/css/bootstrap.css">
   <link rel="stylesheet" href="./bootstrap/css/mystyle.css">
-  <script src="./bootstrap/js/jquery.min.js"></script>
-  <script src="./bootstrap/js/bootstrap.min.js"></script>
+  <script src="./script.js"></script>
 </head>
 <body>
 
@@ -27,7 +27,7 @@ if(isset($_SESSION['pseudo'])){
 ?>
        <button type="button" class="btn btn-success btn-right" onclick="location.href='./deconnexion.php'" >Deconnexion</button>
        <button type="button" class="btn btn-success btn-right" onclick="location.href='./edit.php'" >Edit</button>
-       <button type="button" class="btn btn-success btn-right" onclick="location.href='./newtopic.php'" >Nouveau sujet</button>
+       <button type="button" class="btn btn-success btn-right" onclick="location.href='./newtopics.php'" >Nouveau sujet</button>
        <label for="hello"><?php echo "Vous êtes connectés entant que : $pseudo";?></label>
        
 <?php