diff --git a/backend/routes/routesToucan.js b/backend/routes/routesToucan.js
index cb39113c872ccdec7e84b4191ed6b37ba15a4664..9e9905741f6f72f9f98d3a162b01ca49d34facc0 100644
--- a/backend/routes/routesToucan.js
+++ b/backend/routes/routesToucan.js
@@ -5,6 +5,7 @@ var { celebrate } = require("celebrate");
 
 var { newToucan, validId, validLimit } = require("../utils/schema");
 var env = require("../.env");
+var isLogged = require("../utils/authentification");
 var upload = require("../utils/fileSaver");
 var Toucan = require("../models/modelToucan");
 var router = express.Router();
@@ -19,13 +20,14 @@ router.route("/toucans")
                 if (err) {
                     res.send(err);
                 } else {
-                    res/*.header("Access-Control-Allow-Origin","*")*/.json(toucans);
+                    res.json(toucans);
                 }
             });
     })
 
     // Une route pour créer un toucan
     .post(
+        isLogged,
         upload.fields([{name:"toucan", maxCount:1 }, {name:"cover", maxCount:1 }]),
         celebrate({body:newToucan}),
         function(req,res) {
@@ -83,38 +85,41 @@ router.route("/img/:id")
     });
 // Supprime le toucan avec l'id donné
 router.route("/delete/:id")
-    .post(celebrate({params: validId}), function(req,res) {
-        Toucan.deleteOne({_id:req.params.id},
-            function(err) {
-                if (err) {
-                    res.send(500).send(err);
-                } else {    // Si on a supprimée l'entrée, on supprime le pdf
-                    var pdfPath = path.format({
-                        dir: env.savedExtensions[1].path,
-                        name: req.params.id,
-                        ext: ".pdf"
-                    });
-                    fs.unlink(pdfPath, (err) => {
-                        if (err) {
-                            res.status(500).send(err);
-                        } else {    // Si on a supprimé le pdf on supprime l'image
-                            var imgPath = path.join(env.savedExtensions[0].path,"/",req.params.id);
-                            env.savedExtensions[0].extensions.forEach(ext => {
-                                if (fs.existsSync(imgPath+ext)){
-                                    imgPath = imgPath+ext;
-                                    fs.unlink(imgPath, (err) => {
-                                        if (err) {
-                                            res.status(500).send(err);
-                                        } else {
-                                            res.send("Toucan supprimé");
-                                        }
-                                    });
-                                }
-                            });
-                        }
-                    });
-                }
-            });
-    });
+    .post(
+        isLogged,
+        celebrate({params: validId}),
+        function(req,res) {
+            Toucan.deleteOne({_id:req.params.id},
+                function(err) {
+                    if (err) {
+                        res.send(500).send(err);
+                    } else {    // Si on a supprimée l'entrée, on supprime le pdf
+                        var pdfPath = path.format({
+                            dir: env.savedExtensions[1].path,
+                            name: req.params.id,
+                            ext: ".pdf"
+                        });
+                        fs.unlink(pdfPath, (err) => {
+                            if (err) {
+                                res.status(500).send(err);
+                            } else {    // Si on a supprimé le pdf on supprime l'image
+                                var imgPath = path.join(env.savedExtensions[0].path,"/",req.params.id);
+                                env.savedExtensions[0].extensions.forEach(ext => {
+                                    if (fs.existsSync(imgPath+ext)){
+                                        imgPath = imgPath+ext;
+                                        fs.unlink(imgPath, (err) => {
+                                            if (err) {
+                                                res.status(500).send(err);
+                                            } else {
+                                                res.send("Toucan supprimé");
+                                            }
+                                        });
+                                    }
+                                });
+                            }
+                        });
+                    }
+                });
+        });
 
 module.exports = router;
\ No newline at end of file
diff --git a/backend/utils/authentification.js b/backend/utils/authentification.js
new file mode 100644
index 0000000000000000000000000000000000000000..a14c845a50ba4d8a971c4eb9f458031122548c35
--- /dev/null
+++ b/backend/utils/authentification.js
@@ -0,0 +1,25 @@
+var jwt = require("jsonwebtoken");
+var env = require("../.env");
+
+/**
+ * Un middleware qui vérifie que l'utilisateur ayant envoyé
+ * la requete soit bien authentifié.
+ */
+
+function isLogged(req, res, next) {
+    const token = req.headers.token;
+    if (!token) {
+        res.status(401).end("Vous n'êtes pas authentifié");
+    }
+    try {
+        if(jwt.verify(token,env.tokenSecret)) { // Si le token n'est pas compromis
+            next();
+        } else {
+            res.status(400).end("Une erreur s'est produite lors de l'authentification");
+        }
+    } catch (err) {
+        res.status(400).end("Une erreur s'est produite lors de l'authentification");
+    }
+}
+
+module.exports = isLogged;
\ No newline at end of file
diff --git a/front/src/view/FormToucan.js b/front/src/view/FormToucan.js
index 0a22fe808b93a6bbba56b8d7f768df706c696928..3d961a1f4f491d2c39518033c65361a484d5277a 100644
--- a/front/src/view/FormToucan.js
+++ b/front/src/view/FormToucan.js
@@ -60,27 +60,24 @@ class FormToucan extends Component {
        form.append("title",title)
        form.append("toucan",toucan)
        form.append("cover",cover)
-       
        fetch(`${env.backURL}/toucan/toucans`,{
-         method: 'POST',
-         body: form
+            method: 'POST',
+            headers:{token: localStorage.getItem("token")},
+            body: form
        })
        .then((response) => {
             if (response.ok) { // Si la réponse est bonne on reload tout simplement
                 window.location.reload()
             } else {
-                try {
-                    response.json().then((json)=>{
-                        if(json.errmsg.split(" ")[0]==="E11000"){ // L'erreur la plus probable
-                            this.setState({responseMessage:"La date sélectionnée existe déjà"})
-                        } else {
-                            this.setState({responseMessage:json.errmsg})
-                        }
-                    });
-                } catch {
-                    response.text().then(text => this.setState({responseMessage:text}))
-
-            }};
+                response.json()
+                .then((json)=>{
+                    if(json.errmsg.split(" ")[0]==="E11000"){ // L'erreur la plus probable
+                        this.setState({responseMessage:"La date sélectionnée existe déjà"})
+                    } else {
+                        this.setState({responseMessage:json.errmsg})
+                    }
+                })
+            };
        } )
        .catch((err)=> this.setState({responseMessage:err}))
     }
diff --git a/front/src/view/showToucan/ModalSuppression.js b/front/src/view/showToucan/ModalSuppression.js
index 90a27c7373ab679a0fa0b6bd62d42c47b0425d8a..81823ea19462f718c919367d319d0abfaab4af61 100644
--- a/front/src/view/showToucan/ModalSuppression.js
+++ b/front/src/view/showToucan/ModalSuppression.js
@@ -1,13 +1,23 @@
 import React, {Component} from 'react'
-import {Modal, Button, Image} from 'semantic-ui-react'
+import {Modal, Button, Image,Message} from 'semantic-ui-react'
 import env from '../../.env'
 
 class ModalSupression extends Component {
+    state = {error:''};
+
     deleteToucan(id) {
         fetch(`${env.backURL}/toucan/delete/${id}`,{
-            method: "Post"
+            method: "Post",
+            headers:{token: localStorage.getItem("token")}
+        })
+        .then((response) => {
+            if (response.ok) {
+            window.location.reload()
+            } else {
+                response.text()
+                .then((error) => this.setState({error:error}))
+            }
         })
-        .then(() => window.location.reload())
         .catch(err => console.log(err))
     }
 
@@ -24,6 +34,7 @@ class ModalSupression extends Component {
                 <Button positive onClick={()=>this.props.closeModal()}> Laisser le Toucan là où il est</Button>
                 <Button negative onClick={()=>this.deleteToucan(this.props.toucanId)}>Supprimer le Toucan</Button>
             </Modal.Actions>
+            {this.state.error && <Message negative content={this.state.error}/>}
         </Modal>
         )
     }