diff --git a/PiwigoDotnet/Piwigo.Client.Cli/Piwigo.Client.Cli.csproj b/PiwigoDotnet/Piwigo.Client.Cli/Piwigo.Client.Cli.csproj
new file mode 100644
index 0000000..618b6c9
--- /dev/null
+++ b/PiwigoDotnet/Piwigo.Client.Cli/Piwigo.Client.Cli.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/PiwigoDotnet/Piwigo.Client.Cli/Program.cs b/PiwigoDotnet/Piwigo.Client.Cli/Program.cs
new file mode 100644
index 0000000..e5dff12
--- /dev/null
+++ b/PiwigoDotnet/Piwigo.Client.Cli/Program.cs
@@ -0,0 +1,3 @@
+// See https://aka.ms/new-console-template for more information
+
+Console.WriteLine("Hello, World!");
\ No newline at end of file
diff --git a/PiwigoDotnet/Piwigo.Client.Tests/Piwigo.Client.Tests.csproj b/PiwigoDotnet/Piwigo.Client.Tests/Piwigo.Client.Tests.csproj
new file mode 100644
index 0000000..36edec5
--- /dev/null
+++ b/PiwigoDotnet/Piwigo.Client.Tests/Piwigo.Client.Tests.csproj
@@ -0,0 +1,19 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+ false
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PiwigoDotnet/Piwigo.Client.Tests/UnitTest1.cs b/PiwigoDotnet/Piwigo.Client.Tests/UnitTest1.cs
new file mode 100644
index 0000000..8565c93
--- /dev/null
+++ b/PiwigoDotnet/Piwigo.Client.Tests/UnitTest1.cs
@@ -0,0 +1,15 @@
+namespace Piwigo.Client.Tests;
+
+public class Tests
+{
+ [SetUp]
+ public void Setup()
+ {
+ }
+
+ [Test]
+ public void Test1()
+ {
+ Assert.Pass();
+ }
+}
\ No newline at end of file
diff --git a/PiwigoDotnet/Piwigo.Client.Tests/Usings.cs b/PiwigoDotnet/Piwigo.Client.Tests/Usings.cs
new file mode 100644
index 0000000..cefced4
--- /dev/null
+++ b/PiwigoDotnet/Piwigo.Client.Tests/Usings.cs
@@ -0,0 +1 @@
+global using NUnit.Framework;
\ No newline at end of file
diff --git a/PiwigoDotnet/Piwigo.Client/IPiwigoClient.cs b/PiwigoDotnet/Piwigo.Client/IPiwigoClient.cs
new file mode 100644
index 0000000..6186555
--- /dev/null
+++ b/PiwigoDotnet/Piwigo.Client/IPiwigoClient.cs
@@ -0,0 +1,6 @@
+namespace Piwigo.Client;
+
+public interface IPiwigoClient
+{
+ Task LoginAsync(Uri uri, string username, string password);
+}
\ No newline at end of file
diff --git a/PiwigoDotnet/Piwigo.Client/Piwigo.Client.csproj b/PiwigoDotnet/Piwigo.Client/Piwigo.Client.csproj
new file mode 100644
index 0000000..f4544b6
--- /dev/null
+++ b/PiwigoDotnet/Piwigo.Client/Piwigo.Client.csproj
@@ -0,0 +1,14 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
diff --git a/PiwigoDotnet/PiwigoDotnet.sln b/PiwigoDotnet/PiwigoDotnet.sln
new file mode 100644
index 0000000..3c24f79
--- /dev/null
+++ b/PiwigoDotnet/PiwigoDotnet.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Piwigo.Client", "Piwigo.Client\Piwigo.Client.csproj", "{EA96CD0D-B300-47BE-B84D-A7699040674D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Piwigo.Client.Tests", "Piwigo.Client.Tests\Piwigo.Client.Tests.csproj", "{7CCB99F4-34D6-42A9-969D-00688CAA9A4B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Piwigo.Client.Cli", "Piwigo.Client.Cli\Piwigo.Client.Cli.csproj", "{829494FB-DE53-4C65-958D-37036CAB86BD}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EA96CD0D-B300-47BE-B84D-A7699040674D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EA96CD0D-B300-47BE-B84D-A7699040674D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EA96CD0D-B300-47BE-B84D-A7699040674D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EA96CD0D-B300-47BE-B84D-A7699040674D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7CCB99F4-34D6-42A9-969D-00688CAA9A4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7CCB99F4-34D6-42A9-969D-00688CAA9A4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7CCB99F4-34D6-42A9-969D-00688CAA9A4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7CCB99F4-34D6-42A9-969D-00688CAA9A4B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {829494FB-DE53-4C65-958D-37036CAB86BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {829494FB-DE53-4C65-958D-37036CAB86BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {829494FB-DE53-4C65-958D-37036CAB86BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {829494FB-DE53-4C65-958D-37036CAB86BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/PiwigoDotnet/PiwigoDotnet.sln.DotSettings b/PiwigoDotnet/PiwigoDotnet.sln.DotSettings
new file mode 100644
index 0000000..312bea7
--- /dev/null
+++ b/PiwigoDotnet/PiwigoDotnet.sln.DotSettings
@@ -0,0 +1,2 @@
+
+ True
\ No newline at end of file