From df873441d218edf8f1c88d4956a0387cb8d44e6e Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Tue, 17 Jun 2025 11:35:06 +0100 Subject: [PATCH 1/8] Ajout du Dockerfile pour Render --- Dockerfile | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3a7a5f6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Utilise une image Node officielle, version 18 stable +FROM node:18 + +# Définit le dossier de travail dans le conteneur +WORKDIR /app + +# Copie les fichiers package.json et package-lock.json (ou yarn.lock) +COPY package*.json ./ + +# Installe les dépendances +RUN npm install + +# Copie le reste des fichiers du projet dans le conteneur +COPY . . + +# Expose le port que ton app utilise (modifie si besoin) +EXPOSE 3000 + +# Commande pour démarrer ton app +CMD ["node", "index.js"] From 0172f0bdad0d332f22f06fbfd93a2d5f08d88d9f Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Tue, 17 Jun 2025 12:00:23 +0100 Subject: [PATCH 2/8] Fix Dockerfile: utilise npm start avec ts-node --- Dockerfile | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3a7a5f6..08723e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,13 @@ -# Utilise une image Node officielle, version 18 stable FROM node:18 -# Définit le dossier de travail dans le conteneur WORKDIR /app -# Copie les fichiers package.json et package-lock.json (ou yarn.lock) COPY package*.json ./ -# Installe les dépendances RUN npm install -# Copie le reste des fichiers du projet dans le conteneur COPY . . -# Expose le port que ton app utilise (modifie si besoin) EXPOSE 3000 -# Commande pour démarrer ton app -CMD ["node", "index.js"] +CMD ["npm", "start"] From c005cbe4d6460ff553d86bc841b241cf058c6307 Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Tue, 17 Jun 2025 12:07:31 +0100 Subject: [PATCH 3/8] =?UTF-8?q?Ajout=20Dockerfile=20pour=20d=C3=A9ploiemen?= =?UTF-8?q?t=20Kotlin=20avec=20Gradle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 08723e4..3e1aeaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,21 @@ -FROM node:18 +# Utilise une image avec Java +FROM gradle:8.5.0-jdk17 AS builder -WORKDIR /app +# Copie le code dans le conteneur +COPY . /home/gradle/project +WORKDIR /home/gradle/project -COPY package*.json ./ +# Build le projet +RUN gradle build --no-daemon -RUN npm install +# Étape de production +FROM openjdk:17 -COPY . . +# Copie le JAR compilé +COPY --from=builder /home/gradle/project/build/libs/*.jar app.jar -EXPOSE 3000 +# Lance l'app +CMD ["java", "-jar", "app.jar"] -CMD ["npm", "start"] +# Port exposé (ajuste si besoin) +EXPOSE 8080 From 94781be811ad1caaedfe731c3dccf3c202fca1d9 Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Tue, 17 Jun 2025 12:17:32 +0100 Subject: [PATCH 4/8] Update build.gradle.kts --- build.gradle.kts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index afe29b1..f565061 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,11 +5,12 @@ import java.util.* plugins { `maven-publish` signing - kotlin("multiplatform") - kotlin("plugin.serialization") - id("com.github.johnrengelman.shadow") + kotlin("multiplatform") version "1.9.24" + kotlin("plugin.serialization") version "1.9.24" + id("com.github.johnrengelman.shadow") version "8.1.1" } + group = "io.github.misterassm" version = "0.3.2" From 568259c2a9154d0a58a5b8409c5dd2b4fbcc6ca2 Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Tue, 17 Jun 2025 12:18:36 +0100 Subject: [PATCH 5/8] Create settings.gradle.kts --- src/settings.gradle.kts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/settings.gradle.kts diff --git a/src/settings.gradle.kts b/src/settings.gradle.kts new file mode 100644 index 0000000..492070d --- /dev/null +++ b/src/settings.gradle.kts @@ -0,0 +1,7 @@ +pluginManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } +} From 94c807ea1813595efdfed4d3bfb182772e1ad86b Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Tue, 17 Jun 2025 12:25:05 +0100 Subject: [PATCH 6/8] Create settings.gradle.kts --- settings.gradle.kts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 settings.gradle.kts diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..492070d --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,7 @@ +pluginManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } +} From 54d8f7c97aa0d867fad2bf1434877e397abc06f9 Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Tue, 17 Jun 2025 12:25:30 +0100 Subject: [PATCH 7/8] Delete src/settings.gradle.kts --- src/settings.gradle.kts | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 src/settings.gradle.kts diff --git a/src/settings.gradle.kts b/src/settings.gradle.kts deleted file mode 100644 index 492070d..0000000 --- a/src/settings.gradle.kts +++ /dev/null @@ -1,7 +0,0 @@ -pluginManagement { - repositories { - gradlePluginPortal() - google() - mavenCentral() - } -} From e230acd8e0b2c28a4bac35dd7c9e31186985fb57 Mon Sep 17 00:00:00 2001 From: Mechalimo Date: Wed, 10 Sep 2025 20:05:42 +0100 Subject: [PATCH 8/8] Update build.gradle.kts with new content --- build.gradle.kts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index f565061..b13cb7c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,6 @@ plugins { id("com.github.johnrengelman.shadow") version "8.1.1" } - group = "io.github.misterassm" version = "0.3.2" @@ -70,14 +69,12 @@ kotlin { else -> throw GradleException("Host OS is not supported in Kotlin/Native.") } - sourceSets { val commonMain by getting { dependencies { - implementation(KotlinX.serialization.json) - implementation(KotlinX.datetime) - - compileOnly(Ktor.client.core) + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3") + implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1") + implementation("io.ktor:ktor-client-core:2.3.9") } } val commonTest by getting { @@ -87,7 +84,7 @@ kotlin { } val jvmMain by getting { dependencies { - implementation(Ktor.client.okHttp) + implementation("io.ktor:ktor-client-okhttp:2.3.9") } } val jvmTest by getting @@ -189,11 +186,10 @@ publishing { scm { url.set("https://github.com/MisterAssm/pronote-api") } - } } } signing { sign(publishing.publications) -} +} \ No newline at end of file