diff --git a/CHANGELOG.md b/CHANGELOG.md
index 894a51d2b8d8a6c97f14f604429faa361cc58aa8..212e84f57d24212aa27aae791a91c9da0b230ebc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
 CHANGELOG
 =========
 
+5.1.6
+-----
+- Nouveau collecteur dans la barre LaminasDevTools : messages produits par \UnicaenApp\Service\MessageCollector.   
+
 5.1.5
 -----
 - Nouvel élément de formulaire SearchAndSelect2 (basé sur le widget js Select2).
diff --git a/config/module.config.php b/config/module.config.php
index 26bbbf3738f106ac0087f3b9c1ed19270082b55e..a9158c46cff787724b9ce6dbb8bd44588eb8fd62 100644
--- a/config/module.config.php
+++ b/config/module.config.php
@@ -2,11 +2,14 @@
 
 namespace UnicaenApp;
 
+use Laminas\Mvc\Console\Router\Simple;
 use Laminas\ServiceManager\Factory\InvokableFactory;
 use UnicaenApp\Controller\CacheControllerFactory;
 use UnicaenApp\Controller\ConsoleController;
 use UnicaenApp\Controller\ConsoleControllerFactory;
 use UnicaenApp\Controller\InstadiaControllerFactory;
+use UnicaenApp\DeveloperTools\MessageCollectorService;
+use UnicaenApp\DeveloperTools\MessageCollectorServiceFactory;
 use UnicaenApp\Form\Element\SearchAndSelect2;
 use UnicaenApp\Form\View\Helper\FormControlGroup;
 use UnicaenApp\Form\View\Helper\FormControlGroupFactory;
@@ -49,7 +52,6 @@ use UnicaenApp\View\Helper\Upload\UploaderHelper;
 use UnicaenApp\View\Helper\Upload\UploaderHelperFactory;
 use UnicaenApp\View\Helper\UserProfileSelect;
 use UnicaenApp\View\Helper\UserProfileSelectFactory;
-use Laminas\Mvc\Console\Router\Simple;
 
 return [
     'router'          => [
@@ -341,6 +343,8 @@ return [
             'instadia'              => InstadiaServiceFactory::class,
             HostLocalization::class => HostLocalizationFactory::class,
             RedirectResponse::class => RedirectResponseFactory::class,
+
+            MessageCollectorService::class => MessageCollectorServiceFactory::class,
         ],
         'shared'             => [
             'MouchardListenerErrorHandler' => false,
@@ -525,6 +529,7 @@ return [
             //            'unicaen-app/application/plan'                     => __DIR__ . '/../view/application/plan.phtml',
             //            'unicaen-app/application/mentions-legales'         => __DIR__ . '/../view/application/mentions-legales.phtml',
             //            'unicaen-app/application/informatique-et-libertes' => __DIR__ . '/../view/application/informatique-et-libertes.phtml',
+            'laminas-developer-tools/toolbar/messages' => __DIR__ . '/../view/laminas-developer-tools/toolbar/messages.phtml',
         ],
         // TemplatePathStack configuration
         'template_path_stack'      => [
@@ -681,4 +686,18 @@ return [
             ],
         ],
     ],
+
+    // intégration à la Laminas Developer Toolbar
+    'laminas-developer-tools' => [
+        'profiler' => [
+            'collectors' => [
+                DeveloperTools\MessageCollectorService::class => DeveloperTools\MessageCollectorService::class,
+            ],
+        ],
+        'toolbar'  => [
+            'entries' => [
+                DeveloperTools\MessageCollectorService::class => 'laminas-developer-tools/toolbar/messages',
+            ],
+        ],
+    ],
 ];
diff --git a/src/UnicaenApp/DeveloperTools/MessageCollectorService.php b/src/UnicaenApp/DeveloperTools/MessageCollectorService.php
new file mode 100644
index 0000000000000000000000000000000000000000..76b3f179024c9d1e01f9c058b607dc7510835ee6
--- /dev/null
+++ b/src/UnicaenApp/DeveloperTools/MessageCollectorService.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace UnicaenApp\DeveloperTools;
+
+use Laminas\DeveloperTools\Collector\CollectorInterface;
+use Laminas\Mvc\MvcEvent;
+use UnicaenApp\Service\MessageCollectorAwareTrait;
+
+class MessageCollectorService implements CollectorInterface
+{
+    use MessageCollectorAwareTrait;
+
+    const NAME = 'messages';
+    const PRIORITY = 200;
+
+    public function getMessages(): array
+    {
+        return $this->messageCollector->getMessages();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function getName(): string
+    {
+        return self::NAME;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function getPriority(): int
+    {
+        return static::PRIORITY;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function collect(MvcEvent $mvcEvent)
+    {
+    }
+}
diff --git a/src/UnicaenApp/DeveloperTools/MessageCollectorServiceFactory.php b/src/UnicaenApp/DeveloperTools/MessageCollectorServiceFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..df67750f3918fa774d979bf0019c95acb32b1cbb
--- /dev/null
+++ b/src/UnicaenApp/DeveloperTools/MessageCollectorServiceFactory.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace UnicaenApp\DeveloperTools;
+
+use Laminas\ServiceManager\Factory\FactoryInterface;
+use Psr\Container\ContainerInterface;
+use UnicaenApp\Service\MessageCollector;
+
+class MessageCollectorServiceFactory implements FactoryInterface
+{
+    public function __invoke(ContainerInterface $container, $requestedName, $options = null): MessageCollectorService
+    {
+        $service = new MessageCollectorService();
+
+        /** @var MessageCollector $messageCollector */
+        $messageCollector = $container->get('MessageCollector');
+        $service->setServiceMessageCollector($messageCollector);
+
+        return $service;
+    }
+
+}
\ No newline at end of file
diff --git a/view/laminas-developer-tools/toolbar/messages.phtml b/view/laminas-developer-tools/toolbar/messages.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..2e1afccecbe2673c335fa1075917e7bad34a22cf
--- /dev/null
+++ b/view/laminas-developer-tools/toolbar/messages.phtml
@@ -0,0 +1,46 @@
+<?php
+/**
+ * @var \Laminas\DeveloperTools\Report $report
+ * @var \UnicaenApp\DeveloperTools\MessageCollectorService $collector
+ */
+$collector = $report->getCollector('messages');
+$messages = $collector->getMessages();
+?>
+<div class="laminas-toolbar-entry">
+    <div class="laminas-toolbar-preview">
+        <span class="laminas-toolbar-info">
+               <span class="laminas-toolbar-extra-info">
+                    <img style="padding-bottom: 4px;"
+                         src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMJJREFUeNqUUsEKhCAUbGVBISILomsI/f8/9CVCIJUI26EIA9mhLktblnMQxJnHzDxfTdNEISBRIN4nMwgpiiLLMkqplHIcR5+AMSaEcM4NwzDPs7UWelzPBXirqmqaprZtf0mXGTjn0HjYR0GSJMYYD/toqe97mA6otSxLuArbQ57niPFUoLWO4xjNPhJg8LIsXdfVdZ2mKdngC72Xg9zrumIbOFGAUgrru/kanw1sw3/FJ4KdBHuH2Te/9Wp9XwEGAJDAZMbwps+bAAAAAElFTkSuQmCC"/>
+                    Message
+            </span>
+        </span>
+    </div>
+    <div class="laminas-toolbar-detail">
+        <div class="laminas-toolbar-info">
+            <div class="laminas-detail-value">
+                <?php if (!empty($messages)): ?>
+                <dl>
+                    <?php foreach ($messages as $severity => $item): ?>
+                        <dt>
+                            <span title="severity"><?php echo $severity ?></span>
+                        </dt>
+                        <dd>
+                            <ul>
+                                <?php foreach ((array)$item as $priority => $message): ?>
+                                    <li>
+                                        <span title="priority"><?php echo $priority ?></span> =>
+                                        <span title="<?php echo $message ?>"><?php echo $message ?></span>
+                                    </li>
+                                <?php endforeach; ?>
+                            </ul>
+                        </dd>
+                    <?php endforeach; ?>
+                </dl>
+                <?php else: ?>
+                    Aucun message.
+                <?php endif ?>
+            </div>
+        </div>
+    </div>
+</div>
\ No newline at end of file