diff --git a/src/Model/Stricklers/StricklersList.py b/src/Model/Stricklers/StricklersList.py
index ce84d740f11f0aa6b25e48d8963009e6b0d46b51..d2647823008b793bf705d5894c8c5bb6d4890246 100644
--- a/src/Model/Stricklers/StricklersList.py
+++ b/src/Model/Stricklers/StricklersList.py
@@ -2,10 +2,13 @@
 
 from tools import trace, timer
 
+from Model.Saved import SavedStatus
 from Model.Stricklers.Stricklers import Stricklers
 
 class StricklersList(object):
     def __init__(self, status = None):
+        if status is None:
+            status = SavedStatus()
         self._status = status
 
         self._stricks = []
diff --git a/src/View/Configure/Window.py b/src/View/Configure/Window.py
index 659e92edf010d22a9ba00793b9f33b292773fada..c019ca81020d6f8fa5a8e4905525bf445b43185e 100644
--- a/src/View/Configure/Window.py
+++ b/src/View/Configure/Window.py
@@ -4,8 +4,16 @@ from config import Config
 from View.ASubWindow import ASubWindow
 from View.ListedSubWindow import ListedSubWindow
 
+from View.Stricklers.Table import TableModel
+from View.Stricklers.translate import *
+from View.Stricklers.UndoCommand import *
+
 from View.Configure.Solver.Window import ConfigureSolverWindow
 
+from PyQt5.QtGui import (
+    QKeySequence,
+)
+
 from PyQt5.QtCore import (
     Qt, QVariant, QAbstractTableModel,
 )
@@ -13,7 +21,7 @@ from PyQt5.QtCore import (
 from PyQt5.QtWidgets import (
     QDialogButtonBox, QPushButton, QLineEdit,
     QFileDialog, QTableView, QAbstractItemView,
-    QComboBox,
+    QComboBox, QUndoStack, QShortcut, QHeaderView,
 )
 
 
@@ -71,17 +79,18 @@ class ConfigureWindow(ASubWindow, ListedSubWindow):
         else:
             self.conf = conf
 
+        self.setup_sc()
+
         # Solver
+        table = self.find(QTableView, "tableView_solver")
         self.solver_table_model = SolverTableModel(
             headers = ["name", "type", "description"],
             rows = conf.solvers.copy()
         )
-        self.find(QTableView, "tableView_solver")\
-            .setModel(self.solver_table_model)
-        self.find(QTableView, "tableView_solver")\
-            .setSelectionBehavior(QAbstractItemView.SelectRows)
-        self.find(QTableView, "tableView_solver")\
-            .setAlternatingRowColors(True)
+        table.setModel(self.solver_table_model)
+        table.setSelectionBehavior(QAbstractItemView.SelectRows)
+        table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
+        table.setAlternatingRowColors(True)
 
         # Meshing_Tool
         self.set_line_edit_text("lineEdit_meshing_tool", self.conf.meshing_tool)
@@ -99,6 +108,18 @@ class ConfigureWindow(ASubWindow, ListedSubWindow):
         self.find(QTableView, "tableView_solver").resizeColumnsToContents()
         self.connect()
 
+        # Stricklers
+        table = self.find(QTableView, f"tableView_stricklers")
+        self._stricklers = self.conf.stricklers
+        self._stricklers_table = TableModel(
+            data = self._stricklers,
+            undo = self._undo_stack,
+        )
+        table.setModel(self._stricklers_table)
+        table.setSelectionBehavior(QAbstractItemView.SelectRows)
+        table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
+        table.setAlternatingRowColors(True)
+
         # Language
         languages = Config.languages()
         for lang in languages:
@@ -106,11 +127,25 @@ class ConfigureWindow(ASubWindow, ListedSubWindow):
             if self.conf.lang == languages[lang]:
                 self.set_combobox_text("comboBox_language", lang)
 
+    def setup_sc(self):
+        self._undo_stack = QUndoStack()
+
+        self.undo_sc = QShortcut(QKeySequence.Undo, self)
+        self.redo_sc = QShortcut(QKeySequence.Redo, self)
+        self.copy_sc = QShortcut(QKeySequence.Copy, self)
+        self.paste_sc = QShortcut(QKeySequence.Paste, self)
+
     def connect(self):
         buttons = {
+            # Solvers
             "pushButton_solver_add": self.add_solver,
             "pushButton_solver_del": self.remove_solver,
             "pushButton_solver_edit": self.edit_solver,
+            # Stricklers
+            "pushButton_stricklers_add": self.add_stricklers,
+            "pushButton_stricklers_del": self.del_stricklers,
+            "pushButton_stricklers_sort": self.sort_stricklers,
+            # Others
             "pushButton_backup_path": lambda: self.file_dialog(
                 select_file = False,
                 callback = lambda f: self.set_line_edit_text(
@@ -158,6 +193,8 @@ class ConfigureWindow(ASubWindow, ListedSubWindow):
         self.conf.save()
         self.close()
 
+    # Solvers
+
     def edit_solver(self):
         indexes = self.find(QTableView, "tableView_solver").selectionModel().selectedRows()
         for index in indexes:
@@ -177,3 +214,33 @@ class ConfigureWindow(ASubWindow, ListedSubWindow):
         indices = self.find(QTableView, "tableView_solver").selectionModel().selectedRows()
         for index in sorted(indices):
             self.solver_table_model.removeRow(index)
+
+    # Stricklers
+
+    def index_selected_rows_strikclers(self):
+        table = self.find(QTableView, f"tableView_stricklers")
+        return list(
+            set(
+                map(
+                    lambda i: i.row(),
+                    table.selectedIndexes()
+                )
+            )
+        )
+
+    def add_stricklers(self):
+        rows = self.index_selected_rows_strikclers()
+        if len(rows) == 0:
+            self._stricklers_table.add(0)
+        else:
+            self._stricklers_table.add(rows[0])
+
+    def del_stricklers(self):
+        rows = self.index_selected_rows_strikclers()
+        if len(rows) == 0:
+            return
+
+        self._stricklers_table.delete(rows)
+
+    def sort_stricklers(self):
+        self._stricklers_table.sort(False)
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index 30c7de244eebd9b27f78f9ecea5619485836abd5..c1bc091dbcf33bb3f77687fea88b3542fcd9ef1f 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -334,7 +334,11 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
         self.lateral.show()
 
     def open_stricklers(self):
-        self.strick = StricklersWindow(study = self.model, parent=self)
+        self.strick = StricklersWindow(
+            study = self.model,
+            config = self.conf,
+            parent=self
+        )
         self.strick.show()
 
     # TODO: Delete me !
diff --git a/src/View/Stricklers/Window.py b/src/View/Stricklers/Window.py
index 0c4d2bb7f9812ac6397acdba2b173ec82a0a0b0f..d5f325ca7187a00a3fda091a76e2bfcc4aa5835e 100644
--- a/src/View/Stricklers/Window.py
+++ b/src/View/Stricklers/Window.py
@@ -31,7 +31,7 @@ _translate = QCoreApplication.translate
 
 
 class StricklersWindow(ASubMainWindow, ListedSubWindow):
-    def __init__(self, title="Stricklers", study=None, parent=None):
+    def __init__(self, title="Stricklers", study=None, config=None, parent=None):
         title = title + " - " + study.name
 
         super(StricklersWindow, self).__init__(
@@ -39,6 +39,7 @@ class StricklersWindow(ASubMainWindow, ListedSubWindow):
         )
 
         self._study = study
+        self._config = config
 
         self.setup_sc()
         self.setup_table()
@@ -59,10 +60,18 @@ class StricklersWindow(ASubMainWindow, ListedSubWindow):
 
         for t in ["app", "study"]:
             table = self.find(QTableView, f"tableView_{t}")
+            if t == "study":
+                data = self._study.river.striklers
+            else:
+                data = self._config.stricklers
+
+            print(data)
+
             self._table[t] = TableModel(
-                data = self._study.river.striklers,
+                data = data,
                 undo = self._undo_stack,
             )
+
             table.setModel(self._table[t])
             table.setSelectionBehavior(QAbstractItemView.SelectRows)
             table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
diff --git a/src/View/ui/ConfigureDialog.ui b/src/View/ui/ConfigureDialog.ui
index 5ddf767a7672eb390a65e2a44d5ee39aea23279d..693971a0f18fa5bd0b0980ed014a82878461fe4b 100644
--- a/src/View/ui/ConfigureDialog.ui
+++ b/src/View/ui/ConfigureDialog.ui
@@ -349,6 +349,66 @@
          </item>
         </layout>
        </widget>
+       <widget class="QWidget" name="tab_stricklers">
+        <attribute name="title">
+         <string>Stricklers</string>
+        </attribute>
+        <layout class="QGridLayout" name="gridLayout_7">
+         <item row="0" column="0">
+          <layout class="QHBoxLayout" name="horizontalLayout_5">
+           <item>
+            <widget class="QPushButton" name="pushButton_stricklers_add">
+             <property name="text">
+              <string/>
+             </property>
+             <property name="icon">
+              <iconset>
+               <normaloff>ressources/gtk-add.png</normaloff>ressources/gtk-add.png</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="pushButton_stricklers_del">
+             <property name="text">
+              <string/>
+             </property>
+             <property name="icon">
+              <iconset>
+               <normaloff>ressources/gtk-remove.png</normaloff>ressources/gtk-remove.png</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="pushButton_stricklers_sort">
+             <property name="text">
+              <string/>
+             </property>
+             <property name="icon">
+              <iconset>
+               <normaloff>ressources/gtk-sort-ascending.png</normaloff>ressources/gtk-sort-ascending.png</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </item>
+         <item row="1" column="0">
+          <widget class="QTableView" name="tableView_stricklers"/>
+         </item>
+        </layout>
+       </widget>
        <widget class="QWidget" name="tab_language">
         <attribute name="title">
          <string>Language</string>
diff --git a/src/View/ui/Stricklers.ui b/src/View/ui/Stricklers.ui
index b6ec590b74ed13d7bd0a17ce9e4ab9adc5b8b60a..c27f9ff039ee25583c5b9dff1e3505b7ce57a520 100644
--- a/src/View/ui/Stricklers.ui
+++ b/src/View/ui/Stricklers.ui
@@ -13,6 +13,9 @@
   <property name="windowTitle">
    <string>MainWindow</string>
   </property>
+  <property name="locale">
+   <locale language="English" country="Europe"/>
+  </property>
   <widget class="QWidget" name="centralwidget">
    <layout class="QGridLayout" name="gridLayout_3">
     <item row="0" column="0">
diff --git a/src/config.py b/src/config.py
index 79d0da5c889cc057483e8c888d2beb8d586c4390..046301aa74e1a4efc44b4e37033d54badbba414a 100644
--- a/src/config.py
+++ b/src/config.py
@@ -3,6 +3,8 @@
 import os
 import pickle
 
+from Model.Stricklers.StricklersList import StricklersList
+
 config_dir = "/.cache/pamhyr/"
 config_file = "config.pkl"
 
@@ -33,6 +35,9 @@ class Config(object):
         # Languages
         self.lang = ""
 
+        # Stricklers
+        self.stricklers = StricklersList()
+
     @classmethod
     def filename(cls):
         return os.environ["HOME"] + config_dir + config_file