diff --git a/jsonEncode.php b/jsonEncode.php
index da5db46dc21267673d2ed4c9e9580309a6282458..568c53dd3e8b92b94c0af849e1ab0d15e01c0be9 100644
--- a/jsonEncode.php
+++ b/jsonEncode.php
@@ -1,6 +1,6 @@
 <?php
 // Fichier de test
-$deTest['type'] = "identifier";
-$deTest['name'] = "test";
+$deTest['type'] = "user";
+$deTest['id'] = "1";
 
 echo urlencode(json_encode($deTest));
\ No newline at end of file
diff --git a/vbcms-admin/backTasks.php b/vbcms-admin/backTasks.php
index 520f18035dfb0489518dfacdc2cfab25a1e1d7f6..b7a2fc32c701ab8d7c4ccf0776f752ca7e568f59 100644
--- a/vbcms-admin/backTasks.php
+++ b/vbcms-admin/backTasks.php
@@ -182,11 +182,48 @@ if (isset($_GET["getNotifications"])) {
 	$localAccountExist = $localAccountExist->fetch(PDO::FETCH_ASSOC);
 	echo json_encode($localAccountExist);
 	
-}  elseif (isset($_GET["changeUserGroup"])&&!empty($_GET["changeUserGroup"]) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')){
+} elseif (isset($_GET["changeUserGroup"])&&!empty($_GET["changeUserGroup"]) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'manageUsersSettings')){
 	$modificationDetail = json_decode($_GET["changeUserGroup"], true);
 	$query = $bdd->prepare("UPDATE `vbcms-users` SET `groupId` = ? WHERE `vbcms-users`.`netId` = ?");
 	$query->execute([$modificationDetail['groupId'], $modificationDetail['netId']]);
 	
+} elseif (isset($_GET["getPermissions"]) && verifyUserPermission($_SESSION['user_id'], "vbcms", 'viewPermissions')){
+	if(!empty($_GET["getPermissions"])){
+		if(isJson(urldecode($_GET["getPermissions"]))){
+			$requestDetails = json_decode($_GET["getPermissions"], true);
+
+		}
+	}
+	$permissions = array();
+	$activatedExtensions = $bdd->query("SELECT * FROM `vbcms-activatedExtensions`")->fetchAll(PDO::FETCH_ASSOC);
+
+	// On va ajouter vbcms au début
+	$vbcmsExt['name'] = 'vbcms';
+	array_unshift($activatedExtensions, $vbcmsExt);
+	foreach ($activatedExtensions as $activatedExtension){
+		$permissions[$activatedExtension['name']] = array();
+
+		if($activatedExtension['name'] == 'vbcms'){
+			$extPermissions = getVBcmsPermissions();
+		} else {
+			$ext = new module($activatedExtension['name']);
+			$extPermissions = $ext->getPermissions();
+		}
+
+		foreach ($extPermissions as $permission){
+			$permissionDetail['name'] = $permission;
+			if(isset($requestDetails['type'])&&isset($requestDetails['id'])){
+				if($requestDetails['type']=="user"){
+					$permissionDetail['access'] = verifyUserPermission($requestDetails['id'], $activatedExtension['name'], $permission);
+				}elseif($requestDetails['type']=="group"){
+					$permissionDetail['access'] = verifyGroupPermission($requestDetails['id'], $activatedExtension['name'], $permission);
+				}
+			}
+			array_push($permissions[$activatedExtension['name']], $permissionDetail);
+		}
+	}
+	echo json_encode($permissions);
+	
 } 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"]]);
diff --git a/vbcms-admin/css/manager.css b/vbcms-admin/css/manager.css
index f7364144fa4647310b9e7fb82e3989731f3f2a6b..2add6ec0cc9c824a9170c70217a8b10043c74dd2 100644
--- a/vbcms-admin/css/manager.css
+++ b/vbcms-admin/css/manager.css
@@ -792,6 +792,10 @@ header .menu-item{
 	cursor: pointer;
 }
 
+.userCard.active{
+	background-color: #e6e6e6;
+}
+
 .userCard .userProfilPic{
 	height: 56px;
 	width: 56px;
diff --git a/vbcms-admin/includes/settings/groups.php b/vbcms-admin/includes/settings/groups.php
index f4e3f7f14ed2683b85b6ec0bc5f6ffa33f194a50..0ec459c6dc8f94a093ca1f506b7837337fc13730 100644
--- a/vbcms-admin/includes/settings/groups.php
+++ b/vbcms-admin/includes/settings/groups.php
@@ -6,7 +6,7 @@
         </div>
 
         <div class="d-flex p-4">
-            <div style="min-width:360px;">
+            <div class="p-2" style="min-width:360px;">
                 <h5>Groupes</h5>
                 <table style="width:100%;">
                     <tbody>
@@ -20,7 +20,7 @@
                                 $usersCount->execute([$userGroup['groupId']]);
                                 $usersCount=$usersCount->fetchColumn();
                                 
-                                echo('<tr class="userCard" style="height:2em;">
+                                echo('<tr class="userCard" id="group-'.$userGroup['groupId'].'" onclick="selectGroup('.$userGroup['groupId'].')" style="height:2em;">
                                 <th>
                                     <span>'.translate($userGroup['groupName']).'</span>
                                 </th>
@@ -36,8 +36,34 @@
                     </tbody>
                 </table>
             </div>
-            <div class="flex-fill">
+            <div class="flex-fill p-2">
                 <h5>Permissions</h5>
+                <form id="permsForm">
+                    <?php
+                    // Fait en JS
+                    /*
+                        $activatedExtensions = $bdd->query("SELECT * FROM `vbcms-activatedExtensions`")->fetchAll(PDO::FETCH_ASSOC);
+                        foreach ($activatedExtensions as $activatedExtension){
+                            $ext = new module($activatedExtension['name']);
+                            $permissions = $ext->getPermissions();
+                            foreach ($permissions as $permission){
+                                $hasPerm = verifyGroupPermission(1, $activatedExtension['name'], $permission);
+                                if($hasPerm) $hasPerm = "checked";
+                                $inputName['extension'] = $activatedExtension['name'];
+                                $inputName['permission'] = $permission;
+                                echo('<div>
+                                <h5 class="text-brown border-bottom">'.$activatedExtension['name'].'</h5>
+                                <div class="form-check">
+                                    <input class="form-check-input" type="checkbox" name="'.urlencode(json_encode($inputName)).'" '.$hasPerm.'>
+                                    <label class="form-check-label">'.$permission.'</label>
+                                </div>
+                            </div>');
+                            }
+                        }
+                    */
+                    ?>
+                    
+                </form>
             </div>
         </div>
     </div>
@@ -61,6 +87,20 @@
 </div>
 
 <script type="text/javascript">
+$( document ).ready(function() {
+    // On va récupérer l'url et ses paramètres
+    let url = new URL(window.location.href);
+    let search_params = url.searchParams;
+
+    // On récupère les infos de la requête
+    if(search_params.get('selectedGroup')==null){
+        selectGroup(1);
+    } else {
+        selectGroup(search_params.get('selectedGroup'));
+    }
+    
+});
+
 $(function() {
     $('.userCard').hover(function() {
         $(this).find('.roundedLink').css('background-color', 'var(--mainBrown)');
@@ -83,4 +123,56 @@ $(document).click(function(event) {
         $('#plusMenu').css("display", "none");
     }
 });
+
+function selectGroup(id){
+    // On va récupérer l'url et ses paramètres
+    let url = new URL(window.location.href);
+	let search_params = url.searchParams;
+
+    if(search_params.get('selectedGroup')!=null){
+        $("#group-"+search_params.get('selectedGroup')).removeClass("active");
+    }
+    // Et on modifie le paramètre
+    search_params.set('selectedGroup', id);
+    let newUrl = url.toString();
+    window.history.replaceState({}, '', newUrl);
+
+    var array = {
+        type: "group",
+        id: id
+    };
+
+    $.get("<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/backTasks/?getPermissions="+encodeURIComponent(JSON.stringify(array)), function(data) {
+        // On supprime l'animation de chargement
+        $("#group-"+id).addClass("active");
+        // Et on insère le contenu
+        $("#permsForm").html("");
+        if (!isJson(data)){
+            $("#permsForm").append('<h5><?=translate('error')?>: <?=translate('thisIsNotJSON')?></h5><br>'+data);
+        }else{
+            var json = JSON.parse(data);
+            $.each( json, function( extension, permissionList ) {
+                $('#permsForm').append('<div>\
+                                    <h5 class="text-brown border-bottom">'+extension+'</h5>');
+                $.each( permissionList, function( index, permission ){
+                    if(permission.access == true){
+                        var hasPerm = "checked";
+                    } else {
+                        var hasPerm = null;
+                    }
+
+                    var inputName = {
+                        extension: extension,
+                        permission: permission.name
+                    };
+                    $("#permsForm").append('<div class="form-check">\
+                                        <input class="form-check-input" type="checkbox" name="'+encodeURIComponent(JSON.stringify(inputName))+'" '+hasPerm+'>\
+                                        <label class="form-check-label">'+permission.name+'</label>\
+                                    </div>');
+                });
+                $('#permsForm').append('</div>');
+            });               
+        }
+    });
+}
 </script>
\ No newline at end of file
diff --git a/vbcms-content/extensions/vbcms-filemanager/init.php b/vbcms-content/extensions/vbcms-filemanager/init.php
index c16c973c4efba5d08c22413d31ddd0cbebbc37a0..30dca3ec5aee50d200c60c6c5acfb648c3a3b40d 100644
--- a/vbcms-content/extensions/vbcms-filemanager/init.php
+++ b/vbcms-content/extensions/vbcms-filemanager/init.php
@@ -8,5 +8,7 @@ if(isset($initCall)&&!empty($initCall)){
     } elseif($initCall[0]=="getSettingsHTML"){
         // $initCall[1] contient les paramètres
         echo('<h5>C\'est bien la page du filemanager</h5>');
-    } 
+    } elseif($initCall[0]=="getPermissions"){
+        include 'permissions.php';
+    }
 }
\ No newline at end of file
diff --git a/vbcms-content/extensions/vbcms-filemanager/permissions.php b/vbcms-content/extensions/vbcms-filemanager/permissions.php
new file mode 100644
index 0000000000000000000000000000000000000000..d749d91a473ea69a5ba58624afc3650992b20d3c
--- /dev/null
+++ b/vbcms-content/extensions/vbcms-filemanager/permissions.php
@@ -0,0 +1,4 @@
+<?php
+$permissions = [
+    'access-browse'
+];
\ No newline at end of file
diff --git a/vbcms-content/translations/FR.php b/vbcms-content/translations/FR.php
index 9adaffa1dfe498393fb4073f4e7b97dbd7d9c556..7b2076b1d38720893b45708f5f203370361ca03a 100644
--- a/vbcms-content/translations/FR.php
+++ b/vbcms-content/translations/FR.php
@@ -54,7 +54,7 @@ $translation["cancel"] = "Annuler";
 $translation["visualize"] = "Visualiser";
 $translation["commands"] = "Commandes";
 $translation["rename"] = "Renommer";
-$translation["sample"] = "sample";
+$translation["error"] = "Erreur";
 $translation["sample"] = "sample";
 $translation["sample"] = "sample";
 $translation["sample"] = "sample";
@@ -102,7 +102,7 @@ $translation["inviteSent"] = "Invitation envoyée!";
 $translation["modifyProperties"] = "Modifier les propriétés";
 $translation["noParametersGiven"] = "Aucun paramètre de donné";
 $translation["noNameGiven"] = "Aucun nom de donné";
-$translation["thisIsNotJSON"] = "Ce n'est pas du JSON";
+$translation["thisIsNotJSON"] = "Ce n\'est pas du JSON";
 $translation["unknownType"] = "Type inconnu";
 $translation["alreadyUsed"] = "Déjà utilisé";
 $translation["noCommandSpecified"] = "Aucune commande de spcécifiée";
diff --git a/vbcms-core/classes.php b/vbcms-core/classes.php
index 854f866dd3fe80cb7e1cc837b6e8a117eb6fc3cd..afeebaeda695c08d98cfe980dd1680654dff37f6 100644
--- a/vbcms-core/classes.php
+++ b/vbcms-core/classes.php
@@ -438,6 +438,9 @@ class module {
 
     // Cette fonction permet de réucpérer la liste des permissions de l'extension
     function getPermissions(){
-        echo 'test';
+        $initCall[0] = "getPermissions";
+        include $GLOBALS['vbcmsRootPath'].'/vbcms-content/extensions/'.$this->path."/init.php";
+        if(!isset($permissions)) $permissions = array();
+        return $permissions;
     }
 }
diff --git a/vbcms-core/functions.php b/vbcms-core/functions.php
index 470d91020ca16931054d27939badeefa1950ccca..4f1d91ee6f127515f701f804e3aa0826aa470a22 100644
--- a/vbcms-core/functions.php
+++ b/vbcms-core/functions.php
@@ -178,7 +178,7 @@ function adminNavbarAddItem($moduleName, $icon, $name, $link){
 }
 
 // Permet de vérifier qu'un utilisateur a bien les permissions pour visualiser ou effectuer une tâche
-function verifyUserPermission($userId, $extensionName, $action){
+function verifyUserPermission($userId, $extensionName, $permission){
     global $bdd;    
     // On va récupérer les infos de l'utilisateur
     $userInfos = $bdd->prepare("SELECT * FROM `vbcms-users` WHERE netId=?");
@@ -186,36 +186,45 @@ function verifyUserPermission($userId, $extensionName, $action){
     $userInfos = $userInfos->fetch(PDO::FETCH_ASSOC);
 
     // On va vérifier s'il a des perms à part
-    $usersPerms = $bdd->prepare("SELECT * FROM `vbcms-usersPerms` WHERE userId=? AND extensionName=?");
-    $usersPerms->execute([$userId, $extensionName]);
-    $perms = $usersPerms->fetch(PDO::FETCH_ASSOC);
+    $usersPerms = $bdd->prepare("SELECT * FROM `vbcms-usersPerms` WHERE userId=? AND extensionName=? AND permission=?");
+    $usersPerms->execute([$userId, $extensionName, $permission]);
+    $hasPerm = $usersPerms->fetch(PDO::FETCH_ASSOC);
     
-    if(empty($perms)){
+    if(empty($hasPerm)){
         // Il n'a pas de perms à part
-        // On va maintenant récupérer les infos de son groupe
-        $groupInfos = $bdd->prepare("SELECT * FROM `vbcms-userGroups` WHERE groupId=?");
-        $groupInfos->execute([$userInfos['groupId']]);
-        $groupInfos = $groupInfos->fetch(PDO::FETCH_ASSOC);
-
-         // Et maintenant les perms
-        if(!empty($groupInfos)){
-            if($groupInfos['groupName'] == "superadmins") return true; // Les superadmins ont tous les droits, pas besoin de spécifier leur perms
-
-            $groupsPerms = $bdd->prepare("SELECT * FROM `vbcms-groupsPerms` WHERE netId=? AND extensionName=?");
-            $groupsPerms->execute([$groupInfos['groupId'], $extensionName]);
-            $perms = $groupsPerms->fetch(PDO::FETCH_ASSOC);
-        }
-    }
-
-    if(!empty($perms)){
+        // On va maintenant vérifier avec le groupe
+        return verifyGroupPermission($userInfos['groupId'], $extensionName, $permission);
+    }else{
         $perms = json_decode($perms, true);
         if($perms[$action]) return true;
         else return false;
-    } else {
-        return false;
     }
 }
 
+function verifyGroupPermission($groupId, $extensionName, $permission){
+    global $bdd; 
+    // On va récupérer les infos du groupe
+    $groupInfos = $bdd->prepare("SELECT * FROM `vbcms-userGroups` WHERE groupId=?");
+    $groupInfos->execute([$groupId]);
+    $groupInfos = $groupInfos->fetch(PDO::FETCH_ASSOC);
+
+    // Et maintenant les perms
+    if(!empty($groupInfos)){
+        if($groupInfos['groupName'] == "superadmins") return true; // Les superadmins ont tous les droits, pas besoin de spécifier leur perms
+
+        $groupsPerms = $bdd->prepare("SELECT * FROM `vbcms-groupsPerms` WHERE groupId=? AND extensionName=? AND permission=?");
+        $groupsPerms->execute([$groupInfos['groupId'], $extensionName, $permission]);
+        $hasPerm = $groupsPerms->fetch(PDO::FETCH_ASSOC);
+        if(!empty($hasPerm)) return true;
+        else return false; // N'a pas la perm
+    } else return false; // Le groupe n'existe pas, donc pas de perm
+}
+
+function getVBcmsPermissions(){
+    include $GLOBALS['vbcmsRootPath'].'/vbcms-core/permissions.php';
+    return $permissions;
+}
+
 /////////////////////////////////
 // FONCTIONS DES MODULES DE BASES
 /////////////////////////////////
diff --git a/vbcms-core/permissions.php b/vbcms-core/permissions.php
new file mode 100644
index 0000000000000000000000000000000000000000..271171ef3e39ecd040969598b5c033c69f5398b4
--- /dev/null
+++ b/vbcms-core/permissions.php
@@ -0,0 +1,10 @@
+<?php
+$permissions = [
+    'manageUsersSettings',
+    'viewPermissions',
+    'access-generalSettings',
+    'manageUsersSettings',
+    'manageuserGroupsSettings',
+    'permissionsSettings',
+    'extAndWsSettings'
+];
\ No newline at end of file