diff --git a/src/Controller/ProjectController.php b/src/Controller/ProjectController.php
index e31747eb29d24213d22f15986230a81a08df9ba7..1186b4d88c00c2b20b6b6d3f94edc85b968dfc0f 100644
--- a/src/Controller/ProjectController.php
+++ b/src/Controller/ProjectController.php
@@ -7,6 +7,7 @@ use App\Entity\PendingEditorInvitation;
 use App\Exception\ZipArchiveNotOpeningException;
 use App\Form\EditVideoUrlFormType;
 use App\Form\RemoveEditorFormType;
+use App\Repository\CapsuleRepository;
 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 use Symfony\Bundle\FrameworkBundle\Translation\Translator;
 use Symfony\Component\Config\Util\Exception\XmlParsingException;
@@ -51,7 +52,7 @@ class ProjectController extends AbstractController
 
         $this->extractZipArchiveInNewCapsuleDirectory($capsule_directory);
 
-        $this->addProjectVideoUrlInXMLProjectFile($capsule_directory, $video_url);
+        $this->setVideoUrlNodeAttributeInXMLProjectFile($capsule_directory, $video_url);
 
         $this->createOrUpdatePasswordFile($capsule_directory, $capsule->getPassword());
 
@@ -130,9 +131,9 @@ class ProjectController extends AbstractController
         $zip->close();
     }
 
-    private function addProjectVideoUrlInXMLProjectFile(string $capsule_directory, string $video_url): void
+    private function setVideoUrlNodeAttributeInXMLProjectFile(string $project_directory, string $video_url): void
     {
-        $project_xml_file = $capsule_directory . "/file/project.xml";
+        $project_xml_file = $project_directory . "/file/project.xml";
         $xml_file_content = simplexml_load_file($project_xml_file);
 
         if (false === $xml_file_content) {
@@ -171,16 +172,32 @@ class ProjectController extends AbstractController
     /**
      * @Route("/capsule/{capsule_id}/edit_video_url", name="edit_video_url")
      */
-    public function editVideoUrl(int $capsule_id, Request $request, TranslatorInterface $translator): Response
-    {
+    public function editVideoUrl(
+        int $capsule_id,
+        Request $request,
+        TranslatorInterface $translator,
+        CapsuleRepository $capsule_repository
+    ): Response {
+        $capsule = $capsule_repository->findOneBy(['id' => $capsule_id]);
+        if (! $capsule instanceof Capsule) {
+            throw new \Exception('The retrieved capsule is not an instance of Capsule.');
+        }
+
         $form = $this->createForm(EditVideoUrlFormType::class);
         $form->handleRequest($request);
 
         if ($form->isSubmitted() && $form->isValid()) {
+            $new_video_url = $form->get('new_video_url')->getData();
+            $project_directory = $capsule->getLinkPath();
+
+            chdir('../legacy/');
+            $this->setVideoUrlNodeAttributeInXMLProjectFile($project_directory, $new_video_url);
+//            $this->rescheduleProjectAnnotations($project_XML_file_path);
+
             $this->addFlash(
                 'success',
                 $translator->trans(
-                    'editors.remove.pending_editor.success'
+                    'capsule.edit.video_url.success'
                 )
             );
 
@@ -190,8 +207,7 @@ class ProjectController extends AbstractController
         }
 
         return $this->render('project/edit_video_url.html.twig', [
-            'editVideoUrlForm' => $form->createView(),
-//            'capsule_id' => $capsule_id
+            'editVideoUrlForm' => $form->createView()
         ]);
     }
 }
diff --git a/src/Form/EditVideoUrlFormType.php b/src/Form/EditVideoUrlFormType.php
index 4c36f7277779170085b24193cb71445cab85ae99..2cd948f8ad634cd142ea68c0189b7587fbc56b26 100644
--- a/src/Form/EditVideoUrlFormType.php
+++ b/src/Form/EditVideoUrlFormType.php
@@ -16,7 +16,7 @@ class EditVideoUrlFormType extends AbstractType
     {
         $builder
             ->add(
-                'video_url',
+                'new_video_url',
                 UrlType::class,
                 [
                     'constraints' => [new NotBlank(['message' => 'capsule.video_url.not_blank'])],
diff --git a/templates/project/edit_video_url.html.twig b/templates/project/edit_video_url.html.twig
index 7ccf3cfa3778ca30a4e86a3589634d944cb88d6b..7188f1ee43d0f1f34dafb2ad8114f01f54abd421 100644
--- a/templates/project/edit_video_url.html.twig
+++ b/templates/project/edit_video_url.html.twig
@@ -16,7 +16,7 @@
         </div>
 
         {{ form_start(editVideoUrlForm, {'attr': {novalidate: 'novalidate', 'class': 'd-flex flex-column justify-content-center'}}) }}
-        {{ form_row(editVideoUrlForm.video_url, {'row_attr': {'class' : 'm-auto mb-4 col-6'}})  }}
+        {{ form_row(editVideoUrlForm.new_video_url, {'row_attr': {'class' : 'm-auto mb-4 col-6'}})  }}
         {{ form_row(editVideoUrlForm.save, {'row_attr': {'class' : 'm-auto mb-5 col-2'}})  }}
         {{ form_end(editVideoUrlForm) }}
 
diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml
index 43cbb82fd0bfd24431b866f91f3ecea245083594..415057818a94148cae7e1ce71722e87e0a8c5a7d 100644
--- a/translations/messages.en.yaml
+++ b/translations/messages.en.yaml
@@ -75,6 +75,7 @@ capsule:
       link: Edit video URL
       text: Enter a new video URL from Youtube or Vimeo
       title: Edit video URL
+      success: The video URL of the project has been updated successfully
   duplicate:
     link: Duplicate capsule
     title: Duplicate capsule
diff --git a/translations/messages.fr.yaml b/translations/messages.fr.yaml
index 27713bd2b27632b85b8b98d21bec66947b6ca6b9..68b09993160217c67060d56105cd971ff936982c 100644
--- a/translations/messages.fr.yaml
+++ b/translations/messages.fr.yaml
@@ -72,6 +72,7 @@ capsule:
       link: Modifier l'URL de la vidéo
       text: Saisir l'URL de la nouvelle vidéo Youtube ou Vimeo
       title: Modifier l'URL de la vidéo
+      success: L'URL de la vidéo du projet a bien été mise à jour
   duplicate:
     link: Dupliquer la capsule
     title: Dupliquer la capsule