diff --git a/src/Builder/CapsuleBuilder.php b/src/Builder/CapsuleBuilder.php
index b219d3bcab024d36e363d369c50fbf8a9c5f7d95..d3eda494ea0ac71018c4327da6449714a47ebfdd 100755
--- a/src/Builder/CapsuleBuilder.php
+++ b/src/Builder/CapsuleBuilder.php
@@ -3,6 +3,7 @@
 namespace App\Builder;
 
 use App\Entity\Capsule;
+use App\Entity\Group;
 use App\Entity\User;
 use App\Helper\ContractHelper;
 
@@ -90,6 +91,12 @@ class CapsuleBuilder
         return $this;
     }
 
+    public function withGroup(Group $group): CapsuleBuilder
+    {
+        $this->capsule->addGroup($group);
+        return $this;
+    }
+
     public function createCapsule(): Capsule
     {
         $this->createEditionLink();
diff --git a/src/Controller/CapsuleController.php b/src/Controller/CapsuleController.php
index 0bf9c029daa2fb2e7a0d1e3c6bc165d2e000d0a0..a1a85436587dfa8463be51d891477ccd3d97e12b 100755
--- a/src/Controller/CapsuleController.php
+++ b/src/Controller/CapsuleController.php
@@ -12,6 +12,8 @@ use App\Helper\StringHelper;
 use App\Repository\CapsuleRepository;
 use App\Builder\CapsuleBuilder;
 use App\Form\CreateCapsuleFormType;
+use App\Repository\GroupRepository;
+use Doctrine\ORM\EntityManagerInterface;
 use Knp\Component\Pager\PaginatorInterface;
 use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 use Symfony\Component\Filesystem\Filesystem;
@@ -26,13 +28,19 @@ class CapsuleController extends AbstractController
 {
     private CapsuleRepository $capsule_repository;
     private TranslatorInterface $translator;
+    private GroupRepository $group_repository;
+    private EntityManagerInterface $entity_manager;
 
     public function __construct(
         CapsuleRepository $capsule_repository,
-        TranslatorInterface $translator
+        TranslatorInterface $translator,
+        GroupRepository $group_repository,
+        EntityManagerInterface $entity_manager
     ) {
         $this->capsule_repository = $capsule_repository;
         $this->translator = $translator;
+        $this->group_repository = $group_repository;
+        $this->entity_manager = $entity_manager;
     }
 
     /**
@@ -51,6 +59,11 @@ class CapsuleController extends AbstractController
 
         $all_capsules = $current_user->getCapsules();
 
+        $group_all = $this->getGroupAll();
+        $group_all->addCapsules($all_capsules->toArray());
+        $this->entity_manager->persist($group_all);
+        $this->entity_manager->flush();
+
         $form = $this->createForm(FilterByGroupFormType::class, ['groups' => $current_user->getGroups()]);
         $form->handleRequest($request);
 
@@ -175,8 +188,7 @@ class CapsuleController extends AbstractController
             return $this->redirectToRoute('app_logout');
         }
 
-        $entityManager = $this->getDoctrine()->getManager();
-        $capsule = $entityManager->getRepository(Capsule::class)->find($id);
+        $capsule = $this->capsule_repository->findOneBy(['id' => $id]);
 
         if (! $capsule) {
             throw $this->createNotFoundException(
@@ -202,8 +214,8 @@ class CapsuleController extends AbstractController
         if ($form->isSubmitted() && $form->isValid()) {
             $current_user->removeCapsule($capsule);
             $capsule->removeEditor($current_user);
-            $entityManager->remove($capsule);
-            $entityManager->flush();
+            $this->entity_manager->remove($capsule);
+            $this->entity_manager->flush();
 
             $this->addFlash(
                 'success',
@@ -240,8 +252,7 @@ class CapsuleController extends AbstractController
             return $this->redirectToRoute('app_logout');
         }
 
-        $entityManager = $this->getDoctrine()->getManager();
-        $parent_capsule = $entityManager->getRepository(Capsule::class)->find($id);
+        $parent_capsule = $this->capsule_repository->findOneBy(['id' => $id]);
 
         if (! $parent_capsule instanceof Capsule) {
             throw new \Exception('The retrieved capsule is not an instance of Capsule.');
@@ -301,7 +312,6 @@ class CapsuleController extends AbstractController
         $password = StringHelper::generateRandomHashedString();
         $preview_link = Uuid::v4();
 
-        $entityManager = $this->getDoctrine()->getManager();
         $capsule_builder = new CapsuleBuilder();
         $capsule = $capsule_builder
             ->withName($capsule_name)
@@ -310,11 +320,23 @@ class CapsuleController extends AbstractController
             ->withLinkPath($preview_link)
             ->withUpdateDate($new_date_time)
             ->withPassword($password)
+            ->withGroup($this->getGroupAll())
             ->createCapsule();
 
-        $entityManager->persist($capsule);
-        $entityManager->flush();
+        $this->entity_manager->persist($capsule);
+        $this->entity_manager->flush();
 
         return $capsule;
     }
+
+    private function getGroupAll(): Group
+    {
+        $group_all = $this->group_repository->findOneBy(['name' => "All"]);
+
+        if (! $group_all instanceof Group) {
+            throw new \Exception("Group not found");
+        }
+
+        return $group_all;
+    }
 }
diff --git a/src/DataFixtures/GroupFixtures.php b/src/DataFixtures/GroupFixtures.php
new file mode 100644
index 0000000000000000000000000000000000000000..82cb6670ce1bb648173cccdbe8d83f4ebed27235
--- /dev/null
+++ b/src/DataFixtures/GroupFixtures.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace App\DataFixtures;
+
+use App\Entity\Group;
+use Doctrine\Bundle\FixturesBundle\Fixture;
+use Doctrine\Persistence\ObjectManager;
+
+class GroupFixtures extends Fixture
+{
+    public function load(ObjectManager $manager): void
+    {
+        $group_all = new Group();
+        $group_all->setName("All");
+        $manager->persist($group_all);
+        $manager->flush();
+    }
+
+    /** @phpstan-ignore-next-line  */
+    public function getDependencies(): array
+    {
+        return [
+            CapsuleFixtures::class,
+        ];
+    }
+}
diff --git a/src/Entity/Group.php b/src/Entity/Group.php
index dae2d533ec24b6a139b42ab7cf018ddde2aafdfe..a8c2fd3e42298d31b90a6beec293d4357cf3d1c8 100755
--- a/src/Entity/Group.php
+++ b/src/Entity/Group.php
@@ -67,6 +67,19 @@ class Group
     {
         if (!$this->capsules->contains($capsule)) {
             $this->capsules[] = $capsule;
+            $capsule->addGroup($this);
+        }
+
+        return $this;
+    }
+
+    /**
+     * @param array<Capsule> $capsules
+     */
+    public function addCapsules(array $capsules): self
+    {
+        foreach ($capsules as $capsule) {
+            $this->addCapsule($capsule);
         }
 
         return $this;
diff --git a/templates/capsule/groups/edit.html.twig b/templates/capsule/groups/edit.html.twig
index 35070f4628cbfe50b1d83abf81983d8c7424ab7b..6248ac5e488e16f7b67378628dea051165909003 100644
--- a/templates/capsule/groups/edit.html.twig
+++ b/templates/capsule/groups/edit.html.twig
@@ -38,13 +38,15 @@
                     </h5>
                     <ul class="ps-0">
                         {% for group in groups %}
-                            <li class="text-capitalize text-secondary list-unstyled p-1">
-                                {{ group.getName() }}
-                                -
-                                <a href="/capsule/{{ capsule.getId() }}/groups/{{ group.getId() }}/remove" class="remove-link">
-                                    {{ 'groups.remove.link'|trans }}
-                                </a>
-                            </li>
+                            {% if group.getName() != 'All' %}
+                                <li class="text-capitalize text-secondary list-unstyled p-1">
+                                    {{ group.getName() }}
+                                        -
+                                        <a href="/capsule/{{ capsule.getId() }}/groups/{{ group.getId() }}/remove" class="remove-link">
+                                            {{ 'groups.remove.link'|trans }}
+                                        </a>
+                                </li>
+                            {% endif %}
                         {% endfor %}
                     </ul>
                 </div>
diff --git a/templates/capsule/index.html.twig b/templates/capsule/index.html.twig
index f0bf7f272038c1c49ecc4b1d4e01ae16f591f38e..b5413a1606ac2ddfe3760a07bc9cebd8b2ddb280 100644
--- a/templates/capsule/index.html.twig
+++ b/templates/capsule/index.html.twig
@@ -13,13 +13,14 @@
                 {{ 'capsule.title'|trans }}
             </h2>
 
-            <div class="mb-3 mb-sm-0">
-                {{ form_start(filterByGroupForm, {'attr': {novalidate: 'novalidate', 'class': 'd-flex flex-column flex-sm-row mb-0 align-items-center pt-3'}}) }}
-                {{ form_row(filterByGroupForm.name, {'attr': {'class': ''}})  }}
-                {{ form_row(filterByGroupForm.filter, {'attr': {'class': 'ms-2'}})  }}
-                {{ form_end(filterByGroupForm) }}
-            </div>
-
+            {% if app.request.query.get('page')|default(1) == 1 %}
+                <div class="mb-3 mb-sm-0">
+                    {{ form_start(filterByGroupForm, {'attr': {novalidate: 'novalidate', 'class': 'd-flex flex-column flex-sm-row mb-0 align-items-center pt-3'}}) }}
+                    {{ form_row(filterByGroupForm.name, {'attr': {'class': ''}})  }}
+                    {{ form_row(filterByGroupForm.filter, {'attr': {'class': 'ms-2'}})  }}
+                    {{ form_end(filterByGroupForm) }}
+                </div>
+            {% endif %}
 
             <form class="d-flex mb-4 mb-lg-0">
                 <button id="btn-orange" formaction="/create">
diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml
index 58e65a0609fdf62242e707e7d53bb60e3f66e9c6..c41fd1e7589ed9a325d8bec665e18bfc949392f3 100644
--- a/translations/messages.en.yaml
+++ b/translations/messages.en.yaml
@@ -181,4 +181,4 @@ groups:
     title: Remove group
     success: Group group_name removed successfully
   filter:
-    button: Filter by group
\ No newline at end of file
+    button: Apply group filter
\ No newline at end of file