Refonte du logo et des icônes aux couleurs du thème (Android, Fire TV, iOS)

- Nouveau logo vectoriel : bouton play dégradé cyan→bleu (#0A84FF) avec
  traînées de vitesse, sur tuile graphite (#2C2C33→#1B1B1F) comme l'app
- scripts/generate_icons.py génère toutes les tailles depuis les SVG
  (assets/branding/)
- Android : icône adaptative dans la zone sûre, icône ronde, écran de
  lancement graphite avec logo
- Android TV / Fire TV : bannière 320x180, LEANBACK_LAUNCHER, écran
  tactile et leanback non requis
- iOS : icône carrée sans alpha dédiée (app_icon_ios.png)
- Remplace l'ancien logo (JPEG avec damier incrusté) et corrige la
  référence à logo_xtremobile.png inexistant dans les réglages

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GyudLt8TgggqbWWkqjB19K
This commit is contained in:
Claude committed 2026-09-30 07:34:38 +00:00
1 parent 462bcc784c
commit 03126d3b36
36 files changed
+426 -27

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#2C2C33"/>
<stop offset="1" stop-color="#1B1B1F"/>
</linearGradient>
<radialGradient id="glow" cx="0.5" cy="0.5" r="0.5">
<stop offset="0" stop-color="#0A84FF" stop-opacity="0.35"/>
<stop offset="1" stop-color="#0A84FF" stop-opacity="0"/>
</radialGradient>
<linearGradient id="play" x1="0.2" y1="0" x2="0.9" y2="1">
<stop offset="0" stop-color="#7DD3F2"/>
<stop offset="0.55" stop-color="#0A84FF"/>
<stop offset="1" stop-color="#0A5BD6"/>
</linearGradient>
<linearGradient id="streak" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="28" y2="0">
<stop offset="0" stop-color="#7DD3F2" stop-opacity="0"/>
<stop offset="1" stop-color="#7DD3F2" stop-opacity="1"/>
</linearGradient>
<linearGradient id="shine" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#FFFFFF" stop-opacity="0.07"/>
<stop offset="0.5" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<g transform="translate(215.04 215.04) scale(5.9392)">
<circle cx="56" cy="50" r="50" fill="url(#glow)"/>
<path d="M40 22 L84 50 L40 78 Z" fill="url(#play)" stroke="url(#play)"
stroke-width="12" stroke-linejoin="round"/>
<path d="M44 34 L66 48" stroke="#FFFFFF" stroke-opacity="0.28"
stroke-width="4" stroke-linecap="round"/>
<g stroke="url(#streak)" stroke-linecap="round" fill="none">
<path d="M6 38 L28 38" stroke-width="7"/>
<path d="M0 50 L28 50" stroke-width="7"/>
<path d="M10 62 L28 62" stroke-width="7"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+40
View File
@@ -0,0 +1,40 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#2C2C33"/>
<stop offset="1" stop-color="#1B1B1F"/>
</linearGradient>
<radialGradient id="glow" cx="0.5" cy="0.5" r="0.5">
<stop offset="0" stop-color="#0A84FF" stop-opacity="0.35"/>
<stop offset="1" stop-color="#0A84FF" stop-opacity="0"/>
</radialGradient>
<linearGradient id="play" x1="0.2" y1="0" x2="0.9" y2="1">
<stop offset="0" stop-color="#7DD3F2"/>
<stop offset="0.55" stop-color="#0A84FF"/>
<stop offset="1" stop-color="#0A5BD6"/>
</linearGradient>
<linearGradient id="streak" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="28" y2="0">
<stop offset="0" stop-color="#7DD3F2" stop-opacity="0"/>
<stop offset="1" stop-color="#7DD3F2" stop-opacity="1"/>
</linearGradient>
<linearGradient id="shine" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#FFFFFF" stop-opacity="0.07"/>
<stop offset="0.5" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<circle cx="512.0" cy="512.0" r="512.0" fill="url(#bg)"/>
<circle cx="512.0" cy="512.0" r="512.0" fill="url(#shine)"/>
<g transform="translate(194.56 194.56) scale(6.3488)">
<circle cx="56" cy="50" r="50" fill="url(#glow)"/>
<path d="M40 22 L84 50 L40 78 Z" fill="url(#play)" stroke="url(#play)"
stroke-width="12" stroke-linejoin="round"/>
<path d="M44 34 L66 48" stroke="#FFFFFF" stroke-opacity="0.28"
stroke-width="4" stroke-linecap="round"/>
<g stroke="url(#streak)" stroke-linecap="round" fill="none">
<path d="M6 38 L28 38" stroke-width="7"/>
<path d="M0 50 L28 50" stroke-width="7"/>
<path d="M10 62 L28 62" stroke-width="7"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#2C2C33"/>
<stop offset="1" stop-color="#1B1B1F"/>
</linearGradient>
<radialGradient id="glow" cx="0.5" cy="0.5" r="0.5">
<stop offset="0" stop-color="#0A84FF" stop-opacity="0.35"/>
<stop offset="1" stop-color="#0A84FF" stop-opacity="0"/>
</radialGradient>
<linearGradient id="play" x1="0.2" y1="0" x2="0.9" y2="1">
<stop offset="0" stop-color="#7DD3F2"/>
<stop offset="0.55" stop-color="#0A84FF"/>
<stop offset="1" stop-color="#0A5BD6"/>
</linearGradient>
<linearGradient id="streak" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="28" y2="0">
<stop offset="0" stop-color="#7DD3F2" stop-opacity="0"/>
<stop offset="1" stop-color="#7DD3F2" stop-opacity="1"/>
</linearGradient>
<linearGradient id="shine" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#FFFFFF" stop-opacity="0.07"/>
<stop offset="0.5" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<rect width="1024" height="1024" rx="230.4" fill="url(#bg)"/>
<rect width="1024" height="1024" rx="230.4" fill="url(#shine)"/>
<rect x="1.5" y="1.5" width="1021" height="1021" rx="228.9"
fill="none" stroke="#FFFFFF" stroke-opacity="0.06" stroke-width="3"/>
<g transform="translate(184.32 184.32) scale(6.5536)">
<circle cx="56" cy="50" r="50" fill="url(#glow)"/>
<path d="M40 22 L84 50 L40 78 Z" fill="url(#play)" stroke="url(#play)"
stroke-width="12" stroke-linejoin="round"/>
<path d="M44 34 L66 48" stroke="#FFFFFF" stroke-opacity="0.28"
stroke-width="4" stroke-linecap="round"/>
<g stroke="url(#streak)" stroke-linecap="round" fill="none">
<path d="M6 38 L28 38" stroke-width="7"/>
<path d="M0 50 L28 50" stroke-width="7"/>
<path d="M10 62 L28 62" stroke-width="7"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

+42
View File
@@ -0,0 +1,42 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#2C2C33"/>
<stop offset="1" stop-color="#1B1B1F"/>
</linearGradient>
<radialGradient id="glow" cx="0.5" cy="0.5" r="0.5">
<stop offset="0" stop-color="#0A84FF" stop-opacity="0.35"/>
<stop offset="1" stop-color="#0A84FF" stop-opacity="0"/>
</radialGradient>
<linearGradient id="play" x1="0.2" y1="0" x2="0.9" y2="1">
<stop offset="0" stop-color="#7DD3F2"/>
<stop offset="0.55" stop-color="#0A84FF"/>
<stop offset="1" stop-color="#0A5BD6"/>
</linearGradient>
<linearGradient id="streak" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="28" y2="0">
<stop offset="0" stop-color="#7DD3F2" stop-opacity="0"/>
<stop offset="1" stop-color="#7DD3F2" stop-opacity="1"/>
</linearGradient>
<linearGradient id="shine" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#FFFFFF" stop-opacity="0.07"/>
<stop offset="0.5" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<rect width="1024" height="1024" rx="0" fill="url(#bg)"/>
<rect width="1024" height="1024" rx="0" fill="url(#shine)"/>
<rect x="1.5" y="1.5" width="1021" height="1021" rx="0"
fill="none" stroke="#FFFFFF" stroke-opacity="0.06" stroke-width="3"/>
<g transform="translate(184.32 184.32) scale(6.5536)">
<circle cx="56" cy="50" r="50" fill="url(#glow)"/>
<path d="M40 22 L84 50 L40 78 Z" fill="url(#play)" stroke="url(#play)"
stroke-width="12" stroke-linejoin="round"/>
<path d="M44 34 L66 48" stroke="#FFFFFF" stroke-opacity="0.28"
stroke-width="4" stroke-linecap="round"/>
<g stroke="url(#streak)" stroke-linecap="round" fill="none">
<path d="M6 38 L28 38" stroke-width="7"/>
<path d="M0 50 L28 50" stroke-width="7"/>
<path d="M10 62 L28 62" stroke-width="7"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

+44
View File
@@ -0,0 +1,44 @@
<svg xmlns="http://www.w3.org/2000/svg" width="320" height="180" viewBox="0 0 320 180">
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#2C2C33"/>
<stop offset="1" stop-color="#1B1B1F"/>
</linearGradient>
<radialGradient id="glow" cx="0.5" cy="0.5" r="0.5">
<stop offset="0" stop-color="#0A84FF" stop-opacity="0.35"/>
<stop offset="1" stop-color="#0A84FF" stop-opacity="0"/>
</radialGradient>
<linearGradient id="play" x1="0.2" y1="0" x2="0.9" y2="1">
<stop offset="0" stop-color="#7DD3F2"/>
<stop offset="0.55" stop-color="#0A84FF"/>
<stop offset="1" stop-color="#0A5BD6"/>
</linearGradient>
<linearGradient id="streak" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="28" y2="0">
<stop offset="0" stop-color="#7DD3F2" stop-opacity="0"/>
<stop offset="1" stop-color="#7DD3F2" stop-opacity="1"/>
</linearGradient>
<linearGradient id="shine" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#FFFFFF" stop-opacity="0.07"/>
<stop offset="0.5" stop-color="#FFFFFF" stop-opacity="0"/>
</linearGradient>
</defs>
<rect width="320" height="180" fill="url(#bg)"/>
<rect width="320" height="180" fill="url(#shine)"/>
<g transform="translate(29.60 39.60) scale(1.0080)">
<circle cx="56" cy="50" r="50" fill="url(#glow)"/>
<path d="M40 22 L84 50 L40 78 Z" fill="url(#play)" stroke="url(#play)"
stroke-width="12" stroke-linejoin="round"/>
<path d="M44 34 L66 48" stroke="#FFFFFF" stroke-opacity="0.28"
stroke-width="4" stroke-linecap="round"/>
<g stroke="url(#streak)" stroke-linecap="round" fill="none">
<path d="M6 38 L28 38" stroke-width="7"/>
<path d="M0 50 L28 50" stroke-width="7"/>
<path d="M10 62 L28 62" stroke-width="7"/>
</g>
</g>
<text x="140.8" y="101.0" font-family="Inter" font-weight="bold"
font-size="32" fill="#F5F5F7" letter-spacing="-0.6">Xtrem<tspan fill="#8AB9FF">Flow</tspan></text>
<text x="141.8" y="124.0" font-family="Inter" font-weight="600"
font-size="12" fill="#98989F" letter-spacing="2.4">IPTV PLAYER</text>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 477 KiB

After

Width:  |  Height:  |  Size: 38 KiB