diff --git a/vbcms-admin/backTasks.php b/vbcms-admin/backTasks.php
index b7a2fc32c701ab8d7c4ccf0776f752ca7e568f59..047d598f0b6799079cf6e06af0e4c050f79c13b2 100644
--- a/vbcms-admin/backTasks.php
+++ b/vbcms-admin/backTasks.php
@@ -224,7 +224,34 @@ if (isset($_GET["getNotifications"])) {
 	}
 	echo json_encode($permissions);
 	
-} elseif (isset($_GET["setNetIdLocalAccount"])&&!empty($_GET["setNetIdLocalAccount"]) && (isset($_POST)&&!empty($_POST))  && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')) {
+} elseif (isset($_GET["editPermissions"])&&!empty($_GET["editPermissions"]) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'editPermissions')) {
+	if(isJson(urldecode($_GET["editPermissions"]))){
+		$requestDetails = json_decode($_GET["editPermissions"], true);
+
+		if($requestDetails['type'] == 'group' && $requestDetails['id']!=1){ // Le groupe n°1 étant celui des superadmins, ils auront tj tous les droits
+			$query = $bdd->prepare('DELETE FROM `vbcms-groupsPerms` WHERE groupId=?'); // On vide les perms du groupe
+			$query->execute([$requestDetails['id']]);
+			foreach($_POST as $permissionJson => $checked) { // Puis on les recréées
+				$permissionDetail = json_decode(urldecode($permissionJson), true);
+				$query = $bdd->prepare('INSERT INTO `vbcms-groupsPerms` (`groupId`, `extensionName`, `permission`) VALUES (?,?,?)');
+				$query->execute([$requestDetails['id'], $permissionDetail['extension'], $permissionDetail['permission']]);
+			}
+		}elseif($requestDetails['type'] == 'user'){
+			$query = $bdd->prepare('DELETE FROM `vbcms-usersPerms` WHERE userId=?'); // On vide les perms du groupe
+			$query->execute([$requestDetails['id']]);
+			foreach($_POST as $permissionJson => $checked) { // Puis on les recréées
+				$permissionDetail = json_decode(urldecode($permissionJson), true);
+				$query = $bdd->prepare('INSERT INTO `vbcms-usersPerms` (`userId`, `extensionName`, `permission`) VALUES (?,?,?)');
+				$query->execute([$requestDetails['id'], $permissionDetail['extension'], $permissionDetail['permission']]);
+			}
+		}else{
+			echo 'Paramètre non reconnu.';
+		}
+		
+	} else {
+		echo translate('error').': '.translate('thisIsNotJSON');
+	}
+} elseif (isset($_GET["setNetIdLocalAccount"])&&!empty($_GET["setNetIdLocalAccount"]) && (isset($_POST)&&!empty($_POST)) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')) {
 	$localAccountExist = $bdd->prepare("SELECT * FROM `vbcms-localAccounts` WHERE netIdAssoc = ?");
 	$localAccountExist->execute([$_GET["setNetIdLocalAccount"]]);
 	$localAccountExist = $localAccountExist->fetch(PDO::FETCH_ASSOC);
diff --git a/vbcms-admin/includes/settings/groups.php b/vbcms-admin/includes/settings/groups.php
index 0ec459c6dc8f94a093ca1f506b7837337fc13730..e555b545bf3b2c798d0326a7484f2022a45c7c08 100644
--- a/vbcms-admin/includes/settings/groups.php
+++ b/vbcms-admin/includes/settings/groups.php
@@ -166,7 +166,7 @@ function selectGroup(id){
                         permission: permission.name
                     };
                     $("#permsForm").append('<div class="form-check">\
-                                        <input class="form-check-input" type="checkbox" name="'+encodeURIComponent(JSON.stringify(inputName))+'" '+hasPerm+'>\
+                                        <input class="form-check-input" type="checkbox" name="'+encodeURIComponent(JSON.stringify(inputName))+'" onclick="editPermissions('+id+')" '+hasPerm+'>\
                                         <label class="form-check-label">'+permission.name+'</label>\
                                     </div>');
                 });
@@ -175,4 +175,27 @@ function selectGroup(id){
         }
     });
 }
+
+function editPermissions(id){
+    var array = {
+        type: "group",
+        id: id
+    };
+
+    $.post( "<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/backTasks?editPermissions="+encodeURIComponent(JSON.stringify(array)), $( "#permsForm" ).serialize() )
+    .done(function( data ) {
+        if(data!=""){
+            SnackBar({
+                message: data,
+                status: "danger",
+                timeout: false
+            });
+        } else {
+            SnackBar({
+                message: '<?=translate("success-saving")?>',
+                status: "success"
+            });
+        }
+    });
+}
 </script>
\ No newline at end of file
diff --git a/vbcms-admin/includes/settingsPage.php b/vbcms-admin/includes/settingsPage.php
index 942c4ded0ec294202d9f4c17472597963677b32e..84aeb0d61f8fc0cfccda402d2ba85d4cc37e7956 100644
--- a/vbcms-admin/includes/settingsPage.php
+++ b/vbcms-admin/includes/settingsPage.php
@@ -62,7 +62,7 @@ function getSettingsHTML($params){
                     include "settings/general.php";    
                 }elseif($params=="users" && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')){ 
                     include "settings/users.php"; 
-                }elseif($params=="userGroups" && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageuserGroupsSettings')){ 
+                }elseif($params=="userGroups" && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUserGroupsSettings')){ 
                     include "settings/groups.php"; 
                 } ?>
     </div>
diff --git a/vbcms-core/permissions.php b/vbcms-core/permissions.php
index 271171ef3e39ecd040969598b5c033c69f5398b4..841a9dda73ffd188b3c208a49fcda5d9686fa1e5 100644
--- a/vbcms-core/permissions.php
+++ b/vbcms-core/permissions.php
@@ -1,10 +1,11 @@
 <?php
 $permissions = [
-    'manageUsersSettings',
+    'accessAdmin',
     'viewPermissions',
+    'editPermissions',
     'access-generalSettings',
     'manageUsersSettings',
-    'manageuserGroupsSettings',
+    'manageUserGroupsSettings',
     'permissionsSettings',
     'extAndWsSettings'
 ];
\ No newline at end of file