diff --git a/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php b/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php
index 3bf78bcd3ecc153cafc60a563f4209ecf5d3f03c..fd9d8eb16697e312ef39883255ae00869ec86708 100644
--- a/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php
+++ b/src/UnicaenKsup/Mvc/Service/ViewKsupStrategyFactory.php
@@ -3,6 +3,7 @@
 namespace UnicaenKsup\Mvc\Service;
 
 use Application\View\Renderer\PhpRenderer;
+use Interop\Container\ContainerInterface;
 use UnicaenKsup\Service\KsupService;
 use Zend\ServiceManager\FactoryInterface;
 use Zend\ServiceManager\ServiceLocatorInterface;
@@ -11,16 +12,27 @@ use UnicaenKsup\View\Strategy\KsupStrategy;
 class ViewKsupStrategyFactory implements FactoryInterface
 {
 
-    public function createService(ServiceLocatorInterface $serviceLocator)
+    /**
+     * @param ContainerInterface $container
+     * @param string $requestedName
+     * @param array|null $options
+     * @return object|KsupStrategy
+     */
+    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
     {
         /** @var PhpRenderer $renderer */
-        $renderer = $serviceLocator->get('ViewRenderer');
+        $renderer = $container->get('ViewRenderer');
 
         /** @var KsupService $service */
-        $service = $serviceLocator->get('ksup');
+        $service = $container->get('ksup');
 
         $strategy = new KsupStrategy($renderer);
         $strategy->setServiceKsup($service);
         return $strategy;
     }
-}
+
+    public function createService(ServiceLocatorInterface $container)
+    {
+        return $this($container, KsupStrategy::class);
+    }
+}
\ No newline at end of file
diff --git a/src/UnicaenKsup/Service/KsupServiceFactory.php b/src/UnicaenKsup/Service/KsupServiceFactory.php
index 90b0ccafff69f7bcbb2889784d1f0f40a586c206..6a317c8d5c95a09dae2fa249f17f1561330970a4 100644
--- a/src/UnicaenKsup/Service/KsupServiceFactory.php
+++ b/src/UnicaenKsup/Service/KsupServiceFactory.php
@@ -2,29 +2,41 @@
 
 namespace UnicaenKsup\Service;
 
+use Interop\Container\ContainerInterface;
+use UnicaenKsup\View\Strategy\KsupStrategy;
 use Zend\ServiceManager\FactoryInterface;
 use Zend\ServiceManager\ServiceLocatorInterface;
 use Zend\View\Helper\BasePath;
 
 class KsupServiceFactory implements FactoryInterface
 {
-
-    public function createService(ServiceLocatorInterface $serviceLocator)
+    /**
+     * @param ContainerInterface $container
+     * @param string $requestedName
+     * @param array|null $options
+     * @return object|KsupService
+     */
+    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
     {
         $service = new KsupService();
 
-        $config = $serviceLocator->get('config');
-        if (isset($config['unicaen-ksup'])){
+        $config = $container->get('config');
+        if (isset($config['unicaen-ksup'])) {
             $config = $config['unicaen-ksup'];
-        }else{
+        } else {
             $config = [];
         }
         $service->setConfig($config);
 
         /** @var BasePath $basePath */
-        $basePath = $serviceLocator->get('viewHelperManager')->get('basePath');
+        $basePath = $container->get('ViewHelperManager')->get('basePath');
         $service->setBasePath($basePath);
 
         return $service;
     }
+
+    public function createService(ServiceLocatorInterface $container)
+    {
+        return $this($container, KsupService::class);
+    }
 }