diff --git a/backend/src/controllers/movieController.js b/backend/src/controllers/movieController.js
index 5270b3fe922df8d9fba7bceff5bd75f4f7c81997..3e03efb30c2b6e53b5af663b57c3f2323af2e06c 100644
--- a/backend/src/controllers/movieController.js
+++ b/backend/src/controllers/movieController.js
@@ -7,7 +7,7 @@ exports.getMovieInformations = async (req, res, next) => {
         let result = await movieServices.getMovieById(filmId);
         res.status(200).json(result);
     } catch (error) {
-        res.status(500).json({ error : error.toString()});
+        res.status(500).json({ error: error.toString() });
     }
 };
 
@@ -18,7 +18,7 @@ exports.searchMovie = async (req, res, next) => {
         let result = await movieServices.searchMovie(search);
         res.status(200).json(result);
     } catch (error) {
-        res.status(500).json({ error : error.toString()});
+        res.status(500).json({ error: error.toString() });
     }
 };
 
@@ -42,7 +42,7 @@ exports.getMovieCast = async (req, res, next) => {
         let result = await movieServices.getMovieCast(filmId);
         res.status(200).json(result);
     } catch (error) {
-        res.status(500).json({ error : error.toString()});
+        res.status(500).json({ error: error.toString() });
     }
 };
 
@@ -51,37 +51,46 @@ exports.getMovieNote = async (req, res, next) => {
     let username = req.session.username;
 
     try {
-        let result = await movieServices.getMovieUserRate(filmId,username);
+        let result = await movieServices.getMovieUserRate(filmId, username);
         res.status(200).json(result);
     } catch (error) {
-        res.status(500).json({ error : error.toString()});
+        res.status(500).json({ error: error.toString() });
     }
 
 };
 
-exports.addMovieNote = async (req,res,next) => {
+exports.addMovieNote = async (req, res, next) => {
     let filmId = req.query.id;
     let username = req.session.username;
     let note = req.query.note;
 
     try {
-        let result = await movieServices.insertOrUpdateMovieUserRate(filmId,username,note);
+        let result = await movieServices.insertOrUpdateMovieUserRate(filmId, username, note);
         res.status(200).json({ message: 'Note ajoutée ou modifiée' });
     } catch (error) {
-        res.status(500).json({ error : error.toString()});
+        res.status(500).json({ error: error.toString() });
     }
 
-}
+};
 
-exports.deleteMovieNote = async (req,res,next) => {
+exports.deleteMovieNote = async (req, res, next) => {
     let filmId = req.params.id;
     let username = req.session.username;
 
     try {
-        let result = await movieServices.deleteMovieUserRate(filmId,username);
+        let result = await movieServices.deleteMovieUserRate(filmId, username);
         res.status(200).json({ message: 'Note supprimée' });
     } catch (error) {
-        res.status(500).json({ error : error.toString()});
+        res.status(500).json({ error: error.toString() });
     }
 
-}
+};
+
+exports.getAllStyles = async (req, res, next) => {
+    try {
+        let result = await movieServices.getAllStyles();
+        res.status(200).json(result);
+    } catch (error) {
+        res.status(500).json({ error: error.toString() });
+    }
+};
diff --git a/backend/src/models/movieDb.js b/backend/src/models/movieDb.js
index c6b2d7b89f2537216d9efe33b3a8a32b8b0ae47a..36ee6da91c57420b4d34cba57ebf0c167af6ed5c 100644
--- a/backend/src/models/movieDb.js
+++ b/backend/src/models/movieDb.js
@@ -194,3 +194,22 @@ exports.deleteMovieUserRate = (movieId, userId) => {
     })
 };
 
+/**
+ * Récupère tous les genres depuis la base de données.
+ *
+ * @returns {Promise<Array<Object>>} Une promesse qui se résout avec un tableau d'objets contenant les informations sur tous les genres.
+ *                                  La promesse se rejette avec une erreur si l'opération échoue.
+ */
+exports.getAllStyles = () => {
+    return new Promise((resolve, reject) => {
+        db.query('SELECT * FROM genre',
+            function (error, results, fields) {
+                if (error) {
+                    return reject(error);
+                }
+                else {
+                    return resolve(results);
+                }
+            })
+    })
+};
\ No newline at end of file
diff --git a/backend/src/routes/movies.js b/backend/src/routes/movies.js
index 1ed6fff0d29266f943e643d6ac79e8fe134a6137..b2d65f23109b829dd2af35000351bd96a83f78a6 100644
--- a/backend/src/routes/movies.js
+++ b/backend/src/routes/movies.js
@@ -10,6 +10,7 @@ router.get('/cast/:id(tt\\d+)',controller.getMovieCast);
 router.get('/addmovienote',auth.auth,controller.addMovieNote);
 router.get('/getMovieNote',auth.auth,controller.getMovieNote);
 router.delete('/:id(tt\\d+)',controller.deleteMovieNote);
+router.get('/getAllStyles',controller.getAllStyles);
 
 
 module.exports = router;
\ No newline at end of file
diff --git a/backend/src/services/movies.js b/backend/src/services/movies.js
index dc283446789b0638d5344dc616f09c4ae57d4af6..1f72263ed8fa64740160f544732c1ba7552d0aa6 100644
--- a/backend/src/services/movies.js
+++ b/backend/src/services/movies.js
@@ -130,4 +130,18 @@ exports.getMovieStyles = async (movieId) => {
     } catch (error) {
         throw new Error(error);
     }
+}
+
+/**
+ * Récupère tous les genres depuis la base de données.
+ *
+ * @returns {Promise<Array<Object>>} Une promesse qui se résout avec un tableau d'objets contenant les informations sur tous les genres.
+ *                                  La promesse se rejette avec une erreur si l'opération échoue.
+ */
+exports.getAllStyles = async () => {
+    try {
+        return await moviesDb.getAllStyles();
+    } catch (error) {
+        throw new Error(error);
+    }
 }
\ No newline at end of file