diff --git a/Motus/.gitignore b/Motus/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..aa3808c5a9e01bdb4728d53628e036914f616c56
--- /dev/null
+++ b/Motus/.gitignore
@@ -0,0 +1,82 @@
+# This file is used to ignore files which are generated
+# ----------------------------------------------------------------------------
+
+*~
+*.autosave
+*.a
+*.core
+*.moc
+*.o
+*.obj
+*.orig
+*.rej
+*.so
+*.so.*
+*_pch.h.cpp
+*_resource.rc
+*.qm
+.#*
+*.*#
+core
+!core/
+tags
+.DS_Store
+.directory
+*.debug
+Makefile*
+*.prl
+*.app
+moc_*.cpp
+ui_*.h
+qrc_*.cpp
+Thumbs.db
+*.res
+*.rc
+/.qmake.cache
+/.qmake.stash
+
+# qtcreator generated files
+*.pro.user*
+*.qbs.user*
+CMakeLists.txt.user*
+
+# xemacs temporary files
+*.flc
+
+# Vim temporary files
+.*.swp
+
+# Visual Studio generated files
+*.ib_pdb_index
+*.idb
+*.ilk
+*.pdb
+*.sln
+*.suo
+*.vcproj
+*vcproj.*.*.user
+*.ncb
+*.sdf
+*.opensdf
+*.vcxproj
+*vcxproj.*
+
+# MinGW generated files
+*.Debug
+*.Release
+
+# Python byte code
+*.pyc
+
+# Binaries
+# --------
+*.dll
+*.exe
+
+# Directories with generated files
+.moc/
+.obj/
+.pch/
+.rcc/
+.uic/
+/build*/
diff --git a/Motus/CMakeLists.txt b/Motus/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a1bfec2a64f7373ef8e0aeacc9280f127540d32d
--- /dev/null
+++ b/Motus/CMakeLists.txt
@@ -0,0 +1,44 @@
+cmake_minimum_required(VERSION 3.16)
+
+project(Motus VERSION 0.1 LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(Qt6 REQUIRED COMPONENTS Quick)
+
+qt_standard_project_setup(REQUIRES 6.5)
+
+qt_add_executable(appMotus
+    main.cpp
+)
+
+qt_add_qml_module(appMotus
+    URI Motus
+    VERSION 1.0
+    QML_FILES
+        Main.qml
+        RESOURCES Ressources.qrc
+        QML_FILES Case.qml
+)
+
+# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
+# If you are developing for iOS or macOS you should consider setting an
+# explicit, fixed bundle identifier manually though.
+set_target_properties(appMotus PROPERTIES
+#    MACOSX_BUNDLE_GUI_IDENTIFIER com.example.appMotus
+    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
+    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
+    MACOSX_BUNDLE TRUE
+    WIN32_EXECUTABLE TRUE
+)
+
+target_link_libraries(appMotus
+    PRIVATE Qt6::Quick
+)
+
+include(GNUInstallDirs)
+install(TARGETS appMotus
+    BUNDLE DESTINATION .
+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
diff --git a/Motus/Case.qml b/Motus/Case.qml
new file mode 100644
index 0000000000000000000000000000000000000000..6b531453d122e55b532f38c84a361f471b357a99
--- /dev/null
+++ b/Motus/Case.qml
@@ -0,0 +1,20 @@
+import QtQuick
+
+Item {
+    width: 90
+    height: 90
+    property alias _textText: _text.text
+
+    Text {
+        id: _text
+        x: 0
+        y: 0
+        width: 90
+        height: 90
+        text: qsTr("Text")
+        font.pixelSize: 24
+        horizontalAlignment: Text.AlignHCenter
+        verticalAlignment: Text.AlignVCenter
+    }
+
+}
diff --git a/Motus/Main.qml b/Motus/Main.qml
new file mode 100644
index 0000000000000000000000000000000000000000..57039b112aa5516da6c7def63dfb9454461f3f5e
--- /dev/null
+++ b/Motus/Main.qml
@@ -0,0 +1,40 @@
+import QtQuick
+
+Window {
+    width: 1920
+    height: 1080
+    visible: true
+    title: qsTr("Hello World")
+
+    Rectangle {
+        id: rectangle
+        x: 0
+        y: 0
+        width: 1920
+        height: 1080
+        color: "#f56363"
+        focus: true
+
+        Case {
+            id: case1
+            x: 225
+            y: 647
+            _textText: "A"
+        }
+
+        Case {
+            id: case2
+            x: 945
+            y: 736
+            _textText: "B"
+        }
+
+        Keys.onPressed: (event) => {
+            if (event.key === Qt.Key_A) {
+                case1._textText = qsTr("C");  // Correcte modification
+                console.log(event.key + " /// " + event.text);
+                event.accepted = true;
+            }
+        }
+    }
+}
diff --git a/Motus/Ressources.qrc b/Motus/Ressources.qrc
new file mode 100644
index 0000000000000000000000000000000000000000..388ced6d162a2ff549f9ce804e0ee581a39adf5d
--- /dev/null
+++ b/Motus/Ressources.qrc
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/">
+        <file>Case.qml</file>
+    </qresource>
+</RCC>
diff --git a/Motus/main.cpp b/Motus/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..643f1b08d45ed689b1c4d7e3497527336e559293
--- /dev/null
+++ b/Motus/main.cpp
@@ -0,0 +1,18 @@
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+
+int main(int argc, char *argv[])
+{
+    QGuiApplication app(argc, argv);
+
+    QQmlApplicationEngine engine;
+    QObject::connect(
+        &engine,
+        &QQmlApplicationEngine::objectCreationFailed,
+        &app,
+        []() { QCoreApplication::exit(-1); },
+        Qt::QueuedConnection);
+    engine.loadFromModule("Motus", "Main");
+
+    return app.exec();
+}