diff --git a/app/src/Action/DashboardGenerateBadgeAction.php b/app/src/Action/DashboardGenerateBadgeAction.php
index 819e52abd70396e8d88ac0f271a29e4a656c77e8..440cfadcd9b8678cc5e31d459124fc24b6eefb98 100644
--- a/app/src/Action/DashboardGenerateBadgeAction.php
+++ b/app/src/Action/DashboardGenerateBadgeAction.php
@@ -32,10 +32,15 @@ final class DashboardGenerateBadgeAction
             return $response->write('Email invalide')->withStatus(400);
         }
 
+        $role = strtolower($participant->getRole());
+        if ($role == 'invité') {
+            $role = 'invite';
+        }
+
         // Parametres par defaut
         $width = 890;
         $height = 600;
-        $imagefile = './public/images/badge.png';
+        $imagefile = './public/images/badge_' . $role . '.png';
         $fontroboto = './config/Roboto-Black.ttf';
         $fontrobotolight = './config/Roboto-Light.ttf';
         $fontTopSecret = './config/top_secret.ttf';
@@ -51,7 +56,7 @@ final class DashboardGenerateBadgeAction
         if ($participant->getEvenementSocial()) {
             imagettftext($image, 25, 20, 75, 350, $black, $fontTopSecret, 'Event');
         }
-        imagettftext($image, 40, 0, 255, 100, $black, $fontroboto, $participant->getPrenom());
+        imagettftext($image, 40, 0, 255, 100, $black, $fontroboto, ucfirst(strtolower($participant->getPrenom())));
         imagettftext($image, 40, 0, 255, 160, $black, $fontroboto, strtoupper($participant->getNom()));
         imagettftext($image, 29, 0, 255, 250, $black, $fontrobotolight, $participant->getOrganisme()->getLabel());
         $roleString = $participant->getRole();
diff --git a/app/src/Action/DashboardGenerateBadgeListAction.php b/app/src/Action/DashboardGenerateBadgeListAction.php
index 75f70f360c75e1c2947ca0b1422b775a7ebb724c..8181f1a993bbff892bc527bd8c011982c90e9fb0 100644
--- a/app/src/Action/DashboardGenerateBadgeListAction.php
+++ b/app/src/Action/DashboardGenerateBadgeListAction.php
@@ -70,10 +70,15 @@ final class DashboardGenerateBadgeListAction
 
     private function createBadge($participant)
     {
+        $role = strtolower($participant->getRole());
+        if ($role == 'invité') {
+            $role = 'invite';
+        }
+
         // Parametres par defaut
         $width = 890;
         $height = 600;
-        $imagefile = './public/images/badge.png';
+        $imagefile = './public/images/badge_' . $role . '.png';
         $fontroboto = './config/Roboto-Black.ttf';
         $fontrobotolight = './config/Roboto-Light.ttf';
         $fontTopSecret = './config/top_secret.ttf';
@@ -89,7 +94,7 @@ final class DashboardGenerateBadgeListAction
         if ($participant->getEvenementSocial()) {
             imagettftext($image, 25, 20, 75, 350, $black, $fontTopSecret, 'Event');
         }
-        imagettftext($image, 40, 0, 255, 100, $black, $fontroboto, $participant->getPrenom());
+        imagettftext($image, 40, 0, 255, 100, $black, $fontroboto, ucfirst(strtolower($participant->getPrenom())));
         imagettftext($image, 40, 0, 255, 160, $black, $fontroboto, strtoupper($participant->getNom()));
         imagettftext($image, 29, 0, 255, 250, $black, $fontrobotolight, $participant->getOrganisme()->getLabel());
         $roleString = $participant->getRole();
diff --git a/public/images/badge_exposant.png b/public/images/badge_exposant.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1db9d9c77697f4dc764c83200bd8a40e9c42cbf
Binary files /dev/null and b/public/images/badge_exposant.png differ
diff --git a/public/images/badge_invite.png b/public/images/badge_invite.png
new file mode 100644
index 0000000000000000000000000000000000000000..5a37d0318bf7550bbfa5daf26f9fa5f8757b890e
Binary files /dev/null and b/public/images/badge_invite.png differ
diff --git a/public/images/badge_organisateur.png b/public/images/badge_organisateur.png
new file mode 100644
index 0000000000000000000000000000000000000000..28790bf28b9bd02c06b8aa7af49f689c19e02f77
Binary files /dev/null and b/public/images/badge_organisateur.png differ
diff --git a/public/images/badge.png b/public/images/badge_participant.png
similarity index 100%
rename from public/images/badge.png
rename to public/images/badge_participant.png
diff --git a/public/images/badge_sponsor.png b/public/images/badge_sponsor.png
new file mode 100644
index 0000000000000000000000000000000000000000..b92a4d08694df0300c2bc16b7e4b71c339bb24d2
Binary files /dev/null and b/public/images/badge_sponsor.png differ