diff --git a/src/Command/UpdateAllProjects.php b/src/Command/UpdateAllProjects.php
index 4292e60ced4fe1bf412445b851ad54415918641b..144166a08844654885d7dd4f4e5a2724c047a630 100644
--- a/src/Command/UpdateAllProjects.php
+++ b/src/Command/UpdateAllProjects.php
@@ -2,6 +2,9 @@
 
 namespace App\Command;
 
+use LogicException;
+use phpDocumentor\Reflection\Types\Array_;
+use phpDocumentor\Reflection\Types\Boolean;
 use Symfony\Component\Console\Attribute\AsCommand;
 use Symfony\Component\Console\Command\Command;
 use Symfony\Component\Console\Helper\ProgressBar;
@@ -20,15 +23,19 @@ use Symfony\Component\HttpKernel\KernelInterface;
 )]
 class UpdateAllProjects extends Command
 {
-    private Filesystem $filesystem;
-
+    private Filesystem $file_system;
     private KernelInterface $kernel;
 
+    private string $legacy_root;
+    private string $capsule_prototype_root;
+
     /**
-     * @var string[] $black_list
+     * @var string[] $BLACK_LIST files and directories that should not be taken into account for projects update
      */
-    private array $black_list =
+    private static array $BLACK_LIST =
         ['css', 'create.zip', 'favicon.ico', 'la-page-des-malins.php', 'js', 'php',  'shared', '.', '..'];
+    private static string $CAPSULE_PROTOTYPE_DIRECTORY_NAME = 'capsule-prototype';
+    private static string $LEGACY_DIRECTORY_NAME = 'legacy';
 
 
     public function __construct(Filesystem $filesystem, KernelInterface $kernel)
@@ -38,8 +45,13 @@ class UpdateAllProjects extends Command
         // best practices recommend to call the parent constructor first and
         // then set your own properties. That wouldn't work in this case
         // because configure() needs the properties set in this constructor
-        $this->filesystem = $filesystem;
+        $this->file_system = $filesystem;
         $this->kernel = $kernel;
+        $this->legacy_root = Path::join($this->kernel->getProjectDir(), self::$LEGACY_DIRECTORY_NAME);
+        $this->capsule_prototype_root = Path::join(
+            $this->kernel->getProjectDir(),
+            self::$CAPSULE_PROTOTYPE_DIRECTORY_NAME
+        );
     }
 
     protected function configure(): void
@@ -56,26 +68,21 @@ class UpdateAllProjects extends Command
     protected function execute(InputInterface $input, OutputInterface $output): int
     {
         if (!$output instanceof ConsoleOutputInterface) {
-            throw new \LogicException('This command accepts only an instance of "ConsoleOutputInterface".');
+            throw new LogicException('This command accepts only an instance of "ConsoleOutputInterface".');
         }
 
         ProgressBar::setFormatDefinition(
             'project_update_message',
             ' %current%/%max% [%bar%] %percent%% : Updating project :%project% %elapsed%'
         );
-        $output->writeln("Updating all projects started");
-
-        $legacy_root = $this->kernel->getProjectDir() . '/legacy';
-        $capsule_prototype_root = './capsule-prototype';
+        $output->writeln('Updating all projects started');
 
-        $directory_files = scandir($legacy_root);
-        if (false === $directory_files) {
+        $all_file_in_directory = $this->getProjectsDirectories();
+        if (false === $all_file_in_directory) {
             return Command::FAILURE;
         }
 
-        $all_file_in_directory = $this->getProjectsDirectories($directory_files);
-
-        $php_files_count_per_projects = $this->getPhpFilesCountPerProjects($capsule_prototype_root);
+        $php_files_count_per_projects = $this->getPhpFilesCountPerProjects();
 
         $all_projects_progress_bar = new ProgressBar($output->section());
         $all_projects_progress_bar->setFormat(
@@ -85,9 +92,9 @@ class UpdateAllProjects extends Command
         $all_projects_progress_bar->start();
 
         foreach ($all_projects_progress_bar->iterate($all_file_in_directory) as $project_directory) {
-            $current_legacy_path = Path::normalize($legacy_root . '/' . $project_directory);
+            $current_legacy_path = Path::join($this->legacy_root, $project_directory);
 
-            if (!$this->filesystem->exists($current_legacy_path)) {
+            if (!$this->file_system->exists($current_legacy_path)) {
                 continue;
             }
 
@@ -95,7 +102,7 @@ class UpdateAllProjects extends Command
                 continue;
             }
 
-            if (in_array($project_directory, $this->black_list)) {
+            if (in_array($project_directory, self::$BLACK_LIST)) {
                 continue;
             }
 
@@ -103,7 +110,7 @@ class UpdateAllProjects extends Command
                 $output,
                 $php_files_count_per_projects,
                 $current_legacy_path,
-                $capsule_prototype_root
+                $this->capsule_prototype_root
             );
             $all_projects_progress_bar->advance($php_files_count_per_projects);
         }
@@ -114,21 +121,24 @@ class UpdateAllProjects extends Command
     }
 
     /**
-     * @param string[] $directory_files
-     * @return string[] projects directories
+     * @return string[]|false
      */
-    private function getProjectsDirectories(array $directory_files): array
+    private function getProjectsDirectories(): array|false
     {
-        return array_diff($directory_files, $this->black_list);
+
+        $all_directories_and_files = scandir($this->legacy_root);
+        if (false === $all_directories_and_files) {
+            return false;
+        }
+        return array_diff($all_directories_and_files, self::$BLACK_LIST);
     }
 
     /**
-     * @param string $capsule_prototype_root
      * @return int
      */
-    protected function getPhpFilesCountPerProjects(string $capsule_prototype_root): int
+    protected function getPhpFilesCountPerProjects(): int
     {
-        $php_files = glob($capsule_prototype_root . '/php/*.php');
+        $php_files = glob($this->capsule_prototype_root . '/php/*.php');
         // add +1 for index.html file
         return count($php_files ?: []) + 1;
     }
@@ -153,7 +163,7 @@ class UpdateAllProjects extends Command
         $progress_bar->start();
 
         // override index.html
-        $this->filesystem->copy(
+        $this->file_system->copy(
             Path::normalize($capsule_prototype_root . '/index.html'),
             Path::normalize($current_legacy_path . '/index.html'),
             true
@@ -161,9 +171,9 @@ class UpdateAllProjects extends Command
         $progress_bar->advance();
 
         // override php files
-        $this->filesystem->mirror(
-            Path::normalize($capsule_prototype_root . '/php'),
-            Path::normalize($current_legacy_path . '/php'),
+        $this->file_system->mirror(
+            Path::join($capsule_prototype_root, 'php'),
+            Path::join($current_legacy_path, 'php'),
             null,
             ['override' => true, 'delete' => true]
         );