diff --git a/Kernel/Exceptions/HTTPSpecialCaseException.php b/Kernel/Exceptions/HTTPSpecialCaseException.php
new file mode 100644
index 0000000..9de37b9
--- /dev/null
+++ b/Kernel/Exceptions/HTTPSpecialCaseException.php
@@ -0,0 +1,23 @@
+httpCode = $httpCode;
+ $this->msg = $msg;
+ }
+
+ public function getHTTPCode(){
+ return $this->httpCode;
+ }
+
+ public function getMsg(){
+ return $this->code;
+ }
+
+}
\ No newline at end of file
diff --git a/Views/errors/400.php b/Views/errors/400.php
new file mode 100644
index 0000000..0f6c905
--- /dev/null
+++ b/Views/errors/400.php
@@ -0,0 +1,8 @@
+
Error 400
+Erreur du client 😥
+ message d'erreur: $A_view ";
+ }
+?>
+Retourner à l'accueil
diff --git a/Views/errors/403.php b/Views/errors/403.php
new file mode 100644
index 0000000..4779e15
--- /dev/null
+++ b/Views/errors/403.php
@@ -0,0 +1,3 @@
+Error 403
+Vous n'avez pas l'autorisation d'accéder à cette page 😥
+Retourner à l'accueil
diff --git a/Views/errors/500.php b/Views/errors/500.php
new file mode 100644
index 0000000..c7abb72
--- /dev/null
+++ b/Views/errors/500.php
@@ -0,0 +1,8 @@
+Error 500
+Erreur interne du serveur 😥
+ message d'erreur: $A_view ";
+ }
+?>
+Retourner à l'accueil
diff --git a/index.php b/index.php
index 911db2c..5f36be7 100644
--- a/index.php
+++ b/index.php
@@ -25,6 +25,18 @@
{
echo ('An error occured: ' . $O_exception->getMessage());
}
+ catch (HTTPSpecialCaseException $O_exception)
+ {
+ // drop old buffer
+ View::closeBuffer();
+ View::openBuffer();
+
+ View::show("errors/".$O_exception->getHTTPCode(), $O_exception->getMsg());
+
+ $content = View::closeBuffer();
+ View::show('html', array('body' => $content));
+ return;
+ }
$content = View::closeBuffer();