diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher.png b/androidApp/src/main/res/mipmap-hdpi/ic_launcher.png index fe557d6..cb38418 100644 Binary files a/androidApp/src/main/res/mipmap-hdpi/ic_launcher.png and b/androidApp/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_background.png b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_background.png index 1b4e1e4..5365a56 100644 Binary files a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_background.png and b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_background.png differ diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.png index 9b602b9..27bbfa1 100644 Binary files a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png index d849185..372df2a 100644 Binary files a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png and b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png differ diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher.png b/androidApp/src/main/res/mipmap-mdpi/ic_launcher.png index c079af2..bd322ce 100644 Binary files a/androidApp/src/main/res/mipmap-mdpi/ic_launcher.png and b/androidApp/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_background.png b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_background.png index fac44bd..c0ed4e2 100644 Binary files a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_background.png and b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_background.png differ diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.png index 6823e99..f68a7b6 100644 Binary files a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png index 5b63c84..d3d5440 100644 Binary files a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png and b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png differ diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.png b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.png index 3ef2396..d9d257e 100644 Binary files a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.png and b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_background.png index efe105a..0d9244a 100644 Binary files a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_background.png and b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_background.png differ diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png index 98f4eeb..cb5f53f 100644 Binary files a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png index ee450d8..dbeea0f 100644 Binary files a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png and b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png differ diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.png b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.png index 883db51..c34a4d2 100644 Binary files a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_background.png index c42d5da..ea0b76b 100644 Binary files a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_background.png and b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_background.png differ diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png index 791b760..fc7e4b5 100644 Binary files a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png index 7bf2180..92963d5 100644 Binary files a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png and b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png differ diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 857d804..500fc11 100644 Binary files a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png index f542a43..9202cc7 100644 Binary files a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png and b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png differ diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png index 7a102af..e7f8db9 100644 Binary files a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png index 76fbc41..11852a3 100644 Binary files a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png and b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png differ diff --git a/desktopApp/src/main/resources/icons/icon.png b/desktopApp/src/main/resources/icons/icon.png new file mode 100644 index 0000000..a314807 Binary files /dev/null and b/desktopApp/src/main/resources/icons/icon.png differ diff --git a/docs/branding/generate-icons.sh b/docs/branding/generate-icons.sh new file mode 100755 index 0000000..271b704 --- /dev/null +++ b/docs/branding/generate-icons.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +# Génère les icônes launcher (Android, iOS, desktop) depuis les SVG de docs/branding/. +# Prérequis : rsvg-convert, magick, python3. Idempotent. +set -euo pipefail + +ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" +BRANDING="$ROOT/docs/branding" +RES="$ROOT/androidApp/src/main/res" +IOS_APPSET="$ROOT/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset" + +for tool in rsvg-convert magick python3; do + command -v "$tool" >/dev/null 2>&1 || { echo "Erreur : '$tool' requis" >&2; exit 1; } +done + +# --- Android : legacy (carte arrondie du master) --- +for pair in mdpi:48 hdpi:72 xhdpi:96 xxhdpi:144 xxxhdpi:192; do + dpi="${pair%%:*}"; size="${pair##*:}" + rsvg-convert -w "$size" -h "$size" "$BRANDING/logo.svg" -o "$RES/mipmap-$dpi/ic_launcher.png" +done + +# --- Android : couches adaptive (108 dp) --- +for pair in mdpi:108 hdpi:162 xhdpi:216 xxhdpi:324 xxxhdpi:432; do + dpi="${pair%%:*}"; size="${pair##*:}" + magick -size "${size}x${size}" xc:'#1D3557' "$RES/mipmap-$dpi/ic_launcher_background.png" + rsvg-convert -w "$size" -h "$size" "$BRANDING/icon-foreground.svg" -o "$RES/mipmap-$dpi/ic_launcher_foreground.png" + rsvg-convert -w "$size" -h "$size" "$BRANDING/icon-monochrome.svg" -o "$RES/mipmap-$dpi/ic_launcher_monochrome.png" +done + +# --- iOS : tailles lues dans Contents.json --- +python3 - "$BRANDING/icon-square.svg" "$IOS_APPSET" <<'PY' +import json, pathlib, re, subprocess, sys + +svg, appset = sys.argv[1], pathlib.Path(sys.argv[2]) +# Le Contents.json d'Xcode tolère les virgules traînantes, json.loads non : +text = re.sub(r",(\s*[}\]])", r"\1", (appset / "Contents.json").read_text()) +for img in json.loads(text)["images"]: + w, _ = (float(v) for v in img["size"].split("x")) + px = round(w * float(img["scale"].rstrip("x"))) + subprocess.run( + ["rsvg-convert", "-w", str(px), "-h", str(px), svg, "-o", str(appset / img["filename"])], + check=True, + ) +PY + +# --- Desktop --- +mkdir -p "$ROOT/desktopApp/src/main/resources/icons" +rsvg-convert -w 512 -h 512 "$BRANDING/logo.svg" -o "$ROOT/desktopApp/src/main/resources/icons/icon.png" + +echo "Icônes générées ✓" diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x.png index 41a92ea..fb139ac 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png index 41a92ea..fb139ac 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@2x~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@3x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@3x.png index ff64c69..7f0343a 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@3x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20@3x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png index 5fb4c43..6b5f69e 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-20~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29.png index c7f7f02..4d17fc6 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x.png index 9068381..cb4d529 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png index 9068381..cb4d529 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@2x~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@3x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@3x.png index 4552252..b3e71f3 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@3x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29@3x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png index c7f7f02..4d17fc6 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-29~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x.png index ddd8c8f..139ef14 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png index ddd8c8f..139ef14 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@2x~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@3x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@3x.png index 761f821..347bf61 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@3x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40@3x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png index 41a92ea..fb139ac 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-40~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png index 761f821..347bf61 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@2x~car.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png index 276a950..bd7d7f3 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-60@3x~car.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png index 9e23219..5caeacc 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon-83.5@2x~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x.png index 761f821..347bf61 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png index 59ac0ab..4154e04 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@2x~ipad.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@3x.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@3x.png index 276a950..bd7d7f3 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@3x.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon@3x.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png index ef951ed..7c41588 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ios-marketing.png differ diff --git a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ipad.png b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ipad.png index 1923af1..35dc5e5 100644 Binary files a/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ipad.png and b/iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/AppIcon~ipad.png differ