diff --git a/DEV4.1/test/cinema b/DEV4.1/test/cinema new file mode 160000 index 0000000..4df4f7e --- /dev/null +++ b/DEV4.1/test/cinema @@ -0,0 +1 @@ +Subproject commit 4df4f7ee33f576cdd8bc255a02410c9c034dd450 diff --git a/DEV4.1/test/test/test.html b/DEV4.1/test/test/test.html new file mode 100644 index 0000000..c08a4b8 --- /dev/null +++ b/DEV4.1/test/test/test.html @@ -0,0 +1,86 @@ + + + + + + \ No newline at end of file diff --git a/DEV4.1/tp4/ex1/css/style.css b/DEV4.1/tp3/ex1/css/style.css similarity index 100% rename from DEV4.1/tp4/ex1/css/style.css rename to DEV4.1/tp3/ex1/css/style.css diff --git a/DEV4.1/tp4/ex1/img/puff.svg b/DEV4.1/tp3/ex1/img/puff.svg similarity index 100% rename from DEV4.1/tp4/ex1/img/puff.svg rename to DEV4.1/tp3/ex1/img/puff.svg diff --git a/DEV4.1/tp3/ex1/index.html b/DEV4.1/tp3/ex1/index.html new file mode 100644 index 0000000..47fca34 --- /dev/null +++ b/DEV4.1/tp3/ex1/index.html @@ -0,0 +1,28 @@ + + + + + + + + + + + +
+ + +
+ +
+ +

+
+
+
+ + + diff --git a/DEV4.1/tp4/ex1/js/app.js b/DEV4.1/tp3/ex1/js/app.js similarity index 100% rename from DEV4.1/tp4/ex1/js/app.js rename to DEV4.1/tp3/ex1/js/app.js diff --git a/DEV4.1/tp3/ex1/js/controller.js b/DEV4.1/tp3/ex1/js/controller.js new file mode 100644 index 0000000..10ca374 --- /dev/null +++ b/DEV4.1/tp3/ex1/js/controller.js @@ -0,0 +1,30 @@ +class Controller { + constructor(view,model){ + this.view = view + this.model = model + + this.loading = false + this.lastSearch = null + this.error = null + this.results = [] + + this.view.setLoading(false) + this.view.bindSearch(this.search.bind(this)) + } + reset() { + this.loading = false + this.error = null + this.results = [] + } + + async search(searchMovie) { + let data = await this.model.getMovies(searchMovie) + console.log(data) + if (data.Response === "True") + this.view.renderList(data.Search); + + } +} + +export default Controller + diff --git a/DEV4.1/tp4/ex1/js/helpers.js b/DEV4.1/tp3/ex1/js/helpers.js similarity index 100% rename from DEV4.1/tp4/ex1/js/helpers.js rename to DEV4.1/tp3/ex1/js/helpers.js diff --git a/DEV4.1/tp3/ex1/js/model.js b/DEV4.1/tp3/ex1/js/model.js new file mode 100644 index 0000000..919abcc --- /dev/null +++ b/DEV4.1/tp3/ex1/js/model.js @@ -0,0 +1,9 @@ +let apiKey = 'a776e2df' + +let model = { + getMovies(search){ + return fetch(`https://www.omdbapi.com/?apikey=${apiKey}&s=${search}`).then(reponse=>reponse.json()); + } +} + +export default model diff --git a/DEV4.1/tp4/ex1/js/view.js b/DEV4.1/tp3/ex1/js/view.js similarity index 100% rename from DEV4.1/tp4/ex1/js/view.js rename to DEV4.1/tp3/ex1/js/view.js diff --git a/DEV4.1/tp4/ex3/app.js b/DEV4.1/tp3/ex3/app.js similarity index 100% rename from DEV4.1/tp4/ex3/app.js rename to DEV4.1/tp3/ex3/app.js diff --git a/DEV4.1/tp4/ex3/css/style.css b/DEV4.1/tp3/ex3/css/style.css similarity index 100% rename from DEV4.1/tp4/ex3/css/style.css rename to DEV4.1/tp3/ex3/css/style.css diff --git a/DEV4.1/tp4/ex3/index.html b/DEV4.1/tp3/ex3/index.html similarity index 100% rename from DEV4.1/tp4/ex3/index.html rename to DEV4.1/tp3/ex3/index.html diff --git a/DEV4.1/tp4/ex3/modules/helpers.js b/DEV4.1/tp3/ex3/modules/helpers.js similarity index 100% rename from DEV4.1/tp4/ex3/modules/helpers.js rename to DEV4.1/tp3/ex3/modules/helpers.js diff --git a/DEV4.1/tp4/ex3/modules/loader.js b/DEV4.1/tp3/ex3/modules/loader.js similarity index 100% rename from DEV4.1/tp4/ex3/modules/loader.js rename to DEV4.1/tp3/ex3/modules/loader.js diff --git a/DEV4.1/tp4/ex3/modules/table.js b/DEV4.1/tp3/ex3/modules/table.js similarity index 100% rename from DEV4.1/tp4/ex3/modules/table.js rename to DEV4.1/tp3/ex3/modules/table.js diff --git a/DEV4.1/tp4/ex1/index.html b/DEV4.1/tp4/ex1/index.html index 47fca34..70fa03c 100644 --- a/DEV4.1/tp4/ex1/index.html +++ b/DEV4.1/tp4/ex1/index.html @@ -1,28 +1,25 @@ - + - - - + Riot todo + + + + - - - -
- - -
- -
- -

-
-
-
+ + - - + \ No newline at end of file diff --git a/DEV4.1/tp4/ex1/js/controller.js b/DEV4.1/tp4/ex1/js/controller.js deleted file mode 100644 index 51c16e6..0000000 --- a/DEV4.1/tp4/ex1/js/controller.js +++ /dev/null @@ -1,45 +0,0 @@ -class Controller { - constructor(view,model){ - this.view = view - this.model = model - - this.loading = false - this.lastSearch = null - this.error = null - this.results = [] - - this.view.setLoading(false) - this.view.bindSearch(this.search.bind(this)) - } - reset() { - this.loading = false - this.error = null - this.results = [] - } - - async search(searchMovie) { - try { - this.reset(); - this.loading = true; - this.view.setLoading(true); - - const movies = await this.model.getMovies(searchMovie); - - if (movies && movies.length > 0) { - this.results = movies; - } else { - this.error = "No movies found."; - } - } catch (error) { - console.error('Error occurred during search:', error); - this.error = "An error occurred during search."; - } finally { - this.loading = false; - this.view.setLoading(false); - this.view.renderResults(this.results, this.error); - } - } -} - -export default Controller - diff --git a/DEV4.1/tp4/ex1/js/model.js b/DEV4.1/tp4/ex1/js/model.js deleted file mode 100644 index 9f41a12..0000000 --- a/DEV4.1/tp4/ex1/js/model.js +++ /dev/null @@ -1,23 +0,0 @@ -let apiKey = 'a776e2df' - -let model = { - getMovies(search){ - return new Promise((resolve, reject) => { - fetch(`http://www.omdbapi.com/?apikey=${apiKey}&s=${search}`) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok'); - } - return response.json(); - }) - .then(data => { - resolve(data.Search); - }) - .catch(error => { - console.error('There was a problem with the fetch operation:', error);} - ) - }) - } -} - -export default model diff --git a/DEV4.1/tp4/ex1/todo.css b/DEV4.1/tp4/ex1/todo.css new file mode 100644 index 0000000..94197b4 --- /dev/null +++ b/DEV4.1/tp4/ex1/todo.css @@ -0,0 +1,75 @@ + +body { + font-family: 'myriad pro', sans-serif; + font-size: 20px; + border: 0; + } + todo { + display: block; + max-width: 600px; + margin: 5% auto; + } + form input { + font-size: 85%; + padding: .4em; + border: 1px solid #ccc; + border-radius: 2px; + } + button { + background-color: #1FADC5; + border: 1px solid rgba(0,0,0,.2); + font-size: 75%; + color: #fff; + padding: .4em 1.2em; + border-radius: 2em; + cursor: pointer; + margin: 0 .23em; + outline: none; + } + button[disabled] { + background-color: #ddd; + color: #aaa; + } + ul { + padding: 0; + } + li { + list-style-type: none; + padding: .2em 0; + } + .completed { + text-decoration: line-through; + color: #ccc; + } + label { + cursor: pointer; + } + .filters { + margin-top: 10px; + padding: 0; + list-style: none; + /* position: absolute;*/ + right: 0; + left: 0; + } + .filters li { + display: inline; + } + .filters li a { + color: inherit; + /* margin: 3px;*/ + margin-right:10px; + padding: 3px 7px; + text-decoration: none; + font-size : 0.75em; + border: 1px solid transparent; + border-radius: 3px; + } + .filters li a:hover { + border-color: rgba(175, 47, 47, 0.1); + } + + .filters li a.selected { + border-color: rgba(175, 47, 47, 0.2); + } + \ No newline at end of file diff --git a/DEV4.1/tp4/ex1/todo.riot b/DEV4.1/tp4/ex1/todo.riot new file mode 100644 index 0000000..8765496 --- /dev/null +++ b/DEV4.1/tp4/ex1/todo.riot @@ -0,0 +1,70 @@ + +

{ props.title }

+ +
+ + + + +
+ +
\ No newline at end of file diff --git a/DEV4.5/Grille/.gitignore b/DEV4.5/Grille/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/DEV4.5/Grille/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/DEV4.5/Grille/.idea/.gitignore b/DEV4.5/Grille/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/DEV4.5/Grille/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/DEV4.5/Grille/.idea/compiler.xml b/DEV4.5/Grille/.idea/compiler.xml new file mode 100644 index 0000000..b589d56 --- /dev/null +++ b/DEV4.5/Grille/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/.idea/deploymentTargetDropDown.xml b/DEV4.5/Grille/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..0c0c338 --- /dev/null +++ b/DEV4.5/Grille/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/.idea/gradle.xml b/DEV4.5/Grille/.idea/gradle.xml new file mode 100644 index 0000000..0897082 --- /dev/null +++ b/DEV4.5/Grille/.idea/gradle.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/.idea/migrations.xml b/DEV4.5/Grille/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/DEV4.5/Grille/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/.idea/misc.xml b/DEV4.5/Grille/.idea/misc.xml new file mode 100644 index 0000000..8978d23 --- /dev/null +++ b/DEV4.5/Grille/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/.idea/vcs.xml b/DEV4.5/Grille/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/DEV4.5/Grille/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/app/.gitignore b/DEV4.5/Grille/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/DEV4.5/Grille/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/DEV4.5/Grille/app/build.gradle.kts b/DEV4.5/Grille/app/build.gradle.kts new file mode 100644 index 0000000..a7b972e --- /dev/null +++ b/DEV4.5/Grille/app/build.gradle.kts @@ -0,0 +1,39 @@ +plugins { + id("com.android.application") +} + +android { + namespace = "com.example.grille" + compileSdk = 34 + + defaultConfig { + applicationId = "com.example.grille" + minSdk = 19 + targetSdk = 34 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation("androidx.appcompat:appcompat:1.6.1") + implementation("com.google.android.material:material:1.11.0") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + testImplementation("junit:junit:4.13.2") + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/DEV4.5/Grille/app/proguard-rules.pro b/DEV4.5/Grille/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/DEV4.5/Grille/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/androidTest/java/com/example/grille/ExampleInstrumentedTest.java b/DEV4.5/Grille/app/src/androidTest/java/com/example/grille/ExampleInstrumentedTest.java new file mode 100644 index 0000000..3f10d8a --- /dev/null +++ b/DEV4.5/Grille/app/src/androidTest/java/com/example/grille/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.example.grille; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.example.grille", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/AndroidManifest.xml b/DEV4.5/Grille/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..add4312 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/java/com/example/grille/Grille.java b/DEV4.5/Grille/app/src/main/java/com/example/grille/Grille.java new file mode 100644 index 0000000..d914b35 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/java/com/example/grille/Grille.java @@ -0,0 +1,65 @@ +package com.example.grille; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.view.View; + +public class Grille extends View { + + public GrilleListener GL; + public GrilleControlleur GC; + + + public Grille(Context c, AttributeSet attrs) { + super(c,attrs); + } + + public void setListener(GrilleListener GL) { + this.GL = GL; + } + + public void setControlleur(GrilleControlleur GC) { + this.GC = GC; + } + + @Override + protected void onDraw(Canvas c) { + super.onDraw(c); + Paint p = new Paint(); + float x = 150f; + float y = 600f; + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + switch(GC.tab[i][j]) { + case 0: + p.setColor(Color.BLUE); + break; + case 1: + p.setColor(Color.YELLOW); + break; + case 2: + p.setColor(Color.MAGENTA); + break; + case 3: + p.setColor(Color.BLACK); + break; + default: + p.setColor(Color.BLUE); + break; + } + p.setStyle(Paint.Style.FILL); + c.drawRect(x + 30f, y + 30f, x + 250f, y + 250f, p); + x+=250f; + } + x = 150f; + y+=250f; + } + + + + } + +} diff --git a/DEV4.5/Grille/app/src/main/java/com/example/grille/GrilleControlleur.java b/DEV4.5/Grille/app/src/main/java/com/example/grille/GrilleControlleur.java new file mode 100644 index 0000000..505d4a4 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/java/com/example/grille/GrilleControlleur.java @@ -0,0 +1,17 @@ +package com.example.grille; + +public class GrilleControlleur { + + public int[][] tab; + + public GrilleControlleur() + { + this.tab = new int[3][3]; + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + this.tab[i][j] = 0; + } + + } + } +} diff --git a/DEV4.5/Grille/app/src/main/java/com/example/grille/GrilleListener.java b/DEV4.5/Grille/app/src/main/java/com/example/grille/GrilleListener.java new file mode 100644 index 0000000..15112ac --- /dev/null +++ b/DEV4.5/Grille/app/src/main/java/com/example/grille/GrilleListener.java @@ -0,0 +1,139 @@ +package com.example.grille; + + +import android.util.Log; +import android.view.GestureDetector; +import android.view.GestureDetector.OnDoubleTapListener; +import android.view.GestureDetector.OnGestureListener; +import android.view.MotionEvent; +import android.view.MotionEvent; +import android.view.View; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +public class GrilleListener extends GestureDetector.SimpleOnGestureListener { + + View v; + GrilleControlleur GC; + private long tempsPression; + public GrilleListener(View vue, GrilleControlleur GC){ + super(); + this.v = vue; + this.GC = GC; + } + public GrilleListener(GrilleControlleur GC){ + super(); + this.GC = GC; + } + + void setView(View v){ + this.v = v; + } + + @Override + public boolean onDown(@NonNull MotionEvent e) { + this.tempsPression = System.currentTimeMillis(); + return true; + } + + @Override + public void onShowPress(@NonNull MotionEvent e) {} + + @Override + public boolean onSingleTapUp(@NonNull MotionEvent e) { + if (System.currentTimeMillis() - this.tempsPression < 500) { + this.setCase(e,0); + v.invalidate(); + Log.d("test","tap"); + return true; + } + return false; + } + + @Override + public boolean onScroll(@Nullable MotionEvent e1, @NonNull MotionEvent e2, float distanceX, float distanceY) { + return false; + } + + @Override + public void onLongPress(@NonNull MotionEvent e) { + this.setCase(e,1); + v.invalidate(); + Log.d("test","press"); + } + + @Override + public boolean onFling(@Nullable MotionEvent e1, @NonNull MotionEvent e2, float velocityX, float velocityY) { + this.setCase(e1,3); + v.invalidate(); + Log.d("test","Fling"); + return true; + } + + @Override + public boolean onSingleTapConfirmed(@NonNull MotionEvent e) { + return false; + } + + @Override + public boolean onDoubleTap(@NonNull MotionEvent e) { + this.setCase(e,2); + v.invalidate(); + Log.d("test","double tap"); + return true; + } + + @Override + public boolean onDoubleTapEvent(@NonNull MotionEvent e) { + return false; + } + + public void setCase(MotionEvent e, int i) + { + Log.d("test","debut setCase X ="+ e.getX()+" Y="+e.getY()); + if (e.getX()> 180f && e.getX() < 400f) { + Log.d("test","colonne 1"); + if (e.getY()> 630f && e.getY() < 850f) { + this.GC.tab[0][0] = i; + Log.d("test","0 0 ="+i); + } else if (e.getY()> 880f && e.getY() < 1100f) { + this.GC.tab[1][0] = i; + Log.d("test","0 1 ="+i); + } else if (e.getY()> 1130f && e.getY() < 1350f) { + this.GC.tab[2][0] = i; + Log.d("test","0 2 ="+i); + } + } else if (e.getX()> 430f && e.getX() < 650f) { + Log.d("test","colonne 2"); + if (e.getY()> 630f && e.getY() < 850f) { + this.GC.tab[0][1] = i; + Log.d("test","1 0 ="+i); + } else if (e.getY()> 880f && e.getY() < 1100f) { + this.GC.tab[1][1] = i; + Log.d("test","1 1 ="+i); + } else if (e.getY()> 1130f && e.getY() < 1350f) { + this.GC.tab[2][1] = i; + Log.d("test","1 2 ="+i); + } + } else if (e.getX()> 680f && e.getX() < 900f) { + Log.d("test","colonne 3"); + if (e.getY()> 630f && e.getY() < 850f) { + this.GC.tab[0][2] = i; + Log.d("test","2 0 ="+i); + } else if (e.getY()> 880f && e.getY() < 1100f) { + this.GC.tab[1][2] = i; + Log.d("test","2 1 ="+i); + } else if (e.getY()> 1130f && e.getY() < 1350f) { + this.GC.tab[2][2] = i; + Log.d("test","2 2 ="+i); + } + } + /* + for(int j = 0; j < this.GC.tab.length; j++) { + for(int k = 0; k < this.GC.tab.length; k++) { + Log.d("test",j+","+k+"="+this.GC.tab[j][k]); + } + }*/ + } +} diff --git a/DEV4.5/Grille/app/src/main/java/com/example/grille/MainActivity.java b/DEV4.5/Grille/app/src/main/java/com/example/grille/MainActivity.java new file mode 100644 index 0000000..b8ea588 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/java/com/example/grille/MainActivity.java @@ -0,0 +1,22 @@ +package com.example.grille; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + Grille G = findViewById(R.id.grille); + + GrilleControlleur GC = new GrilleControlleur(); + evenement e = new evenement(GC); + G.setListener(e.listener); + G.setOnTouchListener(e); + G.setControlleur(GC); + } +} \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/java/com/example/grille/evenement.java b/DEV4.5/Grille/app/src/main/java/com/example/grille/evenement.java new file mode 100644 index 0000000..736e978 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/java/com/example/grille/evenement.java @@ -0,0 +1,23 @@ +package com.example.grille; + +import android.util.Log; +import android.view.GestureDetector; +import android.view.MotionEvent; +import android.view.View; + +public class evenement implements View.OnTouchListener { + + private GestureDetector gestureDetector; + public GrilleListener listener; + + public evenement(GrilleControlleur GC) { + this.listener = new GrilleListener(GC); + gestureDetector = new GestureDetector(this.listener); + } + + @Override + public boolean onTouch(View v, MotionEvent event) { + this.listener.setView(v); + return gestureDetector.onTouchEvent(event); + } +} \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/DEV4.5/Grille/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/drawable/ic_launcher_background.xml b/DEV4.5/Grille/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DEV4.5/Grille/app/src/main/res/layout/activity_main.xml b/DEV4.5/Grille/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..a99b253 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/DEV4.5/Grille/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/DEV4.5/Grille/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..6f3b755 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/DEV4.5/Grille/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..c209e78 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/DEV4.5/Grille/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..b2dfe3d Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/DEV4.5/Grille/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000..4f0f1d6 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/DEV4.5/Grille/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..62b611d Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/DEV4.5/Grille/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000..948a307 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/DEV4.5/Grille/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..1b9a695 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/DEV4.5/Grille/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000..28d4b77 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/DEV4.5/Grille/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9287f50 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/DEV4.5/Grille/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000..aa7d642 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/DEV4.5/Grille/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9126ae3 Binary files /dev/null and b/DEV4.5/Grille/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/DEV4.5/Grille/app/src/main/res/values-night/themes.xml b/DEV4.5/Grille/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..b2a6667 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/values-night/themes.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/values/colors.xml b/DEV4.5/Grille/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..c8524cd --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/values/colors.xml @@ -0,0 +1,5 @@ + + + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/values/strings.xml b/DEV4.5/Grille/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..9ab4ae6 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + Grille + \ No newline at end of file diff --git a/DEV4.5/Grille/app/src/main/res/values/themes.xml b/DEV4.5/Grille/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..f705a51 --- /dev/null +++ b/DEV4.5/Grille/app/src/main/res/values/themes.xml @@ -0,0 +1,9 @@ + + + + +