diff --git a/.idea/modules/app/ScienceQuest.app.iml b/.idea/modules/app/ScienceQuest.app.iml
new file mode 100644
index 0000000..8505770
--- /dev/null
+++ b/.idea/modules/app/ScienceQuest.app.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt b/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt
index bd86650..284f64e 100644
--- a/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt
+++ b/android/app/src/main/java/fr/iut/sciencequest/MainActivity.kt
@@ -1,18 +1,21 @@
package fr.iut.sciencequest
import android.os.Bundle
+import android.util.Log
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
+import fr.iut.sciencequest.model.buisness.fetchScientifiqueById
import fr.iut.sciencequest.navigation.NavHost
import fr.iut.sciencequest.ui.theme.ScienceQuestTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ fetchScientifiqueById(1)
setContent {
ScienceQuestTheme {
// A surface container using the 'background' color from the theme
diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/ScientifiqueRequestService.kt b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiqueRequestService.kt
similarity index 80%
rename from android/app/src/main/java/fr/iut/sciencequest/model/ScientifiqueRequestService.kt
rename to android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiqueRequestService.kt
index 3185d7e..d6b381f 100644
--- a/android/app/src/main/java/fr/iut/sciencequest/model/ScientifiqueRequestService.kt
+++ b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiqueRequestService.kt
@@ -1,4 +1,4 @@
-package fr.iut.sciencequest.model
+package fr.iut.sciencequest.model.buisness
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
import fr.iut.sciencequest.model.dto.ScientifiqueDTO
@@ -11,7 +11,7 @@ import retrofit2.http.GET
import retrofit2.http.Path
// a remplir
-private const val API_BASE_URL = ""
+private const val API_BASE_URL = "https://sae-java.alix-jdlm.fr/api/v1"
val httpClient = OkHttpClient()
@@ -20,7 +20,7 @@ interface ScientifiqueRequestService {
fun getScientifiques(@Path("index") index: Int, @Path("count") count: Int): Call>
@GET("scientifiques/{id}")
- fun getScientifique(@Path("id") id: Int)
+ fun getScientifique(@Path("id") id: Int): Call
}
fun createRequestService(): Retrofit =
diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt
new file mode 100644
index 0000000..f0e0479
--- /dev/null
+++ b/android/app/src/main/java/fr/iut/sciencequest/model/buisness/ScientifiquesRequestor.kt
@@ -0,0 +1,37 @@
+package fr.iut.sciencequest.model.buisness
+
+import android.util.Log
+import fr.iut.sciencequest.model.dto.ScientifiqueDTO
+import retrofit2.Call
+import retrofit2.Callback
+import retrofit2.Response
+import retrofit2.create
+import java.lang.IllegalArgumentException
+
+fun fetchScientifiqueById(id: Int) {
+ val serviceClient = createRequestService().create()
+ Log.d("Requete API","Fetch un scientifique")
+ serviceClient.getScientifique(id).enqueue(
+ object: Callback {
+ override fun onResponse(
+ call: Call,
+ response: Response
+ ) {
+ // NOTE : il faudrait probablement utiliser une autre exception
+ // exception personnalisée ?
+ val data = response.body() ?:
+ throw IllegalArgumentException("ERREUR : l'api a donné une réponse vide")
+ // Devrait appeler le ModelView, la méthode onResponse ne renvoit rien
+ // Pour le moment des print pour vérifier que la requêtre fonctionne
+ // sans avoir besoin des vues.
+ Log.d("Requete API",data.id.toString())
+ Log.d("Requete API", data.nom)
+ }
+
+ override fun onFailure(call: Call, t: Throwable) {
+ Log.e("Requete API","Erreur lors de requete api")
+ throw t
+ }
+ }
+ )
+}
\ No newline at end of file
diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt
index 89f8eda..338005a 100644
--- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt
+++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt
@@ -13,5 +13,6 @@ data class ScientifiqueDTO (
@SerialName("ratiotrouve")
val ratioTrouve: Float,
val sexe: Char,
- val difficulte: DifficulteDTO
+ val difficulteId: Int,
+ val thematiqueId: Int
)
\ No newline at end of file