diff --git a/ExpressAPI/src/managers/TagManager.ts b/ExpressAPI/src/managers/TagManager.ts
index 51d2320ee02bc45327df3ffee711a64581a1c9fa..3baa8efa119b040505e96a56a499b097262ae167 100644
--- a/ExpressAPI/src/managers/TagManager.ts
+++ b/ExpressAPI/src/managers/TagManager.ts
@@ -1,16 +1,15 @@
-import { Prisma }           from '@prisma/client';
-import { Assignment, User } from '../types/DatabaseTypes';
+import { Prisma, Tag }           from '@prisma/client';
 import db                   from '../helpers/DatabaseHelper';
 
-enum TagType{
-	Language,
-	Framework,
-	Theme,
-	UserDefined
-}
-
 class TagManager {
-
+	async get(name: string, include: Prisma.ExerciseInclude | undefined = undefined): Promise<Tag | undefined> {
+        return await db.exercise.findUnique({
+                                                where  : {
+                                                    id: name
+                                                },
+                                                include: include
+                                            }) as unknown as Tag ?? undefined;
+    }
 }
 
 
diff --git a/ExpressAPI/src/middlewares/ParamsCallbackManager.ts b/ExpressAPI/src/middlewares/ParamsCallbackManager.ts
index e087c983fef6ade7c36c7c21c346feca3afb5cb8..5027a7e6174af95c0d986ba7f753d08260d2f996 100644
--- a/ExpressAPI/src/middlewares/ParamsCallbackManager.ts
+++ b/ExpressAPI/src/middlewares/ParamsCallbackManager.ts
@@ -1,9 +1,9 @@
 import { Express }       from 'express-serve-static-core';
 import express           from 'express';
 import { StatusCodes }   from 'http-status-codes';
-import ExerciseManager   from '../managers/ExerciseManager.js';
-import AssignmentManager from '../managers/AssignmentManager.js';
-import TagsManager from 'src/managers/TagsManager';
+import ExerciseManager   from '../managers/ExerciseManager';
+import AssignmentManager from '../managers/AssignmentManager';
+import TagManager       from '../managers/TagManager';
 
 
 type GetFunction = (id: string | number, ...args: Array<unknown>) => Promise<unknown>
@@ -47,12 +47,11 @@ class ParamsCallbackManager {
             results   : true
         } ], 'exercise');
         
-        //Patch? Delete? à la place de .get
-        this.listenParam('tagId', backend, (TagsManager.get as GetFunction).bind(TagsManager), [ {
+        this.listenParam('tagId', backend, (TagManager.get as GetFunction).bind(TagManager), [ {
 
         } ], 'tag');
 
-        this.listenParam('tagProposalName', backend, (TagsManager.get as GetFunction).bind(TagsManager), [ {
+        this.listenParam('tagProposalName', backend, (TagManager.get as GetFunction).bind(TagManager), [ {
  
         } ], 'tag');
     }
diff --git a/ExpressAPI/src/routes/TagsRoutes.ts b/ExpressAPI/src/routes/TagsRoutes.ts
index d8bc764c813d414a423544eaf2deea02905b1916..bcd9e7b87d66e361109a4f38f74f537cae9a5d93 100644
--- a/ExpressAPI/src/routes/TagsRoutes.ts
+++ b/ExpressAPI/src/routes/TagsRoutes.ts
@@ -6,26 +6,8 @@ import RoutesManager                  from '../express/RoutesManager';
 import ParamsValidatorMiddleware      from '../middlewares/ParamsValidatorMiddleware';
 import SecurityMiddleware             from '../middlewares/SecurityMiddleware';
 import SecurityCheckType              from '../types/SecurityCheckType';
-import GitlabUser                     from '../shared/types/Gitlab/GitlabUser';
-import GitlabManager                  from '../managers/GitlabManager';
-import Config                         from '../config/Config';
-import GitlabMember                   from '../shared/types/Gitlab/GitlabMember';
-import GitlabAccessLevel              from '../shared/types/Gitlab/GitlabAccessLevel';
-import GitlabRepository               from '../shared/types/Gitlab/GitlabRepository';
-import { AxiosError, HttpStatusCode } from 'axios';
-import logger                         from '../shared/logging/WinstonLogger';
-import DojoValidators                 from '../helpers/DojoValidators';
-import { Prisma }                     from '@prisma/client';
 import db                             from '../helpers/DatabaseHelper';
 import { Tags }                       from '../types/DatabaseTypes';
-import AssignmentManager              from '../managers/AssignmentManager';
-import GitlabVisibility               from '../shared/types/Gitlab/GitlabVisibility';
-import fs                             from 'fs';
-import path                           from 'path';
-import SharedAssignmentHelper         from '../shared/helpers/Dojo/SharedAssignmentHelper';
-import GlobalHelper                   from '../helpers/GlobalHelper';
-import DojoStatusCode                 from '../shared/types/Dojo/DojoStatusCode';
-import TagsManager                    from '../managers/TagManager';
 import { TagType }                    from '@prisma/client';
 
 
@@ -58,8 +40,10 @@ class TagRoutes implements RoutesManager {
     private async addTag(req: express.Request, res: express.Response) {
         const tagName = req.body.name
         const tagType = req.body.type
+        console.log("Popipo");
 
         if(tagType != TagType.USERDEFINED && !req.session.profile.isAdmin) {
+            console.log("Hehehehe");
             return req.session.sendResponse(res, StatusCodes.FORBIDDEN);
         }
 
@@ -77,7 +61,8 @@ class TagRoutes implements RoutesManager {
         }, "Tag ajouté avec succès");
     }
     private async deleteTag(req: express.Request, res: express.Response) {
-        let tagName = req.body.name
+        console.log("DELETE");
+        const tagName = req.body.name
         
         db.tag.delete({
             where : { name: tagName }
@@ -85,11 +70,13 @@ class TagRoutes implements RoutesManager {
         return req.session.sendResponse(res, StatusCodes.OK, "Tag supprimé avec succès");
     }
     private async getSubmittedTag(req: express.Request, res: express.Response) {
-        let tagState = req.body.state
-        if(req.body.state == null){
-            tagState = tagState.PendingApproval
-        }
-        //TODO Here?
+        const tagName = req.body.name
+
+        db.submissionTag.findMany({
+            where : { 
+                name: tagName 
+            },
+        })
         return req.session.sendResponse(res, StatusCodes.OK, {
             name          : req.body.name,
             tag           : (req.boundParams.tag as Tags)
@@ -99,7 +86,7 @@ class TagRoutes implements RoutesManager {
         const tagName = req.body.name
         const tagType = req.body.type
 
-        db.tag.upsert({
+        db.submissionTag.upsert({
             where : { name: tagName },
             update: {},
             create: {
@@ -119,8 +106,8 @@ class TagRoutes implements RoutesManager {
         } else if (req.body.state == SubmitStatus.Declined){
             return req.session.sendResponse(res, StatusCodes.OK, req.body.details); 
         } else{
-            let tagName = req.params.tagProposalName
-            let tagType = req.body.type
+            const tagName = req.params.tagProposalName
+            const tagType = req.body.type
             db.tag.upsert({
                 where : { name: tagName },
                 update: {},