diff --git a/.editorconfig b/.editorconfig
index cde44942..5344f175 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -12,87 +12,3 @@ smart_tab = true
[{*.yaml,*.yml}]
indent_style = space
indent_size = 2
-
-[*.cs]
-csharp_prefer_braces = false
-dotnet_diagnostic.IDE0130.severity = none
-dotnet_diagnostic.IDE0058.severity = none
-dotnet_diagnostic.IDE0046.severity = none
-dotnet_diagnostic.CA1848.severity = none
-dotnet_diagnostic.CA2007.severity = none
-# Sort using and Import directives with System.* appearing first
-dotnet_sort_system_directives_first = true
-csharp_using_directive_placement = outside_namespace:warning
-# Avoid "this." if not necessary
-dotnet_style_qualification_for_field = false:suggestion
-dotnet_style_qualification_for_property = false:suggestion
-dotnet_style_qualification_for_method = false:suggestion
-dotnet_style_qualification_for_event = false:suggestion
-# Use language keywords instead of framework type names for type references
-dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
-dotnet_style_predefined_type_for_member_access = true:suggestion
-# Suggest more modern language features when available
-dotnet_style_object_initializer = true:suggestion
-dotnet_style_collection_initializer = true:suggestion
-dotnet_style_coalesce_expression = true:suggestion
-dotnet_style_null_propagation = true:suggestion
-dotnet_style_explicit_tuple_names = true:suggestion
-csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
-csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
-csharp_style_inlined_variable_declaration = true:suggestion
-csharp_style_conditional_delegate_call = true:suggestion
-dotnet_style_prefer_auto_properties = true
-dotnet_style_prefer_conditional_expression_over_assignment = true
-dotnet_style_prefer_conditional_expression_over_return = true
-# Disable strange throw.
-csharp_style_throw_expression = false:suggestion
-# Forbid "var" everywhere
-csharp_style_var_for_built_in_types = false:warning
-csharp_style_var_when_type_is_apparent = false:warning
-csharp_style_var_elsewhere = false:warning
-# Prefer method-like constructs to have a block body
-csharp_style_expression_bodied_methods = false:none
-csharp_style_expression_bodied_constructors = false:none
-csharp_style_expression_bodied_operators = false:none
-# Prefer property-like constructs to have an expression-body
-csharp_style_expression_bodied_properties = true:none
-csharp_style_expression_bodied_indexers = true:none
-csharp_style_expression_bodied_accessors = true:none
-# Newline settings
-csharp_new_line_before_open_brace = all
-csharp_new_line_before_else = true
-csharp_new_line_before_catch = true
-csharp_new_line_before_finally = true
-csharp_new_line_before_members_in_object_initializers = false
-csharp_new_line_before_members_in_anonymous_types = true
-# Indentation settings
-csharp_indent_case_contents = true
-csharp_indent_switch_labels = true
-# Modifiers
-dotnet_style_readonly_field = true:suggestion
-dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
-# Naming style
-dotnet_naming_symbols.privates.applicable_kinds = property,method,event,delegate
-dotnet_naming_symbols.privates.applicable_accessibilities = private
-dotnet_naming_style.underscore_pascal.capitalization = pascal_case
-dotnet_naming_style.underscore_pascal.required_prefix = _
-dotnet_naming_rule.privates_with_underscore.symbols = privates
-dotnet_naming_rule.privates_with_underscore.style = underscore_pascal
-dotnet_naming_rule.privates_with_underscore.severity = warning
-dotnet_diagnostic.IDE1006.severity = warning
-# ReSharper properties
-resharper_align_multiline_binary_expressions_chain = false
-resharper_csharp_empty_block_style = together_same_line
-resharper_indent_nested_foreach_stmt = true
-resharper_indent_nested_for_stmt = true
-resharper_indent_nested_while_stmt = true
-resharper_keep_existing_embedded_arrangement = false
-resharper_place_accessorholder_attribute_on_same_line = true
-resharper_place_simple_embedded_statement_on_same_line = false
-resharper_wrap_before_arrow_with_expressions = true
-resharper_xmldoc_attribute_indent = align_by_first_attribute
-resharper_xmldoc_indent_child_elements = RemoveIndent
-resharper_xmldoc_indent_text = RemoveIndent
-
-# Waiting for https://github.com/dotnet/roslyn/issues/44596 to get fixed.
-# file_header_template = Kyoo - A portable and vast media library solution.\nCopyright (c) Kyoo.\n\nSee AUTHORS.md and LICENSE file in the project root for full license information.\n\nKyoo is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\nany later version.\n\nKyoo is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Kyoo. If not, see .
diff --git a/back/.dockerignore b/back/.dockerignore
index 745db582..2209499f 100644
--- a/back/.dockerignore
+++ b/back/.dockerignore
@@ -1,5 +1,7 @@
Dockerfile
+Dockerfile.dev
.dockerignore
+.gitignore
docker-compose.yml
README.md
**/build
diff --git a/back/.editorconfig b/back/.editorconfig
new file mode 100644
index 00000000..20d71183
--- /dev/null
+++ b/back/.editorconfig
@@ -0,0 +1,85 @@
+root = false
+
+[*.cs]
+csharp_prefer_braces = false
+dotnet_diagnostic.IDE0130.severity = none
+dotnet_diagnostic.IDE0058.severity = none
+dotnet_diagnostic.IDE0046.severity = none
+dotnet_diagnostic.CA1848.severity = none
+dotnet_diagnostic.CA2007.severity = none
+# Sort using and Import directives with System.* appearing first
+dotnet_sort_system_directives_first = true
+csharp_using_directive_placement = outside_namespace:warning
+# Avoid "this." if not necessary
+dotnet_style_qualification_for_field = false:suggestion
+dotnet_style_qualification_for_property = false:suggestion
+dotnet_style_qualification_for_method = false:suggestion
+dotnet_style_qualification_for_event = false:suggestion
+# Use language keywords instead of framework type names for type references
+dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
+dotnet_style_predefined_type_for_member_access = true:suggestion
+# Suggest more modern language features when available
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
+csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
+csharp_style_conditional_delegate_call = true:suggestion
+dotnet_style_prefer_auto_properties = true
+dotnet_style_prefer_conditional_expression_over_assignment = true
+dotnet_style_prefer_conditional_expression_over_return = true
+# Disable strange throw.
+csharp_style_throw_expression = false:suggestion
+# Forbid "var" everywhere
+csharp_style_var_for_built_in_types = false:warning
+csharp_style_var_when_type_is_apparent = false:warning
+csharp_style_var_elsewhere = false:warning
+# Prefer method-like constructs to have a block body
+csharp_style_expression_bodied_methods = false:none
+csharp_style_expression_bodied_constructors = false:none
+csharp_style_expression_bodied_operators = false:none
+# Prefer property-like constructs to have an expression-body
+csharp_style_expression_bodied_properties = true:none
+csharp_style_expression_bodied_indexers = true:none
+csharp_style_expression_bodied_accessors = true:none
+# Newline settings
+csharp_new_line_before_open_brace = all
+csharp_new_line_before_else = true
+csharp_new_line_before_catch = true
+csharp_new_line_before_finally = true
+csharp_new_line_before_members_in_object_initializers = false
+csharp_new_line_before_members_in_anonymous_types = true
+# Indentation settings
+csharp_indent_case_contents = true
+csharp_indent_switch_labels = true
+# Modifiers
+dotnet_style_readonly_field = true:suggestion
+dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
+# Naming style
+dotnet_naming_symbols.privates.applicable_kinds = property,method,event,delegate
+dotnet_naming_symbols.privates.applicable_accessibilities = private
+dotnet_naming_style.underscore_pascal.capitalization = pascal_case
+dotnet_naming_style.underscore_pascal.required_prefix = _
+dotnet_naming_rule.privates_with_underscore.symbols = privates
+dotnet_naming_rule.privates_with_underscore.style = underscore_pascal
+dotnet_naming_rule.privates_with_underscore.severity = warning
+dotnet_diagnostic.IDE1006.severity = warning
+# ReSharper properties
+resharper_align_multiline_binary_expressions_chain = false
+resharper_csharp_empty_block_style = together_same_line
+resharper_indent_nested_foreach_stmt = true
+resharper_indent_nested_for_stmt = true
+resharper_indent_nested_while_stmt = true
+resharper_keep_existing_embedded_arrangement = false
+resharper_place_accessorholder_attribute_on_same_line = true
+resharper_place_simple_embedded_statement_on_same_line = false
+resharper_wrap_before_arrow_with_expressions = true
+resharper_xmldoc_attribute_indent = align_by_first_attribute
+resharper_xmldoc_indent_child_elements = RemoveIndent
+resharper_xmldoc_indent_text = RemoveIndent
+
+# Waiting for https://github.com/dotnet/roslyn/issues/44596 to get fixed.
+# file_header_template = Kyoo - A portable and vast media library solution.\nCopyright (c) Kyoo.\n\nSee AUTHORS.md and LICENSE file in the project root for full license information.\n\nKyoo is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\nany later version.\n\nKyoo is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Kyoo. If not, see .
diff --git a/back/Dockerfile b/back/Dockerfile
index ffb1ea59..b428417f 100644
--- a/back/Dockerfile
+++ b/back/Dockerfile
@@ -6,9 +6,8 @@ RUN cmake . && make -j
FROM mcr.microsoft.com/dotnet/sdk:6.0 as builder
WORKDIR /kyoo
-COPY .git/ ./.git/
COPY . .
-RUN dotnet publish -c Release -o /opt/kyoo '-p:SkipWebApp=true;SkipTranscoder=true;CheckCodingStyle=false' src/Kyoo.Host.Console
+RUN dotnet publish -c Release -o /opt/kyoo '-p:SkipTranscoder=true;CheckCodingStyle=false' src/Kyoo.Host.Console
FROM mcr.microsoft.com/dotnet/aspnet:6.0
RUN apt-get update && apt-get install -y libavutil-dev libavcodec-dev libavformat-dev
diff --git a/back/GitVersion.yml b/back/GitVersion.yml
deleted file mode 100644
index 122fa7e4..00000000
--- a/back/GitVersion.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-mode: Mainline
-branches: {}
-ignore:
- sha: []
-merge-message-formats: {}
diff --git a/back/Kyoo.sln b/back/Kyoo.sln
index 618791ce..bd8e4e15 100644
--- a/back/Kyoo.sln
+++ b/back/Kyoo.sln
@@ -17,10 +17,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.TheMovieDb", "src\Kyoo
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Tests", "tests\Kyoo.Tests\Kyoo.Tests.csproj", "{0C8AA7EA-E723-4532-852F-35AA4E8AFED5}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.WebApp", "src\Kyoo.WebApp\Kyoo.WebApp.csproj", "{2374D500-1ADB-4752-85DB-8BB0DDF5A8E8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Host.WindowsTrait", "src\Kyoo.Host.WindowsTrait\Kyoo.Host.WindowsTrait.csproj", "{98851001-40DD-46A6-94B3-2F8D90722076}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Host.Console", "src\Kyoo.Host.Console\Kyoo.Host.Console.csproj", "{D8658BEA-8949-45AC-BEBB-A4FFC4F800F5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Swagger", "src\Kyoo.Swagger\Kyoo.Swagger.csproj", "{7D1A7596-73F6-4D35-842E-A5AD9C620596}"
diff --git a/back/icon.ico b/back/icon.ico
new file mode 100644
index 00000000..8a6ef232
Binary files /dev/null and b/back/icon.ico differ
diff --git a/back/src/Directory.Build.props b/back/src/Directory.Build.props
index aa0df66e..b13c6d17 100644
--- a/back/src/Directory.Build.props
+++ b/back/src/Directory.Build.props
@@ -18,7 +18,7 @@
true
snupkg
- $(MSBuildThisFileDirectory)../icons/icon-256x256.ico
+ $(MSBuildThisFileDirectory)../icon.ico
true
@@ -31,12 +31,8 @@
true
-
+
-
- all
- runtime; build; native; contentfiles; analyzers
-
diff --git a/back/src/Kyoo.Host.Console/Kyoo.Host.Console.csproj b/back/src/Kyoo.Host.Console/Kyoo.Host.Console.csproj
index 9bf7a116..a06806f3 100644
--- a/back/src/Kyoo.Host.Console/Kyoo.Host.Console.csproj
+++ b/back/src/Kyoo.Host.Console/Kyoo.Host.Console.csproj
@@ -6,15 +6,6 @@
Kyoo.Host.Console.Program
-
-
- win-x64
-
-
diff --git a/back/src/Kyoo.Host.Generic/Kyoo.Host.Generic.csproj b/back/src/Kyoo.Host.Generic/Kyoo.Host.Generic.csproj
index 9a82db8f..e511789d 100644
--- a/back/src/Kyoo.Host.Generic/Kyoo.Host.Generic.csproj
+++ b/back/src/Kyoo.Host.Generic/Kyoo.Host.Generic.csproj
@@ -26,13 +26,10 @@
-
-
-